00001 #ifndef SPECTRUMMAKER_h 00002 #define SPECTRUMMAKER_h 00003 00004 #include "BaseModule.hh" 00005 #include "RootGraphix.hh" 00006 #include "phrase.hh" 00007 00008 class TH1; 00009 class TCanvas; 00010 class TTree; 00011 class TBranch; 00012 class TTreeFormula; 00013 00014 class SpectrumMaker : public BaseModule{ 00015 public: 00016 SpectrumMaker(const std::string& name = GetDefaultName()); 00017 ~SpectrumMaker(); 00018 00019 int Initialize(); 00020 int Finalize(); 00021 int Process(EventPtr evt); 00022 00023 static std::string GetDefaultName(){ return "SpectrumMaker"; } 00024 private: 00025 00026 TH1* _histo; 00027 TCanvas* _canvas; 00028 TTree* _tree; 00029 TBranch* _branch; 00030 TTreeFormula* _xform; 00031 TTreeFormula* _yform; 00032 TTreeFormula* _cutform; 00033 std::string _draw_cmd; 00034 00035 phrase _cut; 00036 phrase _xvar; 00037 int _nbinsx; 00038 double _xmin; 00039 double _xmax; 00040 phrase _yvar; 00041 int _nbinsy; 00042 double _ymin; 00043 double _ymax; 00044 00045 phrase _title; 00046 phrase _xtitle; 00047 phrase _ytitle; 00048 bool _logy; 00049 bool _logx; 00050 }; 00051 00052 00053 #endif