CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
DQA/DQASelHadron/DQASelHadron-00-00-03/DQASelHadron/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.1.1.1 2009/05/31 02:00:14 liubj 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 // Declare r0, z0 cut for charged tracks
52 double m_ecms;
53 double m_beamangle;
54 double m_vr0cut;
55 double m_vz0cut;
56 double m_coscut;
57
58
59 bool m_tagHadron;
60
61 bool m_useTOF;
62 bool m_usePID;
63 bool m_useEMC;
64 bool m_useMUC;
65 bool m_useMDC;
66 bool m_useDEDX;
67 bool m_useEMConly;
68
69 //Declare energy, dphi, dthe cuts for fake gamma's
70 double m_energyThreshold;
71 double m_gammaPhiCut;
72 double m_gammaThetaCut;
73 double m_gammaTrkCut;
74 double m_gammathCut;
75 double m_gammatlCut;
76
77
78
79 double m_acoll_h_cut;
80 double m_poeb_h_cut;
81 double m_dtof_h_cut;
82 double m_eop_h_cut;
83 double m_etotal_h_cut;
84 int m_ngam_h_cut;
85 double m_br_h_cut;
86 double m_bz_h_cut;
87 double m_thr_h_cut;
88
89
90
91 // define Ntuples here
92
93 NTuple::Tuple* m_tuple1;
94 NTuple::Item<long> m_run ;
95 NTuple::Item<long> m_rec;
96 NTuple::Item<long> m_ncharg;
97 NTuple::Item<long> m_nneu ;
98 NTuple::Item<long> m_ngch ;
99 NTuple::Item<long> m_nGam ;
100 NTuple::Item<long> m_hadrontag ;
101
102 NTuple::Item<double> m_evis;
103 NTuple::Item<double> m_thr;
104 NTuple::Item<double> m_br;
105 NTuple::Item<double> m_bz;
106
107 NTuple::Item<double> m_acoll;
108 NTuple::Item<double> m_acopl;
109 NTuple::Item<double> m_deltatof;
110 NTuple::Item<double> m_eop1;
111 NTuple::Item<double> m_eop2;
112 NTuple::Item<double> m_eoeb1;
113 NTuple::Item<double> m_eoeb2;
114 NTuple::Item<double> m_poeb1;
115 NTuple::Item<double> m_poeb2;
116 NTuple::Item<double> m_etoeb1;
117 NTuple::Item<double> m_etoeb2;
118 NTuple::Item<long> m_mucinfo1;
119 NTuple::Item<long> m_mucinfo2;
120
121
122 NTuple::Array<double> m_delang ;
123 NTuple::Array<double> m_delphi ;
124 NTuple::Array<double> m_delthe ;
125 NTuple::Array<long> m_nSeed;
126 NTuple::Array<long> m_npart;
127 NTuple::Array<long> m_module;
128 NTuple::Array<long> m_nemchits;
129 NTuple::Array<double> m_x;
130 NTuple::Array<double> m_y;
131 NTuple::Array<double> m_z;
132 NTuple::Array<double> m_dx;
133 NTuple::Array<double> m_dy;
134 NTuple::Array<double> m_dz;
135 NTuple::Array<double> m_dtheta;
136 NTuple::Array<double> m_dphi;
137 NTuple::Array<double> m_theta;
138 NTuple::Array<double> m_phi;
139 NTuple::Array<double> m_energy;
140 NTuple::Array<double> m_dE;
141 NTuple::Array<double> m_eSeed;
142 NTuple::Array<double> m_e3x3;
143 NTuple::Array<double> m_e5x5;
144 NTuple::Array<double> m_secondMoment;
145 NTuple::Array<double> m_latMoment;
146 NTuple::Array<double> m_a20Moment;
147 NTuple::Array<double> m_a42Moment;
148 NTuple::Array<double> m_getTime;
149 NTuple::Array<double> m_getEAll;
150
151
152
153
154 NTuple::Array<long> m_charge ;
155 NTuple::Array<double> m_vx0 ;
156 NTuple::Array<double> m_vy0 ;
157 NTuple::Array<double> m_vz0 ;
158
159
160 NTuple::Array<double> m_px ;
161 NTuple::Array<double> m_py ;
162 NTuple::Array<double> m_pz ;
163 NTuple::Array<double> m_p ;
164
165
166 NTuple::Array<double> m_kal_vx0 ;
167 NTuple::Array<double> m_kal_vy0 ;
168 NTuple::Array<double> m_kal_vz0 ;
169
170
171 NTuple::Array<double> m_kal_px ;
172 NTuple::Array<double> m_kal_py ;
173 NTuple::Array<double> m_kal_pz ;
174 NTuple::Array<double> m_kal_p ;
175
176
177
178
179 NTuple::Array<float> m_probPH;
180 NTuple::Array<float> m_normPH;
181 NTuple::Array<float> m_chie ;
182 NTuple::Array<float> m_chimu ;
183 NTuple::Array<float> m_chipi ;
184 NTuple::Array<float> m_chik ;
185 NTuple::Array<float> m_chip ;
186 NTuple::Array<float> m_ghit ;
187 NTuple::Array<float> m_thit ;
188
189 NTuple::Array<float> m_e_emc ;
190 NTuple::Array<float> m_theta_emc ;
191 NTuple::Array<float> m_phi_emc ;
192
193 NTuple::Array<float> m_nhit_muc ;
194 NTuple::Array<float> m_nlay_muc;
195
196 NTuple::Array<double> m_qual_etof ;
197 NTuple::Array<double> m_tof_etof ;
198 NTuple::Array<double> m_te_etof ;
199 NTuple::Array<double> m_tmu_etof ;
200 NTuple::Array<double> m_tpi_etof ;
201 NTuple::Array<double> m_tk_etof ;
202 NTuple::Array<double> m_tp_etof ;
203
204 NTuple::Array<double> m_qual_btof1 ;
205 NTuple::Array<double> m_tof_btof1 ;
206 NTuple::Array<double> m_te_btof1 ;
207 NTuple::Array<double> m_tmu_btof1 ;
208 NTuple::Array<double> m_tpi_btof1 ;
209 NTuple::Array<double> m_tk_btof1 ;
210 NTuple::Array<double> m_tp_btof1 ;
211 NTuple::Array<double> m_t_btof ;
212 NTuple::Array<double> m_t_etof ;
213 NTuple::Array<double> m_qual_btof2 ;
214 NTuple::Array<double> m_tof_btof2 ;
215 NTuple::Array<double> m_te_btof2 ;
216 NTuple::Array<double> m_tmu_btof2 ;
217 NTuple::Array<double> m_tpi_btof2 ;
218 NTuple::Array<double> m_tk_btof2 ;
219 NTuple::Array<double> m_tp_btof2 ;
220 NTuple::Array<long> m_pidcode;
221 NTuple::Array<double> m_pidprob;
222 NTuple::Array<double> m_pidchiDedx;
223 NTuple::Array<double> m_pidchiTof1;
224 NTuple::Array<double> m_pidchiTof2;
225
226 NTuple::Item<double> m_px_cms_ep ;
227 NTuple::Item<double> m_py_cms_ep ;
228 NTuple::Item<double> m_pz_cms_ep ;
229 NTuple::Item<double> m_e_cms_ep ;
230 NTuple::Item<double> m_cos_ep ;
231 NTuple::Item<double> m_px_cms_em ;
232 NTuple::Item<double> m_py_cms_em ;
233 NTuple::Item<double> m_pz_cms_em ;
234 NTuple::Item<double> m_e_cms_em ;
235 NTuple::Item<double> m_cos_em ;
236 NTuple::Item<double> m_mass_ee ;
237 NTuple::Item<double> m_emax ;
238 NTuple::Item<double> m_esum ;
239 NTuple::Item<long> m_npip ;
240 NTuple::Item<long> m_npim ;
241 NTuple::Item<long> m_nkp ;
242 NTuple::Item<long> m_nkm ;
243 NTuple::Item<long> m_np ;
244 NTuple::Item<long> m_npb ;
245 NTuple::Item<long> m_nep ;
246 NTuple::Item<long> m_nem ;
247 NTuple::Item<long> m_nmup ;
248 NTuple::Item<long> m_nmum ;
249
250
251
252
253
254};
255
256
257#endif
StatusCode initialize()
StatusCode finalize()
StatusCode execute()