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