00001 #ifndef PLOTINTEGRALRATIOS_H_ 00002 #define PLOTINTEGRALRATIOS_H_ 00003 00004 #include "BaseModule.h" 00005 class TGlobalData; 00006 class TSetupData; 00007 class TH1F; 00008 class TH2F; 00009 namespace modules {class options;} 00010 #include "IdSource.h" 00011 00025 class PlotIntegralRatios : public BaseModule { 00026 struct SourcePlots_t{ 00027 IDs::source src; 00028 TH1F* ratio,*ratio_zoomed,*assymetry, *full_integral; 00029 TH2F* full_v_tail,*assymetry2d, *full_v_ratio, *diff_v_ratio; 00030 TH1F *min, *max, *mean; 00031 TH2F *mean_vs_min, *mean_vs_max; 00032 }; 00033 typedef std::vector<SourcePlots_t> SourceList_t; 00034 00035 public: 00040 PlotIntegralRatios(modules::options* opts); 00043 ~PlotIntegralRatios(); 00044 00045 private: 00051 virtual int ProcessEntry(TGlobalData *gData, const TSetupData *gSetup); 00057 virtual int BeforeFirstEntry(TGlobalData* gData,const TSetupData *setup); 00063 virtual int AfterLastEntry(TGlobalData* gData,const TSetupData *setup); 00064 00065 SourceList_t fSourcesToPlot; 00066 IDs::source fSource; 00067 double fShiftFull, fShiftDifference; 00068 }; 00069 00070 #endif //PLOTINTEGRALRATIOS_H_