CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/SimDataFormats/HiGenData/interface/GenHIEvent.h

Go to the documentation of this file.
00001 #ifndef SimDataFormats_GenHIEvent_h
00002 #define SimDataFormats_GenHIEvent_h
00003 
00004 #include "DataFormats/HepMCCandidate/interface/GenParticle.h"
00005 #include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h"
00006 
00007 namespace edm {
00008    class GenHIEvent {
00009    public:
00010 
00011       typedef std::vector<std::vector<reco::GenParticleRef> > SubEventCollection;
00012 
00013       GenHIEvent() :
00014          b_(-99),
00015          npart_(-99),
00016          ncoll_(-99),
00017          nhard_(-99),
00018          phi_(-99),
00019         eccentricity_(-99),
00020          nCharged_(-99),
00021          nChargedMR_(-99),
00022          meanPt_(-99),
00023          meanPtMR_(-99),
00024      EtMR_(-99),
00025      nChargedPtCut_(-99),
00026      nChargedPtCutMR_(-99)
00027             {
00028                subevents_.reserve(0);
00029                ;}
00030 
00031         GenHIEvent(double b, int npart, int ncoll, int nhard, double phi, double ecc = -99, double nCharged = -99,double nChargedMR=-99,double meanPt=-99,double meanPtMR=-99,double EtMR=-99,int nChargedPtCut=-99,int nChargedPtCutMR=-99) : 
00032           b_(b), 
00033           npart_(npart), 
00034           ncoll_(ncoll), 
00035           nhard_(nhard), 
00036           phi_(phi),
00037           eccentricity_(ecc),
00038           nCharged_(nCharged),
00039           nChargedMR_(nChargedMR),
00040           meanPt_(meanPt),
00041           meanPtMR_(meanPtMR),
00042           EtMR_(EtMR),
00043           nChargedPtCut_(nChargedPtCut),
00044           nChargedPtCutMR_(nChargedPtCutMR)
00045             {
00046            subevents_.reserve(0);
00047            ;}
00048 
00049 
00050 
00051 
00052       virtual                    ~GenHIEvent() {}
00053 
00054       double b() const {return b_;}
00055       int Npart() const {return npart_;}
00056       int Ncoll() const {return ncoll_;}
00057       int Nhard() const {return nhard_;}
00058       double evtPlane() const {return phi_;}
00059       double eccentricity() const {return eccentricity_;}
00060       int Ncharged() const {return nCharged_;}
00061       int NchargedMR() const {return nChargedMR_;}
00062       double MeanPt() const {return meanPt_;}
00063       double MeanPtMR() const {return meanPtMR_;}
00064       double EtMR() const {return EtMR_;}
00065       int NchargedPtCut() const {return nChargedPtCut_;}
00066       int NchargedPtCutMR() const {return nChargedPtCutMR_;}
00067       void setGenParticles(const reco::GenParticleCollection*) const;
00068       const std::vector<reco::GenParticleRef>    getSubEvent(unsigned int sub_id) const;
00069 
00070       int           getNsubs() const {return subevents_.size();}
00071 
00072    private:
00073 
00074       mutable SubEventCollection subevents_;
00075       int sel_;
00076 
00077       double b_;
00078       int npart_;
00079       int ncoll_;
00080       int nhard_;
00081       double phi_;
00082       double eccentricity_;
00083       int nCharged_;
00084       int nChargedMR_;
00085       double meanPt_;
00086       double meanPtMR_;
00087       double EtMR_;
00088       int nChargedPtCut_;
00089       int nChargedPtCutMR_;
00090 
00091    };
00092 }
00093 #endif