CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

GenEventInfoProduct Class Reference

#include <GenEventInfoProduct.h>

List of all members.

Public Types

typedef gen::PdfInfo PDF

Public Member Functions

double alphaQCD () const
double alphaQED () const
const std::vector< double > & binningValues () const
 GenEventInfoProduct ()
 GenEventInfoProduct (const HepMC::GenEvent *evt)
 GenEventInfoProduct (const GenEventInfoProduct &other)
bool hasBinningValues () const
bool hasPDF () const
GenEventInfoProductoperator= (const GenEventInfoProduct &other)
const PDFpdf () const
double qScale () const
void setBinningValues (const std::vector< double > &values)
void setPDF (const PDF *pdf)
void setScales (double q=-1., double qcd=-1., double qed=-1.)
void setSignalProcessID (unsigned int procID)
void setWeights (const std::vector< double > &weights)
unsigned int signalProcessID () const
double weight () const
const std::vector< double > & weights () const
virtual ~GenEventInfoProduct ()

Private Attributes

double alphaQCD_
double alphaQED_
std::vector< double > binningValues_
std::auto_ptr< PDFpdf_
double qScale_
unsigned int signalProcessID_
std::vector< double > weights_

Detailed Description

Definition at line 15 of file GenEventInfoProduct.h.


Member Typedef Documentation

Definition at line 24 of file GenEventInfoProduct.h.


Constructor & Destructor Documentation

GenEventInfoProduct::GenEventInfoProduct ( )

Definition at line 15 of file GenEventInfoProduct.cc.

                                         :
        signalProcessID_(0), qScale_(-1.), alphaQCD_(-1.), alphaQED_(-1.)
{
}
GenEventInfoProduct::GenEventInfoProduct ( const HepMC::GenEvent *  evt)

Definition at line 20 of file GenEventInfoProduct.cc.

References gen::PdfInfo::id, pdf(), gen::PdfInfo::scalePDF, setPDF(), gen::PdfInfo::x, and gen::PdfInfo::xPDF.

                                                                 :
        weights_(evt->weights().begin(), evt->weights().end()),
        signalProcessID_(evt->signal_process_id()),
        qScale_(evt->event_scale()),
        alphaQCD_(evt->alphaQCD()),
        alphaQED_(evt->alphaQED())
{
        const HepMC::PdfInfo *hepPDF = evt->pdf_info();    
        if (hepPDF) {
                PDF pdf;

                pdf.id = std::make_pair(hepPDF->id1(), hepPDF->id2());
                pdf.x = std::make_pair(hepPDF->x1(), hepPDF->x2());
                pdf.xPDF = std::make_pair(hepPDF->pdf1(), hepPDF->pdf2());   
                pdf.scalePDF = hepPDF->scalePDF();

                setPDF(&pdf);
        }
}
GenEventInfoProduct::GenEventInfoProduct ( const GenEventInfoProduct other)

Definition at line 40 of file GenEventInfoProduct.cc.

References pdf(), and setPDF().

GenEventInfoProduct::~GenEventInfoProduct ( ) [virtual]

Definition at line 51 of file GenEventInfoProduct.cc.

{
}

Member Function Documentation

double GenEventInfoProduct::alphaQCD ( ) const [inline]

Definition at line 34 of file GenEventInfoProduct.h.

References alphaQCD_.

{ return alphaQCD_; }
double GenEventInfoProduct::alphaQED ( ) const [inline]

Definition at line 35 of file GenEventInfoProduct.h.

References alphaQED_.

{ return alphaQED_; }
const std::vector<double>& GenEventInfoProduct::binningValues ( ) const [inline]

Definition at line 40 of file GenEventInfoProduct.h.

References binningValues_.

{ return binningValues_; }
bool GenEventInfoProduct::hasBinningValues ( ) const [inline]

Definition at line 41 of file GenEventInfoProduct.h.

References binningValues_.

{ return !binningValues_.empty(); }
bool GenEventInfoProduct::hasPDF ( ) const [inline]

Definition at line 38 of file GenEventInfoProduct.h.

References pdf().

{ return pdf() != 0; }
GenEventInfoProduct & GenEventInfoProduct::operator= ( const GenEventInfoProduct other)

Definition at line 55 of file GenEventInfoProduct.cc.

References alphaQCD_, alphaQED_, binningValues_, pdf(), qScale_, setPDF(), signalProcessID_, and weights_.

{
        weights_ = other.weights_;
        signalProcessID_ = other.signalProcessID_;
        qScale_ = other.qScale_;
        alphaQCD_ = other.alphaQCD_;
        alphaQED_ = other.alphaQED_;
        binningValues_ = other.binningValues_;

        setPDF(other.pdf());

        return *this;
}
const PDF* GenEventInfoProduct::pdf ( ) const [inline]

Definition at line 37 of file GenEventInfoProduct.h.

References pdf_.

Referenced by GenEventInfoProduct(), hasPDF(), and operator=().

{ return pdf_.get(); }
double GenEventInfoProduct::qScale ( ) const [inline]

Definition at line 33 of file GenEventInfoProduct.h.

References qScale_.

{ return qScale_; }
void GenEventInfoProduct::setBinningValues ( const std::vector< double > &  values) [inline]

Definition at line 56 of file GenEventInfoProduct.h.

References binningValues_, and makeHLTPrescaleTable::values.

void GenEventInfoProduct::setPDF ( const PDF pdf) [inline]

Definition at line 54 of file GenEventInfoProduct.h.

References pdf_.

Referenced by GenEventInfoProduct(), and operator=().

{ pdf_.reset(pdf ? new PDF(*pdf) : 0); }
void GenEventInfoProduct::setScales ( double  q = -1.,
double  qcd = -1.,
double  qed = -1. 
) [inline]

Definition at line 51 of file GenEventInfoProduct.h.

References alphaQCD_, alphaQED_, lumiQueryAPI::q, and qScale_.

        { qScale_ = q, alphaQCD_ = qcd, alphaQED_ = qed; }
void GenEventInfoProduct::setSignalProcessID ( unsigned int  procID) [inline]

Definition at line 48 of file GenEventInfoProduct.h.

References signalProcessID_.

        { signalProcessID_  = procID; }
void GenEventInfoProduct::setWeights ( const std::vector< double > &  weights) [inline]

Definition at line 45 of file GenEventInfoProduct.h.

References weights(), and weights_.

        { weights_ = weights; }
unsigned int GenEventInfoProduct::signalProcessID ( ) const [inline]

Definition at line 31 of file GenEventInfoProduct.h.

References signalProcessID_.

{ return signalProcessID_; }
double GenEventInfoProduct::weight ( ) const

Definition at line 69 of file GenEventInfoProduct.cc.

References weights_.

{
        return std::accumulate(weights_.begin(), weights_.end(),
                               1., std::multiplies<double>());
}
const std::vector<double>& GenEventInfoProduct::weights ( ) const [inline]

Definition at line 28 of file GenEventInfoProduct.h.

References weights_.

Referenced by setWeights().

{ return weights_; }

Member Data Documentation

Definition at line 68 of file GenEventInfoProduct.h.

Referenced by alphaQCD(), operator=(), and setScales().

Definition at line 68 of file GenEventInfoProduct.h.

Referenced by alphaQED(), operator=(), and setScales().

std::vector<double> GenEventInfoProduct::binningValues_ [private]

Definition at line 80 of file GenEventInfoProduct.h.

Referenced by binningValues(), hasBinningValues(), operator=(), and setBinningValues().

std::auto_ptr<PDF> GenEventInfoProduct::pdf_ [private]

Definition at line 71 of file GenEventInfoProduct.h.

Referenced by pdf(), and setPDF().

double GenEventInfoProduct::qScale_ [private]

Definition at line 67 of file GenEventInfoProduct.h.

Referenced by operator=(), qScale(), and setScales().

unsigned int GenEventInfoProduct::signalProcessID_ [private]

Definition at line 64 of file GenEventInfoProduct.h.

Referenced by operator=(), setSignalProcessID(), and signalProcessID().

std::vector<double> GenEventInfoProduct::weights_ [private]

Definition at line 61 of file GenEventInfoProduct.h.

Referenced by operator=(), setWeights(), weight(), and weights().