/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/EvtPreSelect/BhabhaPreSelect/BhabhaPreSelect-00-00-06/BhabhaPreSelect/BhabhaPreSelect.h

Go to the documentation of this file.
00001 #ifndef BhabhaPreSelect_H
00002 #define BhabhaPreSelect_H 
00003 #include <cstring>
00004 
00005 #include "GaudiKernel/AlgFactory.h"
00006 #include "GaudiKernel/Algorithm.h"
00007 #include "GaudiKernel/NTuple.h"
00008 #include "EvtRecEvent/EvtRecTrack.h"
00009 
00010 
00011 class BhabhaPreSelect : public Algorithm {
00012 
00013 public:
00014   BhabhaPreSelect(const std::string& name, ISvcLocator* pSvcLocator);
00015   StatusCode initialize();
00016   StatusCode execute();
00017   StatusCode finalize(); 
00018 
00019   bool WhetherSector(double,double=0.,double=CLHEP::twopi);
00020 
00021   int selectedType() const
00022     {
00023       return m_selectedType; 
00024     }
00025   int selectedTrkID1() const
00026     {
00027       return m_selectedTrkID1;
00028     }
00029   int selectedTrkID2() const
00030     {
00031       return m_selectedTrkID2;
00032     }
00033 
00034 private:
00035 
00036   RecEmcShower*  matched( int TrkID ) const ;
00037   double Angle2ClosestShower( int ShowerID ); 
00038   // Declare r0, z0 cut for charged tracks
00039   double m_vr0cut;
00040   double m_vz0cut;
00041 
00042   double m_lowEnergyShowerCut;
00043   double m_highEnergyShowerCut;
00044   double m_matchThetaCut ;
00045   double m_matchPhiCut ;
00046 
00047   double m_highMomentumCut;
00048   double m_EoPMaxCut;
00049   double m_EoPMinCut;
00050   double m_minAngShEnergyCut;
00051   double m_minAngCut;
00052   double m_acolliCut;
00053   double m_eNormCut;
00054   double m_pNormCut;
00055   int m_BarrelOrEndcap;
00056 
00057   static int idmax[43];
00058 
00059   double m_oneProngMomentumCut;
00060 
00061   bool m_output;
00062 
00064   int m_selectedType;
00065   int m_selectedTrkID1;
00066   int m_selectedTrkID2; 
00068   long int m_events;
00069 
00071   long int m_rejected;
00072 
00073   int m_oneProngsSelected; 
00074   int m_twoProngsMatchedSelected;
00075   int m_twoProngsOneMatchedSelected;
00076 
00077  
00078   // define Ntuples here
00079 
00080   NTuple::Tuple*  m_tuple1;      //Trk2Sh2
00081   NTuple::Item<double>  m_trk1_p;
00082   NTuple::Item<double>  m_trk1_theta;
00083   NTuple::Item<double>  m_trk1_phi;
00084   NTuple::Item<double>  m_sh1_ene;
00085   NTuple::Item<double>  m_sh1_theta;
00086   NTuple::Item<double>  m_sh1_phi;
00087 
00088   NTuple::Item<double>  m_trk2_p;
00089   NTuple::Item<double>  m_trk2_theta;
00090   NTuple::Item<double>  m_trk2_phi;
00091   NTuple::Item<double>  m_sh2_ene;
00092   NTuple::Item<double>  m_sh2_theta;
00093   NTuple::Item<double>  m_sh2_phi;
00094   NTuple::Item<double>  m_di_the;
00095   NTuple::Item<double>  m_di_phi;
00096 
00097   NTuple::Item<double>  m_etot;
00098   NTuple::Item<long>  m_mdc_hit1;
00099   NTuple::Item<long>  m_mdc_hit2;
00100   NTuple::Item<double>  m_pNorm;
00101   NTuple::Item<double>  m_eNorm;
00102   NTuple::Item<double>  m_acolli;
00103   NTuple::Tuple*  m_tuple2;  
00104   NTuple::Item<double>  m_sh_ene;
00105   NTuple::Item<double>  m_sh_theta;
00106   NTuple::Item<double>  m_sh_phi;
00107 };
00108 
00109 #endif 

Generated on Tue Nov 29 23:12:08 2016 for BOSS_7.0.2 by  doxygen 1.4.7