#include <GenRunInfoProduct.h>
Classes | |
struct | XSec |
Public Member Functions | |
double | crossSection () const |
const XSec & | externalXSecLO () const |
const XSec & | externalXSecNLO () const |
double | filterEfficiency () const |
GenRunInfoProduct () | |
GenRunInfoProduct (const GenRunInfoProduct &other) | |
const XSec & | internalXSec () const |
virtual bool | isProductEqual (const GenRunInfoProduct &other) const |
virtual bool | mergeProduct (const GenRunInfoProduct &other) |
void | setExternalXSecLO (const XSec &xsec) |
void | setExternalXSecNLO (const XSec &xsec) |
void | setFilterEfficiency (double effic) |
void | setInternalXSec (const XSec &xsec) |
virtual | ~GenRunInfoProduct () |
Private Attributes | |
double | externalFilterEfficiency_ |
XSec | externalXSecLO_ |
XSec | externalXSecNLO_ |
XSec | internalXSec_ |
Definition at line 8 of file GenRunInfoProduct.h.
GenRunInfoProduct::GenRunInfoProduct | ( | ) |
Definition at line 11 of file GenRunInfoProduct.cc.
: externalFilterEfficiency_(-1.) { }
GenRunInfoProduct::GenRunInfoProduct | ( | const GenRunInfoProduct & | other | ) |
Definition at line 16 of file GenRunInfoProduct.cc.
: internalXSec_(other.internalXSec_), externalXSecLO_(other.externalXSecLO_), externalXSecNLO_(other.externalXSecNLO_), externalFilterEfficiency_(other.externalFilterEfficiency_) { }
GenRunInfoProduct::~GenRunInfoProduct | ( | ) | [virtual] |
Definition at line 24 of file GenRunInfoProduct.cc.
{ }
double GenRunInfoProduct::crossSection | ( | ) | const [inline] |
Definition at line 59 of file GenRunInfoProduct.h.
References externalXSecLO_, internalXSec_, and GenRunInfoProduct::XSec::value().
{ return externalXSecLO_ ? externalXSecLO_.value() : internalXSec_.value(); }
const XSec& GenRunInfoProduct::externalXSecLO | ( | ) | const [inline] |
Definition at line 21 of file GenRunInfoProduct.h.
References externalXSecLO_.
{ return externalXSecLO_; }
const XSec& GenRunInfoProduct::externalXSecNLO | ( | ) | const [inline] |
Definition at line 22 of file GenRunInfoProduct.h.
References externalXSecNLO_.
{ return externalXSecNLO_; }
double GenRunInfoProduct::filterEfficiency | ( | ) | const [inline] |
Definition at line 23 of file GenRunInfoProduct.h.
References externalFilterEfficiency_.
{ return externalFilterEfficiency_; }
const XSec& GenRunInfoProduct::internalXSec | ( | ) | const [inline] |
Definition at line 20 of file GenRunInfoProduct.h.
References internalXSec_.
{ return internalXSec_; }
bool GenRunInfoProduct::isProductEqual | ( | const GenRunInfoProduct & | other | ) | const [virtual] |
Definition at line 49 of file GenRunInfoProduct.cc.
References externalFilterEfficiency_, externalXSecLO_, and externalXSecNLO_.
{ return externalXSecLO_ == other.externalXSecLO_ && externalXSecNLO_ == other.externalXSecNLO_ && externalFilterEfficiency_ == other.externalFilterEfficiency_; }
bool GenRunInfoProduct::mergeProduct | ( | const GenRunInfoProduct & | other | ) | [virtual] |
Definition at line 28 of file GenRunInfoProduct.cc.
References externalFilterEfficiency_, externalXSecLO_, and externalXSecNLO_.
{ // if external xsec and filter efficiency are identical we allow merging // unfortunately we cannot merge on-the-fly xsec, as we do not have // information about the corresponding statistics (i.e. uncertainty) // so we just ignore it. // So in the end this merger is a dummy (just a safety check) if (externalXSecLO_ == other.externalXSecLO_ && externalXSecNLO_ == other.externalXSecNLO_ && externalFilterEfficiency_ == other.externalFilterEfficiency_) return true; edm::LogWarning("GenRunInfoProduct|ProductsNotMergeable") << "You are merging runs with different cross-sections and/or " "filter efficiencies (from GenRunInfoProduct)\n" "The resulting cross-section will not be consistent." << std::endl; return true; }
void GenRunInfoProduct::setExternalXSecLO | ( | const XSec & | xsec | ) | [inline] |
Definition at line 28 of file GenRunInfoProduct.h.
References externalXSecLO_.
Referenced by gen::BaseHadronizer::BaseHadronizer(), and gen::Cascade2Hadronizer::statistics().
{ externalXSecLO_ = xsec; }
void GenRunInfoProduct::setExternalXSecNLO | ( | const XSec & | xsec | ) | [inline] |
Definition at line 29 of file GenRunInfoProduct.h.
References externalXSecNLO_.
Referenced by gen::BaseHadronizer::BaseHadronizer(), and gen::Cascade2Hadronizer::statistics().
{ externalXSecNLO_ = xsec; }
void GenRunInfoProduct::setFilterEfficiency | ( | double | effic | ) | [inline] |
Definition at line 30 of file GenRunInfoProduct.h.
References externalFilterEfficiency_.
Referenced by gen::BaseHadronizer::BaseHadronizer().
{ externalFilterEfficiency_ = effic; }
void GenRunInfoProduct::setInternalXSec | ( | const XSec & | xsec | ) | [inline] |
Definition at line 27 of file GenRunInfoProduct.h.
References internalXSec_.
Referenced by edm::HadronizerFilter< HAD, DEC >::endRun(), SherpaHadronizer::statistics(), gen::PomwigHadronizer::statistics(), ThePEGHadronizer::statistics(), Pythia8Hadronizer::statistics(), gen::Cascade2Hadronizer::statistics(), Herwig6Hadronizer::statistics(), gen::Pythia6Hadronizer::statistics(), and gen::ExhumeHadronizer::statistics().
{ internalXSec_ = xsec; }
double GenRunInfoProduct::externalFilterEfficiency_ [private] |
Definition at line 70 of file GenRunInfoProduct.h.
Referenced by filterEfficiency(), isProductEqual(), mergeProduct(), and setFilterEfficiency().
XSec GenRunInfoProduct::externalXSecLO_ [private] |
Definition at line 69 of file GenRunInfoProduct.h.
Referenced by crossSection(), externalXSecLO(), isProductEqual(), mergeProduct(), and setExternalXSecLO().
XSec GenRunInfoProduct::externalXSecNLO_ [private] |
Definition at line 69 of file GenRunInfoProduct.h.
Referenced by externalXSecNLO(), isProductEqual(), mergeProduct(), and setExternalXSecNLO().
XSec GenRunInfoProduct::internalXSec_ [private] |
Definition at line 68 of file GenRunInfoProduct.h.
Referenced by crossSection(), internalXSec(), and setInternalXSec().