BAT  0.9.4
The Bayesian analysis toolkit
 All Classes Namespaces Functions Variables Enumerations
BCMTFChannel.h
1 #ifndef __BCMTFCHANNEL__H
2 #define __BCMTFCHANNEL__H
3 
14 /*
15  * Copyright (C) 2007-2014, the BAT core developer team
16  * All rights reserved.
17  *
18  * For the licensing terms see doc/COPYING.
19  * For documentation see http://mpp.mpg.de/bat
20  */
21 
22 // ---------------------------------------------------------
23 
24 #include <string>
25 #include <vector>
26 #include <TH1D.h>
27 
28 class BCMTFTemplate;
30 class TH2D;
31 
32 // ---------------------------------------------------------
34 {
35 
36 public:
37 
44  BCMTFChannel(const char * name);
45 
48  ~BCMTFChannel();
49 
56  std::string GetName()
57  { return fName; };
58 
62  { return fData; };
63 
69  { return fTemplateContainer.at(index); };
70 
76  { return fSystematicVariationContainer.at(index); };
77 
81  { return fFlagChannelActive; };
82 
88  { return fHistUncertaintyBandExpectation; };
89 
94  { return fHistUncertaintyBandPoisson; };
95 
98  double GetRangeYMin()
99  { return fRangeYMin; };
100 
103  double GetRangeYMax()
104  { return fRangeYMax; };
105 
113  void SetName(const char * name)
114  { fName = name; };
115 
119  void SetData(BCMTFTemplate * bctemplate)
120  { fData = bctemplate; };
121 
127  fHistUncertaintyBandExpectation = hist; }
128 
132  void SetHistUncertaintyBandPoisson(TH2D* hist) {
133  fHistUncertaintyBandPoisson = hist; }
134 
138  void SetFlagChannelActive(bool flag)
139  { fFlagChannelActive = flag; };
140 
145  void SetRangeY(double min, double max) {
146  fRangeYMin = min; fRangeYMax = max; };
147 
156  void AddTemplate(BCMTFTemplate * bctemplate)
157  { fTemplateContainer.push_back(bctemplate); };
158 
163  { fSystematicVariationContainer.push_back(variation); };
164 
168 
176  TH1D* CalculateUncertaintyBandPoisson(double minimum, double maximumm, int color);
177 
186  void PrintTemplates(std::string filename);
187 
192  void PrintTemplate(int index, const char * filename);
193 
197  void PrintHistUncertaintyBandExpectation(const char* filename);
198 
202  void PrintHistUncertaintyBandPoisson(const char* filename, const char* options="COLZ");
203 
207  void PrintHistCumulativeUncertaintyBandPoisson(const char* filename);
208 
212  void PrintUncertaintyBandPoisson(const char* filename, double minimum, double maximum, int color);
213 
216 private:
217 
220  std::string fName;
221 
224  BCMTFTemplate * fData;
225 
228  double fRangeYMin;
229 
232  double fRangeYMax;
233 
236  std::vector<BCMTFTemplate *> fTemplateContainer;
237 
240  std::vector<BCMTFSystematicVariation *> fSystematicVariationContainer;
241 
244  bool fFlagChannelActive;
245 
248  TH2D* fHistUncertaintyBandExpectation;
249 
252  TH2D* fHistUncertaintyBandPoisson;
253 
254 };
255 // ---------------------------------------------------------
256 
257 #endif
258 
TH1D * CalculateUncertaintyBandPoisson(double minimum, double maximumm, int color)
A class describing a template.
Definition: BCMTFTemplate.h:32
void AddTemplate(BCMTFTemplate *bctemplate)
Definition: BCMTFChannel.h:156
bool GetFlagChannelActive()
Definition: BCMTFChannel.h:80
void PrintHistUncertaintyBandExpectation(const char *filename)
void SetHistUncertaintyBandExpectation(TH2D *hist)
Definition: BCMTFChannel.h:126
void PrintTemplates(std::string filename)
BCMTFChannel(const char *name)
double GetRangeYMin()
Definition: BCMTFChannel.h:98
void AddSystematicVariation(BCMTFSystematicVariation *variation)
Definition: BCMTFChannel.h:162
BCMTFTemplate * GetTemplate(int index)
Definition: BCMTFChannel.h:68
BCMTFSystematicVariation * GetSystematicVariation(int index)
Definition: BCMTFChannel.h:75
TH2D * GetHistUncertaintyBandExpectation()
Definition: BCMTFChannel.h:87
void SetRangeY(double min, double max)
Definition: BCMTFChannel.h:145
TH2D * GetHistUncertaintyBandPoisson()
Definition: BCMTFChannel.h:93
std::string GetName()
Definition: BCMTFChannel.h:56
void PrintHistCumulativeUncertaintyBandPoisson(const char *filename)
A class describing a physics channel.
Definition: BCMTFChannel.h:33
double GetRangeYMax()
Definition: BCMTFChannel.h:103
void CalculateHistUncertaintyBandPoisson()
void PrintUncertaintyBandPoisson(const char *filename, double minimum, double maximum, int color)
void PrintHistUncertaintyBandPoisson(const char *filename, const char *options="COLZ")
BCMTFTemplate * GetData()
Definition: BCMTFChannel.h:61
void SetFlagChannelActive(bool flag)
Definition: BCMTFChannel.h:138
void SetData(BCMTFTemplate *bctemplate)
Definition: BCMTFChannel.h:119
void PrintTemplate(int index, const char *filename)
void SetName(const char *name)
Definition: BCMTFChannel.h:113
void SetHistUncertaintyBandPoisson(TH2D *hist)
Definition: BCMTFChannel.h:132
A class describing a systematic variation.