00001
00002
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef StTofNtupleMaker_hh
00029 #define StTofNtupleMaker_hh
00030 #include "StMaker.h"
00031 #include <string>
00032 #ifndef ST_NO_NAMESPACES
00033 using std::string;
00034 #endif
00035 #include "StTofpSlatData.h"
00036 #include "StTofpMatchData.h"
00037
00038 class StTofGeometry;
00039 class StTofCollection;
00040 class TFile;
00041 class TNtuple;
00042 class TTree;
00043
00044 class StTofpNtupleMaker : public StMaker {
00045 static const Int_t NTOFP = 41;
00046 static const Int_t NPVPD = 6;
00047 public:
00048 StTofpNtupleMaker(const Char_t *name="tofpNtuple");
00049 ~StTofpNtupleMaker();
00050
00051 Int_t Init();
00052 Int_t Make();
00053 Int_t Finish();
00054
00055 void SetNtupleFileName(Char_t*);
00056 void setOuterTrackGeometry();
00057 void setStandardTrackGeometry();
00058 void setValidAdcRange(Int_t, Int_t);
00059 void setValidTdcRange(Int_t, Int_t);
00060
00061 Bool_t doPrintMemoryInfo;
00062 Bool_t doPrintCpuInfo;
00063
00064 protected:
00065 Int_t getTofData(StTofCollection*);
00066 Float_t mTofpAdc[NTOFP];
00067 Float_t mTofpTdc[NTOFP];
00068 Float_t mPvpdAdc[NPVPD];
00069 Float_t mPvpdAdcLoRes[NPVPD];
00070 Float_t mPvpdTdc[NPVPD];
00071
00072 private:
00073 void bookNtuples();
00074 Bool_t mYear2;
00075 Bool_t mYear3;
00076 Bool_t mYear4;
00077 Bool_t mOuterTrackGeometry;
00078
00079 Bool_t validAdc(float const);
00080 Bool_t validTdc(float const);
00081
00082
00083 Float_t mMinValidTdc;
00084 Float_t mMaxValidTdc;
00085 Float_t mMinValidAdc;
00086 Float_t mMaxValidAdc;
00087
00088
00089 Int_t mAcceptedEvents;
00090 Int_t mPvpdEntries;
00091 Int_t mTofpEvents;
00092 Int_t mTofpEntries;
00093 StTofGeometry *mTofGeom;
00094 string mTupleFileName;
00095 TFile *mTupleFile;
00096 StTofpSlatData mSlatData;
00097 StTofpMatchData mMatchData;
00098 TNtuple *mPvpdTuple;
00099 TTree *mSlatTuple;
00100 TTree *mMatchTuple;
00101 TTree *mNoMatchTuple;
00102 TNtuple *mHitPosTuple;
00103
00104 virtual const char *GetCVS() const
00105 {static const char cvs[]="Tag $Name: $ $Id: StTofpNtupleMaker.h,v 1.2 2004/04/01 19:19:00 dongx Exp $ built "__DATE__" "__TIME__ ; return cvs;}
00106
00107 ClassDef(StTofpNtupleMaker,1)
00108 };
00109
00110 inline void StTofpNtupleMaker::setValidAdcRange(Int_t min, Int_t max){mMinValidAdc=min;mMaxValidAdc=max;}
00111 inline void StTofpNtupleMaker::setValidTdcRange(Int_t min, Int_t max){mMinValidTdc=min;mMaxValidTdc=max;}
00112 inline void StTofpNtupleMaker::setOuterTrackGeometry(){mOuterTrackGeometry=true;}
00113 inline void StTofpNtupleMaker::setStandardTrackGeometry(){mOuterTrackGeometry=false;}
00114 inline void StTofpNtupleMaker::SetNtupleFileName(Char_t* filename){mTupleFileName=filename;}
00115
00116 inline Bool_t StTofpNtupleMaker::validAdc(const float adc){return((adc>=mMinValidAdc) && (adc<=mMaxValidAdc));}
00117 inline Bool_t StTofpNtupleMaker::validTdc(const float tdc){return((tdc>=mMinValidTdc) && (tdc<=mMaxValidTdc));}
00118
00119 #endif