#ifndef STNTUPLE_TStnJetProbBlock #define STNTUPLE_TStnJetProbBlock #include "TClonesArray.h" #include "TStnDataBlock.hh" #include "TStnLinkBlock.hh" #include "TStnJPJet.hh" #include "TStnJPTrack.hh" class TStnEvent; class TStnJetProbBlock: public TStnDataBlock { friend Int_t StntupleInitJetProbBlock (TStnDataBlock*, AbsEvent* , int); protected: Int_t fNJPJets; Int_t fNJPTracks; TClonesArray* fListOfJPJets; TClonesArray* fListOfJPTracks; TStnLinkBlock* fJPTrackLinkList; // TStnLinkBlock* fJetLinkList; TStnLinkBlock* fTrackLinkList; // || links to the tracks public: TStnJetProbBlock(); virtual ~TStnJetProbBlock(); Int_t NJPJets() { return fNJPJets;} Int_t NJPTracks() { return fNJPTracks;} TClonesArray* JPJetList() {return fListOfJPJets;} TClonesArray* JPTrackList() {return fListOfJPTracks;} TStnJPJet* JPJet(int i) { return (TStnJPJet*) fListOfJPJets ->UncheckedAt(i);} TStnJPJet* JPJet(int i) const { return (TStnJPJet*) fListOfJPJets ->UncheckedAt(i);} TStnJPTrack* JPTrack(int i) { return (TStnJPTrack*) fListOfJPTracks->UncheckedAt(i);} TStnLinkBlock* JPTrackLinkList() {return fJPTrackLinkList;} // TStnLinkBlock* JetLinkList() {return fJetLinkList;} TStnLinkBlock* TrackLinkList() {return fTrackLinkList;} Int_t JPTrackNumber(Int_t IJPJet, Int_t I) { return fJPTrackLinkList->Index( IJPJet,I);} Int_t TrackNumber(Int_t IJPTrack, Int_t I) { return fTrackLinkList->Index( IJPTrack,I);} TStnJPJet* NewJPJet() { TStnJPJet* j = new ( (*fListOfJPJets)[fNJPJets]) TStnJPJet(fNJPJets); fNJPJets++; return j; } TStnJPTrack* NewJPTrack() { TStnJPTrack* t = new ( (*fListOfJPTracks)[fNJPTracks]) TStnJPTrack(fNJPTracks); fNJPTracks++; return t; } void Clear(Option_t* opt=""); void Print(Option_t* opt="") const; ClassDef(TStnJetProbBlock,1) }; #endif