00001 #ifndef XANAEsdEvent_h
00002 #define XANAEsdEvent_h
00003
00035 class XANAEmCluster;
00036 class XANAHadCluster;
00037 class XANACluster;
00038 class XANACaloRecHit;
00039 class XANAPreshowerInfo;
00040 class XANASuperCluster;
00041 class XANATrack;
00042 class XANATrackHit;
00043 class XANAVertex;
00044 class XANAElectronCandidate;
00045 class XANAElectronTrack;
00046 class XANAElectronGSFTrack;
00047 class XANAMuonCandidate;
00048 class XANAMuonTrack;
00049 class XANAElectronSeed;
00050 class XANAGeantEvent;
00051 class XANAGeantTrack;
00052 class XANAJet;
00053 class XANAMet;
00054
00055 #include <XANADOO/XANATriggerInfo/interface/XANATriggerInfo.h>
00056
00057 #include <TObjArray.h>
00058
00059 #include <TRefArray.h>
00060 #include <TRef.h>
00061 #include <TObject.h>
00062 #include <Rtypes.h>
00063
00064 class XANAEsdEvent : public TObject {
00065
00066 public:
00067
00068 XANAEsdEvent();
00069
00070 virtual ~XANAEsdEvent();
00071
00072
00073 void setHeader(Int_t ir, Int_t iev);
00074 void addEmCluster(const XANAEmCluster *cluster);
00075 void addHadCluster(const XANAHadCluster *cluster);
00076 void addEmClusterHit(const XANACaloRecHit *hit, XANACluster *cluster);
00077 void addCaloRecHit(const XANACaloRecHit *rhit);
00078 void addTrackHit(const XANATrackHit *thit, XANATrack *track);
00079 void addAllTrackHit(const XANATrackHit *thit);
00080 void addEleTrackHit(const XANATrackHit *elethit, XANAElectronTrack *eletrack);
00081 void addSuperCluster(const XANASuperCluster *super);
00082 void addSeedCluster(const XANAEmCluster *seed, XANASuperCluster *super);
00083 void addBremCluster(const XANAEmCluster *brem, XANASuperCluster *super);
00084 void addPreshCluster(XANAPreshowerInfo *presh, XANASuperCluster *super);
00085 void addTrack(const XANATrack *track);
00086 void addVertex(const XANAVertex *vtx);
00087 void addVertexTrack(const XANATrack *, XANAVertex *);
00088 void addTriggerInfo(XANATriggerInfo trigger);
00089 void addElectronCandidate(XANAElectronCandidate *electron);
00090
00091 void setElectronTrack(const XANAElectronTrack *trak, XANAElectronCandidate *electron);
00092 void addElectronTrack(const XANAElectronTrack *trak);
00093 void addElectronTrackGSF(const XANAElectronGSFTrack *trak);
00094 void addElectronSuperCluster(const XANASuperCluster *super, XANAElectronCandidate *electron);
00095 void addMuonCandidate(XANAMuonCandidate *muon);
00096 void addMuonTrack(const XANAMuonTrack *trak, XANAMuonCandidate *muon);
00097 void addElectronSeed(const XANAElectronSeed *seed, XANAElectronTrack *track);
00098 void addJet(const XANAJet *jet);
00099 void addJetCluster(const XANAHadCluster *cl, const XANAJet *jet);
00100 void addMet(const XANAMet *jet);
00101
00102 void setGeantEvent(XANAGeantEvent * geantevt);
00103 void setCaloRecHit(const XANACaloRecHit * hit, const XANAGeantTrack * trk);
00104 void clear();
00105
00106
00107 Int_t getRunNumber() {return run_;}
00108 Int_t getEventNumber() {return evt_;}
00109 TObjArray *getEmClusters() {return emClusters_;}
00110 TObjArray *getHadClusters() {return hadClusters_;}
00111 TRefArray *getEmClusterHits() {return emClusterHits_;}
00112 TObjArray *getCaloRecHits() {return caloRecHits_;}
00113 TRefArray *getTrackHits() {return trackHits_;}
00114 TRefArray *getEleTrackHits() {return eleTrackHits_;}
00115 TObjArray *getAllTrackHits() {return allTrackHits_;}
00116 TObjArray *getSuperClusters() {return superClusters_;}
00117 TRefArray *getSeedClusters() {return seedClusters_;}
00118 TRefArray *getBremClusters() {return bremClusters_;}
00119 TObjArray *getPreshClusters() {return preshClusters_;}
00120 TObjArray *getTracks() {return tracks_;}
00121 TObjArray *getVertices() {return vertices_;}
00122 TRefArray *getVertexTracks() {return vertexTracks_;}
00123 TObjArray *getElectronCandidates() {return electronCandidates_;}
00124 TObjArray *getElectronTracks() {return electronTracks_;}
00125 TRefArray *getElectronSuperClusters() {return electronSuperClusters_;}
00126 TObjArray *getMuonCandidates() {return muonCandidates_;}
00127 TObjArray *getMuonTracks() {return muonTracks_;}
00128 TObjArray *getElectronSeeds() {return electronSeeds_;}
00129
00130 TObjArray *getJets() {return jets_;}
00131 XANAMet *getMet() {return met_;}
00132 XANATriggerInfo getTriggerInfo() {return triggerInfo_;}
00133
00134 Short_t getNumberOfEmClusters() {return numberOfEmClusters_;}
00135 Short_t getNumberOfHadClusters() {return numberOfHadClusters_;}
00136 Short_t getNumberOfEmClusterHits() {return numberOfEmClusterHits_;}
00137 Short_t getNumberOfCaloRecHits() {return numberOfCaloRecHits_;}
00138 Short_t getNumberOfTrackHits() {return numberOfTrackHits_;}
00139 Short_t getNumberOfAllTrackHits() {return numberOfAllTrackHits_;}
00140 Short_t getNumberOfEleTrackHits() {return numberOfEleTrackHits_;}
00141 Short_t getNumberOfSuperClusters() {return numberOfSuperClusters_;}
00142 Short_t getNumberOfPreshClusters() {return numberOfPreshClusters_;}
00143 Short_t getNumberOfTracks() {return numberOfTracks_;}
00144 Short_t getNumberOfVertices() {return numberOfVertices_;}
00145 Short_t getNumberOfVertexTracks() {return numberOfVertexTracks_;}
00146 Short_t getNumberOfElectronCandidates() {return numberOfElectronCandidates_;}
00147 Short_t getNumberOfElectronTracks() {return numberOfElectronTracks_;}
00148 Short_t getNumberOfElectronSuperClusters() {return numberOfElectronSuperClusters_;}
00149 Short_t getNumberOfMuonCandidates() {return numberOfMuonCandidates_;}
00150 Short_t getNumberOfMuonTracks() {return numberOfMuonTracks_;}
00151 Short_t getNumberOfElectronSeeds() {return numberOfElectronSeeds_;}
00152 Short_t getNumberOfJets() {return numberOfJets_;}
00153
00154 void print();
00155
00156 private:
00157
00158
00159 Int_t run_;
00160 Int_t evt_;
00161
00163 Short_t numberOfEmClusters_;
00165 TObjArray *emClusters_;
00167 Short_t numberOfEmClusterHits_;
00169 TRefArray *emClusterHits_;
00171 Short_t numberOfSuperClusters_;
00173 TObjArray *superClusters_;
00175 Short_t numberOfSeedClusters_;
00177 TRefArray *seedClusters_;
00179 Short_t numberOfBremClusters_;
00181 TRefArray *bremClusters_;
00183 Short_t numberOfPreshClusters_;
00185 TObjArray *preshClusters_;
00187 Short_t numberOfHadClusters_;
00189 TObjArray *hadClusters_;
00191 Short_t numberOfTracks_;
00193 TObjArray *tracks_;
00195 Short_t numberOfCaloRecHits_;
00197 TObjArray *caloRecHits_;
00199 Short_t numberOfTrackHits_;
00201 TRefArray *trackHits_;
00203 Short_t numberOfAllTrackHits_;
00205 TObjArray *allTrackHits_;
00207 Short_t numberOfVertices_;
00209 TObjArray *vertices_;
00211 Short_t numberOfVertexTracks_;
00213 TRefArray *vertexTracks_;
00215 Short_t numberOfElectronCandidates_;
00217 TObjArray *electronCandidates_;
00219 Short_t numberOfElectronTracks_;
00221 TObjArray *electronTracks_;
00223 Short_t numberOfEleTrackHits_;
00225 TRefArray *eleTrackHits_;
00227 Short_t numberOfElectronSuperClusters_;
00229 TRefArray *electronSuperClusters_;
00231 Short_t numberOfMuonCandidates_;
00233 TObjArray *muonCandidates_;
00235 Short_t numberOfMuonTracks_;
00237 TObjArray *muonTracks_;
00239 Short_t numberOfElectronSeeds_;
00241 TObjArray *electronSeeds_;
00242
00244 Short_t numberOfJets_;
00246
00247 TObjArray *jets_;
00249 XANAMet *met_;
00250
00252 XANATriggerInfo triggerInfo_;
00254 TRef geantEvt_;
00255
00256 ClassDef(XANAEsdEvent,1)
00257
00258 };
00259
00260 #endif