00001 #ifndef Physics_Analysis_Ppjrhopi_H 00002 #define Physics_Analysis_Ppjrhopi_H 00003 00004 #include "GaudiKernel/AlgFactory.h" 00005 #include "GaudiKernel/Algorithm.h" 00006 #include "GaudiKernel/NTuple.h" 00007 //#include "VertexFit/ReadBeamParFromDb.h" 00008 00009 class Ppjrhopi : public Algorithm { 00010 00011 public: 00012 Ppjrhopi(const std::string& name, ISvcLocator* pSvcLocator); 00013 StatusCode initialize(); 00014 StatusCode execute(); 00015 StatusCode finalize(); 00016 00017 private: 00018 00019 // ReadBeamParFromDb m_reader; 00020 // Declare r0, z0 cut for charged tracks 00021 double m_vr0cut; 00022 double m_vz0cut; 00023 double m_vr1cut; 00024 double m_vz1cut; 00025 double m_cthcut; 00026 00027 //Declare energy, dphi, dthe cuts for fake gamma's 00028 double m_energyThreshold; 00029 double m_gammaAngCut; 00030 // double m_gammaPhiCut; 00031 // double m_gammaThetaCut; 00032 00033 // 00034 int m_test4C; 00035 int m_test5C; 00036 00037 // 00038 int m_checkDedx; 00039 int m_checkTof; 00040 00041 // define Ntuples here 00042 00043 NTuple::Tuple* m_tuple4; // rhopi 4C 00044 NTuple::Item<long> m_run; 00045 NTuple::Item<long> m_rec; 00046 NTuple::Item<long> m_nch; 00047 NTuple::Item<long> m_nneu; 00048 NTuple::Item<long> m_gdgam; 00049 NTuple::Item<double> m_recpp; 00050 NTuple::Item<double> m_chi1; 00051 NTuple::Item<double> m_mpi0; 00052 NTuple::Item<double> m_mprho0; 00053 NTuple::Item<double> m_mprhop; 00054 NTuple::Item<double> m_mprhom; 00055 NTuple::Item<double> m_mpjjj; 00056 NTuple::Item<double> m_bepi0; 00057 NTuple::Item<double> m_be4cjpsi; 00058 NTuple::Item<double> m_mp2pi1; 00059 NTuple::Item<double> m_mf2pi1g1; 00060 NTuple::Item<double> m_mf2pi1g2; 00061 NTuple::Item<double> m_mf2pi1pi0; 00062 NTuple::Item<double> m_mt2pi2g1; 00063 NTuple::Item<double> m_mt2pi2g2; 00064 NTuple::Item<double> m_mp2pi3; 00065 NTuple::Item<double> m_mf2pi3g1; 00066 NTuple::Item<double> m_mf2pi3g2; 00067 NTuple::Item<double> m_mf2pi3pi0; 00068 NTuple::Item<double> m_mp2pi4; 00069 NTuple::Item<double> m_mf2pi4g1; 00070 NTuple::Item<double> m_mf2pi4g2; 00071 NTuple::Item<double> m_mf2pi4pi0; 00072 NTuple::Item<double> m_mp4pi; 00073 NTuple::Item<double> m_mppptot; 00074 NTuple::Item<double> m_mp4pig1; 00075 NTuple::Item<double> m_mp4pig2; 00076 00077 NTuple::Item<double> m_mpx1; 00078 NTuple::Item<double> m_mpy1; 00079 NTuple::Item<double> m_mpz1; 00080 NTuple::Item<double> m_mpe1; 00081 NTuple::Item<double> m_mpx2; 00082 NTuple::Item<double> m_mpy2; 00083 NTuple::Item<double> m_mpz2; 00084 NTuple::Item<double> m_mpe2; 00085 NTuple::Item<double> m_mpx3; 00086 NTuple::Item<double> m_mpy3; 00087 NTuple::Item<double> m_mpz3; 00088 NTuple::Item<double> m_mpe3; 00089 NTuple::Item<double> m_mpx4; 00090 NTuple::Item<double> m_mpy4; 00091 NTuple::Item<double> m_mpz4; 00092 NTuple::Item<double> m_mpe4; 00093 NTuple::Item<double> m_mpxg1; 00094 NTuple::Item<double> m_mpyg1; 00095 NTuple::Item<double> m_mpzg1; 00096 NTuple::Item<double> m_mpeg1; 00097 NTuple::Item<double> m_mpxg2; 00098 NTuple::Item<double> m_mpyg2; 00099 NTuple::Item<double> m_mpzg2; 00100 NTuple::Item<double> m_mpeg2; 00101 NTuple::Item<double> m_chikk; 00102 /* 00103 NTuple::Item<double> m_p1vx; 00104 NTuple::Item<double> m_p1vy; 00105 NTuple::Item<double> m_p1vz; 00106 NTuple::Item<double> m_p1vr; 00107 NTuple::Item<double> m_p1vct; 00108 NTuple::Item<double> m_m1vx; 00109 NTuple::Item<double> m_m1vy; 00110 NTuple::Item<double> m_m1vz; 00111 NTuple::Item<double> m_m1vr; 00112 NTuple::Item<double> m_m1vct; 00113 NTuple::Item<double> m_p2vx; 00114 NTuple::Item<double> m_p2vy; 00115 NTuple::Item<double> m_p2vz; 00116 NTuple::Item<double> m_p2vr; 00117 NTuple::Item<double> m_p2vct; 00118 NTuple::Item<double> m_m2vx; 00119 NTuple::Item<double> m_m2vy; 00120 NTuple::Item<double> m_m2vz; 00121 NTuple::Item<double> m_m2vr; 00122 NTuple::Item<double> m_m2vct; 00123 NTuple::Item<double> m_p1ptot; 00124 NTuple::Item<double> m_emcTp1; 00125 NTuple::Item<double> m_m1ptot; 00126 NTuple::Item<double> m_emcTm1; 00127 NTuple::Item<double> m_p2ptot; 00128 NTuple::Item<double> m_emcTp2; 00129 NTuple::Item<double> m_m2ptot; 00130 NTuple::Item<double> m_emcTm2; 00131 NTuple::Item<double> m_p1pxy; 00132 NTuple::Item<double> m_m1pxy; 00133 NTuple::Item<double> m_p2pxy; 00134 NTuple::Item<double> m_m2pxy; 00135 NTuple::Item<double> m_laypip1; 00136 NTuple::Item<double> m_laypim1; 00137 NTuple::Item<double> m_laypip2; 00138 NTuple::Item<double> m_laypim2; 00139 */ 00140 00141 NTuple::Item<long> m_good; 00142 NTuple::Item<long> m_gam; 00143 NTuple::Item<long> m_pip; 00144 NTuple::Item<long> m_pim; 00145 NTuple::Item<long> m_pidpip; 00146 NTuple::Array<double> m_ipipin; 00147 NTuple::Item<long> m_pidpim; 00148 NTuple::Array<double> m_ipimin; 00149 00150 NTuple::Item<double> m_angle; 00151 NTuple::Item<double> m_cosuubr; 00152 NTuple::Item<double> m_cosmupbr; 00153 NTuple::Item<double> m_cosmumbr; 00154 NTuple::Item<double> m_phimupbr; 00155 NTuple::Item<double> m_phimumbr; 00156 NTuple::Item<long> m_ngch; 00157 NTuple::Array<double> m_ptrk; 00158 NTuple::Array<double> m_chie; 00159 NTuple::Array<double> m_chimu; 00160 NTuple::Array<double> m_chipi; 00161 NTuple::Array<double> m_chik; 00162 NTuple::Array<double> m_chip; 00163 NTuple::Array<double> m_probPH; 00164 NTuple::Array<double> m_normPH; 00165 NTuple::Array<double> m_ghit; 00166 NTuple::Array<double> m_thit; 00167 00168 NTuple::Array<double> m_ptot_etof; 00169 NTuple::Array<double> m_cntr_etof; 00170 NTuple::Array<double> m_te_etof; 00171 NTuple::Array<double> m_tmu_etof; 00172 NTuple::Array<double> m_tpi_etof; 00173 NTuple::Array<double> m_tk_etof; 00174 NTuple::Array<double> m_tp_etof; 00175 NTuple::Array<double> m_ph_etof; 00176 NTuple::Array<double> m_rhit_etof; 00177 NTuple::Array<double> m_qual_etof; 00178 NTuple::Array<double> m_ec_toff_e; 00179 NTuple::Array<double> m_ec_toff_mu; 00180 NTuple::Array<double> m_ec_toff_pi; 00181 NTuple::Array<double> m_ec_toff_k; 00182 NTuple::Array<double> m_ec_toff_p; 00183 NTuple::Array<double> m_ec_tsig_e; 00184 NTuple::Array<double> m_ec_tsig_mu; 00185 NTuple::Array<double> m_ec_tsig_pi; 00186 NTuple::Array<double> m_ec_tsig_k; 00187 NTuple::Array<double> m_ec_tsig_p; 00188 NTuple::Array<double> m_ec_tof; 00189 00190 NTuple::Array<double> m_ptot_btof1; 00191 NTuple::Array<double> m_cntr_btof1; 00192 NTuple::Array<double> m_te_btof1; 00193 NTuple::Array<double> m_tmu_btof1; 00194 NTuple::Array<double> m_tpi_btof1; 00195 NTuple::Array<double> m_tk_btof1; 00196 NTuple::Array<double> m_tp_btof1; 00197 NTuple::Array<double> m_ph_btof1; 00198 NTuple::Array<double> m_zhit_btof1; 00199 NTuple::Array<double> m_qual_btof1; 00200 NTuple::Array<double> m_b1_toff_e; 00201 NTuple::Array<double> m_b1_toff_mu; 00202 NTuple::Array<double> m_b1_toff_pi; 00203 NTuple::Array<double> m_b1_toff_k; 00204 NTuple::Array<double> m_b1_toff_p; 00205 NTuple::Array<double> m_b1_tsig_e; 00206 NTuple::Array<double> m_b1_tsig_mu; 00207 NTuple::Array<double> m_b1_tsig_pi; 00208 NTuple::Array<double> m_b1_tsig_k; 00209 NTuple::Array<double> m_b1_tsig_p; 00210 NTuple::Array<double> m_b1_tof; 00211 00212 NTuple::Array<double> m_dedx_pid; 00213 NTuple::Array<double> m_tof1_pid; 00214 NTuple::Array<double> m_tof2_pid; 00215 NTuple::Array<double> m_prob_pid; 00216 NTuple::Array<double> m_ptrk_pid; 00217 NTuple::Array<double> m_cost_pid; 00218 00219 NTuple::Item<long> m_nggneu; 00220 NTuple::Array<double> m_numHits; // Total number of hits 00221 NTuple::Array<double> m_secondmoment; 00222 NTuple::Array<double> m_x; // Shower coordinates and errors 00223 NTuple::Array<double> m_y; 00224 NTuple::Array<double> m_z; 00225 NTuple::Array<double> m_cosemc; // Shower Counter angles and errors 00226 NTuple::Array<double> m_phiemc; 00227 NTuple::Array<double> m_energy; // Total energy observed in Emc 00228 NTuple::Array<double> m_eSeed; 00229 NTuple::Array<double> m_e3x3; 00230 NTuple::Array<double> m_e5x5; 00231 NTuple::Array<double> m_lat; 00232 NTuple::Array<double> m_a20; 00233 NTuple::Array<double> m_a42; 00234 00235 }; 00236 00237 #endif