Go to the documentation of this file.00001 #ifndef Demo_PFRootEvent_EventColin_h
00002 #define Demo_PFRootEvent_EventColin_h
00003
00004 #include <vector>
00005
00006
00007 class EventColin {
00008
00009 public:
00010 EventColin() : number_(-1), nTracks_(0) {}
00011 virtual ~EventColin() {}
00012 void reset() {
00013 number_ = -1;
00014 particles_.clear();
00015 candidates_.clear();
00016 clusters_.clear();
00017 clustersIsland_.clear();
00018 jetsMC_.clear();
00019 jetsEHT_.clear();
00020 jetsPF_.clear();
00021 nTracks_=0;
00022 }
00023
00024 class Particle {
00025 public:
00026 Particle() : eta(0),phi(0),e(0),pdgCode(0) {}
00027 virtual ~Particle() {}
00028 double eta;
00029 double phi;
00030 double e;
00031 int pdgCode;
00032 };
00033
00034 class Cluster {
00035 public:
00036 Cluster() : eta(0),phi(0),e(0),layer(0),type(0) {}
00037 virtual ~Cluster() {}
00038 double eta;
00039 double phi;
00040 double e;
00041 int layer;
00042 int type;
00043 Particle particle;
00044 };
00045
00046 class Jet {
00047 public:
00048 Jet() : eta(0),phi(0),et(0),e(0),ee(0),eh(0),ete(0),eth(0) {}
00049 virtual ~Jet() {}
00050 double eta;
00051 double phi;
00052 double et;
00053 double e;
00054 double ee;
00055 double eh;
00056 double ete;
00057 double eth;
00058 };
00059
00060 class CaloTower {
00061 public:
00062 CaloTower() : e(0), ee(0), eh(0) {}
00063 double e;
00064 double ee;
00065 double eh;
00066 };
00067
00068 class Block {
00069 public:
00070 Block() : p(0), e(0), h(0) {}
00071 double p;
00072 double e;
00073 double h;
00074 int ntracks;
00075 std::vector<double> ptrack;
00076 std::vector<double> etrack;
00077 };
00078
00079
00080
00081 void setNumber(int number) {number_ = number;}
00082 void setNTracks(int nTracks) {nTracks_ = nTracks;}
00083
00084 void addParticle( const Particle& ptc ) {
00085 particles_.push_back(ptc);
00086 }
00087
00088 void addCandidate( const Particle& ptc ) {
00089 candidates_.push_back(ptc);
00090 }
00091
00092 void addCluster( const Cluster& ptc ) {
00093 clusters_.push_back(ptc);
00094 }
00095
00096 void addClusterIsland( const Cluster& ptc ) {
00097 clustersIsland_.push_back(ptc);
00098 }
00099
00100 void addJetMC( const Jet & jets ) {
00101 jetsMC_.push_back(jets);
00102 }
00103
00104 void addJetEHT( const Jet & jets ) {
00105 jetsEHT_.push_back(jets);
00106 }
00107
00108 void addJetPF( const Jet & jets ) {
00109 jetsPF_.push_back(jets);
00110 }
00111
00112 void addCaloTower( const CaloTower& ct ) {
00113 caloTowers_.push_back( ct );
00114 }
00115
00116 void addBlock( const Block& b ) {
00117 blocks_.push_back( b );
00118 }
00119
00120
00121 const std::vector<EventColin::Particle>& particles()
00122 {return particles_;}
00123 const std::vector<EventColin::Cluster>& clusters()
00124 {return clusters_;}
00125 const std::vector<EventColin::Cluster>& clustersIsland()
00126 {return clustersIsland_;}
00127 const std::vector<EventColin::Jet>& jetsMC()
00128 {return jetsMC_;}
00129 const std::vector<EventColin::Jet>& jetsEHT()
00130 {return jetsEHT_;}
00131 const std::vector<EventColin::Jet>& jetsPF()
00132 {return jetsPF_;}
00133
00134 private:
00135
00136 int number_;
00137 int nTracks_;
00138 std::vector<EventColin::Particle> particles_;
00139 std::vector<EventColin::Particle> candidates_;
00140 std::vector<EventColin::Cluster> clusters_;
00141 std::vector<EventColin::Cluster> clustersIsland_;
00142 std::vector<EventColin::Jet> jetsMC_;
00143 std::vector<EventColin::Jet> jetsEHT_;
00144 std::vector<EventColin::Jet> jetsPF_;
00145 std::vector<EventColin::CaloTower> caloTowers_;
00146 std::vector<EventColin::Block> blocks_;
00147
00148 };
00149
00150 #endif