simple-tof-analysis
 All Classes Namespaces Functions Variables Groups Pages
TSDataSetMgr.h
1 /*
2  * TSDataSetMgr.h
3  *
4  * Created on: Jun 7, 2014
5  * Author: Silvestro di Luise
6  * Silvestro.Di.Luise@cern.ch
7  *
8  *
9  * TSDataBin
10  * TSPhaseSpaceMap/Fld
11  *
12  *
13  *
14  *
15  */
16 
17 #ifndef TSDATASETMGR_H_
18 #define TSDATASETMGR_H_
19 
20 
21 #include <string>
22 #include <map>
23 
24 #include <TString.h>
25 #include <TFile.h>
26 #include <TTree.h>
27 
28 
29 #include "TSVariable.h"
30 
31 #include "TSHistogramFld.h"
32 #include "TSPhaseSpaceMap.h"
33 #include "TSPhaseSpaceFld.h"
34 #include "TSDataBin.h"
35 
36 
37 #include "TSArgList.h"
38 
39 
40 
41 class TSDataSetMgr: public TSNamed {
42 
43 
44 public:
45 
46  TSDataSetMgr(TString name, TString tag, TString title);
47  virtual ~TSDataSetMgr();
48 
49  int Fill();
50  int Fill(const TSVariable &);
51  int Fill(const TSArgList &);
52  int FillHistosFromFile(TFile *, TString opt="");
53  TSDataBin* GetDataBin(int) const;
54  TSPhaseSpaceFld* GetPhaseSpaceFld() const {return fPhaseSpaceFld;}
55  int GetNumOfDataBins() const {return fNumOfDataBins;}
56  int GetNumOfVars() const {return fNumOfVars;}
57  TString GetTag() const {return fTag;}
58  bool HasPhaseSpace() const {return fHasPhaseSpace;}
59  bool HasTag() const {return fHasTag;}
60  void Init();
61 
62  void Print(TString opt="") const;
63  void PrintVariables(TString opt="") const;
64 
65  bool SetDataBin(TSDataBin&);
67  void SetTag(TString);
68 
69 
70 private:
71 
72  bool fBuildDataBins();
73  bool fSetVariable(const TSVariable &, int opt);
74  bool fVarIsPhaseSpace(int) const;
75  bool fVarIsData(int) const;
76 
77 
78  TString fTag;
79 
80  int fNumOfDataBins;
81  int fNumOfVars;
82 
83  bool fHasDataBin;
84  bool fHasPhaseSpace;
85  bool fHasTag;
86 
87  TSPhaseSpaceMap *fPhaseSpaceMap;
88  TSPhaseSpaceFld *fPhaseSpaceFld;
89 
90  std::map<int,const TSVariable *> fVarList;
91 
92  std::map<int,TSDataBin*> fDataBinList;
93 
94  struct fVarSettings{
95  bool IsPhaseSpace;
96  bool IsData;
97  bool IsGlobalData;
98 
99  fVarSettings():IsPhaseSpace(0),IsData(0),IsGlobalData(0)
100  {}
101  };
102 
103  std::map<int,fVarSettings*> fVarSetsList;
104 
105 
106 
107 };
108 
109 
110 
111 
112 #endif /* TSDATASETMGR_H_ */
Definition: TSArgList.h:30
Definition: TSDataBin.h:35
Definition: TSDataSetMgr.h:41
Definition: TSPhaseSpaceMap.h:35
bool SetDataBin(TSDataBin &)
Definition: TSDataSetMgr.cc:226
Definition: TSVariable.h:55
bool SetPhaseSpace(TSPhaseSpaceMap &)
Definition: TSDataSetMgr.cc:302
Definition: TSNamed.h:38
Definition: TSPhaseSpaceFld.h:26