00001 #ifndef FASTSLOWCOMPARE_H_ 00002 #define FASTSLOWCOMPARE_H_ 00003 00004 #include "BaseModule.h" 00005 00006 #include <map> 00007 #include <string> 00008 00009 class TGlobalData; 00010 class TSetupData; 00011 namespace modules {class options;} 00012 00013 class TH1I; 00014 class TH2I; 00015 00016 #include <cmath> 00017 00031 class FastSlowCompare : public BaseModule { 00032 00033 private: 00034 double fTimeWindowWide; 00035 double fTimeWindowTight; 00036 00037 std::map<std::string, std::string> fPairs; 00038 00039 std::map<std::string, TH1I*> fHist_Time; 00040 std::map<std::string, TH1I*> fHist_MoreTime; 00041 std::map<std::string, TH1I*> fHist_NPerSlowWide; 00042 std::map<std::string, TH1I*> fHist_NPerSlowTight; 00043 00044 public: 00049 FastSlowCompare(modules::options* opts); 00052 ~FastSlowCompare(); 00053 00054 private: 00062 virtual int ProcessEntry(TGlobalData *gData, const TSetupData *gSetup); 00070 virtual int BeforeFirstEntry(TGlobalData* gData, const TSetupData *setup); 00078 virtual int AfterLastEntry(TGlobalData* gData, const TSetupData *setup); 00079 00080 }; 00081 00082 #endif //FASTSLOWCOMPARE_H_