//------------------------------------------------------------------- // L3Results stntuple class // These are the L3 object quantites, available since Jan '03. // Oct '03 - RLC //------------------------------------------------------------------- #ifndef TL3SummaryBlock_hh #define TL3SummaryBlock_hh #include "TClonesArray.h" #include "Stntuple/obj/TL3Em.hh" #include "Stntuple/obj/TL3Muon.hh" #include "Stntuple/obj/TL3Jet.hh" #include "Stntuple/obj/TL3Track.hh" #include "Stntuple/obj/TL3Met.hh" #include "Stntuple/obj/TL3Tau.hh" #include #include class TL3SummaryBlock : public TStnDataBlock { friend Int_t StntupleInitL3SummaryBlock(TStnDataBlock *, AbsEvent *, int); //----------------------------------------------------------------------------- // data members //----------------------------------------------------------------------------- protected: Int_t fNEm; Int_t fNMuon; Int_t fNJet4; Int_t fNJet7; Int_t fNCotTrack; Int_t fNSvtTrack; Int_t fNMet; Int_t fNTau; TClonesArray* fEm; TClonesArray* fMuon; TClonesArray* fJet4; TClonesArray* fJet7; TClonesArray* fCotTrack; TClonesArray* fSvtTrack; TClonesArray* fMet; TClonesArray* fTau; //----------------------------------------------------------------------------- // functions //----------------------------------------------------------------------------- public: // ****** constructors and destructor TL3SummaryBlock(); ~TL3SummaryBlock(); // ****** accessors Int_t NEm() { return fNEm; } Int_t NMuon() { return fNMuon; } Int_t NJet4() { return fNJet4; } Int_t NJet7() { return fNJet7; } Int_t NCotTrack() { return fNCotTrack; } Int_t NSvtTrack() { return fNSvtTrack; } Int_t NMet() { return fNMet; } Int_t NTau() { return fNTau; } TL3Em* Em(Int_t i) { return (TL3Em*) fEm->UncheckedAt(i); } TL3Muon* Muon(Int_t i) { return (TL3Muon*) fMuon->UncheckedAt(i); } TL3Jet* Jet4(Int_t i) { return (TL3Jet*) fJet4->UncheckedAt(i); } TL3Jet* Jet7(Int_t i) { return (TL3Jet*) fJet7->UncheckedAt(i); } TL3Track* CotTrack(Int_t i) { return (TL3Track*) fCotTrack->UncheckedAt(i); } TL3Track* SvtTrack(Int_t i) { return (TL3Track*) fSvtTrack->UncheckedAt(i); } TL3Met* Met(Int_t i) { return (TL3Met*) fMet->UncheckedAt(i); } TL3Tau* Tau(Int_t i) { return (TL3Tau*) fTau->UncheckedAt(i); } TL3Em* NewEm() { return new ((*fEm)[fNEm++]) TL3Em(); } TL3Muon* NewMuon() { return new ((*fMuon)[fNMuon++]) TL3Muon(); } TL3Jet* NewJet4() { return new ((*fJet4)[fNJet4++]) TL3Jet(); } TL3Jet* NewJet7() { return new ((*fJet7)[fNJet7++]) TL3Jet(); } TL3Track* NewCotTrack(){ return new ((*fCotTrack)[fNCotTrack++]) TL3Track(); } TL3Track* NewSvtTrack(){ return new ((*fSvtTrack)[fNSvtTrack++]) TL3Track(); } TL3Met* NewMet() { return new ((*fMet)[fNMet++]) TL3Met(); } TL3Tau* NewTau() { return new ((*fTau)[fNTau++]) TL3Tau(); } void Clear(Option_t *opt=""); void Print(Option_t *opt="") const; ClassDef(TL3SummaryBlock, 3) }; #endif