Belle II Software  release-05-02-19
MicrotpcStudyModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Igal Jaegle *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef MICROTPCSTUDYMODULE_H
12 #define MICROTPCSTUDYMODULE_H
13 
14 #include <framework/core/HistoModule.h>
15 #include <vector>
16 
17 #include <TVector3.h>
18 #include <TH1.h>
19 #include <TH2.h>
20 #include <TH3.h>
21 #include <TGraph.h>
22 
23 namespace Belle2 {
28  namespace microtpc {
29 
35  class MicrotpcStudyModule : public HistoModule {
36 
37  public:
38 
43 
45  virtual ~MicrotpcStudyModule();
46 
48  virtual void initialize() override;
49 
51  virtual void beginRun() override;
52 
54  virtual void event() override;
55 
57  virtual void endRun() override;
58 
60  virtual void terminate() override;
61 
63  virtual void defineHisto() override;
64 
65 
66  private:
67 
69  virtual void getXMLData();
70 
72  int m_ChipColumnNb;
74  int m_ChipRowNb;
76  double m_ChipColumnX;
78  double m_ChipRowY;
80  double m_z_DG;
82  int nTPC = 0;
84  std::vector<TVector3> TPCCenter;
86  //int Event = 0;
88  TH1F* h_tpc_rate[20];
90  TH2F* h_mctpc_kinetic[20];
91  /* Neutron kin energy dis */
92  TH2F* h_mctpc_kinetic_zoom[20];
94  TH2F* h_mctpc_tvp[20];
96  TH2F* h_mctpc_tvpW[20];
98  TH2F* h_mctpc_zr[20];
100  TH1F* h_z[8];
102  TH2F* h_xy[8];
104  TH2F* h_zr[8];
106  TH2F* h_zx[8];
108  TH2F* h_zy[8];
110  TH2F* h_evtrl[8];
112  TH2F* h_evtrlb[8];
114  TH2F* h_evtrlc[8];
116  TH2F* h_evtrld[8];
118  TH2F* h_evtrl_He[8];
120  TH2F* h_evtrl_Hex[8];
122  TH2F* h_evtrl_He_pure[8];
124  TH2F* h_evtrl_p[8];
126  TH2F* h_evtrl_O[8];
128  TH2F* h_evtrl_C[8];
130  TH2F* h_evtrl_x[8];
131 
133  TH2F* h_tevtrl[8];
135  TH2F* h_tevtrl_He[8];
137  TH2F* h_tevtrl_Hex[8];
139  TH2F* h_tevtrl_He_pure[8];
141  TH2F* h_tevtrl_p[8];
143  TH2F* h_tevtrl_O[8];
145  TH2F* h_tevtrl_C[8];
147  TH2F* h_tevtrl_x[8];
148 
150  TH2F* h_tvp[8];
152  TH2F* h_tvpb[8];
154  TH2F* h_tvpc[8];
156  TH2F* h_tvpd[8];
158  TH2F* h_wtvpb[8];
160  TH2F* h_wtvpc[8];
162  TH2F* h_wtvpd[8];
164  TH2F* h_tvp_He[8];
166  TH2F* h_tvp_Hex[8];
168  TH2F* h_tvp_He_pure[8];
170  TH2F* h_tvp_p[8];
172  TH2F* h_tvp_O[8];
174  TH2F* h_tvp_C[8];
176  TH2F* h_tvp_x[8];
177 
179  TH2F* h_ttvp[8];
181  TH2F* h_ttvp_He[8];
183  TH2F* h_ttvp_Hex[8];
185  TH2F* h_ttvp_He_pure[8];
187  TH2F* h_ttvp_p[8];
189  TH2F* h_ttvp_O[8];
191  TH2F* h_ttvp_C[8];
193  TH2F* h_ttvp_x[8];
195  TH2F* h_Wtvp1[8][12];
197  TH2F* h_Wtvp2[8][12];
199  TH2F* h_Wevtrl1[8][12];
201  TH2F* h_Wevtrl2[8][12];
203  TH2F* h_twtvp_He_pure[8];
205  TH3F* h_mctpc_recoil[3];
207  TH3F* h_mctpc_recoilW[3];
209  std::vector<TGraph*> m_intProb;
211  std::vector<double> m_maxEnFrac;
213  TH2F* h_wtvp[8];
215  TH2F* h_wtvp_He[8];
217  TH2F* h_wtvp_Hex[8];
219  TH2F* h_wtvp_He_pure[8];
221  TH2F* h_wtvp_p[8];
223  TH2F* h_wtvp_O[8];
225  TH2F* h_wtvp_C[8];
227  TH2F* h_wtvp_x[8];
229  Bool_t xRec[8];
231  Bool_t pRec[8];
233  Bool_t HeRec[8];
235  Bool_t ORec[8];
237  Bool_t CRec[8];
239  //Bool_t ARec[8];
241  int pid_old[8];
242 
244  //int npRecoils = 0;
246  //int nHeRecoils = 0;
248  //int nCRecoils = 0;
250  //int nORecoils = 0;
251 
252  };
253 
254  }
256 }
257 
258 #endif /* MICROTPCSTUDYMODULE_H */
Belle2::microtpc::MicrotpcStudyModule::h_tvp_O
TH2F * h_tvp_O[8]
Phi v.
Definition: MicrotpcStudyModule.h:180
Belle2::microtpc::MicrotpcStudyModule::h_twtvp_He_pure
TH2F * h_twtvp_He_pure[8]
Phi v.
Definition: MicrotpcStudyModule.h:211
Belle2::microtpc::MicrotpcStudyModule::h_tevtrl_x
TH2F * h_tevtrl_x[8]
Track length v.
Definition: MicrotpcStudyModule.h:155
Belle2::microtpc::MicrotpcStudyModule::h_wtvp_p
TH2F * h_wtvp_p[8]
Phi v.
Definition: MicrotpcStudyModule.h:229
Belle2::microtpc::MicrotpcStudyModule::h_ttvp
TH2F * h_ttvp[8]
Phi v.
Definition: MicrotpcStudyModule.h:187
Belle2::microtpc::MicrotpcStudyModule::h_tevtrl_Hex
TH2F * h_tevtrl_Hex[8]
Track length v.
Definition: MicrotpcStudyModule.h:145
Belle2::microtpc::MicrotpcStudyModule::h_wtvpd
TH2F * h_wtvpd[8]
Phi v.
Definition: MicrotpcStudyModule.h:170
Belle2::microtpc::MicrotpcStudyModule::h_mctpc_kinetic
TH2F * h_mctpc_kinetic[20]
Neutron kin energy dis.
Definition: MicrotpcStudyModule.h:98
Belle2::microtpc::MicrotpcStudyModule::h_ttvp_O
TH2F * h_ttvp_O[8]
Phi v.
Definition: MicrotpcStudyModule.h:197
Belle2::microtpc::MicrotpcStudyModule::h_tvp_p
TH2F * h_tvp_p[8]
Phi v.
Definition: MicrotpcStudyModule.h:178
Belle2::microtpc::MicrotpcStudyModule::h_tevtrl_He
TH2F * h_tevtrl_He[8]
Track length v.
Definition: MicrotpcStudyModule.h:143
Belle2::microtpc::MicrotpcStudyModule::h_tvpc
TH2F * h_tvpc[8]
Phi v.
Definition: MicrotpcStudyModule.h:162
Belle2::microtpc::MicrotpcStudyModule::h_evtrl_C
TH2F * h_evtrl_C[8]
Track length v.
Definition: MicrotpcStudyModule.h:136
Belle2::microtpc::MicrotpcStudyModule::h_wtvpc
TH2F * h_wtvpc[8]
Phi v.
Definition: MicrotpcStudyModule.h:168
Belle2::microtpc::MicrotpcStudyModule::h_mctpc_recoil
TH3F * h_mctpc_recoil[3]
recoil energy
Definition: MicrotpcStudyModule.h:213
Belle2::microtpc::MicrotpcStudyModule::h_mctpc_zr
TH2F * h_mctpc_zr[20]
r v z
Definition: MicrotpcStudyModule.h:106
Belle2::microtpc::MicrotpcStudyModule::h_zy
TH2F * h_zy[8]
Charged density vs y vs r.
Definition: MicrotpcStudyModule.h:116
Belle2::microtpc::MicrotpcStudyModule::h_tvpd
TH2F * h_tvpd[8]
Phi v.
Definition: MicrotpcStudyModule.h:164
Belle2::microtpc::MicrotpcStudyModule::MicrotpcStudyModule
MicrotpcStudyModule()
Constructor: Sets the description, the properties and the parameters of the module.
Definition: MicrotpcStudyModule.cc:50
Belle2::microtpc::MicrotpcStudyModule::h_zx
TH2F * h_zx[8]
Charged density vs x vs r.
Definition: MicrotpcStudyModule.h:114
Belle2::microtpc::MicrotpcStudyModule::h_wtvp_He
TH2F * h_wtvp_He[8]
Phi v.
Definition: MicrotpcStudyModule.h:223
Belle2::microtpc::MicrotpcStudyModule::m_ChipColumnNb
int m_ChipColumnNb
Chip column number.
Definition: MicrotpcStudyModule.h:80
Belle2::microtpc::MicrotpcStudyModule::h_tvp_He_pure
TH2F * h_tvp_He_pure[8]
Phi v.
Definition: MicrotpcStudyModule.h:176
Belle2::microtpc::MicrotpcStudyModule::nTPC
int nTPC
number of detectors.
Definition: MicrotpcStudyModule.h:90
Belle2::microtpc::MicrotpcStudyModule::h_Wevtrl1
TH2F * h_Wevtrl1[8][12]
e v l
Definition: MicrotpcStudyModule.h:207
Belle2::microtpc::MicrotpcStudyModule::getXMLData
virtual void getXMLData()
reads data from MICROTPC.xml: tube location, drift data filename, sigma of impulse response function
Definition: MicrotpcStudyModule.cc:654
Belle2::microtpc::MicrotpcStudyModule::h_ttvp_C
TH2F * h_ttvp_C[8]
Phi v.
Definition: MicrotpcStudyModule.h:199
Belle2::microtpc::MicrotpcStudyModule::h_tpc_rate
TH1F * h_tpc_rate[20]
Event counter.
Definition: MicrotpcStudyModule.h:96
Belle2::microtpc::MicrotpcStudyModule::h_evtrl_p
TH2F * h_evtrl_p[8]
Track length v.
Definition: MicrotpcStudyModule.h:132
Belle2::microtpc::MicrotpcStudyModule::h_evtrld
TH2F * h_evtrld[8]
Track length v.
Definition: MicrotpcStudyModule.h:124
Belle2::microtpc::MicrotpcStudyModule::pRec
Bool_t pRec[8]
p boolean per TPC
Definition: MicrotpcStudyModule.h:239
Belle2::microtpc::MicrotpcStudyModule::h_mctpc_tvpW
TH2F * h_mctpc_tvpW[20]
theta v phi dis
Definition: MicrotpcStudyModule.h:104
Belle2::microtpc::MicrotpcStudyModule::h_mctpc_recoilW
TH3F * h_mctpc_recoilW[3]
weighted recoil energy
Definition: MicrotpcStudyModule.h:215
Belle2::microtpc::MicrotpcStudyModule::h_evtrlc
TH2F * h_evtrlc[8]
Track length v.
Definition: MicrotpcStudyModule.h:122
Belle2::microtpc::MicrotpcStudyModule::CRec
Bool_t CRec[8]
C boolean per TPC.
Definition: MicrotpcStudyModule.h:245
Belle2::microtpc::MicrotpcStudyModule::h_evtrl_He_pure
TH2F * h_evtrl_He_pure[8]
Track length v.
Definition: MicrotpcStudyModule.h:130
Belle2::microtpc::MicrotpcStudyModule::h_ttvp_x
TH2F * h_ttvp_x[8]
Phi v.
Definition: MicrotpcStudyModule.h:201
Belle2::microtpc::MicrotpcStudyModule::m_z_DG
double m_z_DG
z drift gap
Definition: MicrotpcStudyModule.h:88
Belle2::microtpc::MicrotpcStudyModule::beginRun
virtual void beginRun() override
Function to process begin_run record.
Definition: MicrotpcStudyModule.cc:251
Belle2::microtpc::MicrotpcStudyModule::h_tvp
TH2F * h_tvp[8]
Phi v.
Definition: MicrotpcStudyModule.h:158
Belle2::microtpc::MicrotpcStudyModule::terminate
virtual void terminate() override
Function to terminate module.
Definition: MicrotpcStudyModule.cc:701
Belle2::microtpc::MicrotpcStudyModule::h_wtvp_Hex
TH2F * h_wtvp_Hex[8]
Phi v.
Definition: MicrotpcStudyModule.h:225
Belle2::microtpc::MicrotpcStudyModule::h_evtrlb
TH2F * h_evtrlb[8]
Track length v.
Definition: MicrotpcStudyModule.h:120
Belle2::microtpc::MicrotpcStudyModule::h_tevtrl
TH2F * h_tevtrl[8]
Track length v.
Definition: MicrotpcStudyModule.h:141
Belle2::microtpc::MicrotpcStudyModule::h_z
TH1F * h_z[8]
Charged density vs z vs section.
Definition: MicrotpcStudyModule.h:108
Belle2::microtpc::MicrotpcStudyModule::h_tvp_Hex
TH2F * h_tvp_Hex[8]
Phi v.
Definition: MicrotpcStudyModule.h:174
Belle2::microtpc::MicrotpcStudyModule::h_ttvp_He_pure
TH2F * h_ttvp_He_pure[8]
Phi v.
Definition: MicrotpcStudyModule.h:193
Belle2::microtpc::MicrotpcStudyModule::h_tevtrl_O
TH2F * h_tevtrl_O[8]
Track length v.
Definition: MicrotpcStudyModule.h:151
Belle2::microtpc::MicrotpcStudyModule::h_zr
TH2F * h_zr[8]
Charged density vs z vs r.
Definition: MicrotpcStudyModule.h:112
Belle2::microtpc::MicrotpcStudyModule::endRun
virtual void endRun() override
Function to process end_run record.
Definition: MicrotpcStudyModule.cc:691
Belle2::microtpc::MicrotpcStudyModule::h_evtrl_He
TH2F * h_evtrl_He[8]
Track length v.
Definition: MicrotpcStudyModule.h:126
Belle2::microtpc::MicrotpcStudyModule::h_evtrl_O
TH2F * h_evtrl_O[8]
Track length v.
Definition: MicrotpcStudyModule.h:134
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::microtpc::MicrotpcStudyModule::h_ttvp_Hex
TH2F * h_ttvp_Hex[8]
Phi v.
Definition: MicrotpcStudyModule.h:191
Belle2::microtpc::MicrotpcStudyModule::h_Wevtrl2
TH2F * h_Wevtrl2[8][12]
e v l
Definition: MicrotpcStudyModule.h:209
Belle2::microtpc::MicrotpcStudyModule::event
virtual void event() override
Function to process event record.
Definition: MicrotpcStudyModule.cc:255
Belle2::microtpc::MicrotpcStudyModule::h_evtrl_x
TH2F * h_evtrl_x[8]
Track length v.
Definition: MicrotpcStudyModule.h:138
Belle2::microtpc::MicrotpcStudyModule::initialize
virtual void initialize() override
Function for dynamic initialization of module.
Definition: MicrotpcStudyModule.cc:238
Belle2::microtpc::MicrotpcStudyModule::h_wtvp_x
TH2F * h_wtvp_x[8]
Phi v.
Definition: MicrotpcStudyModule.h:235
Belle2::microtpc::MicrotpcStudyModule
Study module for Microtpcs (BEAST)
Definition: MicrotpcStudyModule.h:43
Belle2::microtpc::MicrotpcStudyModule::defineHisto
virtual void defineHisto() override
Defines the histograms.
Definition: MicrotpcStudyModule.cc:68
Belle2::microtpc::MicrotpcStudyModule::xRec
Bool_t xRec[8]
X-ray boolean per TPC.
Definition: MicrotpcStudyModule.h:237
Belle2::microtpc::MicrotpcStudyModule::h_Wtvp2
TH2F * h_Wtvp2[8][12]
Phi v.
Definition: MicrotpcStudyModule.h:205
Belle2::microtpc::MicrotpcStudyModule::h_wtvp_C
TH2F * h_wtvp_C[8]
Phi v.
Definition: MicrotpcStudyModule.h:233
Belle2::microtpc::MicrotpcStudyModule::HeRec
Bool_t HeRec[8]
He boolean per TPC.
Definition: MicrotpcStudyModule.h:241
Belle2::microtpc::MicrotpcStudyModule::h_tevtrl_p
TH2F * h_tevtrl_p[8]
Track length v.
Definition: MicrotpcStudyModule.h:149
Belle2::microtpc::MicrotpcStudyModule::h_ttvp_p
TH2F * h_ttvp_p[8]
Phi v.
Definition: MicrotpcStudyModule.h:195
Belle2::microtpc::MicrotpcStudyModule::h_tvp_C
TH2F * h_tvp_C[8]
Phi v.
Definition: MicrotpcStudyModule.h:182
Belle2::microtpc::MicrotpcStudyModule::h_tevtrl_C
TH2F * h_tevtrl_C[8]
Track length v.
Definition: MicrotpcStudyModule.h:153
Belle2::microtpc::MicrotpcStudyModule::h_evtrl
TH2F * h_evtrl[8]
Track length v.
Definition: MicrotpcStudyModule.h:118
Belle2::microtpc::MicrotpcStudyModule::m_ChipRowY
double m_ChipRowY
Chip row y dimension.
Definition: MicrotpcStudyModule.h:86
Belle2::microtpc::MicrotpcStudyModule::h_Wtvp1
TH2F * h_Wtvp1[8][12]
Phi v.
Definition: MicrotpcStudyModule.h:203
Belle2::microtpc::MicrotpcStudyModule::m_maxEnFrac
std::vector< double > m_maxEnFrac
vector of maximal energy fraction transfered to recoil
Definition: MicrotpcStudyModule.h:219
Belle2::microtpc::MicrotpcStudyModule::ORec
Bool_t ORec[8]
O boolean per TPC.
Definition: MicrotpcStudyModule.h:243
Belle2::microtpc::MicrotpcStudyModule::pid_old
int pid_old[8]
A boolean per TPC.
Definition: MicrotpcStudyModule.h:249
Belle2::microtpc::MicrotpcStudyModule::h_xy
TH2F * h_xy[8]
Charged density vs x vs y.
Definition: MicrotpcStudyModule.h:110
Belle2::microtpc::MicrotpcStudyModule::h_wtvpb
TH2F * h_wtvpb[8]
Phi v.
Definition: MicrotpcStudyModule.h:166
Belle2::microtpc::MicrotpcStudyModule::h_wtvp
TH2F * h_wtvp[8]
Phi v.
Definition: MicrotpcStudyModule.h:221
Belle2::microtpc::MicrotpcStudyModule::h_ttvp_He
TH2F * h_ttvp_He[8]
Phi v.
Definition: MicrotpcStudyModule.h:189
Belle2::microtpc::MicrotpcStudyModule::h_tvp_He
TH2F * h_tvp_He[8]
Phi v.
Definition: MicrotpcStudyModule.h:172
Belle2::microtpc::MicrotpcStudyModule::h_tevtrl_He_pure
TH2F * h_tevtrl_He_pure[8]
Track length v.
Definition: MicrotpcStudyModule.h:147
Belle2::microtpc::MicrotpcStudyModule::h_wtvp_O
TH2F * h_wtvp_O[8]
Phi v.
Definition: MicrotpcStudyModule.h:231
Belle2::microtpc::MicrotpcStudyModule::TPCCenter
std::vector< TVector3 > TPCCenter
TPC coordinate.
Definition: MicrotpcStudyModule.h:92
Belle2::microtpc::MicrotpcStudyModule::m_ChipColumnX
double m_ChipColumnX
Chip column x dimension.
Definition: MicrotpcStudyModule.h:84
Belle2::microtpc::MicrotpcStudyModule::h_wtvp_He_pure
TH2F * h_wtvp_He_pure[8]
Phi v.
Definition: MicrotpcStudyModule.h:227
Belle2::microtpc::MicrotpcStudyModule::m_ChipRowNb
int m_ChipRowNb
Chip row number.
Definition: MicrotpcStudyModule.h:82
Belle2::microtpc::MicrotpcStudyModule::h_evtrl_Hex
TH2F * h_evtrl_Hex[8]
Track length v.
Definition: MicrotpcStudyModule.h:128
Belle2::microtpc::MicrotpcStudyModule::m_intProb
std::vector< TGraph * > m_intProb
vector of interaction probability vs E graphs for all recoils
Definition: MicrotpcStudyModule.h:217
Belle2::microtpc::MicrotpcStudyModule::h_mctpc_tvp
TH2F * h_mctpc_tvp[20]
theta v phi dis
Definition: MicrotpcStudyModule.h:102
Belle2::microtpc::MicrotpcStudyModule::h_tvpb
TH2F * h_tvpb[8]
Phi v.
Definition: MicrotpcStudyModule.h:160
Belle2::microtpc::MicrotpcStudyModule::h_tvp_x
TH2F * h_tvp_x[8]
Phi v.
Definition: MicrotpcStudyModule.h:184