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