00001 #ifndef Physics_Analysis_DQARhopi_H 00002 #define Physics_Analysis_DQARhopi_H 00003 00004 #include "GaudiKernel/AlgFactory.h" 00005 #include "GaudiKernel/Algorithm.h" 00006 #include "GaudiKernel/NTuple.h" 00007 00008 class ITHistSvc; 00009 00010 class DQARhopi : public Algorithm { 00011 00012 public: 00013 DQARhopi(const std::string& name, ISvcLocator* pSvcLocator); 00014 StatusCode initialize(); 00015 StatusCode execute(); 00016 StatusCode finalize(); 00017 00018 private: 00019 00020 // Declare r0, z0 cut for charged tracks 00021 double m_vr0cut; 00022 double m_vz0cut; 00023 double m_cthcut; 00024 00025 //Declare energy, dphi, dthe cuts for fake gamma's 00026 double m_energyThreshold; 00027 double m_gammaAngCut; 00028 00029 // 00030 int m_test4C; 00031 int m_test5C; 00032 00033 // 00034 int m_checkDedx; 00035 int m_checkTof; 00036 00037 ITHistSvc* m_thsvc; 00038 00039 NTuple::Tuple* m_tuple4; // rhopi 4C 00040 NTuple::Item<long> m_run; 00041 NTuple::Item<long> m_rec; 00042 NTuple::Item<long> m_nch; 00043 NTuple::Item<long> m_nneu; 00044 NTuple::Item<double> m_chi1; 00045 NTuple::Item<double> m_mpi0; 00046 NTuple::Item<double> m_prho0; 00047 NTuple::Item<double> m_prhop; 00048 NTuple::Item<double> m_prhom; 00049 NTuple::Item<long> m_good; 00050 NTuple::Item<long> m_gam; 00051 NTuple::Item<long> m_pip; 00052 NTuple::Item<long> m_pim; 00053 NTuple::Item<double> m_2gam; 00054 NTuple::Item<double> m_outpi0; 00055 NTuple::Item<double> m_cosang; 00056 NTuple::Item<double> m_outpip; 00057 NTuple::Item<double> m_outpim; 00058 NTuple::Item<double> m_enpip; 00059 NTuple::Item<double> m_dcpip; 00060 NTuple::Item<double> m_enpim; 00061 NTuple::Item<double> m_dcpim; 00062 NTuple::Item<double> m_pipf; 00063 NTuple::Item<double> m_pimf; 00064 NTuple::Item<double> m_pi0f; 00065 NTuple::Item<long> m_nangecc; 00066 NTuple::Array<double> m_dthec; 00067 NTuple::Array<double> m_dphic; 00068 NTuple::Array<double> m_dangc; 00069 NTuple::Array<double> m_mspippim; 00070 00071 NTuple::Item<double> m_pmax; 00072 NTuple::Item<double> m_ppx; 00073 NTuple::Item<double> m_ppy; 00074 NTuple::Item<double> m_ppz; 00075 NTuple::Item<double> m_costhep; 00076 NTuple::Item<double> m_ppxkal; 00077 NTuple::Item<double> m_ppykal; 00078 NTuple::Item<double> m_ppzkal; 00079 NTuple::Item<double> m_mpx; 00080 NTuple::Item<double> m_mpy; 00081 NTuple::Item<double> m_mpz; 00082 NTuple::Item<double> m_costhem; 00083 NTuple::Item<double> m_mpxkal; 00084 NTuple::Item<double> m_mpykal; 00085 NTuple::Item<double> m_mpzkal; 00086 NTuple::Item<double> m_vxpin; 00087 NTuple::Item<double> m_vypin; 00088 NTuple::Item<double> m_vzpin; 00089 NTuple::Item<double> m_vrpin; 00090 NTuple::Item<double> m_costhepin; 00091 NTuple::Item<double> m_vxmin; 00092 NTuple::Item<double> m_vymin; 00093 NTuple::Item<double> m_vzmin; 00094 NTuple::Item<double> m_vrmin; 00095 NTuple::Item<double> m_costhemin; 00096 00097 NTuple::Item<double> m_vxp; 00098 NTuple::Item<double> m_vyp; 00099 NTuple::Item<double> m_vzp; 00100 NTuple::Item<double> m_vrp; 00101 NTuple::Item<double> m_vxm; 00102 NTuple::Item<double> m_vym; 00103 NTuple::Item<double> m_vzm; 00104 NTuple::Item<double> m_vrm; 00105 00106 NTuple::Item<double> dangsg; 00107 NTuple::Item<double> dthesg; 00108 NTuple::Item<double> dphisg; 00109 NTuple::Item<double> cosgth1; 00110 NTuple::Item<double> cosgth2; 00111 00112 NTuple::Item<double> m_chi5; 00113 NTuple::Item<double> m_kpi0; 00114 NTuple::Item<double> m_kpkm; 00115 NTuple::Item<double> m_kpp0; 00116 NTuple::Item<double> m_kmp0; 00117 NTuple::Item<double> m_pgam2pi1; 00118 NTuple::Item<double> m_pgam2pi2; 00119 NTuple::Item<double> cosva1; 00120 NTuple::Item<double> cosva2; 00121 NTuple::Item<double> m_laypi1; 00122 NTuple::Item<double> m_hit1; 00123 NTuple::Item<double> m_laypi2; 00124 NTuple::Item<double> m_hit2; 00125 NTuple::Item<double> m_anglepm; 00126 00127 NTuple::Item<long> m_ngch; 00128 NTuple::Array<double> m_ptrk; 00129 NTuple::Array<double> m_chie; 00130 NTuple::Array<double> m_chimu; 00131 NTuple::Array<double> m_chipi; 00132 NTuple::Array<double> m_chik; 00133 NTuple::Array<double> m_chip; 00134 NTuple::Array<double> m_probPH; 00135 NTuple::Array<double> m_normPH; 00136 NTuple::Array<double> m_ghit; 00137 NTuple::Array<double> m_thit; 00138 00139 NTuple::Array<double> m_ptot_etof; 00140 NTuple::Array<double> m_cntr_etof; 00141 NTuple::Array<double> m_te_etof; 00142 NTuple::Array<double> m_tmu_etof; 00143 NTuple::Array<double> m_tpi_etof; 00144 NTuple::Array<double> m_tk_etof; 00145 NTuple::Array<double> m_tp_etof; 00146 NTuple::Array<double> m_ph_etof; 00147 NTuple::Array<double> m_rhit_etof; 00148 NTuple::Array<double> m_qual_etof; 00149 NTuple::Array<double> m_ec_toff_e; 00150 NTuple::Array<double> m_ec_toff_mu; 00151 NTuple::Array<double> m_ec_toff_pi; 00152 NTuple::Array<double> m_ec_toff_k; 00153 NTuple::Array<double> m_ec_toff_p; 00154 NTuple::Array<double> m_ec_tsig_e; 00155 NTuple::Array<double> m_ec_tsig_mu; 00156 NTuple::Array<double> m_ec_tsig_pi; 00157 NTuple::Array<double> m_ec_tsig_k; 00158 NTuple::Array<double> m_ec_tsig_p; 00159 NTuple::Array<double> m_ec_tof; 00160 00161 NTuple::Array<double> m_ptot_btof1; 00162 NTuple::Array<double> m_cntr_btof1; 00163 NTuple::Array<double> m_te_btof1; 00164 NTuple::Array<double> m_tmu_btof1; 00165 NTuple::Array<double> m_tpi_btof1; 00166 NTuple::Array<double> m_tk_btof1; 00167 NTuple::Array<double> m_tp_btof1; 00168 NTuple::Array<double> m_ph_btof1; 00169 NTuple::Array<double> m_zhit_btof1; 00170 NTuple::Array<double> m_qual_btof1; 00171 NTuple::Array<double> m_b1_toff_e; 00172 NTuple::Array<double> m_b1_toff_mu; 00173 NTuple::Array<double> m_b1_toff_pi; 00174 NTuple::Array<double> m_b1_toff_k; 00175 NTuple::Array<double> m_b1_toff_p; 00176 NTuple::Array<double> m_b1_tsig_e; 00177 NTuple::Array<double> m_b1_tsig_mu; 00178 NTuple::Array<double> m_b1_tsig_pi; 00179 NTuple::Array<double> m_b1_tsig_k; 00180 NTuple::Array<double> m_b1_tsig_p; 00181 NTuple::Array<double> m_b1_tof; 00182 00183 NTuple::Array<double> m_dedx_pid; 00184 NTuple::Array<double> m_tof1_pid; 00185 NTuple::Array<double> m_tof2_pid; 00186 NTuple::Array<double> m_prob_pid; 00187 NTuple::Array<double> m_ptrk_pid; 00188 NTuple::Array<double> m_cost_pid; 00189 NTuple::Item<long> m_pnp; 00190 NTuple::Item<long> m_pnm; 00191 00192 NTuple::Item<long> m_nggneu; 00193 NTuple::Array<double> m_numHits; // Total number of hits 00194 NTuple::Array<double> m_secondmoment; 00195 NTuple::Array<double> m_x; // Shower coordinates and errors 00196 NTuple::Array<double> m_y; 00197 NTuple::Array<double> m_z; 00198 NTuple::Array<double> m_cosemc; // Shower Counter angles and errors 00199 NTuple::Array<double> m_phiemc; 00200 NTuple::Array<double> m_energy; // Total energy observed in Emc 00201 NTuple::Array<double> m_eSeed; 00202 NTuple::Array<double> m_e3x3; 00203 NTuple::Array<double> m_e5x5; 00204 NTuple::Array<double> m_lat; 00205 NTuple::Array<double> m_a20; 00206 NTuple::Array<double> m_a42; 00207 00208 }; 00209 00210 #endif