00001
00002
00003 #ifndef Physics_Analysis_PipiJpsi_H
00004 #define Physics_Analysis_PipiJpsi_H
00005
00006 #include "GaudiKernel/AlgFactory.h"
00007 #include "GaudiKernel/Algorithm.h"
00008 #include "GaudiKernel/NTuple.h"
00009 #include "trkInfo.h"
00010
00011 class PipiJpsi : public Algorithm {
00012
00013 public:
00014 PipiJpsi(const std::string& name, ISvcLocator* pSvcLocator);
00015 StatusCode initialize();
00016 StatusCode execute();
00017 StatusCode finalize();
00018
00019 private:
00020
00021
00022 double m_vr0cut;
00023 double m_vz0cut;
00024
00025
00026 bool m_checkDedx;
00027 bool m_checkTof;
00028 bool m_eventrate;
00029 int m_chan_det;
00030
00031 double m_cosThetaCut;
00032
00033
00034 double m_pipi_dang_cut;
00035
00036
00037 bool m_subsample_flag, m_trigger_flag;
00038
00039
00040 double m_distin_emuon;
00041
00042
00043 NTuple::Tuple* m_tuple1;
00044 NTuple::Item<double> m_vx0;
00045 NTuple::Item<double> m_vy0;
00046 NTuple::Item<double> m_vz0;
00047 NTuple::Item<double> m_vr0;
00048
00049 NTuple::Tuple* m_tuple2;
00050 NTuple::Item<double> m_dthe;
00051 NTuple::Item<double> m_dphi;
00052 NTuple::Item<double> m_dang;
00053 NTuple::Item<double> m_eraw;
00054 NTuple::Item<long> m_nGam;
00055
00056 NTuple::Tuple* m_tuple3;
00057 NTuple::Item<double> m_ptrk;
00058 NTuple::Item<double> m_chie;
00059 NTuple::Item<double> m_chimu;
00060 NTuple::Item<double> m_chipi;
00061 NTuple::Item<double> m_chik;
00062 NTuple::Item<double> m_chip;
00063 NTuple::Item<double> m_probPH;
00064 NTuple::Item<double> m_normPH;
00065 NTuple::Item<double> m_ghit;
00066 NTuple::Item<double> m_thit;
00067
00068 NTuple::Tuple* m_tuple4;
00069 NTuple::Item<double> m_ptot_etof;
00070 NTuple::Item<double> m_cntr_etof;
00071 NTuple::Item<double> m_path_etof;
00072 NTuple::Item<double> m_tof_etof;
00073 NTuple::Item<double> m_te_etof;
00074 NTuple::Item<double> m_tmu_etof;
00075 NTuple::Item<double> m_tpi_etof;
00076 NTuple::Item<double> m_tk_etof;
00077 NTuple::Item<double> m_tp_etof;
00078 NTuple::Item<double> m_ph_etof;
00079 NTuple::Item<double> m_rhit_etof;
00080 NTuple::Item<double> m_qual_etof;
00081
00082 NTuple::Tuple* m_tuple5;
00083 NTuple::Item<double> m_ptot_btof1;
00084 NTuple::Item<double> m_cntr_btof1;
00085 NTuple::Item<double> m_path_btof1;
00086 NTuple::Item<double> m_tof_btof1;
00087 NTuple::Item<double> m_te_btof1;
00088 NTuple::Item<double> m_tmu_btof1;
00089 NTuple::Item<double> m_tpi_btof1;
00090 NTuple::Item<double> m_tk_btof1;
00091 NTuple::Item<double> m_tp_btof1;
00092 NTuple::Item<double> m_ph_btof1;
00093 NTuple::Item<double> m_zhit_btof1;
00094 NTuple::Item<double> m_qual_btof1;
00095
00096 NTuple::Tuple* m_tuple6;
00097 NTuple::Item<double> m_ptot_btof2;
00098 NTuple::Item<double> m_cntr_btof2;
00099 NTuple::Item<double> m_path_btof2;
00100 NTuple::Item<double> m_tof_btof2;
00101 NTuple::Item<double> m_te_btof2;
00102 NTuple::Item<double> m_tmu_btof2;
00103 NTuple::Item<double> m_tpi_btof2;
00104 NTuple::Item<double> m_tk_btof2;
00105 NTuple::Item<double> m_tp_btof2;
00106 NTuple::Item<double> m_ph_btof2;
00107 NTuple::Item<double> m_zhit_btof2;
00108 NTuple::Item<double> m_qual_btof2;
00109
00110
00111 NTuple::Tuple* m_tuple8;
00112 NTuple::Item<double> m_mom_lepm;
00113 NTuple::Item<double> m_mom_lepp;
00114 NTuple::Item<double> m_mom_pionp;
00115 NTuple::Item<double> m_mom_pionm;
00116 NTuple::Item<double> m_pipi_dang;
00117 NTuple::Item<double> m_cms_lepp;
00118 NTuple::Item<double> m_cms_lepm;
00119 NTuple::Item<double> m_mass_twopi;
00120 NTuple::Item<double> m_mass_jpsi;
00121 NTuple::Item<double> m_mass_recoil;
00122 NTuple::Item<double> m_inv_mass;
00123 NTuple::Item<double> m_tot_e;
00124 NTuple::Item<double> m_tot_px;
00125 NTuple::Item<double> m_tot_py;
00126 NTuple::Item<double> m_tot_pz;
00127 NTuple::Item<double> m_ep_ratio;
00128 NTuple::Item<long> m_event_flag;
00129 NTuple::Item<double> m_trans_ratio_lepm;
00130 NTuple::Item<double> m_trans_ratio_lepp;
00131 NTuple::Item<double> m_trans_ratio_pionp;
00132 NTuple::Item<double> m_trans_ratio_pionm;
00133 NTuple::Item<long> m_run;
00134 NTuple::Item<long> m_event;
00135 NTuple::Item<long> m_index;
00136 NTuple::Array<double> m_cos_theta;
00137 NTuple::Array<double> m_phi;
00138 NTuple::Matrix<double> m_four_mom;
00139
00140 NTuple::Item<long> m_pion_matched;
00141 NTuple::Item<long> m_lep_matched;
00142
00143 NTuple::Item<long> m_idxmc;
00144 NTuple::Array<long> m_pdgid;
00145 NTuple::Array<long> m_motheridx;
00146 NTuple::Item<double> m_true_pionp;
00147 NTuple::Item<double> m_true_pionm;
00148
00149 };
00150
00151
00152 #endif