CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
lhef::LHERunInfo Class Reference

#include <LHERunInfo.h>

Classes

struct  Counter
 
class  Header
 
struct  Process
 
struct  XSec
 

Public Types

enum  CountMode { kTried = 0, kSelected, kKilled, kAccepted }
 

Public Member Functions

void addComment (const std::string &line)
 
void addHeader (const Header &header)
 
void count (int process, CountMode count, double eventWeight=1.0, double brWeight=1.0, double matchWeight=1.0)
 
std::vector< std::string > findHeader (const std::string &tag) const
 
const std::vector< std::string > & getComments () const
 
const std::vector< Header > & getHeaders () const
 
const int getHEPIDWTUP () const
 
const HEPRUPgetHEPRUP () const
 
const std::vector< Process > & getLumiProcesses () const
 
void initLumi ()
 
 LHERunInfo (const HEPRUP &heprup)
 
 LHERunInfo (const HEPRUP &heprup, const std::vector< LHERunInfoProduct::Header > &headers, const std::vector< std::string > &comments)
 
 LHERunInfo (const LHERunInfoProduct &product)
 
 LHERunInfo (std::istream &in)
 
bool operator!= (const LHERunInfo &other) const
 
bool operator== (const LHERunInfo &other) const
 
std::pair< int, int > pdfSetTranslation () const
 
void statistics () const
 
XSec xsec () const
 
 ~LHERunInfo ()
 

Private Member Functions

void init ()
 

Private Attributes

std::vector< std::string > comments
 
std::vector< Headerheaders
 
HEPRUP heprup
 
std::vector< Processprocesses
 
std::vector< ProcessprocessesLumi
 

Detailed Description

Definition at line 25 of file LHERunInfo.h.

Member Enumeration Documentation

◆ CountMode

Enumerator
kTried 
kSelected 
kKilled 
kAccepted 

Definition at line 64 of file LHERunInfo.h.

Constructor & Destructor Documentation

◆ LHERunInfo() [1/4]

lhef::LHERunInfo::LHERunInfo ( std::istream &  in)

Definition at line 40 of file LHERunInfo.cc.

40  {
41  in >> heprup.IDBMUP.first >> heprup.IDBMUP.second >> heprup.EBMUP.first >> heprup.EBMUP.second >>
42  heprup.PDFGUP.first >> heprup.PDFGUP.second >> heprup.PDFSUP.first >> heprup.PDFSUP.second >> heprup.IDWTUP >>
43  heprup.NPRUP;
44  if (!in.good())
45  throw cms::Exception("InvalidFormat") << "Les Houches file contained invalid"
46  " header in init section."
47  << std::endl;
48 
49  heprup.resize();
50 
51  for (int i = 0; i < heprup.NPRUP; i++) {
53  if (!in.good())
54  throw cms::Exception("InvalidFormat") << "Les Houches file contained invalid data"
55  " in header payload line "
56  << (i + 1) << "." << std::endl;
57  }
58 
59  while (skipWhitespace(in) == '#') {
61  std::getline(in, line);
62  comments.push_back(line + "\n");
63  }
64 
65  if (!in.eof())
66  edm::LogInfo("Generator|LHEInterface")
67  << "Les Houches file contained spurious"
68  " content after the regular data (this is normal for LHEv3 files for now)."
69  << std::endl;
70 
71  init();
72  }

References comments, lhef::HEPRUP::EBMUP, heprup, mps_fire::i, lhef::HEPRUP::IDBMUP, lhef::HEPRUP::IDWTUP, recoMuon::in, init(), mps_splice::line, lhef::HEPRUP::LPRUP, lhef::HEPRUP::NPRUP, lhef::HEPRUP::PDFGUP, lhef::HEPRUP::PDFSUP, lhef::HEPRUP::resize(), skipWhitespace(), AlCaHLTBitMon_QueryRunRegistry::string, lhef::HEPRUP::XERRUP, lhef::HEPRUP::XMAXUP, and lhef::HEPRUP::XSECUP.

◆ LHERunInfo() [2/4]

lhef::LHERunInfo::LHERunInfo ( const HEPRUP heprup)

Definition at line 74 of file LHERunInfo.cc.

74 : heprup(heprup) { init(); }

References init().

◆ LHERunInfo() [3/4]

lhef::LHERunInfo::LHERunInfo ( const HEPRUP heprup,
const std::vector< LHERunInfoProduct::Header > &  headers,
const std::vector< std::string > &  comments 
)

Definition at line 76 of file LHERunInfo.cc.

79  : heprup(heprup) {
80  std::copy(headers.begin(), headers.end(), std::back_inserter(this->headers));
81  std::copy(comments.begin(), comments.end(), std::back_inserter(this->comments));
82 
83  init();
84  }

References comments, filterCSVwithJSON::copy, headers, and init().

◆ LHERunInfo() [4/4]

lhef::LHERunInfo::LHERunInfo ( const LHERunInfoProduct product)

Definition at line 86 of file LHERunInfo.cc.

86  : heprup(product.heprup()) {
87  std::copy(product.headers_begin(), product.headers_end(), std::back_inserter(headers));
88  std::copy(product.comments_begin(), product.comments_end(), std::back_inserter(comments));
89 
90  init();
91  }

References comments, LHERunInfoProduct::comments_begin(), LHERunInfoProduct::comments_end(), filterCSVwithJSON::copy, headers, LHERunInfoProduct::headers_begin(), LHERunInfoProduct::headers_end(), and init().

◆ ~LHERunInfo()

lhef::LHERunInfo::~LHERunInfo ( )

Definition at line 93 of file LHERunInfo.cc.

93 {}

Member Function Documentation

◆ addComment()

void lhef::LHERunInfo::addComment ( const std::string &  line)
inline

Definition at line 62 of file LHERunInfo.h.

62 { comments.push_back(line); }

References comments, and mps_splice::line.

◆ addHeader()

void lhef::LHERunInfo::addHeader ( const Header header)
inline

Definition at line 61 of file LHERunInfo.h.

61 { headers.push_back(header); }

References RecoTauValidation_cfi::header, and headers.

Referenced by lhef::LHEReader::next().

◆ count()

void lhef::LHERunInfo::count ( int  process,
CountMode  count,
double  eventWeight = 1.0,
double  brWeight = 1.0,
double  matchWeight = 1.0 
)

Definition at line 121 of file LHERunInfo.cc.

121  {
122  std::vector<Process>::iterator proc = std::lower_bound(processes.begin(), processes.end(), process);
123  if (proc == processes.end() || proc->process() != process)
124  return;
125 
126  std::vector<Process>::iterator procLumi = std::lower_bound(processesLumi.begin(), processesLumi.end(), process);
127  if (procLumi == processesLumi.end() || procLumi->process() != process)
128  return;
129 
130  switch (mode) {
131  case kAccepted:
132  proc->addAcceptedBr(eventWeight * brWeight * matchWeight);
133  proc->addAccepted(eventWeight * matchWeight);
134  procLumi->addAcceptedBr(eventWeight * brWeight * matchWeight);
135  procLumi->addAccepted(eventWeight * matchWeight);
136  [[fallthrough]];
137  case kKilled:
138  proc->addKilled(eventWeight * matchWeight);
139  procLumi->addKilled(eventWeight * matchWeight);
140  if (eventWeight > 0) {
141  proc->addNPassPos();
142  procLumi->addNPassPos();
143  } else {
144  proc->addNPassNeg();
145  procLumi->addNPassNeg();
146  }
147  [[fallthrough]];
148  case kSelected:
149  proc->addSelected(eventWeight);
150  procLumi->addSelected(eventWeight);
151  if (eventWeight > 0) {
152  proc->addNTotalPos();
153  procLumi->addNTotalPos();
154  } else {
155  proc->addNTotalNeg();
156  procLumi->addNTotalNeg();
157  }
158  [[fallthrough]];
159  case kTried:
160  proc->addTried(eventWeight);
161  procLumi->addTried(eventWeight);
162  }
163  }

References kAccepted, kKilled, kSelected, kTried, cuda_std::lower_bound(), ALCARECOPromptCalibProdSiPixelAli0T_cff::mode, ValidateTausOnZEEFastSim_cff::proc, LaserDQM_cfg::process, processes, and processesLumi.

◆ findHeader()

std::vector< std::string > lhef::LHERunInfo::findHeader ( const std::string &  tag) const

Definition at line 436 of file LHERunInfo.cc.

436  {
437  const LHERunInfo::Header *header = nullptr;
438  for (std::vector<Header>::const_iterator iter = headers.begin(); iter != headers.end(); ++iter) {
439  if (iter->tag() == tag)
440  return std::vector<std::string>(iter->begin(), iter->end());
441  if (iter->tag() == "header")
442  header = &*iter;
443  }
444 
445  if (!header)
446  return std::vector<std::string>();
447 
448  const DOMNode *root = header->getXMLNode();
449  if (!root)
450  return std::vector<std::string>();
451 
452  for (const DOMNode *iter = root->getFirstChild(); iter; iter = iter->getNextSibling()) {
453  if (iter->getNodeType() != DOMNode::ELEMENT_NODE)
454  continue;
455  if (tag == (const char *)XMLSimpleStr(iter->getNodeName()))
456  return domToLines(iter);
457  }
458 
459  return std::vector<std::string>();
460  }

References lhef::domToLines(), RecoTauValidation_cfi::header, headers, and GlobalPosition_Frontier_DevDB_cff::tag.

Referenced by gen::JetMatchingMadgraph::init(), gen::JetMatchingAlpgen::init(), gen::JetMatchingMGFastJet::init(), Herwig6Hadronizer::initialize(), gen::Pythia6Hadronizer::initializeForExternalPartons(), and Herwig6Hadronizer::readSettings().

◆ getComments()

const std::vector<std::string>& lhef::LHERunInfo::getComments ( ) const
inline

Definition at line 57 of file LHERunInfo.h.

57 { return comments; }

References comments.

Referenced by LHESource::fillRunInfoProduct().

◆ getHeaders()

const std::vector<Header>& lhef::LHERunInfo::getHeaders ( ) const
inline

Definition at line 56 of file LHERunInfo.h.

56 { return headers; }

References headers.

Referenced by LHESource::fillRunInfoProduct(), edm::LHEProvenanceHelper::lheAugment(), and Herwig6Hadronizer::upInit().

◆ getHEPIDWTUP()

const int lhef::LHERunInfo::getHEPIDWTUP ( ) const
inline

Definition at line 164 of file LHERunInfo.h.

164 { return heprup.IDWTUP; }

References heprup, and lhef::HEPRUP::IDWTUP.

◆ getHEPRUP()

const HEPRUP* lhef::LHERunInfo::getHEPRUP ( ) const
inline

◆ getLumiProcesses()

const std::vector<Process>& lhef::LHERunInfo::getLumiProcesses ( ) const
inline

◆ init()

void lhef::LHERunInfo::init ( void  )
private

Definition at line 95 of file LHERunInfo.cc.

95  {
96  for (int i = 0; i < heprup.NPRUP; i++) {
97  Process proc;
98  proc.setProcess(heprup.LPRUP[i]);
99  proc.setHepRupIndex((unsigned int)i);
100  processes.push_back(proc);
101  }
102 
103  std::sort(processes.begin(), processes.end());
104  }

References heprup, mps_fire::i, lhef::HEPRUP::LPRUP, lhef::HEPRUP::NPRUP, ValidateTausOnZEEFastSim_cff::proc, and processes.

Referenced by LHERunInfo().

◆ initLumi()

void lhef::LHERunInfo::initLumi ( )

◆ operator!=()

bool lhef::LHERunInfo::operator!= ( const LHERunInfo other) const
inline

Definition at line 54 of file LHERunInfo.h.

54 { return !(*this == other); }

References trackingPlots::other.

◆ operator==()

bool lhef::LHERunInfo::operator== ( const LHERunInfo other) const

Definition at line 119 of file LHERunInfo.cc.

119 { return heprup == other.heprup; }

References heprup, and trackingPlots::other.

◆ pdfSetTranslation()

std::pair< int, int > lhef::LHERunInfo::pdfSetTranslation ( ) const

Definition at line 529 of file LHERunInfo.cc.

529  {
530  int pdfA = -1, pdfB = -1;
531 
532  if (heprup.PDFGUP.first >= 0) {
533  pdfA = heprup.PDFSUP.first;
534  }
535 
536  if (heprup.PDFGUP.second >= 0) {
537  pdfB = heprup.PDFSUP.second;
538  }
539 
540  return std::make_pair(pdfA, pdfB);
541  }

References heprup, lhef::HEPRUP::PDFGUP, and lhef::HEPRUP::PDFSUP.

Referenced by Herwig6Hadronizer::initialize(), and Herwig6Hadronizer::readSettings().

◆ statistics()

void lhef::LHERunInfo::statistics ( ) const

Definition at line 254 of file LHERunInfo.cc.

254  {
255  double sigSelSum = 0.0;
256  double sigSum = 0.0;
257  double sigBrSum = 0.0;
258  double errSel2Sum = 0.0;
259  double err2Sum = 0.0;
260  double errBr2Sum = 0.0;
261  double errMatch2Sum = 0.0;
262  unsigned long nAccepted = 0;
263  unsigned long nTried = 0;
264  unsigned long nAccepted_pos = 0;
265  unsigned long nTried_pos = 0;
266  unsigned long nAccepted_neg = 0;
267  unsigned long nTried_neg = 0;
268  int idwtup = heprup.IDWTUP;
269 
270  LogDebug("LHERunInfo") << " statistics";
271  LogDebug("LHERunInfo") << "Process and cross-section statistics";
272  LogDebug("LHERunInfo") << "------------------------------------";
273  LogDebug("LHERunInfo") << "Process\t\txsec_before [pb]\t\tpassed\tnposw\tnnegw\ttried\tnposw\tnnegw \txsec_match "
274  "[pb]\t\t\taccepted [%]\t event_eff [%]";
275 
276  for (std::vector<Process>::const_iterator proc = processes.begin(); proc != processes.end(); ++proc) {
277  unsigned int idx = proc->heprupIndex();
278 
279  if (!proc->selected().n()) {
280  LogDebug("LHERunInfo") << proc->process() << "\t0\t0\tn/a\t\t\tn/a";
281  continue;
282  }
283 
284  double sigma2Sum, sigma2Err;
285  sigma2Sum = heprup.XSECUP[idx] * heprup.XSECUP[idx];
286  sigma2Err = heprup.XERRUP[idx] * heprup.XERRUP[idx];
287 
288  double sigmaAvg = heprup.XSECUP[idx];
289 
290  double fracAcc = 0;
291  double ntotal = proc->nTotalPos() - proc->nTotalNeg();
292  double npass = proc->nPassPos() - proc->nPassNeg();
293  switch (idwtup) {
294  case 3:
295  case -3:
296  fracAcc = ntotal > 0 ? npass / ntotal : -1;
297  break;
298  default:
299  fracAcc = proc->selected().sum() > 0 ? proc->killed().sum() / proc->selected().sum() : -1;
300  break;
301  }
302 
303  double fracBr = proc->accepted().sum() > 0.0 ? proc->acceptedBr().sum() / proc->accepted().sum() : 1;
304  double sigmaFin = fracAcc > 0 ? sigmaAvg * fracAcc : 0;
305  double sigmaFinBr = sigmaFin * fracBr;
306 
307  double relErr = 1.0;
308  double relAccErr = 1.0;
309  double efferr2 = 0;
310 
311  if (proc->killed().n() > 0 && fracAcc > 0) {
312  switch (idwtup) {
313  case 3:
314  case -3: {
315  double ntotal_pos = proc->nTotalPos();
316  double effp = ntotal_pos > 0 ? (double)proc->nPassPos() / ntotal_pos : 0;
317  double effp_err2 = ntotal_pos > 0 ? (1 - effp) * effp / ntotal_pos : 0;
318 
319  double ntotal_neg = proc->nTotalNeg();
320  double effn = ntotal_neg > 0 ? (double)proc->nPassNeg() / ntotal_neg : 0;
321  double effn_err2 = ntotal_neg > 0 ? (1 - effn) * effn / ntotal_neg : 0;
322 
323  efferr2 = ntotal > 0 ? (ntotal_pos * ntotal_pos * effp_err2 + ntotal_neg * ntotal_neg * effn_err2) /
324  ntotal / ntotal
325  : 0;
326  break;
327  }
328  default: {
329  double denominator = pow(proc->selected().sum(), 4);
330  double passw = proc->killed().sum();
331  double passw2 = proc->killed().sum2();
332  double failw = proc->selected().sum() - passw;
333  double failw2 = proc->selected().sum2() - passw2;
334  double numerator = (passw2 * failw * failw + failw2 * passw * passw);
335 
336  efferr2 = denominator > 0 ? numerator / denominator : 0;
337  break;
338  }
339  }
340  double delta2Veto = efferr2 / fracAcc / fracAcc;
341  double delta2Sum = delta2Veto + sigma2Err / sigma2Sum;
342  relErr = (delta2Sum > 0.0 ? std::sqrt(delta2Sum) : 0.0);
343  relAccErr = (delta2Veto > 0.0 ? std::sqrt(delta2Veto) : 0.0);
344  }
345  double deltaFin = sigmaFin * relErr;
346  double deltaFinBr = sigmaFinBr * relErr;
347 
348  double ntotal_proc = proc->nTotalPos() + proc->nTotalNeg();
349  double event_eff_proc = ntotal_proc > 0 ? (double)(proc->nPassPos() + proc->nPassNeg()) / ntotal_proc : -1;
350  double event_eff_err_proc = ntotal_proc > 0 ? std::sqrt((1 - event_eff_proc) * event_eff_proc / ntotal_proc) : -1;
351 
352  LogDebug("LHERunInfo") << proc->process() << "\t\t" << std::scientific << std::setprecision(3)
353  << heprup.XSECUP[proc->heprupIndex()] << " +/- " << heprup.XERRUP[proc->heprupIndex()]
354  << "\t\t" << proc->accepted().n() << "\t" << proc->nPassPos() << "\t" << proc->nPassNeg()
355  << "\t" << proc->tried().n() << "\t" << proc->nTotalPos() << "\t" << proc->nTotalNeg()
356  << "\t" << std::scientific << std::setprecision(3) << sigmaFinBr << " +/- " << deltaFinBr
357  << "\t\t" << std::fixed << std::setprecision(1) << (fracAcc * 100) << " +/- "
358  << (std::sqrt(efferr2) * 100) << "\t" << std::fixed << std::setprecision(1)
359  << (event_eff_proc * 100) << " +/- " << (event_eff_err_proc * 100);
360 
361  nAccepted += proc->accepted().n();
362  nTried += proc->tried().n();
363  nAccepted_pos += proc->nPassPos();
364  nTried_pos += proc->nTotalPos();
365  nAccepted_neg += proc->nPassNeg();
366  nTried_neg += proc->nTotalNeg();
367  sigSelSum += sigmaAvg;
368  sigSum += sigmaFin;
369  sigBrSum += sigmaFinBr;
370  errSel2Sum += sigma2Err;
371  err2Sum += deltaFin * deltaFin;
372  errBr2Sum += deltaFinBr * deltaFinBr;
373  errMatch2Sum += sigmaFin * relAccErr * sigmaFin * relAccErr;
374  }
375 
376  double ntotal_all = (nTried_pos + nTried_neg);
377  double event_eff_all = ntotal_all > 0 ? (double)(nAccepted_pos + nAccepted_neg) / ntotal_all : -1;
378  double event_eff_err_all = ntotal_all > 0 ? std::sqrt((1 - event_eff_all) * event_eff_all / ntotal_all) : -1;
379 
380  LogDebug("LHERunInfo") << "Total\t\t" << std::scientific << std::setprecision(3) << sigSelSum << " +/- "
381  << std::sqrt(errSel2Sum) << "\t\t" << nAccepted << "\t" << nAccepted_pos << "\t"
382  << nAccepted_neg << "\t" << nTried << "\t" << nTried_pos << "\t" << nTried_neg << "\t"
383  << std::scientific << std::setprecision(3) << sigBrSum << " +/- " << std::sqrt(errBr2Sum)
384  << "\t\t" << std::fixed << std::setprecision(1) << (sigSum / sigSelSum * 100) << " +/- "
385  << (std::sqrt(errMatch2Sum) / sigSelSum * 100) << "\t" << std::fixed << std::setprecision(1)
386  << (event_eff_all * 100) << " +/- " << (event_eff_err_all * 100);
387  }

References HLTTauDQMOffline_cfi::denominator, alignBH_cfg::fixed, heprup, lhef::HEPRUP::IDWTUP, training_settings::idx, LogDebug, groupFilesInBlocks::ntotal, HLTTauDQMOffline_cfi::numerator, funct::pow(), ValidateTausOnZEEFastSim_cff::proc, processes, mathSSE::sqrt(), lhef::HEPRUP::XERRUP, and lhef::HEPRUP::XSECUP.

Referenced by edm::HadronizerFilter< HAD, DEC >::endRunProduce(), and edm::ConcurrentHadronizerFilter< HAD, DEC >::streamEndRun().

◆ xsec()

LHERunInfo::XSec lhef::LHERunInfo::xsec ( ) const

Definition at line 165 of file LHERunInfo.cc.

165  {
166  double sigSelSum = 0.0;
167  double sigSum = 0.0;
168  double sigBrSum = 0.0;
169  double err2Sum = 0.0;
170  double errBr2Sum = 0.0;
171  int idwtup = heprup.IDWTUP;
172  for (std::vector<Process>::const_iterator proc = processes.begin(); proc != processes.end(); ++proc) {
173  unsigned int idx = proc->heprupIndex();
174 
175  if (!proc->killed().n())
176  continue;
177 
178  double sigma2Sum, sigma2Err;
179  sigma2Sum = heprup.XSECUP[idx] * heprup.XSECUP[idx];
180  sigma2Err = heprup.XERRUP[idx] * heprup.XERRUP[idx];
181 
182  double sigmaAvg = heprup.XSECUP[idx];
183 
184  double fracAcc = 0;
185  double ntotal = proc->nTotalPos() - proc->nTotalNeg();
186  double npass = proc->nPassPos() - proc->nPassNeg();
187  switch (idwtup) {
188  case 3:
189  case -3:
190  fracAcc = ntotal > 0 ? npass / ntotal : -1;
191  break;
192  default:
193  fracAcc = proc->selected().sum() > 0 ? proc->killed().sum() / proc->selected().sum() : -1;
194  break;
195  }
196 
197  if (fracAcc <= 0)
198  continue;
199 
200  double fracBr = proc->accepted().sum() > 0.0 ? proc->acceptedBr().sum() / proc->accepted().sum() : 1;
201  double sigmaFin = sigmaAvg * fracAcc;
202  double sigmaFinBr = sigmaFin * fracBr;
203 
204  double relErr = 1.0;
205 
206  double efferr2 = 0;
207  switch (idwtup) {
208  case 3:
209  case -3: {
210  double ntotal_pos = proc->nTotalPos();
211  double effp = ntotal_pos > 0 ? (double)proc->nPassPos() / ntotal_pos : 0;
212  double effp_err2 = ntotal_pos > 0 ? (1 - effp) * effp / ntotal_pos : 0;
213 
214  double ntotal_neg = proc->nTotalNeg();
215  double effn = ntotal_neg > 0 ? (double)proc->nPassNeg() / ntotal_neg : 0;
216  double effn_err2 = ntotal_neg > 0 ? (1 - effn) * effn / ntotal_neg : 0;
217 
218  efferr2 = ntotal > 0
219  ? (ntotal_pos * ntotal_pos * effp_err2 + ntotal_neg * ntotal_neg * effn_err2) / ntotal / ntotal
220  : 0;
221  break;
222  }
223  default: {
224  double denominator = pow(proc->selected().sum(), 4);
225  double passw = proc->killed().sum();
226  double passw2 = proc->killed().sum2();
227  double failw = proc->selected().sum() - passw;
228  double failw2 = proc->selected().sum2() - passw2;
229  double numerator = (passw2 * failw * failw + failw2 * passw * passw);
230 
231  efferr2 = denominator > 0 ? numerator / denominator : 0;
232  break;
233  }
234  }
235  double delta2Veto = efferr2 / fracAcc / fracAcc;
236  double delta2Sum = delta2Veto + sigma2Err / sigma2Sum;
237  relErr = (delta2Sum > 0.0 ? std::sqrt(delta2Sum) : 0.0);
238 
239  double deltaFin = sigmaFin * relErr;
240  double deltaFinBr = sigmaFinBr * relErr;
241 
242  sigSelSum += sigmaAvg;
243  sigSum += sigmaFin;
244  sigBrSum += sigmaFinBr;
245  err2Sum += deltaFin * deltaFin;
246  errBr2Sum += deltaFinBr * deltaFinBr;
247  }
248 
249  XSec result(sigBrSum, std::sqrt(errBr2Sum));
250 
251  return result;
252  }

References HLTTauDQMOffline_cfi::denominator, heprup, lhef::HEPRUP::IDWTUP, training_settings::idx, groupFilesInBlocks::ntotal, HLTTauDQMOffline_cfi::numerator, funct::pow(), ValidateTausOnZEEFastSim_cff::proc, processes, mps_fire::result, mathSSE::sqrt(), lhef::HEPRUP::XERRUP, and lhef::HEPRUP::XSECUP.

Referenced by edm::HadronizerFilter< HAD, DEC >::endRunProduce(), and edm::ConcurrentHadronizerFilter< HAD, DEC >::streamEndRun().

Member Data Documentation

◆ comments

std::vector<std::string> lhef::LHERunInfo::comments
private

Definition at line 160 of file LHERunInfo.h.

Referenced by addComment(), getComments(), and LHERunInfo().

◆ headers

std::vector<Header> lhef::LHERunInfo::headers
private

◆ heprup

HEPRUP lhef::LHERunInfo::heprup
private

◆ processes

std::vector<Process> lhef::LHERunInfo::processes
private

Definition at line 158 of file LHERunInfo.h.

Referenced by count(), init(), statistics(), and xsec().

◆ processesLumi

std::vector<Process> lhef::LHERunInfo::processesLumi
private

Definition at line 168 of file LHERunInfo.h.

Referenced by count(), getLumiProcesses(), and initLumi().

lhef::LHERunInfo::kAccepted
Definition: LHERunInfo.h:64
lhef::HEPRUP::XSECUP
std::vector< double > XSECUP
Definition: LesHouches.h:112
alignBH_cfg.fixed
fixed
Definition: alignBH_cfg.py:54
mps_fire.i
i
Definition: mps_fire.py:355
filterCSVwithJSON.copy
copy
Definition: filterCSVwithJSON.py:36
lhef::domToLines
static std::vector< std::string > domToLines(const DOMNode *node)
Definition: LHERunInfo.cc:418
lhef::LHERunInfo::processesLumi
std::vector< Process > processesLumi
Definition: LHERunInfo.h:168
ALCARECOPromptCalibProdSiPixelAli0T_cff.mode
mode
Definition: ALCARECOPromptCalibProdSiPixelAli0T_cff.py:96
edm::LogInfo
Definition: MessageLogger.h:254
LHERunInfoProduct::heprup
const lhef::HEPRUP & heprup() const
Definition: LHERunInfoProduct.h:55
lhef::LHERunInfo::headers
std::vector< Header > headers
Definition: LHERunInfo.h:159
lhef::LHERunInfo::processes
std::vector< Process > processes
Definition: LHERunInfo.h:158
LHERunInfoProduct::headers_end
headers_const_iterator headers_end() const
Definition: LHERunInfoProduct.h:59
training_settings.idx
idx
Definition: training_settings.py:16
groupFilesInBlocks.ntotal
int ntotal
Definition: groupFilesInBlocks.py:100
lhef::LHERunInfo::kSelected
Definition: LHERunInfo.h:64
lhef::HEPRUP::EBMUP
std::pair< double, double > EBMUP
Definition: LesHouches.h:82
LHERunInfoProduct::headers_begin
headers_const_iterator headers_begin() const
Definition: LHERunInfoProduct.h:58
skipWhitespace
static XERCES_CPP_NAMESPACE_USE int skipWhitespace(std::istream &in)
Definition: LHERunInfo.cc:28
GlobalPosition_Frontier_DevDB_cff.tag
tag
Definition: GlobalPosition_Frontier_DevDB_cff.py:11
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
lhef::HEPRUP::LPRUP
std::vector< int > LPRUP
Definition: LesHouches.h:128
trackingPlots.other
other
Definition: trackingPlots.py:1465
lhef::LHERunInfo::comments
std::vector< std::string > comments
Definition: LHERunInfo.h:160
cuda_std::lower_bound
__host__ constexpr __device__ RandomIt lower_bound(RandomIt first, RandomIt last, const T &value, Compare comp={})
Definition: cudastdAlgorithm.h:27
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
lhef::HEPRUP::PDFGUP
std::pair< int, int > PDFGUP
Definition: LesHouches.h:88
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
ValidateTausOnZEEFastSim_cff.proc
proc
Definition: ValidateTausOnZEEFastSim_cff.py:6
lhef::LHERunInfo::init
void init()
Definition: LHERunInfo.cc:95
LaserDQM_cfg.process
process
Definition: LaserDQM_cfg.py:3
LHERunInfoProduct::comments_begin
comments_const_iterator comments_begin() const
Definition: LHERunInfoProduct.h:62
recoMuon::in
Definition: RecoMuonEnumerators.h:6
lhef::HEPRUP::resize
void resize(int nrup)
Definition: LesHouches.h:44
lhef::HEPRUP::NPRUP
int NPRUP
Definition: LesHouches.h:107
LHERunInfoProduct::comments_end
comments_const_iterator comments_end() const
Definition: LHERunInfoProduct.h:63
root
Definition: RooFitFunction.h:10
lhef::HEPRUP::IDWTUP
int IDWTUP
Definition: LesHouches.h:101
HLTTauDQMOffline_cfi.numerator
numerator
Definition: HLTTauDQMOffline_cfi.py:194
lhef::LHERunInfo::kKilled
Definition: LHERunInfo.h:64
lhef::HEPRUP::XERRUP
std::vector< double > XERRUP
Definition: LesHouches.h:118
HLTTauDQMOffline_cfi.denominator
denominator
Definition: HLTTauDQMOffline_cfi.py:195
lhef::HEPRUP::PDFSUP
std::pair< int, int > PDFSUP
Definition: LesHouches.h:94
RecoTauValidation_cfi.header
header
Definition: RecoTauValidation_cfi.py:292
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:30
mps_fire.result
result
Definition: mps_fire.py:303
cms::Exception
Definition: Exception.h:70
lhef::HEPRUP::XMAXUP
std::vector< double > XMAXUP
Definition: LesHouches.h:123
lhef::LHERunInfo::kTried
Definition: LHERunInfo.h:64
mps_splice.line
line
Definition: mps_splice.py:76
lhef::LHERunInfo::heprup
HEPRUP heprup
Definition: LHERunInfo.h:157
lhef::HEPRUP::IDBMUP
std::pair< int, int > IDBMUP
Definition: LesHouches.h:77