/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/EvtPreSelect/DigammaPreSelect/DigammaPreSelect-00-00-02/DigammaPreSelect/DigammaPreSelect.h

Go to the documentation of this file.
00001 #ifndef DigammaPreSelect_H
00002 #define DigammaPreSelect_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 DigammaPreSelect : public Algorithm {
00012 
00013 public:
00014   DigammaPreSelect(const std::string& name, ISvcLocator* pSvcLocator);
00015   StatusCode initialize();
00016   StatusCode execute();
00017   StatusCode finalize(); 
00018 
00019   int selectedType() const
00020     {
00021       return m_selectedType; 
00022     }
00023   int selectedTrkID1() const
00024     {
00025       return m_selectedTrkID1;
00026     }
00027   int selectedTrkID2() const
00028     {
00029       return m_selectedTrkID2;
00030     }
00031 
00032 private:
00033 
00034   RecEmcShower*  matched( int TrkID ) const ;
00035   double Angle2ClosestShower( int ShowerID ); 
00036   // Declare r0, z0 cut for charged tracks
00037   double m_vr0cut;
00038   double m_vz0cut;
00039 
00040   double m_lowEnergyShowerCut;
00041   double m_highEnergyShowerCut;
00042   double m_matchThetaCut ;
00043   double m_matchPhiCut ;
00044 
00045   double m_highMomentumCut;
00046   double m_EoPMaxCut;
00047   double m_EoPMinCut;
00048   double m_minAngShEnergyCut;
00049   double m_minAngCut;
00050   double m_acolliCut;
00051   double m_eNormCut;
00052   double m_pNormCut;
00053   int m_BarrelOrEndcap;
00054   bool m_output;
00055 
00056   double m_oneProngMomentumCut;
00057 
00059   int m_selectedType;
00060   int m_selectedTrkID1;
00061   int m_selectedTrkID2; 
00063   long int m_events;
00064 
00066   long int m_rejected;
00067 
00068   int m_oneProngsSelected; 
00069   int m_twoProngsMatchedSelected;
00070   int m_twoProngsOneMatchedSelected;
00071 
00072  
00073   // define Ntuples here
00074 
00075   NTuple::Tuple*  m_tuple1;      //Trk2Sh2
00076   NTuple::Item<double>  m_trk1_p;
00077   NTuple::Item<double>  m_trk1_theta;
00078   NTuple::Item<double>  m_trk1_phi;
00079   NTuple::Item<double>  m_sh1_ene;
00080   NTuple::Item<double>  m_sh1_theta;
00081   NTuple::Item<double>  m_sh1_phi;
00082 
00083   NTuple::Item<double>  m_trk2_p;
00084   NTuple::Item<double>  m_trk2_theta;
00085   NTuple::Item<double>  m_trk2_phi;
00086   NTuple::Item<double>  m_sh2_ene;
00087   NTuple::Item<double>  m_sh2_theta;
00088   NTuple::Item<double>  m_sh2_phi;
00089   NTuple::Item<double>  m_di_the;
00090   NTuple::Item<double>  m_di_phi;
00091 
00092   NTuple::Item<double>  m_etot;
00093   NTuple::Item<double>  m_pNorm;
00094   NTuple::Item<double>  m_eNorm;
00095   NTuple::Item<double>  m_acolli;
00096   NTuple::Item<double>  m_mdc_hit;
00097   NTuple::Tuple*  m_tuple2;  
00098   NTuple::Item<double>  m_sh_ene;
00099   NTuple::Item<double>  m_sh_theta;
00100   NTuple::Item<double>  m_sh_phi;
00101 };
00102 
00103 #endif 

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