File indexing completed on 2024-04-06 12:29:43
0001 #ifndef SimDataFormats_GenHIEvent_h
0002 #define SimDataFormats_GenHIEvent_h
0003
0004 #include "DataFormats/HepMCCandidate/interface/GenParticle.h"
0005 #include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h"
0006
0007 namespace edm {
0008 class GenHIEvent {
0009 public:
0010 typedef std::vector<std::vector<reco::GenParticleRef> > SubEventCollection;
0011
0012 GenHIEvent()
0013 : b_(-99),
0014 npart_(-99),
0015 ncoll_(-99),
0016 nhard_(-99),
0017 phi_(-99),
0018 eccentricity_(-99),
0019 nCharged_(-99),
0020 nChargedMR_(-99),
0021 meanPt_(-99),
0022 meanPtMR_(-99),
0023 EtMR_(-99),
0024 nChargedPtCut_(-99),
0025 nChargedPtCutMR_(-99) {
0026 subevents_.reserve(0);
0027 ;
0028 }
0029
0030 GenHIEvent(double b,
0031 int npart,
0032 int ncoll,
0033 int nhard,
0034 double phi,
0035 double ecc = -99,
0036 double nCharged = -99,
0037 double nChargedMR = -99,
0038 double meanPt = -99,
0039 double meanPtMR = -99,
0040 double EtMR = -99,
0041 int nChargedPtCut = -99,
0042 int nChargedPtCutMR = -99)
0043 : b_(b),
0044 npart_(npart),
0045 ncoll_(ncoll),
0046 nhard_(nhard),
0047 phi_(phi),
0048 eccentricity_(ecc),
0049 nCharged_(nCharged),
0050 nChargedMR_(nChargedMR),
0051 meanPt_(meanPt),
0052 meanPtMR_(meanPtMR),
0053 EtMR_(EtMR),
0054 nChargedPtCut_(nChargedPtCut),
0055 nChargedPtCutMR_(nChargedPtCutMR) {
0056 subevents_.reserve(0);
0057 ;
0058 }
0059
0060 virtual ~GenHIEvent() {}
0061
0062 double b() const { return b_; }
0063 int Npart() const { return npart_; }
0064 int Ncoll() const { return ncoll_; }
0065 int Nhard() const { return nhard_; }
0066 double evtPlane() const { return phi_; }
0067 double eccentricity() const { return eccentricity_; }
0068 int Ncharged() const { return nCharged_; }
0069 int NchargedMR() const { return nChargedMR_; }
0070 double MeanPt() const { return meanPt_; }
0071 double MeanPtMR() const { return meanPtMR_; }
0072 double EtMR() const { return EtMR_; }
0073 int NchargedPtCut() const { return nChargedPtCut_; }
0074 int NchargedPtCutMR() const { return nChargedPtCutMR_; }
0075 void setGenParticles(const reco::GenParticleCollection*);
0076 const std::vector<reco::GenParticleRef> getSubEvent(unsigned int sub_id) const;
0077
0078 int getNsubs() const { return subevents_.size(); }
0079
0080 private:
0081 SubEventCollection subevents_;
0082 int sel_;
0083
0084 double b_;
0085 int npart_;
0086 int ncoll_;
0087 int nhard_;
0088 double phi_;
0089 double eccentricity_;
0090 int nCharged_;
0091 int nChargedMR_;
0092 double meanPt_;
0093 double meanPtMR_;
0094 double EtMR_;
0095 int nChargedPtCut_;
0096 int nChargedPtCutMR_;
0097 };
0098 }
0099 #endif