00001 #ifndef EVENT_HPP__
00002 #define EVENT_HPP__
00003
00004 #include "cafe/EventBase.hpp"
00005
00006
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
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
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
00037 #include "tmb_tree/TMBMCpart.hpp"
00038 #include "tmb_tree/TMBMCvtx.hpp"
00039 #include "tmb_tree/TMBMCevtInfo.hpp"
00040
00041
00042
00043
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
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
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
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
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__