/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/DQA/DQASelBhabha/DQASelBhabha-00-00-02/DQASelBhabha/DQASelBhabha.h

Go to the documentation of this file.
00001 #ifndef Physics_ControlSample_DQASelBhbha_H
00002 #define Physics_ControlSample_DQASelBhabha_H
00003 
00004 #include "GaudiKernel/AlgFactory.h"
00005 #include "GaudiKernel/Algorithm.h"
00006 #include "GaudiKernel/NTuple.h"
00007 
00008 #include "GaudiKernel/ITHistSvc.h"
00009 #include "TH1.h"
00010 
00011 /**********************************************************************/
00024 class DQASelBhabha : public Algorithm {
00025 
00026 public:
00027 
00028     DQASelBhabha(const std::string& name, ISvcLocator* pSvcLocator);
00029     StatusCode initialize();
00030     StatusCode execute();
00031     StatusCode finalize();  
00032 
00033 private:
00034   ITHistSvc *m_thistsvc;
00035   TH1F *m_ee_mass;
00036   TH1F *m_ee_acoll;
00037   TH1F *m_ee_eop_ep;
00038   TH1F *m_ee_eop_em;
00039   TH1F *m_ee_costheta_ep;
00040   TH1F *m_ee_costheta_em;
00041   TH1F *m_ee_phi_ep;
00042   TH1F *m_ee_phi_em;
00043   TH1I *m_ee_nneu;
00044 
00045    
00046   TH1F *m_ee_etot;
00047   TH1F *m_ee_e_ep;
00048   TH1F *m_ee_e_em;
00049   TH1F *m_ee_p_ep;
00050   TH1F *m_ee_p_em;
00051 
00052   TH1F *m_ee_e_mass;
00053   TH1F *m_ee_e_costheta_ep;
00054   TH1F *m_ee_e_costheta_em;
00055   TH1F *m_ee_e_phi_ep;
00056   TH1F *m_ee_e_phi_em;
00057   TH1F *m_ee_e_etot;
00058   TH1F *m_ee_e_e_ep;
00059   TH1F *m_ee_e_e_em;
00060   TH1F *m_ee_e_p_ep;
00061   TH1F *m_ee_e_p_em;
00062 
00063   TH1F *m_ee_b_mass;
00064   TH1F *m_ee_b_costheta_ep;
00065   TH1F *m_ee_b_costheta_em;
00066   TH1F *m_ee_b_phi_ep;
00067   TH1F *m_ee_b_phi_em;
00068   TH1F *m_ee_b_etot;
00069   TH1F *m_ee_b_e_ep;
00070   TH1F *m_ee_b_e_em;
00071   TH1F *m_ee_b_p_ep;
00072   TH1F *m_ee_b_p_em;
00073   
00074 
00075   TH1F *m_ee_eemc_ep;
00076 TH1F *m_ee_eemc_em;
00077 TH1F * m_ee_x_ep; 
00078 TH1F * m_ee_y_ep; 
00079 TH1F * m_ee_z_ep; 
00080 TH1F * m_ee_x_em;
00081 TH1F * m_ee_y_em;
00082 TH1F * m_ee_z_em;
00083 TH1F * m_ee_px_ep;
00084 TH1F * m_ee_py_ep;
00085 TH1F * m_ee_pz_ep;
00086 TH1F * m_ee_px_em;
00087 TH1F * m_ee_py_em;
00088 TH1F * m_ee_pz_em;
00089 TH1F * m_ee_deltatof;
00090 TH1F * m_ee_pidchidedx_ep;
00091 TH1F * m_ee_pidchidedx_em;
00092 TH1F * m_ee_pidchitof1_ep;
00093 TH1F * m_ee_pidchitof1_em;
00094 TH1F * m_ee_pidchitof2_ep;
00095 TH1F * m_ee_pidchitof2_em;
00096      
00097  
00098 
00099  
00100   bool   m_writentuple;
00101   // Declare r0, z0 cut for charged tracks
00102   double m_ecms;
00103   double m_beamangle;
00104   double m_vr0cut;
00105   double m_vz0cut;
00106   double m_coscut;
00107 
00108   bool   m_useTOF;
00109   bool   m_usePID;
00110   bool   m_useEMC; 
00111   bool   m_useMUC;     
00112   bool   m_useMDC;
00113   bool   m_useDEDX;
00114   bool   m_useEMConly;    
00115 //Declare energy, dphi, dthe cuts for fake gamma's
00116   double m_energyThreshold;
00117   double m_gammaPhiCut;
00118   double m_gammaThetaCut;
00119   double m_gammaTrkCut;
00120   double m_gammathCut;
00121  double m_gammatlCut;
00122   double m_acoll_e_cut;
00123   double   m_acopl_e_cut;
00124   double   m_poeb_e_cut;  
00125   double   m_dtof_e_cut;
00126   double   m_eoeb_e_cut;
00127   double   m_etotal_e_cut;
00128 
00129   double   m_tpoeb_e_cut; 
00130   double   m_tptotal_e_cut; 
00131   double   m_tetotal_e_cut; 
00132 
00133   // define Ntuples here
00134 
00135    NTuple::Tuple*  m_tuple1; 
00136   NTuple::Item<long>  m_run  ;
00137   NTuple::Item<long>  m_rec;
00138   NTuple::Item<long>  m_ncharg;
00139   NTuple::Item<long>  m_nneu ;
00140   NTuple::Item<long>  m_ngch ;
00141   NTuple::Item<long>  m_nGam ;
00142   NTuple::Item<long>  m_bhabhatag ;
00143 
00144   NTuple::Item<double>          m_acoll; 
00145   NTuple::Item<double>          m_acopl;
00146   NTuple::Item<double>          m_deltatof;             
00147   NTuple::Item<double>  m_eop1;
00148   NTuple::Item<double>  m_eop2;
00149   NTuple::Item<double>  m_eoeb1;
00150   NTuple::Item<double>  m_eoeb2;
00151   NTuple::Item<double>  m_poeb1;
00152   NTuple::Item<double>  m_poeb2;
00153   NTuple::Item<double>  m_etoeb1;
00154   NTuple::Item<double>  m_etoeb2;
00155   NTuple::Item<long>  m_mucinfo1;
00156   NTuple::Item<long>  m_mucinfo2;
00157 
00158 
00159   NTuple::Array<double> m_delang   ;
00160   NTuple::Array<double> m_delphi   ;
00161   NTuple::Array<double> m_delthe   ;
00162   NTuple::Array<long> m_nSeed;
00163   NTuple::Array<long> m_npart;
00164   NTuple::Array<long> m_module;
00165   NTuple::Array<long> m_nemchits;
00166   NTuple::Array<double> m_x;
00167   NTuple::Array<double> m_y;
00168   NTuple::Array<double> m_z;
00169   NTuple::Array<double> m_dx;
00170   NTuple::Array<double> m_dy;
00171   NTuple::Array<double> m_dz;
00172   NTuple::Array<double> m_dtheta;
00173   NTuple::Array<double> m_dphi;
00174   NTuple::Array<double> m_theta;
00175   NTuple::Array<double> m_phi;
00176   NTuple::Array<double> m_energy;
00177   NTuple::Array<double> m_dE;
00178   NTuple::Array<double> m_eSeed;
00179   NTuple::Array<double> m_e3x3;
00180   NTuple::Array<double> m_e5x5;
00181   NTuple::Array<double> m_secondMoment;
00182   NTuple::Array<double> m_latMoment;
00183   NTuple::Array<double> m_a20Moment;
00184   NTuple::Array<double> m_a42Moment;
00185   NTuple::Array<double> m_getTime;
00186   NTuple::Array<double> m_getEAll;
00187 
00188 
00189 
00190 
00191   NTuple::Array<long>   m_charge ;
00192   NTuple::Array<double> m_vx0   ;
00193   NTuple::Array<double> m_vy0   ;
00194   NTuple::Array<double> m_vz0   ;
00195 
00196 
00197   NTuple::Array<double> m_px    ;
00198   NTuple::Array<double> m_py    ;
00199   NTuple::Array<double> m_pz    ;
00200   NTuple::Array<double> m_p     ;
00201 
00202 
00203   NTuple::Array<double> m_kal_vx0   ;
00204   NTuple::Array<double> m_kal_vy0   ;
00205   NTuple::Array<double> m_kal_vz0   ;
00206 
00207 
00208   NTuple::Array<double> m_kal_px    ;
00209   NTuple::Array<double> m_kal_py    ;
00210   NTuple::Array<double> m_kal_pz    ;
00211   NTuple::Array<double> m_kal_p     ;
00212 
00213 
00214 
00215 
00216   NTuple::Array<float> m_probPH;
00217   NTuple::Array<float> m_normPH;
00218   NTuple::Array<float> m_chie  ;
00219   NTuple::Array<float> m_chimu ;
00220   NTuple::Array<float> m_chipi ;
00221   NTuple::Array<float> m_chik  ;
00222   NTuple::Array<float> m_chip  ;
00223   NTuple::Array<float> m_ghit  ;
00224   NTuple::Array<float> m_thit  ;
00225 
00226   NTuple::Array<float> m_e_emc ;
00227   NTuple::Array<float> m_theta_emc ;
00228   NTuple::Array<float> m_phi_emc ;
00229         
00230   NTuple::Array<float>    m_nhit_muc ; 
00231  NTuple::Array<float>     m_nlay_muc;   
00232                 
00233   NTuple::Array<double> m_qual_etof  ;
00234   NTuple::Array<double> m_tof_etof   ;
00235   NTuple::Array<double> m_te_etof    ;
00236   NTuple::Array<double> m_tmu_etof   ;
00237   NTuple::Array<double> m_tpi_etof   ;
00238   NTuple::Array<double> m_tk_etof    ;
00239   NTuple::Array<double> m_tp_etof    ;
00240 
00241   NTuple::Array<double> m_qual_btof1 ;
00242   NTuple::Array<double> m_tof_btof1  ;
00243   NTuple::Array<double> m_te_btof1   ;
00244   NTuple::Array<double> m_tmu_btof1  ;
00245   NTuple::Array<double> m_tpi_btof1  ;
00246   NTuple::Array<double> m_tk_btof1   ;
00247   NTuple::Array<double> m_tp_btof1   ;
00248   NTuple::Array<double> m_t_btof   ;
00249   NTuple::Array<double> m_t_etof   ;
00250   NTuple::Array<double> m_qual_btof2 ;
00251   NTuple::Array<double> m_tof_btof2  ;
00252   NTuple::Array<double> m_te_btof2   ;
00253   NTuple::Array<double> m_tmu_btof2  ;
00254   NTuple::Array<double> m_tpi_btof2  ;
00255   NTuple::Array<double> m_tk_btof2   ;
00256   NTuple::Array<double> m_tp_btof2   ;
00257   NTuple::Array<long> m_pidcode;        
00258   NTuple::Array<double> m_pidprob;
00259   NTuple::Array<double> m_pidchiDedx;
00260   NTuple::Array<double> m_pidchiTof1;
00261   NTuple::Array<double> m_pidchiTof2;   
00262         
00263   NTuple::Item<double> m_px_cms_ep       ;
00264   NTuple::Item<double> m_py_cms_ep       ;
00265   NTuple::Item<double> m_pz_cms_ep       ;
00266   NTuple::Item<double> m_e_cms_ep       ;
00267   NTuple::Item<double> m_cos_ep       ; 
00268   NTuple::Item<double> m_px_cms_em          ;
00269   NTuple::Item<double> m_py_cms_em       ;
00270   NTuple::Item<double> m_pz_cms_em       ;
00271   NTuple::Item<double> m_e_cms_em       ;       
00272   NTuple::Item<double> m_cos_em       ; 
00273   NTuple::Item<double> m_mass_ee       ; 
00274    NTuple::Item<double> m_emax       ; 
00275   NTuple::Item<double> m_esum       ;   
00276   NTuple::Item<long>   m_npip ;
00277   NTuple::Item<long>   m_npim ;
00278   NTuple::Item<long>   m_nkp  ;
00279   NTuple::Item<long>   m_nkm  ; 
00280   NTuple::Item<long>   m_np   ;
00281   NTuple::Item<long>   m_npb  ;
00282   NTuple::Item<long>   m_nep ;
00283   NTuple::Item<long>   m_nem ;
00284   NTuple::Item<long>   m_nmup ;
00285   NTuple::Item<long>   m_nmum ;
00286 
00287 
00288 
00289 
00290 
00291 };
00292 
00293 
00294 #endif

Generated on Tue Nov 29 22:58:11 2016 for BOSS_7.0.2 by  doxygen 1.4.7