--- PamelaLevel2/inc/PamLevel2.h 2006/10/09 08:57:41 1.5 +++ PamelaLevel2/inc/PamLevel2.h 2006/11/28 10:58:34 1.6 @@ -11,6 +11,8 @@ #include #include +#include +#include #include #include #include @@ -64,97 +66,117 @@ * This allows to solve the tracker ambiguity (that is, to choose between track images) by using also information from other detectors. */ -class PamLevel2 : public CaloLevel2, public TrkLevel2, public TrkLevel1, public ToFLevel2, public TrigLevel2, public S4Level2, public NDLevel2, public AcLevel2, public OrbitalInfo { +class PamLevel2 : public CaloLevel2, public CaloLevel1, public TrkLevel2, public TrkLevel1, public TrkHough, public ToFLevel2, public TrigLevel2, public S4Level2, public NDLevel2, public AcLevel2, public OrbitalInfo { private: - TrkLevel1* trk_l1_obj; - TrkLevel2* trk_obj; - CaloLevel2* calo_obj; + TrkLevel1* trk1_obj; + TrkLevel2* trk2_obj; + TrkHough* trkh_obj; + + CaloLevel1* calo1_obj; + CaloLevel2* calo2_obj; + ToFLevel2* tof_obj; TrigLevel2* trig_obj; S4Level2* s4_obj; NDLevel2* nd_obj; AcLevel2* ac_obj; - OrbitalInfo* orb_obj; + OrbitalInfo* orb_obj; - GL_RUN* run_obj; + GL_RUN* run_obj; - TRefArray* sorted_tracks; + TRefArray* sorted_tracks; - TChain* Tout; +// TChain* Tout; public: - Bool_t CAL; - Bool_t TRK; - Bool_t TRG; - Bool_t TOF; - Bool_t S4; - Bool_t ND; - Bool_t AC; - Bool_t ORB; - - Bool_t TRK_L1; - + Bool_t CAL2; //level2 branch + Bool_t CAL1; //level1 branch + + Bool_t TRK2; //level2 branch + Bool_t TRK1; //level1 branch + Bool_t TRKh; //hough branch + + Bool_t TRG; + Bool_t TOF; + Bool_t S4; + Bool_t ND; + Bool_t AC; + Bool_t ORB; + PamLevel2(); - ~PamLevel2(); + ~PamLevel2(); - void Clear(); + void Clear(); - TrkLevel1* GetTrkLevel1() { return trk_l1_obj; }; - TrkLevel2* GetTrkLevel2() { return trk_obj; }; - CaloLevel2* GetCaloLevel2() { return calo_obj; }; + TrkLevel1* GetTrkLevel1() { return trk1_obj; }; + TrkLevel2* GetTrkLevel2() { return trk2_obj; }; + TrkHough* GetTrkHough() { return trkh_obj; }; + CaloLevel1* GetCaloLevel1() { return calo1_obj; }; + CaloLevel2* GetCaloLevel2() { return calo2_obj; }; ToFLevel2* GetToFLevel2() { return tof_obj; }; TrigLevel2* GetTrigLevel2() { return trig_obj; }; S4Level2* GetS4Level2() { return s4_obj; }; NDLevel2* GetNDLevel2() { return nd_obj; }; AcLevel2* GetAcLevel2() { return ac_obj; }; - OrbitalInfo* GetOrbitalInfo(){ return orb_obj; }; - GL_RUN* GetRunInfo() { return run_obj; }; + OrbitalInfo* GetOrbitalInfo(){ return orb_obj; }; + GL_RUN* GetRunInfo() { return run_obj; }; // ===================================== // methods needed to read Level2 trees // ===================================== - void SetWhichTrees(TString); - TList* GetListOfLevel2Files(TString, TString); - Bool_t CheckLevel2File(TString); - void SetBranchAddress(); - TTree* GetPamTree(TFile*,TString); - TTree* GetPamTree(TFile* f){return GetPamTree(f,"+ALL");}; - TChain* GetPamTree(TList*,TString); - TTree* GetRunTree(TFile*); - TChain* GetRunTree(TList*); + void SetWhichTrees(TString); + TList* GetListOfLevel2Files(TString, TString); + Bool_t CheckLevel2File(TString); +// void SetBranchAddress(); + TTree* GetPamTree(TFile*,TString); + TTree* GetPamTree(TFile* f){return GetPamTree(f,"+ALL");}; + TChain* GetPamTree(TList*,TString); + TTree* GetRunTree(TFile*); + TChain* GetRunTree(TList*); + void SetBranchAddress(TTree *); + void SetBranchAddress(TChain *); + // ===================================== // methods needed to set brach addresses // ===================================== - void* GetPointerToTrk() {return &trk_obj;}; - void* GetPointerToTrk(int s){ - switch (s) { - case 1: return &trk_l1_obj; - case 2: return &trk_obj; - default: return 0; - }; + void* GetPointerToTrk() {return &trk2_obj;}; + void* GetPointerToTrk(int s){ + switch (s) { + case 1: return &trk1_obj; + case 2: return &trk2_obj; + case 3: return &trkh_obj; + default: return 0; }; - void* GetPointerToCalo() {return &calo_obj; }; - void* GetPointerToToF() {return &tof_obj; }; - void* GetPointerToTrig() {return &trig_obj; }; - void* GetPointerToS4() {return &s4_obj; }; - void* GetPointerToND() {return &nd_obj; }; - void* GetPointerToAc() {return &ac_obj; }; - void* GetPointerToOrb() {return &orb_obj; }; - void* GetPointerToRun() {return &run_obj; }; - void* GetPointerTo(const char*); + }; + void* GetPointerToCalo() {return &calo2_obj; }; + void* GetPointerToCalo(int s){ + switch (s) { + case 1: return &calo1_obj; + case 2: return &calo2_obj; + default: return 0; + }; + }; + void* GetPointerToToF() {return &tof_obj; }; + void* GetPointerToTrig() {return &trig_obj; }; + void* GetPointerToS4() {return &s4_obj; }; + void* GetPointerToND() {return &nd_obj; }; + void* GetPointerToAc() {return &ac_obj; }; + void* GetPointerToOrb() {return &orb_obj; }; + void* GetPointerToRun() {return &run_obj; }; + void* GetPointerTo(const char*); // ============================================== // methods to retrieve subdetectors stored tracks // ============================================== - TrkTrack* GetTrkStoredTrack(int seqno){return TrkLevel2::GetStoredTrack(seqno); }; - CaloTrkVar* GetCaloStoredTrack(int); - ToFTrkVar* GetToFStoredTrack(int); - // - PamTrack* GetPamTrackAlong(TrkTrack*); + TrkTrack* GetTrkStoredTrack(int seqno){return TrkLevel2::GetStoredTrack(seqno); }; + CaloTrkVar* GetCaloStoredTrack(int); + ToFTrkVar* GetToFStoredTrack(int); + // + PamTrack* GetPamTrackAlong(TrkTrack*); // PamTrack* GetPamTrackAlong(CaloTrkVar*); //se serve // PamTrack* GetPamTrackAlong(ToFTrkVar*); //se serve @@ -162,12 +184,18 @@ // methods to retrieve pamela tracks // ================================= PamTrack* GetStoredTrack(Int_t); - // - void SortTracks(TString); //assign value to variable sorted_tracks - TRefArray* GetTracks(); //return sorted_tracks - PamTrack* GetTrack(int); + // + void SortTracks(TString); //assign value to variable sorted_tracks + TRefArray* GetTracks(); //return sorted_tracks + PamTrack* GetTrack(int); PamTrack* GetTrackImage(int); +// ================================= +// other methods +// ================================= + Int_t ntrk(){ return TrkLevel2::ntrk(); }; + + ClassDef(PamLevel2,1); };