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