CMS 3D CMS Logo

Classes | Public Member Functions | Private Attributes

GenRunInfoProduct Class Reference

#include <GenRunInfoProduct.h>

List of all members.

Classes

struct  XSec

Public Member Functions

double crossSection () const
const XSecexternalXSecLO () const
const XSecexternalXSecNLO () const
double filterEfficiency () const
 GenRunInfoProduct ()
 GenRunInfoProduct (const GenRunInfoProduct &other)
const XSecinternalXSec () 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_

Detailed Description

Definition at line 8 of file GenRunInfoProduct.h.


Constructor & Destructor Documentation

GenRunInfoProduct::GenRunInfoProduct ( )

Definition at line 11 of file GenRunInfoProduct.cc.

GenRunInfoProduct::GenRunInfoProduct ( const GenRunInfoProduct other)
GenRunInfoProduct::~GenRunInfoProduct ( ) [virtual]

Definition at line 24 of file GenRunInfoProduct.cc.

{
}

Member Function Documentation

double GenRunInfoProduct::crossSection ( ) const [inline]
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_.

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]
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().

{ externalXSecLO_ = xsec; }
void GenRunInfoProduct::setExternalXSecNLO ( const XSec xsec) [inline]

Definition at line 29 of file GenRunInfoProduct.h.

References externalXSecNLO_.

Referenced by gen::BaseHadronizer::BaseHadronizer().

{ externalXSecNLO_ = xsec; }
void GenRunInfoProduct::setFilterEfficiency ( double  effic) [inline]

Definition at line 30 of file GenRunInfoProduct.h.

References externalFilterEfficiency_.

Referenced by gen::BaseHadronizer::BaseHadronizer().

void GenRunInfoProduct::setInternalXSec ( const XSec xsec) [inline]

Member Data Documentation

Definition at line 68 of file GenRunInfoProduct.h.

Referenced by crossSection(), internalXSec(), and setInternalXSec().