simple-tof-analysis
 All Classes Namespaces Functions Variables Groups Pages
TSHistoNuiParamMgr.h
1 /*
2  * TSHistoNuiParamMgr.h
3  *
4  * Created on: Oct 10, 2014
5  * Author: Silvestro di Luise
6  * Silvestro.Di.Luise@cern.ch
7  *
8  */
9 
10 #ifndef TSHISTONUIPARAMMGR_H_
11 #define TSHISTONUIPARAMMGR_H_
12 
13 #include <cassert>
14 
15 #include <vector>
16 
17 #include <TString.h>
18 #include <TH1.h>
19 #include <TH2.h>
20 #include <TH1F.h>
21 #include <TH2F.h>
22 
23 #include "TSNamed.h"
24 
25 #include "TSVariable.h"
26 #include "TSNuiParam.h"
27 #include "TSNuiParamSet.h"
28 #include "TSRespFunc.h"
29 
30 /*
31  *
32  *
33  *
34  */
35 
36 class TSHistoNuiParamMgr: public TSNamed {
37 
38 
39 public:
40 
42  virtual ~TSHistoNuiParamMgr();
43 
44  int AddNuiParam(TSNuiParam &);
45  int AddNuiParamWithRespFunc(TSNuiParam &, TSRespFunc &);
46 
47  bool HasHistogram() const {return bool(fHisto);}
48 
49  void Init();
50 
51  void Print() const;
52  void PrintBinInfo(int ix, int iy=1) const;
53 
54  void ReweightHistogram(int opt=0);
55 
56  void SetHistogram(TH1*, const TSVariable *vx=0);
57  void SetHistogram(TH1*, const TSVariable *vx, const TSVariable *vy);
58 
59 private:
60 
61  void fDeleteNuiParamArray();
62  int fGetLinearIdx(int,int=1) const;
63 
64  TH1 *fHisto;
65  TSVariable *fAxisVariable[2];
66 
67  int fHistoDim;
68  int fHistoNbins[2];
69 
70  std::vector<TSNuiParamSet*> fVecOfNuiParamSet;
71 
72 };
73 
74 #endif /* TSHISTONUIPARAMMGR_H_ */
Definition: TSRespFunc.h:28
Definition: TSVariable.h:55
Definition: TSNuiParam.h:30
Definition: TSHistoNuiParamMgr.h:36
Definition: TSNamed.h:38