00001 #ifndef Physics_Analysis_DQAJpsi2PPbarAlg_H 00002 #define Physics_Analysis_DQAJpsi2PPbarAlg_H 00003 00004 #include "GaudiKernel/AlgFactory.h" 00005 #include "GaudiKernel/Algorithm.h" 00006 #include "GaudiKernel/NTuple.h" 00007 00008 class ITHistSvc; 00009 /**********************************************************************/ 00023 class DQAJpsi2PPbarAlg : public Algorithm { 00024 00025 public: 00026 DQAJpsi2PPbarAlg(const std::string& name, ISvcLocator* pSvcLocator); 00027 StatusCode initialize(); 00028 StatusCode execute(); 00029 StatusCode finalize(); 00030 00031 private: 00032 00033 // Declare r0, z0 cut for charged tracks 00034 double m_vr0cut; 00035 double m_vz0cut; 00036 double m_vr1cut; 00037 double m_vz1cut; 00038 double m_cthcut; 00039 00040 bool m_useKalTrk; 00041 00042 //Declare energy, dphi, dthe cuts for fake gamma's 00043 double m_energyThreshold; 00044 double m_gammaPhiCut; 00045 double m_gammaThetaCut; 00046 double m_gammaAngCut ; 00047 00048 // 00049 int m_test4C; 00050 int m_test5C; 00051 00052 // 00053 int m_checkDedx; 00054 int m_checkTof; 00055 00056 ITHistSvc* m_thsvc; 00057 00058 // define Ntuples here 00059 00060 NTuple::Tuple* m_tuple; // charged track vertex 00061 00062 NTuple::Item<long> m_runNo ; 00063 NTuple::Item<long> m_event; 00064 NTuple::Item<long> m_nchrg; 00065 NTuple::Item<long> m_nneu ; 00066 NTuple::Item<long> m_ngch ; 00067 00068 NTuple::Array<long> m_charge ; 00069 NTuple::Array<double> m_vx0 ; 00070 NTuple::Array<double> m_vy0 ; 00071 NTuple::Array<double> m_vz0 ; 00072 NTuple::Array<double> m_vr0 ; 00073 00074 NTuple::Array<double> m_vx ; 00075 NTuple::Array<double> m_vy ; 00076 NTuple::Array<double> m_vz ; 00077 NTuple::Array<double> m_vr ; 00078 00079 NTuple::Array<double> m_px ; 00080 NTuple::Array<double> m_py ; 00081 NTuple::Array<double> m_pz ; 00082 NTuple::Array<double> m_p ; 00083 NTuple::Array<double> m_cos ; 00084 00085 NTuple::Array<double> m_bst_px ; 00086 NTuple::Array<double> m_bst_py ; 00087 NTuple::Array<double> m_bst_pz ; 00088 NTuple::Array<double> m_bst_p ; 00089 NTuple::Array<double> m_bst_cos ; 00090 00091 NTuple::Array<double> m_vtx_px ; 00092 NTuple::Array<double> m_vtx_py ; 00093 NTuple::Array<double> m_vtx_pz ; 00094 NTuple::Array<double> m_vtx_p ; 00095 NTuple::Array<double> m_vtx_cos ; 00096 00097 NTuple::Array<double> m_probPH; 00098 NTuple::Array<double> m_normPH; 00099 NTuple::Array<double> m_chie ; 00100 NTuple::Array<double> m_chimu ; 00101 NTuple::Array<double> m_chipi ; 00102 NTuple::Array<double> m_chik ; 00103 NTuple::Array<double> m_chip ; 00104 NTuple::Array<double> m_ghit ; 00105 NTuple::Array<double> m_thit ; 00106 00107 NTuple::Array<double> m_e_emc ; 00108 00109 NTuple::Array<double> m_tof_b1; 00110 NTuple::Array<double> m_beta_b1; 00111 NTuple::Array<double> m_tof_b2; 00112 NTuple::Array<double> m_beta_b2; 00113 NTuple::Array<double> m_tof_e; 00114 NTuple::Array<double> m_beta_e; 00115 00116 NTuple::Array<double> m_cntr_etof ; 00117 NTuple::Array<double> m_ptot_etof ; 00118 NTuple::Array<double> m_ph_etof ; 00119 NTuple::Array<double> m_rhit_etof ; 00120 NTuple::Array<double> m_qual_etof ; 00121 NTuple::Array<double> m_tof_etof ; 00122 NTuple::Array<double> m_te_etof ; 00123 NTuple::Array<double> m_tmu_etof ; 00124 NTuple::Array<double> m_tpi_etof ; 00125 NTuple::Array<double> m_tk_etof ; 00126 NTuple::Array<double> m_tp_etof ; 00127 00128 NTuple::Array<double> m_cntr_btof1 ; 00129 NTuple::Array<double> m_ptot_btof1 ; 00130 NTuple::Array<double> m_ph_btof1 ; 00131 NTuple::Array<double> m_zhit_btof1 ; 00132 NTuple::Array<double> m_qual_btof1 ; 00133 NTuple::Array<double> m_tof_btof1 ; 00134 NTuple::Array<double> m_te_btof1 ; 00135 NTuple::Array<double> m_tmu_btof1 ; 00136 NTuple::Array<double> m_tpi_btof1 ; 00137 NTuple::Array<double> m_tk_btof1 ; 00138 NTuple::Array<double> m_tp_btof1 ; 00139 00140 NTuple::Array<double> m_cntr_btof2 ; 00141 NTuple::Array<double> m_ptot_btof2 ; 00142 NTuple::Array<double> m_ph_btof2 ; 00143 NTuple::Array<double> m_zhit_btof2 ; 00144 NTuple::Array<double> m_qual_btof2 ; 00145 NTuple::Array<double> m_tof_btof2 ; 00146 NTuple::Array<double> m_te_btof2 ; 00147 NTuple::Array<double> m_tmu_btof2 ; 00148 NTuple::Array<double> m_tpi_btof2 ; 00149 NTuple::Array<double> m_tk_btof2 ; 00150 NTuple::Array<double> m_tp_btof2 ; 00151 00152 NTuple::Array<double> m_ptrk_pid ; 00153 NTuple::Array<double> m_cost_pid ; 00154 NTuple::Array<double> m_dedx_pid ; 00155 NTuple::Array<double> m_tof1_pid ; 00156 NTuple::Array<double> m_tof2_pid ; 00157 NTuple::Array<double> m_prob_pi ; 00158 NTuple::Array<double> m_prob_k ; 00159 NTuple::Array<double> m_prob_p ; 00160 00161 NTuple::Item<long> m_np ; 00162 NTuple::Item<long> m_npb; 00163 00164 NTuple::Item<double> m_m2p ; 00165 NTuple::Item<double> m_angle ; 00166 NTuple::Item<double> m_deltatof ; 00167 00168 NTuple::Item<double> m_vtx_m2p ; 00169 NTuple::Item<double> m_vtx_angle ; 00170 00171 NTuple::Item<double> m_chi2_4c ; 00172 NTuple::Item<double> m_m2p_4c ; 00173 NTuple::Item<double> m_angle_4c ; 00174 00175 00176 }; 00177 00178 #endif