BOSS 8.0.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/Algorithm.h"
5#include "GaudiKernel/ITHistSvc.h"
6#include "GaudiKernel/NTuple.h"
7#include "TH1.h"
8
9/**********************************************************************/
10/** <project name> -
11 ** <description> Head file for event selection program
12 **
13 ** \file
14 **
15 ** \author Ji Xiaobin
16 **
17 ** \version $Id: DQASelDimu.h,v 1.2 2017/12/22 03:46:46 jixb Exp $
18 **
19 **
20 *************************************************************************/
21
22class DQASelDimu : public Algorithm {
23
24public:
25 DQASelDimu( const std::string& name, ISvcLocator* pSvcLocator );
26 StatusCode initialize();
27 StatusCode execute();
28 StatusCode finalize();
29
30private:
31 ITHistSvc* m_thistsvc;
32
33 TH1F* m_mumu_mass;
34 TH1F* m_mumu_acoll;
35 TH1F* m_mumu_eop_mup;
36 TH1F* m_mumu_eop_mum;
37 TH1F* m_mumu_costheta_mup;
38 TH1F* m_mumu_costheta_mum;
39 TH1F* m_mumu_phi_mup;
40 TH1F* m_mumu_phi_mum;
41 TH1F* m_mumu_nneu;
42 TH1F* m_mumu_nlay;
43 TH1F* m_mumu_nhit;
44 TH1F* m_mumu_eemc_mup;
45 TH1F* m_mumu_eemc_mum;
46 TH1F* m_mumu_x_mup;
47 TH1F* m_mumu_y_mup;
48 TH1F* m_mumu_z_mup;
49 TH1F* m_mumu_x_mum;
50 TH1F* m_mumu_y_mum;
51 TH1F* m_mumu_z_mum;
52 TH1F* m_mumu_px_mup;
53 TH1F* m_mumu_py_mup;
54 TH1F* m_mumu_pz_mup;
55 TH1F* m_mumu_p_mup;
56 TH1F* m_mumu_px_mum;
57 TH1F* m_mumu_py_mum;
58 TH1F* m_mumu_pz_mum;
59 TH1F* m_mumu_p_mum;
60 TH1F* m_mumu_deltatof;
61 TH1F* m_mumu_pidchidedx_mup;
62 TH1F* m_mumu_pidchidedx_mum;
63 TH1F* m_mumu_pidchitof1_mup;
64 TH1F* m_mumu_pidchitof1_mum;
65 TH1F* m_mumu_pidchitof2_mup;
66 TH1F* m_mumu_pidchitof2_mum;
67
68 bool m_writentuple;
69 bool m_useVertexDB;
70 // Declare r0, z0 cut for charged tracks
71 double m_ecms;
72 double m_beamangle;
73 double m_vr0cut;
74 double m_vz0cut;
75 double m_coscut;
76
77 bool m_useTOF;
78 bool m_usePID;
79 bool m_useEMC;
80 bool m_useMUC;
81 bool m_useMDC;
82 bool m_useDEDX;
83 bool m_useEMConly;
84 // Declare energy, dphi, dthe cuts for fake gamma's
85 double m_energyThreshold;
86 double m_gammaPhiCut;
87 double m_gammaThetaCut;
88 double m_gammaTrkCut;
89 double m_gammathCut;
90 double m_gammatlCut;
91 double m_acoll_mu_cut;
92 double m_acopl_mu_cut;
93 double m_poeb_mu_cut;
94 double m_dtof_mu_cut;
95 double m_eoeb_mu_cut;
96 double m_etotal_mu_cut;
97 double m_tpoebh_mu_cut;
98 double m_tpoebl_mu_cut;
99 double m_tptotal_mu_cut;
100
101 // define Ntuples here
102
103 NTuple::Tuple* m_tuple1;
104 NTuple::Item<long> m_run;
105 NTuple::Item<long> m_rec;
106 NTuple::Item<long> m_ncharg;
107 NTuple::Item<long> m_nneu;
108 NTuple::Item<long> m_ngch;
109 NTuple::Item<long> m_nGam;
110 NTuple::Item<long> m_dimutag;
111
112 NTuple::Item<double> m_acoll;
113 NTuple::Item<double> m_acopl;
114 NTuple::Item<double> m_deltatof;
115 NTuple::Item<double> m_eop1;
116 NTuple::Item<double> m_eop2;
117 NTuple::Item<double> m_eoeb1;
118 NTuple::Item<double> m_eoeb2;
119 NTuple::Item<double> m_poeb1;
120 NTuple::Item<double> m_poeb2;
121 NTuple::Item<double> m_etoeb1;
122 NTuple::Item<double> m_etoeb2;
123 NTuple::Item<long> m_mucinfo1;
124 NTuple::Item<long> m_mucinfo2;
125
126 NTuple::Array<double> m_delang;
127 NTuple::Array<double> m_delphi;
128 NTuple::Array<double> m_delthe;
129 NTuple::Array<long> m_nSeed;
130 NTuple::Array<long> m_npart;
131 NTuple::Array<long> m_module;
132 NTuple::Array<long> m_nemchits;
133 NTuple::Array<double> m_x;
134 NTuple::Array<double> m_y;
135 NTuple::Array<double> m_z;
136 NTuple::Array<double> m_dx;
137 NTuple::Array<double> m_dy;
138 NTuple::Array<double> m_dz;
139 NTuple::Array<double> m_dtheta;
140 NTuple::Array<double> m_dphi;
141 NTuple::Array<double> m_theta;
142 NTuple::Array<double> m_phi;
143 NTuple::Array<double> m_energy;
144 NTuple::Array<double> m_dE;
145 NTuple::Array<double> m_eSeed;
146 NTuple::Array<double> m_e3x3;
147 NTuple::Array<double> m_e5x5;
148 NTuple::Array<double> m_secondMoment;
149 NTuple::Array<double> m_latMoment;
150 NTuple::Array<double> m_a20Moment;
151 NTuple::Array<double> m_a42Moment;
152 NTuple::Array<double> m_getTime;
153 NTuple::Array<double> m_getEAll;
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 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 NTuple::Array<double> m_kal_vx0;
166 NTuple::Array<double> m_kal_vy0;
167 NTuple::Array<double> m_kal_vz0;
168
169 NTuple::Array<double> m_kal_px;
170 NTuple::Array<double> m_kal_py;
171 NTuple::Array<double> m_kal_pz;
172 NTuple::Array<double> m_kal_p;
173
174 NTuple::Array<float> m_probPH;
175 NTuple::Array<float> m_normPH;
176 NTuple::Array<float> m_chie;
177 NTuple::Array<float> m_chimu;
178 NTuple::Array<float> m_chipi;
179 NTuple::Array<float> m_chik;
180 NTuple::Array<float> m_chip;
181 NTuple::Array<float> m_ghit;
182 NTuple::Array<float> m_thit;
183
184 NTuple::Array<float> m_e_emc;
185 NTuple::Array<float> m_theta_emc;
186 NTuple::Array<float> m_phi_emc;
187
188 NTuple::Array<float> m_nhit_muc;
189 NTuple::Array<float> m_nlay_muc;
190
191 NTuple::Array<double> m_qual_etof;
192 NTuple::Array<double> m_tof_etof;
193 NTuple::Array<double> m_te_etof;
194 NTuple::Array<double> m_tmu_etof;
195 NTuple::Array<double> m_tpi_etof;
196 NTuple::Array<double> m_tk_etof;
197 NTuple::Array<double> m_tp_etof;
198
199 NTuple::Array<double> m_qual_btof1;
200 NTuple::Array<double> m_tof_btof1;
201 NTuple::Array<double> m_te_btof1;
202 NTuple::Array<double> m_tmu_btof1;
203 NTuple::Array<double> m_tpi_btof1;
204 NTuple::Array<double> m_tk_btof1;
205 NTuple::Array<double> m_tp_btof1;
206 NTuple::Array<double> m_t_btof;
207 NTuple::Array<double> m_t_etof;
208 NTuple::Array<double> m_qual_btof2;
209 NTuple::Array<double> m_tof_btof2;
210 NTuple::Array<double> m_te_btof2;
211 NTuple::Array<double> m_tmu_btof2;
212 NTuple::Array<double> m_tpi_btof2;
213 NTuple::Array<double> m_tk_btof2;
214 NTuple::Array<double> m_tp_btof2;
215 NTuple::Array<long> m_pidcode;
216 NTuple::Array<double> m_pidprob;
217 NTuple::Array<double> m_pidchiDedx;
218 NTuple::Array<double> m_pidchiTof1;
219 NTuple::Array<double> m_pidchiTof2;
220
221 NTuple::Item<double> m_px_cms_ep;
222 NTuple::Item<double> m_py_cms_ep;
223 NTuple::Item<double> m_pz_cms_ep;
224 NTuple::Item<double> m_e_cms_ep;
225 NTuple::Item<double> m_cos_ep;
226 NTuple::Item<double> m_px_cms_em;
227 NTuple::Item<double> m_py_cms_em;
228 NTuple::Item<double> m_pz_cms_em;
229 NTuple::Item<double> m_e_cms_em;
230 NTuple::Item<double> m_cos_em;
231 NTuple::Item<double> m_mass_ee;
232 NTuple::Item<double> m_emax;
233 NTuple::Item<double> m_esum;
234 NTuple::Item<long> m_npip;
235 NTuple::Item<long> m_npim;
236 NTuple::Item<long> m_nkp;
237 NTuple::Item<long> m_nkm;
238 NTuple::Item<long> m_np;
239 NTuple::Item<long> m_npb;
240 NTuple::Item<long> m_nep;
241 NTuple::Item<long> m_nem;
242 NTuple::Item<long> m_nmup;
243 NTuple::Item<long> m_nmum;
244};
245
246#endif
DQASelDimu(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode initialize()
StatusCode finalize()
StatusCode execute()