00001 00002 // $Id: ANtpRecoNtpManipulator.h,v 1.13 2007/05/29 02:09:06 brebel Exp $ 00003 // 00004 // A class to easily get at the SR ntuple information 00005 // 00006 // B. Rebel 10/2004 00008 #ifndef ANTPRECONTPMANIPULATOR_H 00009 #define ANTPRECONTPMANIPULATOR_H 00010 00011 #include "TClonesArray.h" 00012 #include "TString.h" 00013 00014 #include "CandNtupleSR/NtpSRRecord.h" 00015 #include "CandNtupleSR/NtpSREventSummary.h" 00016 #include "CandNtupleSR/NtpSRShieldStrip.h" 00017 #include "CandNtupleSR/NtpSRShieldSummary.h" 00018 #include "CandNtupleSR/NtpSRCosmicRay.h" 00019 #include "CandNtupleSR/NtpSRDmxStatus.h" 00020 #include "CandNtupleSR/NtpSRDataQuality.h" 00021 #include "MCNtuple/NtpMCRecord.h" 00022 #include "TruthHelperNtuple/NtpTHRecord.h" 00023 #include "StandardNtuple/NtpStRecord.h" 00024 #include "AnalysisNtuples/Module/ANtpEventManipulator.h" 00025 #include "AnalysisNtuples/Module/ANtpSnarlManipulator.h" 00026 #include "AnalysisNtuples/Module/ANtpSliceManipulator.h" 00027 #include "AnalysisNtuples/Module/ANtpMCManipulator.h" 00028 00029 class NtpTHEvent; 00030 class NtpTHShower; 00031 class NtpTHTrack; 00032 class NtpTHStrip; 00033 class NtpMCTruth; 00034 class NtpMCStdHep; 00035 00036 class ANtpRecoNtpManipulator 00037 { 00038 00039 public: 00040 ANtpRecoNtpManipulator(); 00041 ANtpRecoNtpManipulator(NtpSRRecord *record, NtpMCRecord *mcRecord=0, NtpTHRecord *thRecord=0); 00042 ANtpRecoNtpManipulator(NtpStRecord *record); 00043 virtual ~ANtpRecoNtpManipulator(); 00044 00045 ANtpEventManipulator *GetEventManipulator() const; 00046 ANtpSnarlManipulator *GetSnarlManipulator() const; 00047 ANtpSliceManipulator *GetSliceManipulator() const; 00048 ANtpMCManipulator *GetMCManipulator() const; 00049 00050 NtpSREventSummary GetSnarlEventSummary() const; 00051 NtpSRShieldStrip *GetShieldStrip(Int_t index); 00052 NtpSRShieldSummary GetSnarlShieldSummary() const; 00053 NtpSRCosmicRay GetCosmicRayInfo() const; 00054 NtpSRDmxStatus GetDmxStatusInfo() const; 00055 NtpSRDataQuality GetDataQuality() const; 00056 00057 Int_t GetRun() const; 00058 Int_t GetSubRun() const; 00059 Int_t GetSnarl() const; 00060 Int_t GetTriggerSource() const; 00061 Int_t GetSpillType() const; 00062 TString GetReleaseType() const; 00063 TString GetMCType() const; 00064 TString GetReleaseMCType() const; 00065 00066 NtpStRecord *GetNtpStRecord() const; 00067 00068 TClonesArray *GetStripArray() const; 00069 TClonesArray *GetVetoStripArray() const; 00070 TClonesArray *GetEventArray() const; 00071 TClonesArray *GetShowerArray() const; 00072 TClonesArray *GetClusterArray() const; 00073 TClonesArray *GetTrackArray() const; 00074 TClonesArray *GetSliceArray() const; 00075 TClonesArray *GetStdHepArray() const; 00076 TClonesArray *GetMCArray() const; 00077 TClonesArray *GetTHStpArray() const; 00078 TClonesArray *GetTHShwArray() const; 00079 TClonesArray *GetTHEvtArray() const; 00080 TClonesArray *GetTHTrkArray() const; 00081 00082 void SetPrimaryTrackCriteria(Int_t useNPlanes, Int_t useLength, Int_t usePH); 00083 void SetPrimaryShowerCriteria(Int_t useNPlanes, Int_t usePH); 00084 void SetRecord(NtpStRecord *record); //reinitialize the object for a new record 00085 void SetRecord(NtpSRRecord *record, NtpMCRecord *mcRecord=0, 00086 NtpTHRecord *thRecord=0); //reinitiale the object for a new record 00087 00088 private: 00089 00090 ANtpEventManipulator *fEventManipulator; 00091 ANtpSnarlManipulator *fSnarlManipulator; 00092 ANtpSliceManipulator *fSliceManipulator; 00093 ANtpMCManipulator *fMCManipulator; 00094 00095 NtpMCRecord *fNtpMCRecord; 00096 NtpSRRecord *fNtpSRRecord; 00097 NtpSRCosmicRay fNtpSRCosmicRay; 00098 NtpSRDmxStatus fNtpSRDmxStatus; 00099 NtpSRDataQuality fNtpSRDataQuality; 00100 NtpSREventSummary fNtpSREventSummary; 00101 NtpSRShieldStrip *fNtpSRShieldStrip; 00102 NtpSRShieldSummary fNtpSRShieldSummary; 00103 NtpTHRecord *fNtpTHRecord; 00104 NtpStRecord *fNtpStRecord; 00105 00106 Int_t fRun; 00107 Int_t fSubRun; 00108 Int_t fSnarl; 00109 Int_t fTriggerSource; 00110 Int_t fSpillType; 00111 TString fReleaseType; 00112 TString fMCType; 00113 TString fReleaseMCType; 00114 00115 TClonesArray *fEventArray; 00116 TClonesArray *fTrackArray; 00117 TClonesArray *fShowerArray; 00118 TClonesArray *fClusterArray; 00119 TClonesArray *fStripArray; 00120 TClonesArray *fVetoStripArray; 00121 TClonesArray *fSliceArray; 00122 TClonesArray *fMCArray; 00123 TClonesArray *fStdArray; 00124 TClonesArray *fTHShwArray; 00125 TClonesArray *fTHTrkArray; 00126 TClonesArray *fTHStpArray; 00127 TClonesArray *fTHEvtArray; 00128 00129 ClassDef(ANtpRecoNtpManipulator, 4) //ANtpRecoNtpManipulator 00130 }; 00131 00132 #endif // ANTPRECONTPMANIPULATOR_H 00133 00134
1.3.9.1