00001 #ifndef __GENERATOR_H__ 00002 #define __GENERATOR_H__ 00003 00004 #include "utils.h" 00005 #include "signals.h" 00006 00014 class FakeDataGenerator { 00015 public: 00023 FakeDataGenerator(std::vector<Signal> signals, Range<float> _e_range, 00024 Range<float> _r_range) 00025 : e_range(_e_range), r_range(_r_range) { 00026 for (std::vector<Signal>::const_iterator it=signals.begin(); it!=signals.end(); ++it) { 00027 this->pdfs.push_back(it->histogram); 00028 } 00029 } 00030 00031 virtual ~FakeDataGenerator() {} 00032 00038 TNtuple* operator()(float* norms, bool poisson=true); 00039 00040 protected: 00041 std::vector<TH1*> pdfs; 00042 Range<float> e_range; 00043 Range<float> r_range; 00044 }; 00045 00046 #endif // __GENERATOR_H__ 00047