Belle II Software  release-08-01-10
MicrotpcStudyModule.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #ifndef MICROTPCSTUDYMODULE_H
10 #define MICROTPCSTUDYMODULE_H
11 
12 #include <framework/core/HistoModule.h>
13 #include <vector>
14 
15 #include <TVector3.h>
16 #include <TH1.h>
17 #include <TH2.h>
18 #include <TH3.h>
19 #include <TGraph.h>
20 
21 namespace Belle2 {
26  namespace microtpc {
27 
37 
38  public:
39 
44 
48  virtual ~MicrotpcStudyModule();
49 
54  virtual void initialize() override;
55 
60  virtual void beginRun() override;
61 
65  virtual void event() override;
66 
71  virtual void endRun() override;
72 
77  virtual void terminate() override;
78 
80  virtual void defineHisto() override;
81 
82 
83  private:
84 
86  virtual void getXMLData();
87 
93  double m_ChipColumnX;
95  double m_ChipRowY;
97  double m_z_DG;
99  int nTPC = 0;
101  std::vector<TVector3> TPCCenter;
103  //int Event = 0;
105  TH1F* h_tpc_rate[20];
107  TH2F* h_mctpc_kinetic[20];
111  TH2F* h_mctpc_tvp[20];
113  TH2F* h_mctpc_tvpW[20];
115  TH2F* h_mctpc_zr[20];
117  TH1F* h_z[8];
119  TH2F* h_xy[8];
121  TH2F* h_zr[8];
123  TH2F* h_zx[8];
125  TH2F* h_zy[8];
127  TH2F* h_evtrl[8];
129  TH2F* h_evtrlb[8];
131  TH2F* h_evtrlc[8];
133  TH2F* h_evtrld[8];
135  TH2F* h_evtrl_He[8];
137  TH2F* h_evtrl_Hex[8];
139  TH2F* h_evtrl_He_pure[8];
141  TH2F* h_evtrl_p[8];
143  TH2F* h_evtrl_O[8];
145  TH2F* h_evtrl_C[8];
147  TH2F* h_evtrl_x[8];
148 
150  TH2F* h_tevtrl[8];
152  TH2F* h_tevtrl_He[8];
154  TH2F* h_tevtrl_Hex[8];
158  TH2F* h_tevtrl_p[8];
160  TH2F* h_tevtrl_O[8];
162  TH2F* h_tevtrl_C[8];
164  TH2F* h_tevtrl_x[8];
165 
167  TH2F* h_tvp[8];
169  TH2F* h_tvpb[8];
171  TH2F* h_tvpc[8];
173  TH2F* h_tvpd[8];
175  TH2F* h_wtvpb[8];
177  TH2F* h_wtvpc[8];
179  TH2F* h_wtvpd[8];
181  TH2F* h_tvp_He[8];
183  TH2F* h_tvp_Hex[8];
185  TH2F* h_tvp_He_pure[8];
187  TH2F* h_tvp_p[8];
189  TH2F* h_tvp_O[8];
191  TH2F* h_tvp_C[8];
193  TH2F* h_tvp_x[8];
194 
196  TH2F* h_ttvp[8];
198  TH2F* h_ttvp_He[8];
200  TH2F* h_ttvp_Hex[8];
202  TH2F* h_ttvp_He_pure[8];
204  TH2F* h_ttvp_p[8];
206  TH2F* h_ttvp_O[8];
208  TH2F* h_ttvp_C[8];
210  TH2F* h_ttvp_x[8];
212  TH2F* h_Wtvp1[8][12];
214  TH2F* h_Wtvp2[8][12];
216  TH2F* h_Wevtrl1[8][12];
218  TH2F* h_Wevtrl2[8][12];
220  TH2F* h_twtvp_He_pure[8];
222  TH3F* h_mctpc_recoil[3];
224  TH3F* h_mctpc_recoilW[3];
226  std::vector<TGraph*> m_intProb;
228  std::vector<double> m_maxEnFrac;
230  TH2F* h_wtvp[8];
232  TH2F* h_wtvp_He[8];
234  TH2F* h_wtvp_Hex[8];
236  TH2F* h_wtvp_He_pure[8];
238  TH2F* h_wtvp_p[8];
240  TH2F* h_wtvp_O[8];
242  TH2F* h_wtvp_C[8];
244  TH2F* h_wtvp_x[8];
246  Bool_t xRec[8];
248  Bool_t pRec[8];
250  Bool_t HeRec[8];
252  Bool_t ORec[8];
254  Bool_t CRec[8];
256  //Bool_t ARec[8];
258  int pid_old[8];
259 
261  //int npRecoils = 0;
263  //int nHeRecoils = 0;
265  //int nCRecoils = 0;
267  //int nORecoils = 0;
268 
269  };
270 
271  }
273 }
274 
275 #endif /* MICROTPCSTUDYMODULE_H */
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
Definition: HistoModule.h:29
Study module for Microtpcs (BEAST)
double m_ChipRowY
Chip row y dimension.
Bool_t HeRec[8]
He boolean per TPC.
virtual void initialize() override
Initialize the Module.
std::vector< double > m_maxEnFrac
vector of maximal energy fraction transfered to recoil
virtual void event() override
Event processor.
std::vector< TGraph * > m_intProb
vector of interaction probability vs E graphs for all recoils
MicrotpcStudyModule()
Constructor: Sets the description, the properties and the parameters of the module.
TH1F * h_z[8]
Charged density vs z vs section.
virtual void endRun() override
End-of-run action.
double m_ChipColumnX
Chip column x dimension.
virtual void getXMLData()
reads data from MICROTPC.xml: tube location, drift data filename, sigma of impulse response function
virtual void terminate() override
Termination action.
Bool_t xRec[8]
X-ray boolean per TPC.
virtual void beginRun() override
Called when entering a new run.
TH2F * h_zy[8]
Charged density vs y vs r.
TH2F * h_zx[8]
Charged density vs x vs r.
TH2F * h_zr[8]
Charged density vs z vs r.
TH3F * h_mctpc_recoilW[3]
weighted recoil energy
TH2F * h_mctpc_kinetic_zoom[20]
Neutron kin energy dis.
TH2F * h_mctpc_kinetic[20]
Neutron kin energy dis.
TH2F * h_xy[8]
Charged density vs x vs y.
virtual void defineHisto() override
Defines the histograms.
std::vector< TVector3 > TPCCenter
TPC coordinate.
Abstract base class for different kinds of events.