BOSS 7.1.0
BESIII Offline Software System
Loading...
Searching...
No Matches
DQASelHadron.h
Go to the documentation of this file.
1#ifndef Physics_ControlSample_DQASelHadron_H
2#define Physics_ControlSample_DQASelHadron_H
3
4#include "GaudiKernel/AlgFactory.h"
5#include "GaudiKernel/Algorithm.h"
6#include "GaudiKernel/NTuple.h"
7
8#include "GaudiKernel/ITHistSvc.h"
9#include "TH1.h"
10
11/**********************************************************************/
12/** <project name> -
13 ** <description> Head file for event selection program
14 **
15 ** \file
16 **
17 ** \author Ji Xiaobin
18 **
19 ** \version $Id: DQASelHadron.h,v 1.2 2017/12/22 03:47:45 jixb Exp $
20 **
21 **
22*************************************************************************/
23
24class DQASelHadron : public Algorithm {
25
26public:
27
28 DQASelHadron(const std::string& name, ISvcLocator* pSvcLocator);
29 StatusCode initialize();
30 StatusCode execute();
31 StatusCode finalize();
32
33private:
34 ITHistSvc *m_thistsvc;
35
36 TH1F* m_ha_costheta;
37 TH1F* m_ha_phi;
38 TH1F *m_ha_pmax;
39 TH1F *m_ha_emax;
40 TH1F *m_ha_etot;
41 TH1I *m_ha_nneu;
42 TH1I *m_ha_nchg;
43 TH1F *m_ha_br;
44 TH1F *m_ha_bz;
45 TH1F *m_ha_vx;
46 TH1F *m_ha_vy;
47 TH1F *m_ha_vz;
48
49
50 bool m_writentuple;
51 bool m_useVertexDB;
52 // Declare r0, z0 cut for charged tracks
53 double m_ecms;
54 double m_beamangle;
55 double m_vr0cut;
56 double m_vz0cut;
57 double m_coscut;
58
59
60 bool m_tagHadron;
61
62 bool m_useTOF;
63 bool m_usePID;
64 bool m_useEMC;
65 bool m_useMUC;
66 bool m_useMDC;
67 bool m_useDEDX;
68 bool m_useEMConly;
69
70 //Declare energy, dphi, dthe cuts for fake gamma's
71 double m_energyThreshold;
72 double m_gammaPhiCut;
73 double m_gammaThetaCut;
74 double m_gammaTrkCut;
75 double m_gammathCut;
76 double m_gammatlCut;
77
78
79
80 double m_acoll_h_cut;
81 double m_poeb_h_cut;
82 double m_dtof_h_cut;
83 double m_eop_h_cut;
84 double m_etotal_h_cut;
85 int m_ngam_h_cut;
86 double m_br_h_cut;
87 double m_bz_h_cut;
88 double m_thr_h_cut;
89
90
91
92 // define Ntuples here
93
94 NTuple::Tuple* m_tuple1;
95 NTuple::Item<long> m_run ;
96 NTuple::Item<long> m_rec;
97 NTuple::Item<long> m_ncharg;
98 NTuple::Item<long> m_nneu ;
99 NTuple::Item<long> m_ngch ;
100 NTuple::Item<long> m_nGam ;
101 NTuple::Item<long> m_hadrontag ;
102
103 NTuple::Item<double> m_evis;
104 NTuple::Item<double> m_thr;
105 NTuple::Item<double> m_br;
106 NTuple::Item<double> m_bz;
107
108 NTuple::Item<double> m_acoll;
109 NTuple::Item<double> m_acopl;
110 NTuple::Item<double> m_deltatof;
111 NTuple::Item<double> m_eop1;
112 NTuple::Item<double> m_eop2;
113 NTuple::Item<double> m_eoeb1;
114 NTuple::Item<double> m_eoeb2;
115 NTuple::Item<double> m_poeb1;
116 NTuple::Item<double> m_poeb2;
117 NTuple::Item<double> m_etoeb1;
118 NTuple::Item<double> m_etoeb2;
119 NTuple::Item<long> m_mucinfo1;
120 NTuple::Item<long> m_mucinfo2;
121
122
123 NTuple::Array<double> m_delang ;
124 NTuple::Array<double> m_delphi ;
125 NTuple::Array<double> m_delthe ;
126 NTuple::Array<long> m_nSeed;
127 NTuple::Array<long> m_npart;
128 NTuple::Array<long> m_module;
129 NTuple::Array<long> m_nemchits;
130 NTuple::Array<double> m_x;
131 NTuple::Array<double> m_y;
132 NTuple::Array<double> m_z;
133 NTuple::Array<double> m_dx;
134 NTuple::Array<double> m_dy;
135 NTuple::Array<double> m_dz;
136 NTuple::Array<double> m_dtheta;
137 NTuple::Array<double> m_dphi;
138 NTuple::Array<double> m_theta;
139 NTuple::Array<double> m_phi;
140 NTuple::Array<double> m_energy;
141 NTuple::Array<double> m_dE;
142 NTuple::Array<double> m_eSeed;
143 NTuple::Array<double> m_e3x3;
144 NTuple::Array<double> m_e5x5;
145 NTuple::Array<double> m_secondMoment;
146 NTuple::Array<double> m_latMoment;
147 NTuple::Array<double> m_a20Moment;
148 NTuple::Array<double> m_a42Moment;
149 NTuple::Array<double> m_getTime;
150 NTuple::Array<double> m_getEAll;
151
152
153
154
155 NTuple::Array<long> m_charge ;
156 NTuple::Array<double> m_vx0 ;
157 NTuple::Array<double> m_vy0 ;
158 NTuple::Array<double> m_vz0 ;
159
160
161 NTuple::Array<double> m_px ;
162 NTuple::Array<double> m_py ;
163 NTuple::Array<double> m_pz ;
164 NTuple::Array<double> m_p ;
165
166
167 NTuple::Array<double> m_kal_vx0 ;
168 NTuple::Array<double> m_kal_vy0 ;
169 NTuple::Array<double> m_kal_vz0 ;
170
171
172 NTuple::Array<double> m_kal_px ;
173 NTuple::Array<double> m_kal_py ;
174 NTuple::Array<double> m_kal_pz ;
175 NTuple::Array<double> m_kal_p ;
176
177
178
179
180 NTuple::Array<float> m_probPH;
181 NTuple::Array<float> m_normPH;
182 NTuple::Array<float> m_chie ;
183 NTuple::Array<float> m_chimu ;
184 NTuple::Array<float> m_chipi ;
185 NTuple::Array<float> m_chik ;
186 NTuple::Array<float> m_chip ;
187 NTuple::Array<float> m_ghit ;
188 NTuple::Array<float> m_thit ;
189
190 NTuple::Array<float> m_e_emc ;
191 NTuple::Array<float> m_theta_emc ;
192 NTuple::Array<float> m_phi_emc ;
193
194 NTuple::Array<float> m_nhit_muc ;
195 NTuple::Array<float> m_nlay_muc;
196
197 NTuple::Array<double> m_qual_etof ;
198 NTuple::Array<double> m_tof_etof ;
199 NTuple::Array<double> m_te_etof ;
200 NTuple::Array<double> m_tmu_etof ;
201 NTuple::Array<double> m_tpi_etof ;
202 NTuple::Array<double> m_tk_etof ;
203 NTuple::Array<double> m_tp_etof ;
204
205 NTuple::Array<double> m_qual_btof1 ;
206 NTuple::Array<double> m_tof_btof1 ;
207 NTuple::Array<double> m_te_btof1 ;
208 NTuple::Array<double> m_tmu_btof1 ;
209 NTuple::Array<double> m_tpi_btof1 ;
210 NTuple::Array<double> m_tk_btof1 ;
211 NTuple::Array<double> m_tp_btof1 ;
212 NTuple::Array<double> m_t_btof ;
213 NTuple::Array<double> m_t_etof ;
214 NTuple::Array<double> m_qual_btof2 ;
215 NTuple::Array<double> m_tof_btof2 ;
216 NTuple::Array<double> m_te_btof2 ;
217 NTuple::Array<double> m_tmu_btof2 ;
218 NTuple::Array<double> m_tpi_btof2 ;
219 NTuple::Array<double> m_tk_btof2 ;
220 NTuple::Array<double> m_tp_btof2 ;
221 NTuple::Array<long> m_pidcode;
222 NTuple::Array<double> m_pidprob;
223 NTuple::Array<double> m_pidchiDedx;
224 NTuple::Array<double> m_pidchiTof1;
225 NTuple::Array<double> m_pidchiTof2;
226
227 NTuple::Item<double> m_px_cms_ep ;
228 NTuple::Item<double> m_py_cms_ep ;
229 NTuple::Item<double> m_pz_cms_ep ;
230 NTuple::Item<double> m_e_cms_ep ;
231 NTuple::Item<double> m_cos_ep ;
232 NTuple::Item<double> m_px_cms_em ;
233 NTuple::Item<double> m_py_cms_em ;
234 NTuple::Item<double> m_pz_cms_em ;
235 NTuple::Item<double> m_e_cms_em ;
236 NTuple::Item<double> m_cos_em ;
237 NTuple::Item<double> m_mass_ee ;
238 NTuple::Item<double> m_emax ;
239 NTuple::Item<double> m_esum ;
240 NTuple::Item<long> m_npip ;
241 NTuple::Item<long> m_npim ;
242 NTuple::Item<long> m_nkp ;
243 NTuple::Item<long> m_nkm ;
244 NTuple::Item<long> m_np ;
245 NTuple::Item<long> m_npb ;
246 NTuple::Item<long> m_nep ;
247 NTuple::Item<long> m_nem ;
248 NTuple::Item<long> m_nmup ;
249 NTuple::Item<long> m_nmum ;
250
251
252
253
254
255};
256
257
258#endif
StatusCode initialize()
StatusCode finalize()
StatusCode execute()