00001 #ifndef Physics_ControlSample_DQASelBhbha_H
00002 #define Physics_ControlSample_DQASelBhabha_H
00003
00004 #include "GaudiKernel/AlgFactory.h"
00005 #include "GaudiKernel/Algorithm.h"
00006 #include "GaudiKernel/NTuple.h"
00007
00008 #include "GaudiKernel/ITHistSvc.h"
00009 #include "TH1.h"
00010
00011
00024 class DQASelBhabha : public Algorithm {
00025
00026 public:
00027
00028 DQASelBhabha(const std::string& name, ISvcLocator* pSvcLocator);
00029 StatusCode initialize();
00030 StatusCode execute();
00031 StatusCode finalize();
00032
00033 private:
00034 ITHistSvc *m_thistsvc;
00035 TH1F *m_ee_mass;
00036 TH1F *m_ee_acoll;
00037 TH1F *m_ee_eop_ep;
00038 TH1F *m_ee_eop_em;
00039 TH1F *m_ee_costheta_ep;
00040 TH1F *m_ee_costheta_em;
00041 TH1F *m_ee_phi_ep;
00042 TH1F *m_ee_phi_em;
00043 TH1I *m_ee_nneu;
00044
00045
00046 TH1F *m_ee_etot;
00047 TH1F *m_ee_e_ep;
00048 TH1F *m_ee_e_em;
00049 TH1F *m_ee_p_ep;
00050 TH1F *m_ee_p_em;
00051
00052 TH1F *m_ee_e_mass;
00053 TH1F *m_ee_e_costheta_ep;
00054 TH1F *m_ee_e_costheta_em;
00055 TH1F *m_ee_e_phi_ep;
00056 TH1F *m_ee_e_phi_em;
00057 TH1F *m_ee_e_etot;
00058 TH1F *m_ee_e_e_ep;
00059 TH1F *m_ee_e_e_em;
00060 TH1F *m_ee_e_p_ep;
00061 TH1F *m_ee_e_p_em;
00062
00063 TH1F *m_ee_b_mass;
00064 TH1F *m_ee_b_costheta_ep;
00065 TH1F *m_ee_b_costheta_em;
00066 TH1F *m_ee_b_phi_ep;
00067 TH1F *m_ee_b_phi_em;
00068 TH1F *m_ee_b_etot;
00069 TH1F *m_ee_b_e_ep;
00070 TH1F *m_ee_b_e_em;
00071 TH1F *m_ee_b_p_ep;
00072 TH1F *m_ee_b_p_em;
00073
00074
00075 TH1F *m_ee_eemc_ep;
00076 TH1F *m_ee_eemc_em;
00077 TH1F * m_ee_x_ep;
00078 TH1F * m_ee_y_ep;
00079 TH1F * m_ee_z_ep;
00080 TH1F * m_ee_x_em;
00081 TH1F * m_ee_y_em;
00082 TH1F * m_ee_z_em;
00083 TH1F * m_ee_px_ep;
00084 TH1F * m_ee_py_ep;
00085 TH1F * m_ee_pz_ep;
00086 TH1F * m_ee_px_em;
00087 TH1F * m_ee_py_em;
00088 TH1F * m_ee_pz_em;
00089 TH1F * m_ee_deltatof;
00090 TH1F * m_ee_pidchidedx_ep;
00091 TH1F * m_ee_pidchidedx_em;
00092 TH1F * m_ee_pidchitof1_ep;
00093 TH1F * m_ee_pidchitof1_em;
00094 TH1F * m_ee_pidchitof2_ep;
00095 TH1F * m_ee_pidchitof2_em;
00096
00097
00098
00099
00100 bool m_writentuple;
00101
00102 double m_ecms;
00103 double m_beamangle;
00104 double m_vr0cut;
00105 double m_vz0cut;
00106 double m_coscut;
00107
00108 bool m_useTOF;
00109 bool m_usePID;
00110 bool m_useEMC;
00111 bool m_useMUC;
00112 bool m_useMDC;
00113 bool m_useDEDX;
00114 bool m_useEMConly;
00115
00116 double m_energyThreshold;
00117 double m_gammaPhiCut;
00118 double m_gammaThetaCut;
00119 double m_gammaTrkCut;
00120 double m_gammathCut;
00121 double m_gammatlCut;
00122 double m_acoll_e_cut;
00123 double m_acopl_e_cut;
00124 double m_poeb_e_cut;
00125 double m_dtof_e_cut;
00126 double m_eoeb_e_cut;
00127 double m_etotal_e_cut;
00128
00129 double m_tpoeb_e_cut;
00130 double m_tptotal_e_cut;
00131 double m_tetotal_e_cut;
00132
00133
00134
00135 NTuple::Tuple* m_tuple1;
00136 NTuple::Item<long> m_run ;
00137 NTuple::Item<long> m_rec;
00138 NTuple::Item<long> m_ncharg;
00139 NTuple::Item<long> m_nneu ;
00140 NTuple::Item<long> m_ngch ;
00141 NTuple::Item<long> m_nGam ;
00142 NTuple::Item<long> m_bhabhatag ;
00143
00144 NTuple::Item<double> m_acoll;
00145 NTuple::Item<double> m_acopl;
00146 NTuple::Item<double> m_deltatof;
00147 NTuple::Item<double> m_eop1;
00148 NTuple::Item<double> m_eop2;
00149 NTuple::Item<double> m_eoeb1;
00150 NTuple::Item<double> m_eoeb2;
00151 NTuple::Item<double> m_poeb1;
00152 NTuple::Item<double> m_poeb2;
00153 NTuple::Item<double> m_etoeb1;
00154 NTuple::Item<double> m_etoeb2;
00155 NTuple::Item<long> m_mucinfo1;
00156 NTuple::Item<long> m_mucinfo2;
00157
00158
00159 NTuple::Array<double> m_delang ;
00160 NTuple::Array<double> m_delphi ;
00161 NTuple::Array<double> m_delthe ;
00162 NTuple::Array<long> m_nSeed;
00163 NTuple::Array<long> m_npart;
00164 NTuple::Array<long> m_module;
00165 NTuple::Array<long> m_nemchits;
00166 NTuple::Array<double> m_x;
00167 NTuple::Array<double> m_y;
00168 NTuple::Array<double> m_z;
00169 NTuple::Array<double> m_dx;
00170 NTuple::Array<double> m_dy;
00171 NTuple::Array<double> m_dz;
00172 NTuple::Array<double> m_dtheta;
00173 NTuple::Array<double> m_dphi;
00174 NTuple::Array<double> m_theta;
00175 NTuple::Array<double> m_phi;
00176 NTuple::Array<double> m_energy;
00177 NTuple::Array<double> m_dE;
00178 NTuple::Array<double> m_eSeed;
00179 NTuple::Array<double> m_e3x3;
00180 NTuple::Array<double> m_e5x5;
00181 NTuple::Array<double> m_secondMoment;
00182 NTuple::Array<double> m_latMoment;
00183 NTuple::Array<double> m_a20Moment;
00184 NTuple::Array<double> m_a42Moment;
00185 NTuple::Array<double> m_getTime;
00186 NTuple::Array<double> m_getEAll;
00187
00188
00189
00190
00191 NTuple::Array<long> m_charge ;
00192 NTuple::Array<double> m_vx0 ;
00193 NTuple::Array<double> m_vy0 ;
00194 NTuple::Array<double> m_vz0 ;
00195
00196
00197 NTuple::Array<double> m_px ;
00198 NTuple::Array<double> m_py ;
00199 NTuple::Array<double> m_pz ;
00200 NTuple::Array<double> m_p ;
00201
00202
00203 NTuple::Array<double> m_kal_vx0 ;
00204 NTuple::Array<double> m_kal_vy0 ;
00205 NTuple::Array<double> m_kal_vz0 ;
00206
00207
00208 NTuple::Array<double> m_kal_px ;
00209 NTuple::Array<double> m_kal_py ;
00210 NTuple::Array<double> m_kal_pz ;
00211 NTuple::Array<double> m_kal_p ;
00212
00213
00214
00215
00216 NTuple::Array<float> m_probPH;
00217 NTuple::Array<float> m_normPH;
00218 NTuple::Array<float> m_chie ;
00219 NTuple::Array<float> m_chimu ;
00220 NTuple::Array<float> m_chipi ;
00221 NTuple::Array<float> m_chik ;
00222 NTuple::Array<float> m_chip ;
00223 NTuple::Array<float> m_ghit ;
00224 NTuple::Array<float> m_thit ;
00225
00226 NTuple::Array<float> m_e_emc ;
00227 NTuple::Array<float> m_theta_emc ;
00228 NTuple::Array<float> m_phi_emc ;
00229
00230 NTuple::Array<float> m_nhit_muc ;
00231 NTuple::Array<float> m_nlay_muc;
00232
00233 NTuple::Array<double> m_qual_etof ;
00234 NTuple::Array<double> m_tof_etof ;
00235 NTuple::Array<double> m_te_etof ;
00236 NTuple::Array<double> m_tmu_etof ;
00237 NTuple::Array<double> m_tpi_etof ;
00238 NTuple::Array<double> m_tk_etof ;
00239 NTuple::Array<double> m_tp_etof ;
00240
00241 NTuple::Array<double> m_qual_btof1 ;
00242 NTuple::Array<double> m_tof_btof1 ;
00243 NTuple::Array<double> m_te_btof1 ;
00244 NTuple::Array<double> m_tmu_btof1 ;
00245 NTuple::Array<double> m_tpi_btof1 ;
00246 NTuple::Array<double> m_tk_btof1 ;
00247 NTuple::Array<double> m_tp_btof1 ;
00248 NTuple::Array<double> m_t_btof ;
00249 NTuple::Array<double> m_t_etof ;
00250 NTuple::Array<double> m_qual_btof2 ;
00251 NTuple::Array<double> m_tof_btof2 ;
00252 NTuple::Array<double> m_te_btof2 ;
00253 NTuple::Array<double> m_tmu_btof2 ;
00254 NTuple::Array<double> m_tpi_btof2 ;
00255 NTuple::Array<double> m_tk_btof2 ;
00256 NTuple::Array<double> m_tp_btof2 ;
00257 NTuple::Array<long> m_pidcode;
00258 NTuple::Array<double> m_pidprob;
00259 NTuple::Array<double> m_pidchiDedx;
00260 NTuple::Array<double> m_pidchiTof1;
00261 NTuple::Array<double> m_pidchiTof2;
00262
00263 NTuple::Item<double> m_px_cms_ep ;
00264 NTuple::Item<double> m_py_cms_ep ;
00265 NTuple::Item<double> m_pz_cms_ep ;
00266 NTuple::Item<double> m_e_cms_ep ;
00267 NTuple::Item<double> m_cos_ep ;
00268 NTuple::Item<double> m_px_cms_em ;
00269 NTuple::Item<double> m_py_cms_em ;
00270 NTuple::Item<double> m_pz_cms_em ;
00271 NTuple::Item<double> m_e_cms_em ;
00272 NTuple::Item<double> m_cos_em ;
00273 NTuple::Item<double> m_mass_ee ;
00274 NTuple::Item<double> m_emax ;
00275 NTuple::Item<double> m_esum ;
00276 NTuple::Item<long> m_npip ;
00277 NTuple::Item<long> m_npim ;
00278 NTuple::Item<long> m_nkp ;
00279 NTuple::Item<long> m_nkm ;
00280 NTuple::Item<long> m_np ;
00281 NTuple::Item<long> m_npb ;
00282 NTuple::Item<long> m_nep ;
00283 NTuple::Item<long> m_nem ;
00284 NTuple::Item<long> m_nmup ;
00285 NTuple::Item<long> m_nmum ;
00286
00287
00288
00289
00290
00291 };
00292
00293
00294 #endif