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