BOSS 7.0.2
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/DQASelDimu/DQASelDimu/DQASelDimu.h
Go to the documentation of this file.
1#ifndef Physics_ControlSample_DQASelDimu_H
2#define Physics_ControlSample_DQASelDimu_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: DQASelDimu.h,v 1.1.1.1 2009/05/31 02:04:45 liubj Exp $
20 **
21 **
22*************************************************************************/
23
24class DQASelDimu : public Algorithm {
25
26public:
27
28 DQASelDimu(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_mumu_mass;
37 TH1F *m_mumu_acoll;
38 TH1F *m_mumu_eop_mup;
39 TH1F *m_mumu_eop_mum;
40 TH1F *m_mumu_costheta_mup;
41 TH1F *m_mumu_costheta_mum;
42 TH1F *m_mumu_phi_mup;
43 TH1F *m_mumu_phi_mum;
44TH1F *m_mumu_nneu;
45 TH1F *m_mumu_nlay;
46 TH1F *m_mumu_nhit;
47 TH1F *m_mumu_eemc_mup;
48 TH1F *m_mumu_eemc_mum;
49 TH1F *m_mumu_x_mup;
50 TH1F *m_mumu_y_mup;
51 TH1F *m_mumu_z_mup;
52 TH1F *m_mumu_x_mum;
53 TH1F *m_mumu_y_mum;
54 TH1F *m_mumu_z_mum;
55 TH1F *m_mumu_px_mup;
56 TH1F *m_mumu_py_mup;
57 TH1F *m_mumu_pz_mup;
58 TH1F *m_mumu_p_mup;
59 TH1F *m_mumu_px_mum;
60 TH1F *m_mumu_py_mum;
61 TH1F *m_mumu_pz_mum;
62 TH1F *m_mumu_p_mum;
63 TH1F *m_mumu_deltatof;
64 TH1F *m_mumu_pidchidedx_mup;
65 TH1F *m_mumu_pidchidedx_mum;
66 TH1F *m_mumu_pidchitof1_mup;
67 TH1F *m_mumu_pidchitof1_mum;
68 TH1F *m_mumu_pidchitof2_mup;
69 TH1F *m_mumu_pidchitof2_mum;
70
71
72
73
74 bool m_writentuple;
75 // Declare r0, z0 cut for charged tracks
76 double m_ecms;
77 double m_beamangle;
78 double m_vr0cut;
79 double m_vz0cut;
80 double m_coscut;
81
82 bool m_useTOF;
83 bool m_usePID;
84 bool m_useEMC;
85 bool m_useMUC;
86 bool m_useMDC;
87 bool m_useDEDX;
88 bool m_useEMConly;
89//Declare energy, dphi, dthe cuts for fake gamma's
90 double m_energyThreshold;
91 double m_gammaPhiCut;
92 double m_gammaThetaCut;
93 double m_gammaTrkCut;
94 double m_gammathCut;
95 double m_gammatlCut;
96 double m_acoll_mu_cut;
97 double m_acopl_mu_cut;
98 double m_poeb_mu_cut;
99 double m_dtof_mu_cut;
100 double m_eoeb_mu_cut;
101 double m_etotal_mu_cut;
102 double m_tpoebh_mu_cut;
103 double m_tpoebl_mu_cut;
104 double m_tptotal_mu_cut;
105
106
107
108 // define Ntuples here
109
110 NTuple::Tuple* m_tuple1;
111 NTuple::Item<long> m_run ;
112 NTuple::Item<long> m_rec;
113 NTuple::Item<long> m_ncharg;
114 NTuple::Item<long> m_nneu ;
115 NTuple::Item<long> m_ngch ;
116 NTuple::Item<long> m_nGam ;
117 NTuple::Item<long> m_dimutag ;
118
119 NTuple::Item<double> m_acoll;
120 NTuple::Item<double> m_acopl;
121 NTuple::Item<double> m_deltatof;
122 NTuple::Item<double> m_eop1;
123 NTuple::Item<double> m_eop2;
124 NTuple::Item<double> m_eoeb1;
125 NTuple::Item<double> m_eoeb2;
126 NTuple::Item<double> m_poeb1;
127 NTuple::Item<double> m_poeb2;
128 NTuple::Item<double> m_etoeb1;
129 NTuple::Item<double> m_etoeb2;
130 NTuple::Item<long> m_mucinfo1;
131 NTuple::Item<long> m_mucinfo2;
132
133
134 NTuple::Array<double> m_delang ;
135 NTuple::Array<double> m_delphi ;
136 NTuple::Array<double> m_delthe ;
137 NTuple::Array<long> m_nSeed;
138 NTuple::Array<long> m_npart;
139 NTuple::Array<long> m_module;
140 NTuple::Array<long> m_nemchits;
141 NTuple::Array<double> m_x;
142 NTuple::Array<double> m_y;
143 NTuple::Array<double> m_z;
144 NTuple::Array<double> m_dx;
145 NTuple::Array<double> m_dy;
146 NTuple::Array<double> m_dz;
147 NTuple::Array<double> m_dtheta;
148 NTuple::Array<double> m_dphi;
149 NTuple::Array<double> m_theta;
150 NTuple::Array<double> m_phi;
151 NTuple::Array<double> m_energy;
152 NTuple::Array<double> m_dE;
153 NTuple::Array<double> m_eSeed;
154 NTuple::Array<double> m_e3x3;
155 NTuple::Array<double> m_e5x5;
156 NTuple::Array<double> m_secondMoment;
157 NTuple::Array<double> m_latMoment;
158 NTuple::Array<double> m_a20Moment;
159 NTuple::Array<double> m_a42Moment;
160 NTuple::Array<double> m_getTime;
161 NTuple::Array<double> m_getEAll;
162
163
164
165
166 NTuple::Array<long> m_charge ;
167 NTuple::Array<double> m_vx0 ;
168 NTuple::Array<double> m_vy0 ;
169 NTuple::Array<double> m_vz0 ;
170
171
172 NTuple::Array<double> m_px ;
173 NTuple::Array<double> m_py ;
174 NTuple::Array<double> m_pz ;
175 NTuple::Array<double> m_p ;
176
177
178 NTuple::Array<double> m_kal_vx0 ;
179 NTuple::Array<double> m_kal_vy0 ;
180 NTuple::Array<double> m_kal_vz0 ;
181
182
183 NTuple::Array<double> m_kal_px ;
184 NTuple::Array<double> m_kal_py ;
185 NTuple::Array<double> m_kal_pz ;
186 NTuple::Array<double> m_kal_p ;
187
188
189
190
191 NTuple::Array<float> m_probPH;
192 NTuple::Array<float> m_normPH;
193 NTuple::Array<float> m_chie ;
194 NTuple::Array<float> m_chimu ;
195 NTuple::Array<float> m_chipi ;
196 NTuple::Array<float> m_chik ;
197 NTuple::Array<float> m_chip ;
198 NTuple::Array<float> m_ghit ;
199 NTuple::Array<float> m_thit ;
200
201 NTuple::Array<float> m_e_emc ;
202 NTuple::Array<float> m_theta_emc ;
203 NTuple::Array<float> m_phi_emc ;
204
205 NTuple::Array<float> m_nhit_muc ;
206 NTuple::Array<float> m_nlay_muc;
207
208 NTuple::Array<double> m_qual_etof ;
209 NTuple::Array<double> m_tof_etof ;
210 NTuple::Array<double> m_te_etof ;
211 NTuple::Array<double> m_tmu_etof ;
212 NTuple::Array<double> m_tpi_etof ;
213 NTuple::Array<double> m_tk_etof ;
214 NTuple::Array<double> m_tp_etof ;
215
216 NTuple::Array<double> m_qual_btof1 ;
217 NTuple::Array<double> m_tof_btof1 ;
218 NTuple::Array<double> m_te_btof1 ;
219 NTuple::Array<double> m_tmu_btof1 ;
220 NTuple::Array<double> m_tpi_btof1 ;
221 NTuple::Array<double> m_tk_btof1 ;
222 NTuple::Array<double> m_tp_btof1 ;
223 NTuple::Array<double> m_t_btof ;
224 NTuple::Array<double> m_t_etof ;
225 NTuple::Array<double> m_qual_btof2 ;
226 NTuple::Array<double> m_tof_btof2 ;
227 NTuple::Array<double> m_te_btof2 ;
228 NTuple::Array<double> m_tmu_btof2 ;
229 NTuple::Array<double> m_tpi_btof2 ;
230 NTuple::Array<double> m_tk_btof2 ;
231 NTuple::Array<double> m_tp_btof2 ;
232 NTuple::Array<long> m_pidcode;
233 NTuple::Array<double> m_pidprob;
234 NTuple::Array<double> m_pidchiDedx;
235 NTuple::Array<double> m_pidchiTof1;
236 NTuple::Array<double> m_pidchiTof2;
237
238 NTuple::Item<double> m_px_cms_ep ;
239 NTuple::Item<double> m_py_cms_ep ;
240 NTuple::Item<double> m_pz_cms_ep ;
241 NTuple::Item<double> m_e_cms_ep ;
242 NTuple::Item<double> m_cos_ep ;
243 NTuple::Item<double> m_px_cms_em ;
244 NTuple::Item<double> m_py_cms_em ;
245 NTuple::Item<double> m_pz_cms_em ;
246 NTuple::Item<double> m_e_cms_em ;
247 NTuple::Item<double> m_cos_em ;
248 NTuple::Item<double> m_mass_ee ;
249 NTuple::Item<double> m_emax ;
250 NTuple::Item<double> m_esum ;
251 NTuple::Item<long> m_npip ;
252 NTuple::Item<long> m_npim ;
253 NTuple::Item<long> m_nkp ;
254 NTuple::Item<long> m_nkm ;
255 NTuple::Item<long> m_np ;
256 NTuple::Item<long> m_npb ;
257 NTuple::Item<long> m_nep ;
258 NTuple::Item<long> m_nem ;
259 NTuple::Item<long> m_nmup ;
260 NTuple::Item<long> m_nmum ;
261
262
263
264
265
266};
267
268
269#endif
DQASelDimu(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode initialize()
StatusCode finalize()
StatusCode execute()