00001 #ifndef PLOTTDPS_H_ 00002 #define PLOTTDPS_H_ 00003 00004 #include "BaseModule.h" 00005 class TGlobalData; 00006 class TSetupData; 00007 class TH1F; 00008 class TH2F; 00009 namespace modules {class options;} 00010 namespace IDs {class source;} 00011 00023 class PlotTDPs : public BaseModule { 00024 public: 00025 struct Detector_t { 00026 //amplitudes 00027 TH2F *amplitudes; 00028 TH1F *fast_only_amps, *slow_only_amps; 00029 TH1F *scale_factor; 00030 // efficiencies 00031 TH1F *fast_amps_slow_cut, *slow_amps_fast_cut; 00032 //times 00033 TH2F *time_diff_fast, *time_diff_slow; 00034 TH2F *times; 00035 00036 int amp_status; 00037 double amp_inter, amp_grad; 00038 }; 00039 typedef std::map<IDs::source,Detector_t> PlotsList_t; 00040 00041 public: 00043 PlotTDPs(modules::options* opts); 00045 ~PlotTDPs(); 00046 00047 private: 00049 virtual int ProcessEntry(TGlobalData *gData,const TSetupData *gSetup); 00051 virtual int BeforeFirstEntry(TGlobalData* gData,const TSetupData *setup); 00053 virtual int AfterLastEntry(TGlobalData* gData,const TSetupData *setup); 00054 00055 private: 00056 PlotsList_t fPlotsList; 00057 double fFastCut, fSlowCut; 00058 bool fCutHists; 00059 }; 00060 00061 #endif //PLOTTDPS_H_