00001 #ifndef __BCMTFTEMPLATE__H 00002 #define __BCMTFTEMPLATE__H 00003 00014 /* 00015 * Copyright (C) 2008-2012, Daniel Kollar and Kevin Kroeninger. 00016 * All rights reserved. 00017 * 00018 * For the licensing terms see doc/COPYING. 00019 */ 00020 00021 // --------------------------------------------------------- 00022 00023 #include <string> 00024 00025 class TH1D; 00026 class TF1; 00027 00028 // --------------------------------------------------------- 00029 class BCMTFTemplate 00030 { 00031 public: 00032 00040 BCMTFTemplate(const char * channelname, const char * processname); 00041 00044 ~BCMTFTemplate(); 00045 00053 std::string GetChannelName() 00054 { return fChannelName; }; 00055 00058 std::string GetProcessName() 00059 { return fProcessName; }; 00060 00063 double GetEfficiency() 00064 { return fEfficiency; }; 00065 00068 TH1D * GetHistogram() 00069 { return fHistogram; }; 00070 00073 std::vector<TF1 *> * GetFunctionContainer() 00074 { return fFunctionContainer; }; 00075 00078 int GetNBins() 00079 { return fNBins; }; 00080 00089 void SetEfficiency(double eff) 00090 { fEfficiency = eff; }; 00091 00095 void SetHistogram(TH1D * hist); 00096 00100 void SetFunctionContainer(std::vector<TF1 *> * funccont, int nbins); 00101 00104 private: 00105 00108 double fEfficiency; 00109 00112 TH1D * fHistogram; 00113 00116 std::vector<TF1 *> * fFunctionContainer; 00117 00120 int fNBins; 00121 00124 std::string fChannelName; 00125 00128 std::string fProcessName; 00129 00130 }; 00131 // --------------------------------------------------------- 00132 00133 #endif 00134