BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
TestV.h
Go to the documentation of this file.
1#ifndef Physics_Analysis_TestV_H
2#define Physics_Analysis_TestV_H
3
4#include "GaudiKernel/AlgFactory.h"
5#include "GaudiKernel/Algorithm.h"
6#include "GaudiKernel/NTuple.h"
7#include "GaudiKernel/ITHistSvc.h"
8
9#include "TH1.h"
10
11class TestV : public Algorithm {
12
13public:
14 TestV(const std::string& name, ISvcLocator* pSvcLocator);
15 StatusCode initialize();
16 StatusCode execute();
17 StatusCode finalize();
18
19private:
20 ITHistSvc *m_thistsvc;
21
22 TH1F *m_pp_mass;
23 TH1F *m_pp_angle;
24 TH1F *m_pp_deltatof;
25
26 TH1F *m_pp_x_pp;
27 TH1F *m_pp_y_pp;
28 TH1F *m_pp_z_pp;
29 TH1F *m_pp_r_pp;
30 TH1F *m_pp_px_pp;
31 TH1F *m_pp_py_pp;
32 TH1F *m_pp_pz_pp;
33 TH1F *m_pp_p_pp;
34 TH1F *m_pp_cos_pp;
35 TH1F *m_pp_emc_pp;
36 TH1F *m_pp_pidchidedx_pp;
37 TH1F *m_pp_pidchitof1_pp;
38 TH1F *m_pp_pidchitof2_pp;
39
40 TH1F *m_pp_x_pb;
41 TH1F *m_pp_y_pb;
42 TH1F *m_pp_z_pb;
43 TH1F *m_pp_r_pb;
44 TH1F *m_pp_px_pb;
45 TH1F *m_pp_py_pb;
46 TH1F *m_pp_pz_pb;
47 TH1F *m_pp_p_pb;
48 TH1F *m_pp_cos_pb;
49 TH1F *m_pp_emc_pb;
50 TH1F *m_pp_pidchidedx_pb;
51 TH1F *m_pp_pidchitof1_pb;
52 TH1F *m_pp_pidchitof2_pb;
53
54
55
56 // Declare r0, z0 cut for charged tracks
57 double m_vr0cut;
58 double m_vz0cut;
59 double m_coscut;
60 bool m_useKalTrk;
61 bool m_tagPPbar;
62
63 //Declare energy, dphi, dthe cuts for fake gamma's
64 double m_energyThreshold;
65 double m_gammaPhiCut;
66 double m_gammaThetaCut;
67
68 //
69 int m_test4C;
70 int m_test5C;
71
72 //
73 int m_checkDedx;
74 int m_checkTof;
75
76
77 // define Ntuples here
78
79 NTuple::Tuple* m_tuple1; // charged track vertex
80
81 NTuple::Item<long> m_run ;
82 NTuple::Item<long> m_event;
83 NTuple::Item<long> m_nchrg;
84 NTuple::Item<long> m_nneu ;
85 NTuple::Item<long> m_ngch ;
86
87 NTuple::Array<long> m_ch_truth ;
88 NTuple::Array<long> m_ch_kal ;
89
90 NTuple::Array<long> m_charge ;
91 NTuple::Array<double> m_vx0 ;
92 NTuple::Array<double> m_vy0 ;
93 NTuple::Array<double> m_vz0 ;
94 NTuple::Array<double> m_vr0 ;
95 NTuple::Array<double> m_px ;
96 NTuple::Array<double> m_py ;
97 NTuple::Array<double> m_pz ;
98 NTuple::Array<double> m_p ;
99 NTuple::Array<double> m_cos ;
100
101 NTuple::Array<double> m_bst_px ;
102 NTuple::Array<double> m_bst_py ;
103 NTuple::Array<double> m_bst_pz ;
104 NTuple::Array<double> m_bst_p ;
105 NTuple::Array<double> m_bst_cos ;
106
107 NTuple::Array<double> m_kal_vx0 ;
108 NTuple::Array<double> m_kal_vy0 ;
109 NTuple::Array<double> m_kal_vz0 ;
110 NTuple::Array<double> m_kal_vr0 ;
111 NTuple::Array<double> m_kal_px ;
112 NTuple::Array<double> m_kal_py ;
113 NTuple::Array<double> m_kal_pz ;
114 NTuple::Array<double> m_kal_p ;
115 NTuple::Array<double> m_kal_cos ;
116
117 NTuple::Array<double> m_bst_kal_px ;
118 NTuple::Array<double> m_bst_kal_py ;
119 NTuple::Array<double> m_bst_kal_pz ;
120 NTuple::Array<double> m_bst_kal_p ;
121 NTuple::Array<double> m_bst_kal_cos ;
122
123 NTuple::Array<double> m_vtx_px ;
124 NTuple::Array<double> m_vtx_py ;
125 NTuple::Array<double> m_vtx_pz ;
126 NTuple::Array<double> m_vtx_p ;
127 NTuple::Array<double> m_vtx_cos ;
128
129 NTuple::Array<double> m_probPH;
130 NTuple::Array<double> m_normPH;
131 NTuple::Array<double> m_chie ;
132 NTuple::Array<double> m_chimu ;
133 NTuple::Array<double> m_chipi ;
134 NTuple::Array<double> m_chik ;
135 NTuple::Array<double> m_chip ;
136 NTuple::Array<double> m_ghit ;
137 NTuple::Array<double> m_thit ;
138
139 NTuple::Array<double> m_e_emc ;
140
141 NTuple::Array<double> m_tof_b1;
142 NTuple::Array<double> m_beta_b1;
143 NTuple::Array<double> m_tof_b2;
144 NTuple::Array<double> m_beta_b2;
145 NTuple::Array<double> m_tof_e;
146 NTuple::Array<double> m_beta_e;
147
148 NTuple::Array<double> m_clus_tof ;
149 NTuple::Array<double> m_clus_texp_e ;
150 NTuple::Array<double> m_clus_texp_mu ;
151 NTuple::Array<double> m_clus_texp_pi ;
152 NTuple::Array<double> m_clus_texp_k ;
153 NTuple::Array<double> m_clus_texp_p ;
154 NTuple::Array<double> m_clus_toff_e ;
155 NTuple::Array<double> m_clus_toff_mu ;
156 NTuple::Array<double> m_clus_toff_pi ;
157 NTuple::Array<double> m_clus_toff_k ;
158 NTuple::Array<double> m_clus_toff_p ;
159 NTuple::Array<double> m_clus_tsig_e ;
160 NTuple::Array<double> m_clus_tsig_mu ;
161 NTuple::Array<double> m_clus_tsig_pi ;
162 NTuple::Array<double> m_clus_tsig_k ;
163 NTuple::Array<double> m_clus_tsig_p ;
164 NTuple::Array<double> m_clus_path ;
165 NTuple::Array<double> m_clus_zrhit ;
166 NTuple::Array<double> m_clus_ph ;
167 NTuple::Array<double> m_clus_beta ;
168 NTuple::Array<double> m_clus_qual ;
169 NTuple::Array<double> m_clus_t0 ;
170
171 NTuple::Array<double> m_cntr_etof ;
172 NTuple::Array<double> m_ptot_etof ;
173 NTuple::Array<double> m_ph_etof ;
174 NTuple::Array<double> m_rhit_etof ;
175 NTuple::Array<double> m_qual_etof ;
176 NTuple::Array<double> m_tof_etof ;
177 NTuple::Array<double> m_te_etof ;
178 NTuple::Array<double> m_tmu_etof ;
179 NTuple::Array<double> m_tpi_etof ;
180 NTuple::Array<double> m_tk_etof ;
181 NTuple::Array<double> m_tp_etof ;
182
183 NTuple::Array<double> m_cntr_btof1 ;
184 NTuple::Array<double> m_ptot_btof1 ;
185 NTuple::Array<double> m_ph_btof1 ;
186 NTuple::Array<double> m_zhit_btof1 ;
187 NTuple::Array<double> m_qual_btof1 ;
188 NTuple::Array<double> m_tof_btof1 ;
189 NTuple::Array<double> m_te_btof1 ;
190 NTuple::Array<double> m_tmu_btof1 ;
191 NTuple::Array<double> m_tpi_btof1 ;
192 NTuple::Array<double> m_tk_btof1 ;
193 NTuple::Array<double> m_tp_btof1 ;
194
195 NTuple::Array<double> m_cntr_btof2 ;
196 NTuple::Array<double> m_ptot_btof2 ;
197 NTuple::Array<double> m_ph_btof2 ;
198 NTuple::Array<double> m_zhit_btof2 ;
199 NTuple::Array<double> m_qual_btof2 ;
200 NTuple::Array<double> m_tof_btof2 ;
201 NTuple::Array<double> m_te_btof2 ;
202 NTuple::Array<double> m_tmu_btof2 ;
203 NTuple::Array<double> m_tpi_btof2 ;
204 NTuple::Array<double> m_tk_btof2 ;
205 NTuple::Array<double> m_tp_btof2 ;
206
207 NTuple::Array<double> m_ptrk_pid ;
208 NTuple::Array<double> m_cost_pid ;
209 NTuple::Array<double> m_dedx_pid ;
210 NTuple::Array<double> m_tof1_pid ;
211 NTuple::Array<double> m_tof2_pid ;
212 NTuple::Array<double> m_prob_pi ;
213 NTuple::Array<double> m_prob_k ;
214 NTuple::Array<double> m_prob_p ;
215
216 NTuple::Item<long> m_np ;
217 NTuple::Item<long> m_npb;
218
219 NTuple::Item<double> m_m2p ;
220 NTuple::Item<double> m_angle ;
221 NTuple::Item<double> m_deltatof ;
222
223 NTuple::Item<double> m_kal_m2p ;
224 NTuple::Item<double> m_kal_angle ;
225
226 NTuple::Item<double> m_vtx_m2p ;
227 NTuple::Item<double> m_vtx_angle ;
228
229// NTuple::Item<double> m_Jpx ;
230// NTuple::Item<double> m_Jpy ;
231// NTuple::Item<double> m_Jpz ;
232// NTuple::Item<double> m_Jpp ;
233// NTuple::Item<double> m_m2p ;
234//
235// NTuple::Item<double> m_p1pp ;
236// NTuple::Item<double> m_p1px ;
237// NTuple::Item<double> m_p1py ;
238// NTuple::Item<double> m_p1pz ;
239// NTuple::Item<double> m_p1cos ;
240//
241// NTuple::Item<double> m_p2pp ;
242// NTuple::Item<double> m_p2px ;
243// NTuple::Item<double> m_p2py ;
244// NTuple::Item<double> m_p2pz ;
245// NTuple::Item<double> m_p2cos;
246//
247// NTuple::Item<double> m_angle ;
248
249};
250
251#endif
Definition TestV.h:11
TestV(const std::string &name, ISvcLocator *pSvcLocator)
Definition TestV.cxx:66
StatusCode execute()
Definition TestV.cxx:349
StatusCode initialize()
Definition TestV.cxx:85
StatusCode finalize()
Definition TestV.cxx:926