00001 #ifndef TME_Al50_EvdE_H_ 00002 #define TME_Al50_EvdE_H_ 00003 00004 #include "BaseModule.h" 00005 class TGlobalData; 00006 class TSetupData; 00007 namespace modules {class options;} 00008 namespace IDs {class channel;} 00009 class TH1F; 00010 class TH2F; 00011 class TCanvas; 00012 #include "TTree.h" 00013 #include "TBranch.h" 00014 00029 class TME_Al50_EvdE : public BaseModule { 00030 00031 public: 00036 TME_Al50_EvdE(modules::options* opts); 00039 ~TME_Al50_EvdE(); 00040 00041 private: 00047 virtual int ProcessEntry(TGlobalData *gData, const TSetupData *gSetup); 00053 virtual int BeforeFirstEntry(TGlobalData* gData,const TSetupData *setup); 00059 virtual int AfterLastEntry(TGlobalData* gData,const TSetupData *setup); 00060 00061 long int fNullCount, fTdpCount; 00062 00063 bool fQuit; 00064 00065 typedef std::vector<IDs::channel> DetectorList; 00066 DetectorList fSiL1; 00067 IDs::channel* fSiL2; 00068 DetectorList fSiR1; 00069 IDs::channel* fSiR2; 00070 00071 struct Arm { 00072 std::string detname; 00073 DetectorList thin; 00074 IDs::channel* thick; 00075 double lower_time_cut; 00076 double upper_time_cut; 00077 00078 TH2F* h_EvdE; 00079 TH1F* h_Time; 00080 TH2F* h_stopped_proton_prob; 00081 } fLeftArm, fLeftArmQuad1, fLeftArmQuad2, fLeftArmQuad3, fLeftArmQuad4, 00082 fRightArm, fRightArmQuad1, fRightArmQuad2, fRightArmQuad3, fRightArmQuad4; 00083 00084 std::vector<Arm> fArms; 00085 00086 bool fStoppedProtonCut; 00087 }; 00088 00089 #endif //CHECKTMES_H_