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
00021 double m_vr0cut;
00022 double m_vz0cut;
00023 double m_cthcut;
00024
00025
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;
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;
00194 NTuple::Array<double> m_secondmoment;
00195 NTuple::Array<double> m_x;
00196 NTuple::Array<double> m_y;
00197 NTuple::Array<double> m_z;
00198 NTuple::Array<double> m_cosemc;
00199 NTuple::Array<double> m_phiemc;
00200 NTuple::Array<double> m_energy;
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