00001 #ifndef __BCMTFTEMPLATE__H 00002 #define __BCMTFTEMPLATE__H 00003 00018 /* 00019 * Copyright (C) 2008-2012, Daniel Kollar and Kevin Kroeninger. 00020 * All rights reserved. 00021 * 00022 * For the licensing terms see doc/COPYING. 00023 */ 00024 00025 // --------------------------------------------------------- 00026 00027 #include <string> 00028 00029 class TH1D; 00030 class TF1; 00031 00032 // --------------------------------------------------------- 00033 class BCMTFTemplate 00034 { 00035 public: 00036 00037 // Constructors and destructor 00038 BCMTFTemplate(const char * channelname, const char * processname); 00039 ~BCMTFTemplate(); 00040 00041 // setters 00042 00043 // set efficiency 00044 void SetEfficiency(double eff) 00045 { fEfficiency = eff; }; 00046 00047 // set histogram 00048 void SetHistogram(TH1D * hist); 00049 00050 // set function container 00051 void SetFunctionContainer(std::vector<TF1 *> * funccont, int nbins); 00052 00053 // getters 00054 00055 // return the name of the channel 00056 std::string GetChannelName() 00057 { return fChannelName; }; 00058 00059 // return the name of the process 00060 std::string GetProcessName() 00061 { return fProcessName; }; 00062 00063 // return efficiency 00064 double GetEfficiency() 00065 { return fEfficiency; }; 00066 00067 // return histogram 00068 TH1D * GetHistogram() 00069 { return fHistogram; }; 00070 00071 std::vector<TF1 *> * GetFunctionContainer() 00072 { return fFunctionContainer; }; 00073 00074 // return the number of bins 00075 int GetNBins() 00076 { return fNBins; }; 00077 00078 private: 00079 00080 // the efficiency of the contribution 00081 double fEfficiency; 00082 00083 // the template histogram 00084 TH1D * fHistogram; 00085 00086 // a histogram alternative for templates: a vector of TF1 functions 00087 std::vector<TF1 *> * fFunctionContainer; 00088 00089 // number of bins in the histogram 00090 int fNBins; 00091 00092 // channel name 00093 std::string fChannelName; 00094 00095 // process name 00096 std::string fProcessName; 00097 00098 }; 00099 // --------------------------------------------------------- 00100 00101 #endif 00102