Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

Event.hpp

Go to the documentation of this file.
00001 #ifndef EVENT_HPP__
00002 #define EVENT_HPP__
00003 
00004 #include "cafe/EventBase.hpp"
00005 
00006 // Global 
00007 #include "tmb_tree/TMBGlobal.hpp"
00008 #include "tmb_tree/TMBHistory.hpp"
00009 #include "tmb_tree/TMBTrigger.hpp"
00010 #include "tmb_tree/TMBEventFlags.hpp"
00011 
00012 // Reco
00013 #include "tmb_tree/TMBMuon.hpp"
00014 #include "tmb_tree/TMBEMCluster.hpp"
00015 #include "tmb_tree/TMBJet.hpp"
00016 #include "tmb_tree/TMBMet.hpp"
00017 #include "tmb_tree/TMBParticleJet.hpp"
00018 #include "tmb_tree/TMBMetEx.hpp"
00019 #include "tmb_tree/TMBTrack.hpp"
00020 #include "tmb_tree/TMBTau.hpp"
00021 #include "tmb_tree/TMBIsoTrack.hpp"
00022 #include "tmb_tree/TMBPrimaryVertex.hpp"
00023 #include "tmb_tree/TMBLeBob.hpp"
00024 #include "tmb_tree/TMBTrackCal.hpp"
00025 #include "tmb_tree/TMBTrackCalJet.hpp"
00026 
00027 #include "tmb_tree/TMBCps.hpp"
00028 #include "tmb_tree/TMBFps.hpp"
00029 
00030 // B-Tagging
00031 #include "tmb_tree/TMBBTag.hpp"
00032 #include "tmb_tree/TMBBTagSLT.hpp"
00033 #include "tmb_tree/TMBBTagJLIP.hpp"
00034 #include "tmb_tree/TMBBTagSVT.hpp"
00035 
00036 // MC
00037 #include "tmb_tree/TMBMCpart.hpp"
00038 #include "tmb_tree/TMBMCvtx.hpp"
00039 #include "tmb_tree/TMBMCevtInfo.hpp"
00040 
00041 // Trigger
00042 
00043 // L1
00044 #include "tmb_tree/TMBL1AndOr.hpp"
00045 #include "tmb_tree/TMBL1Names.hpp"
00046 #include "tmb_tree/TMBL2Names.hpp"
00047 #include "tmb_tree/TMBL1Cal.hpp"
00048 #include "tmb_tree/TMBL1CalTile.hpp"
00049 #include "tmb_tree/TMBL1CalTower.hpp"
00050 #include "tmb_tree/TMBL1CTT.hpp"
00051 #include "tmb_tree/TMBL1Muon.hpp"
00052 #include "tmb_tree/TMBL1Track.hpp"
00053 #include "tmb_tree/TMBL1toL2CTT.hpp"
00054 
00055 // L2 Preprocessor objects
00056 #include "tmb_tree/TMBL2CPS.hpp"
00057 #include "tmb_tree/TMBL2EM.hpp"
00058 #include "tmb_tree/TMBL2FPS.hpp"
00059 #include "tmb_tree/TMBL2Muon.hpp"
00060 #include "tmb_tree/TMBL2Track.hpp"
00061 #include "tmb_tree/TMBL2Jet.hpp"
00062 #include "tmb_tree/TMBL2MEt.hpp"
00063 
00064 // L2 Global objects
00065 #include "tmb_tree/TMBL2GblEM.hpp"
00066 #include "tmb_tree/TMBL2GblHt.hpp"
00067 #include "tmb_tree/TMBL2GblInvMass.hpp"
00068 #include "tmb_tree/TMBL2GblJet.hpp"
00069 #include "tmb_tree/TMBL2GblMEt.hpp"
00070 #include "tmb_tree/TMBL2GblMJt.hpp"
00071 #include "tmb_tree/TMBL2GblMuon.hpp"
00072 #include "tmb_tree/TMBL2GblTau.hpp"
00073 #include "tmb_tree/TMBL2GblTrack.hpp"
00074 #include "tmb_tree/TMBL2GblTransMass.hpp"
00075 
00076 // L3
00077 #include "tmb_tree/TMBL3BTagIP.hpp"
00078 #include "tmb_tree/TMBL3CFTVtx.hpp"
00079 #include "tmb_tree/TMBL3Ele.hpp"
00080 #include "tmb_tree/TMBL3IPTrack.hpp"
00081 #include "tmb_tree/TMBL3Isolation.hpp"
00082 #include "tmb_tree/TMBL3Jet.hpp"
00083 #include "tmb_tree/TMBL3MEt.hpp"
00084 #include "tmb_tree/TMBL3Muon.hpp"
00085 #include "tmb_tree/TMBL3Photon.hpp"
00086 #include "tmb_tree/TMBL3Tau.hpp"
00087 #include "tmb_tree/TMBL3Track.hpp"
00088 
00089 // Detector
00090 #include "tmb_tree/TMBCalNada.hpp"
00091 #include "tmb_tree/TMBCellContainer.hpp"
00092 #include "tmb_tree/TMBCps.hpp"
00093 #include "tmb_tree/TMBCpsDigi.hpp"
00094 #include "tmb_tree/TMBFps.hpp"
00095 #include "tmb_tree/TMBFpsData.hpp"
00096 #include "tmb_tree/TMBFpd.hpp"
00097 
00098 #include "tmb_tree/TMBLum.hpp"
00099 #include "tmb_tree/TMBLumV.hpp"
00100 
00101 namespace cafe {
00102 
00112     class Event : public EventBase {
00113     public:
00114         Event();
00115 
00117 
00118 
00120         const TMBGlobal *getGlobal(const Variables& vars = cafe::detail::empty) const 
00121         { 
00122             return get<TMBGlobal>("Global", vars); 
00123         }
00124 
00126         const Collection<TMBHistory> getHistory(const Variables& vars = cafe::detail::empty) const 
00127         { 
00128             return getCollection<TMBHistory>("History"); 
00129         }
00130 
00132         const TMBEventFlags *getEventFlags(const Variables& vars = cafe::detail::empty) const
00133         {
00134             return get<TMBEventFlags>("EventFlags", vars);
00135         }
00136 
00138         
00139 
00141 
00143 
00145         Collection<TMBMuon> getMuons(const Variables& vars = cafe::detail::empty)    const 
00146         { 
00147             return getCollection<TMBMuon>("Muon", vars); 
00148         }
00149 
00152         Collection<TMBEMCluster> getEM(const std::string& branchName, const Variables& vars = cafe::detail::empty)    const 
00153         { 
00154             return getCollection<TMBEMCluster>(branchName, vars); 
00155         }
00156 
00158         Collection<TMBEMCluster> getEMscone(const Variables& vars = cafe::detail::empty) const
00159         { 
00160             return getEM("EMscone", vars); 
00161         }
00162 
00164         Collection<TMBEMCluster> getEMcnn(const Variables& vars = cafe::detail::empty) const
00165         { 
00166             return getEM("EMcnn", vars);
00167         }
00168 
00170         Collection<TMBJet> getJets(const std::string &branchName, const Variables& vars = cafe::detail::empty) const
00171         {
00172             return getCollection<TMBJet>(branchName, vars);
00173         }
00174 
00176         Collection<TMBJet> getJCCA(const Variables& vars = cafe::detail::empty) const
00177         {
00178             return getJets("JCCA", vars);
00179         }
00180 
00182         Collection<TMBJet> getJCCB(const Variables& vars = cafe::detail::empty) const
00183         {
00184             return getJets("JCCB", vars);
00185         }
00186 
00188         Collection<TMBParticleJet> 
00189         getParticleJets(const std::string &branchName, const Variables& vars = cafe::detail::empty) const
00190         {
00191             return getCollection<TMBParticleJet>(branchName, vars);
00192         }
00193         
00195         Collection<TMBParticleJet> getParticlesJCCA(const Variables& vars = cafe::detail::empty) const
00196         {
00197             return getParticleJets("particlesJCCA", vars);
00198         }
00199         
00201         Collection<TMBParticleJet> getParticlesJCCB(const Variables& vars = cafe::detail::empty) const
00202         {
00203             return getParticleJets("particlesJCCB", vars);
00204         }
00205 
00207         Collection<TMBTrack> getTracks(const Variables& vars = cafe::detail::empty)   const 
00208         { 
00209             return getCollection<TMBTrack>("Track", vars); 
00210         }
00211 
00213         Collection<TMBIsoTrack> getIsoTracks(const Variables& vars = cafe::detail::empty)   const 
00214         { 
00215             return getCollection<TMBIsoTrack>("IsoTrack", vars); 
00216         }
00217 
00219         Collection<TMBTau> getTaus(const Variables& vars = cafe::detail::empty) const
00220         {
00221             return getCollection<TMBTau>("Tau", vars);
00222         }
00223         
00225         Collection<TMBPrimaryVertex> getPrimaryVertices(const Variables& vars = cafe::detail::empty) const 
00226         { 
00227             return getCollection<TMBPrimaryVertex>("PrimaryVertex", vars); 
00228         }
00229         
00230 
00232         Collection<TMBPrimaryVertex> getPrimaryVertices(const std::string& type, const Variables& vars = cafe::detail::empty) const 
00233         { 
00234             return getCollection<TMBPrimaryVertex>("PrimaryVertex_" + type, vars); 
00235         }
00236         
00237 
00239         Collection<TMBTrackCal> getTrackCals(const Variables& vars = cafe::detail::empty) const
00240         {
00241             return  getCollection<TMBTrackCal>("TrackCal", vars);
00242         }
00243 
00245         Collection<TMBTrackCalJet> getTrackCalJCCA(const Variables& vars = cafe::detail::empty) const
00246         {
00247             return  getCollection<TMBTrackCalJet>("TrackCalJet_JCCA", vars);
00248         }
00249 
00251         Collection<TMBTrackCalJet> getTrackCalJCCB(const Variables& vars = cafe::detail::empty) const
00252         {
00253             return  getCollection<TMBTrackCalJet>("TrackCalJet_JCCB", vars);
00254         }
00255 
00257         const TMBMet  *getMet(const Variables& vars = cafe::detail::empty) const     
00258         { 
00259             return  get<TMBMet>("Met", vars); 
00260         }
00261 
00263         const TMBMetEx  *getMetEx(const Variables& vars = cafe::detail::empty) const     
00264         { 
00265             return  get<TMBMetEx>("MetEx", vars); 
00266         }
00267 
00269         const TMBLeBob  *getLeBob(const Variables& vars = cafe::detail::empty) const     
00270         { 
00271             return  get<TMBLeBob>("LeBob", vars); 
00272         }
00273 
00275         Collection<TMBCps> getCPS(const Variables& vars = cafe::detail::empty) const
00276         {
00277             return getCollection<TMBCps>("Cps", vars);
00278         }
00279 
00281         Collection<TMBFps> getFPS(const Variables& vars = cafe::detail::empty) const
00282         {
00283             return getCollection<TMBFps>("Fps", vars);
00284         }
00285 
00287         Collection<TMBFpd> getFPD(const Variables& vars = cafe::detail::empty) const
00288         {
00289             return getCollection<TMBFpd>("Fpd", vars);
00290         }
00291 
00293 
00298 
00300 
00301 
00302         Collection<TMBBTag> getCSIP(const std::string& jetAlgo,
00303                                      const std::string& qual, const Variables& vars = cafe::detail::empty)
00304         {
00305             return getCollection<TMBBTag>("BTag_" + jetAlgo + 
00306                                           "_CSIP_" + qual, vars);
00307         }
00308                                     
00309 
00310         Collection<TMBBTagSLT> getSLT(const std::string& jetAlgo,
00311                                       const std::string& qual, const Variables& vars = cafe::detail::empty)
00312         {
00313             return getCollection<TMBBTagSLT>("BTag_" + jetAlgo + 
00314                                           "_SLT_" + qual, vars);
00315         }
00316                                     
00317 
00318         Collection<TMBBTagJLIP> getJLIP(const std::string& jetAlgo,
00319                                         const std::string& qual, const Variables& vars = cafe::detail::empty)
00320         {
00321             return getCollection<TMBBTagJLIP>("BTag_" + jetAlgo + 
00322                                               "_JLIP_" + qual, vars);
00323         }
00324 
00325         Collection<TMBBTagSVT> getSVT(const std::string& jetAlgo,
00326                                       const std::string& qual, const Variables& vars = cafe::detail::empty)
00327         {
00328             return getCollection<TMBBTagSVT>("BTag_" + jetAlgo + 
00329                                              "_SVT_" + qual, vars);
00330         }
00331 
00333 
00335 
00336 
00338         const TMBMCevtInfo *getMCEventInfo(const Variables& vars = cafe::detail::empty) const
00339         {
00340             return get<TMBMCevtInfo>("MCevtInfo", vars);
00341         }
00342 
00344         Collection<TMBMCvtx> getMCVertices(const Variables& vars = cafe::detail::empty) const
00345         {
00346             return getCollection<TMBMCvtx> ("MCvtx", vars);
00347         }
00348         
00350         Collection<TMBMCpart> getMCParticles(const Variables& vars = cafe::detail::empty) const
00351         {
00352             return getCollection<TMBMCpart> ("MCpart", vars);
00353         }
00354 
00356 
00358         
00360 
00362         Collection<TMBTrigger> getTriggers(const Variables& vars = cafe::detail::empty) const
00363         {
00364             return  getCollection<TMBTrigger>("Trigger", vars);
00365         }
00366 
00367 
00369         const TMBL1AndOr *getL1AndOr(const Variables& vars = cafe::detail::empty) const
00370         {
00371             return get<TMBL1AndOr>("L1AndOr", vars);
00372         }
00373 
00375         const TMBL1Names *getL1Names(const Variables& vars = cafe::detail::empty) const
00376         {
00377             return get<TMBL1Names>("L1Names", vars);
00378         }
00379         
00381         const TMBL2Names *getL2Names(const Variables& vars = cafe::detail::empty) const
00382         {
00383             return get<TMBL2Names>("L2Names", vars);
00384         }
00385 
00387         const TMBL1Cal *getL1Cal(const Variables& vars = cafe::detail::empty) const
00388         {
00389             return get<TMBL1Cal>("L1Cal", vars);
00390         }
00391 
00392 
00394         Collection<TMBL1CalTile> getL1CalTiles(const Variables& vars = cafe::detail::empty) const
00395         {
00396             return getCollection<TMBL1CalTile> ("L1CalTiles", vars);
00397         }
00398 
00400         Collection<TMBL1CalTower> getL1CalTotalTowers(const Variables& vars = cafe::detail::empty) const
00401         {
00402             return getCollection<TMBL1CalTower> ("L1CalTotalTowers", vars);
00403         }
00404 
00406         Collection<TMBL1CalTower> getL1CalEMTowers(const Variables& vars = cafe::detail::empty) const
00407         {
00408             return getCollection<TMBL1CalTower> ("L1CalEMTowers", vars);
00409         }
00410 
00412         const TMBL1Muon *getL1Muon(const Variables& vars = cafe::detail::empty) const
00413         {
00414             return get<TMBL1Muon>("L1Muon", vars);
00415         }
00416 
00418         const TMBL1CTT *getL1CTT(const Variables& vars = cafe::detail::empty) const
00419         {
00420             return get<TMBL1CTT>("L1CTT", vars);
00421         }
00422 
00424         Collection<TMBL1toL2CTT> getL1toL2CTT(const Variables& vars = cafe::detail::empty) const
00425         {
00426             return getCollection<TMBL1toL2CTT>("L1toL2CTT", vars);
00427         }
00428 
00430         Collection<TMBL1Track> getL1Tracks(const Variables& vars = cafe::detail::empty) const
00431         {
00432             return getCollection<TMBL1Track> ("L1Track", vars);
00433         }
00434 
00435 
00437         Collection<TMBL2CPS> getL2CPSs(const Variables& vars = cafe::detail::empty) const
00438         {
00439             return getCollection<TMBL2CPS> ("L2CPS", vars);
00440         }
00441 
00443         Collection<TMBL2EM> getL2EMs(const Variables& vars = cafe::detail::empty) const
00444         {
00445             return getCollection<TMBL2EM> ("L2EM", vars);
00446         }
00447 
00449         Collection<TMBL2Muon> getL2Muons(const Variables& vars = cafe::detail::empty) const
00450         {
00451             return getCollection<TMBL2Muon> ("L2Muon", vars);
00452         }
00453 
00455         Collection<TMBL2Jet> getL2Jets(const Variables& vars = cafe::detail::empty) const
00456         {
00457             return getCollection<TMBL2Jet> ("L2Jet", vars);
00458         }
00459 
00461         Collection<TMBL2Track> getL2STTPT(const Variables& vars = cafe::detail::empty) const
00462         {
00463             return getCollection<TMBL2Track> ("STTPT", vars);
00464         }
00465 
00467         Collection<TMBL2Track> getL2STTIP(const Variables& vars = cafe::detail::empty) const
00468         {
00469             return getCollection<TMBL2Track> ("STTIP", vars);
00470         }
00471 
00473         Collection<TMBL2Track> getL2CTT(const Variables& vars = cafe::detail::empty) const
00474         {
00475             return getCollection<TMBL2Track> ("CTT", vars);
00476         }
00477 
00479         Collection<TMBL2GblJet> getL2GblJets(const Variables& vars = cafe::detail::empty) const
00480         {
00481             return getCollection<TMBL2GblJet> ("L2GblJet", vars);
00482         }
00483 
00485         Collection<TMBL2GblEM> getL2GblEMs(const Variables& vars = cafe::detail::empty) const
00486         {
00487             return getCollection<TMBL2GblEM> ("L2GblEM", vars);
00488         }
00489 
00491         Collection<TMBL2GblMuon> getL2GblMuons(const Variables& vars = cafe::detail::empty) const
00492         {
00493             return getCollection<TMBL2GblMuon> ("L2GblMuon", vars);
00494         }
00495 
00497         Collection<TMBL2GblTrack> getL2GblTracks(const Variables& vars = cafe::detail::empty) const
00498         {
00499             return getCollection<TMBL2GblTrack> ("L2GblTrack", vars);
00500         }
00501 
00503         Collection<TMBL2GblInvMass> getL2GblInvMass(const Variables& vars = cafe::detail::empty) const
00504         {
00505             return getCollection<TMBL2GblInvMass> ("L2GblInvMass", vars);
00506         }
00507 
00509         Collection<TMBL2GblMJt> getL2GblMJts(const Variables& vars = cafe::detail::empty) const
00510         {
00511             return getCollection<TMBL2GblMJt> ("L2GblMJt", vars);
00512         }
00513 
00515         Collection<TMBL2GblHt> getL2GblHts(const Variables& vars = cafe::detail::empty) const
00516         {
00517             return getCollection<TMBL2GblHt> ("L2GblHt", vars);
00518         }
00519 
00520 
00522         Collection<TMBL3BTagIP> getL3BTagIPs(const Variables& vars = cafe::detail::empty) const
00523         {
00524             return getCollection<TMBL3BTagIP> ("L3BTagIP", vars);
00525         }
00526 
00528         Collection<TMBL3CFTVtx> getL3CFTVtxs(const Variables& vars = cafe::detail::empty) const
00529         {
00530             return getCollection<TMBL3CFTVtx> ("L3CFTVtx", vars);
00531         }
00532 
00534         Collection<TMBL3Ele> getL3Eles(const Variables& vars = cafe::detail::empty) const
00535         {
00536             return getCollection<TMBL3Ele> ("L3Electron", vars);
00537         }
00538 
00540         Collection<TMBL3IPTrack> getL3IPTracks(const Variables& vars = cafe::detail::empty) const
00541         {
00542             return getCollection<TMBL3IPTrack> ("L3IPTrack", vars);
00543         }
00544 
00546         Collection<TMBL3Isolation> getL3Isolations(const Variables& vars = cafe::detail::empty) const
00547         {
00548             return getCollection<TMBL3Isolation> ("L3Isolation", vars);
00549         }
00550 
00552         Collection<TMBL3Jet> getL3Jets(const Variables& vars = cafe::detail::empty) const
00553         {
00554             return getCollection<TMBL3Jet> ("L3Jet", vars);
00555         }
00556 
00558         Collection<TMBL3Muon> getL3Muons(const Variables& vars = cafe::detail::empty) const
00559         {
00560             return getCollection<TMBL3Muon> ("L3Muon", vars);
00561         }
00562 
00564         Collection<TMBL3Photon> getL3Photons(const Variables& vars = cafe::detail::empty) const
00565         {
00566             return getCollection<TMBL3Photon> ("L3Photon", vars);
00567         }
00568 
00570         Collection<TMBL3Tau> getL3Taus(const Variables& vars = cafe::detail::empty) const
00571         {
00572             return getCollection<TMBL3Tau> ("L3Tau", vars);
00573         }
00574 
00576         Collection<TMBL3Track> getL3Tracks(const Variables& vars = cafe::detail::empty) const
00577         {
00578             return getCollection<TMBL3Track> ("L3Track", vars);
00579         }
00580 
00582         Collection<TMBL3MEt> getL3MEts(const Variables& vars = cafe::detail::empty) const
00583         {
00584             return getCollection<TMBL3MEt> ("L3MEt", vars);
00585         }
00586 
00588 
00590         const TMBCellContainer *getCaloCells(const Variables& vars = cafe::detail::empty) const
00591         {
00592             return get<TMBCellContainer>("CaloCells", vars);
00593         }
00594 
00596         Collection<TMBLum> getLum(const Variables& vars = cafe::detail::empty) const
00597         {
00598             return getCollection<TMBLum>("Lum", vars);
00599         }
00600         
00602         Collection<TMBLumV> getLumV(const Variables& vars = cafe::detail::empty) const
00603         {
00604             return getCollection<TMBLumV>("LumV", vars);
00605         }
00606 
00607     public:
00608         ClassDef(Event, 0);
00609     };
00610 
00611 
00612 }
00613 
00614 #endif // EVENT_HPP__

Generated on Tue Mar 28 10:13:03 2006 for CAF by doxygen 1.3.4