CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GenRunInfoProduct.cc
Go to the documentation of this file.
1 #include <iostream>
2 #include <algorithm>
3 
5 
7 
8 using namespace edm;
9 using namespace std;
10 
12  externalFilterEfficiency_(-1.)
13 {
14 }
15 
17  internalXSec_(other.internalXSec_),
18  externalXSecLO_(other.externalXSecLO_),
19  externalXSecNLO_(other.externalXSecNLO_),
20  externalFilterEfficiency_(other.externalFilterEfficiency_)
21 {
22 }
23 
25 {
26 }
27 
29 {
30  // if external xsec and filter efficiency are identical we allow merging
31  // unfortunately we cannot merge on-the-fly xsec, as we do not have
32  // information about the corresponding statistics (i.e. uncertainty)
33  // so we just ignore it.
34  // So in the end this merger is a dummy (just a safety check)
35 
36  if (externalXSecLO_ == other.externalXSecLO_ &&
39  return true;
40 
41  edm::LogWarning("GenRunInfoProduct|ProductsNotMergeable")
42  << "You are merging runs with different cross-sections and/or "
43  "filter efficiencies (from GenRunInfoProduct)\n"
44  "The resulting cross-section will not be consistent." << std::endl;
45 
46  return true;
47 }
48 
50 {
51  return externalXSecLO_ == other.externalXSecLO_ &&
54 }
virtual bool mergeProduct(const GenRunInfoProduct &other)
double externalFilterEfficiency_
virtual bool isProductEqual(const GenRunInfoProduct &other) const
virtual ~GenRunInfoProduct()