Belle II Software development
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 <Math/Vector3D.h>
16#include <TH1.h>
17#include <TH2.h>
18#include <TH3.h>
19#include <TGraph.h>
20
21namespace Belle2 {
26 namespace microtpc {
27
34
35 public:
36
41
45 virtual ~MicrotpcStudyModule();
46
51 virtual void initialize() override;
52
57 virtual void beginRun() override;
58
62 virtual void event() override;
63
68 virtual void endRun() override;
69
74 virtual void terminate() override;
75
77 virtual void defineHisto() override;
78
79
80 private:
81
83 virtual void getXMLData();
84
92 double m_ChipRowY;
94 double m_z_DG;
96 int nTPC = 0;
98 std::vector<ROOT::Math::XYZVector> TPCCenter;
100 //int Event = 0;
102 TH1F* h_tpc_rate[20];
108 TH2F* h_mctpc_tvp[20];
110 TH2F* h_mctpc_tvpW[20];
112 TH2F* h_mctpc_zr[20];
114 TH1F* h_z[8];
116 TH2F* h_xy[8];
118 TH2F* h_zr[8];
120 TH2F* h_zx[8];
122 TH2F* h_zy[8];
124 TH2F* h_evtrl[8];
126 TH2F* h_evtrlb[8];
128 TH2F* h_evtrlc[8];
130 TH2F* h_evtrld[8];
132 TH2F* h_evtrl_He[8];
134 TH2F* h_evtrl_Hex[8];
138 TH2F* h_evtrl_p[8];
140 TH2F* h_evtrl_O[8];
142 TH2F* h_evtrl_C[8];
144 TH2F* h_evtrl_x[8];
145
147 TH2F* h_tevtrl[8];
149 TH2F* h_tevtrl_He[8];
151 TH2F* h_tevtrl_Hex[8];
155 TH2F* h_tevtrl_p[8];
157 TH2F* h_tevtrl_O[8];
159 TH2F* h_tevtrl_C[8];
161 TH2F* h_tevtrl_x[8];
162
164 TH2F* h_tvp[8];
166 TH2F* h_tvpb[8];
168 TH2F* h_tvpc[8];
170 TH2F* h_tvpd[8];
172 TH2F* h_wtvpb[8];
174 TH2F* h_wtvpc[8];
176 TH2F* h_wtvpd[8];
178 TH2F* h_tvp_He[8];
180 TH2F* h_tvp_Hex[8];
184 TH2F* h_tvp_p[8];
186 TH2F* h_tvp_O[8];
188 TH2F* h_tvp_C[8];
190 TH2F* h_tvp_x[8];
191
193 TH2F* h_ttvp[8];
195 TH2F* h_ttvp_He[8];
197 TH2F* h_ttvp_Hex[8];
201 TH2F* h_ttvp_p[8];
203 TH2F* h_ttvp_O[8];
205 TH2F* h_ttvp_C[8];
207 TH2F* h_ttvp_x[8];
209 TH2F* h_Wtvp1[8][12];
211 TH2F* h_Wtvp2[8][12];
213 TH2F* h_Wevtrl1[8][12];
215 TH2F* h_Wevtrl2[8][12];
223 std::vector<TGraph*> m_intProb;
225 std::vector<double> m_maxEnFrac;
227 TH2F* h_wtvp[8];
229 TH2F* h_wtvp_He[8];
231 TH2F* h_wtvp_Hex[8];
235 TH2F* h_wtvp_p[8];
237 TH2F* h_wtvp_O[8];
239 TH2F* h_wtvp_C[8];
241 TH2F* h_wtvp_x[8];
243 Bool_t xRec[8];
245 Bool_t pRec[8];
247 Bool_t HeRec[8];
249 Bool_t ORec[8];
251 Bool_t CRec[8];
253 //Bool_t ARec[8];
255 int pid_old[8];
256
258 //int npRecoils = 0;
260 //int nHeRecoils = 0;
262 //int nCRecoils = 0;
264 //int nORecoils = 0;
265
266 };
267
268 }
270}
271
272#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.
std::vector< ROOT::Math::XYZVector > TPCCenter
TPC coordinate.
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.
Abstract base class for different kinds of events.