/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/DQA/DQASelHadron/DQASelHadron-00-00-03/DQASelHadron/DQASelHadron.h

Go to the documentation of this file.
00001 #ifndef Physics_ControlSample_DQASelHadron_H
00002 #define Physics_ControlSample_DQASelHadron_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 DQASelHadron : public Algorithm {
00025 
00026 public:
00027 
00028     DQASelHadron(const std::string& name, ISvcLocator* pSvcLocator);
00029     StatusCode initialize();
00030     StatusCode execute();
00031     StatusCode finalize();  
00032 
00033 private:
00034   ITHistSvc *m_thistsvc;
00035 
00036  TH1F* m_ha_costheta;
00037  TH1F* m_ha_phi;
00038      TH1F *m_ha_pmax;
00039      TH1F *m_ha_emax;
00040      TH1F *m_ha_etot;
00041      TH1I *m_ha_nneu;
00042      TH1I *m_ha_nchg;
00043      TH1F *m_ha_br;
00044      TH1F *m_ha_bz;
00045      TH1F *m_ha_vx;
00046      TH1F *m_ha_vy;
00047      TH1F *m_ha_vz; 
00048 
00049  
00050   bool   m_writentuple;
00051   // Declare r0, z0 cut for charged tracks
00052   double m_ecms;
00053   double m_beamangle;
00054   double m_vr0cut;
00055   double m_vz0cut;
00056   double m_coscut;
00057 
00058 
00059   bool   m_tagHadron;
00060 
00061   bool   m_useTOF;
00062   bool   m_usePID;
00063   bool   m_useEMC; 
00064   bool   m_useMUC;     
00065   bool   m_useMDC;
00066   bool   m_useDEDX;
00067   bool   m_useEMConly;
00068 
00069   //Declare energy, dphi, dthe cuts for fake gamma's
00070   double m_energyThreshold;
00071   double m_gammaPhiCut;
00072   double m_gammaThetaCut;
00073   double m_gammaTrkCut;
00074   double m_gammathCut;
00075   double m_gammatlCut;
00076 
00077 
00078 
00079   double  m_acoll_h_cut;
00080   double   m_poeb_h_cut;  
00081   double   m_dtof_h_cut;
00082   double   m_eop_h_cut;
00083   double  m_etotal_h_cut;
00084   int   m_ngam_h_cut;
00085   double  m_br_h_cut;  
00086   double  m_bz_h_cut; 
00087   double  m_thr_h_cut;
00088 
00089 
00090 
00091   // define Ntuples here
00092 
00093    NTuple::Tuple*  m_tuple1; 
00094   NTuple::Item<long>  m_run  ;
00095   NTuple::Item<long>  m_rec;
00096   NTuple::Item<long>  m_ncharg;
00097   NTuple::Item<long>  m_nneu ;
00098   NTuple::Item<long>  m_ngch ;
00099   NTuple::Item<long>  m_nGam ;
00100   NTuple::Item<long>  m_hadrontag ;
00101 
00102   NTuple::Item<double>          m_evis;
00103   NTuple::Item<double>          m_thr;
00104   NTuple::Item<double>          m_br;
00105   NTuple::Item<double>          m_bz;
00106 
00107   NTuple::Item<double>          m_acoll; 
00108   NTuple::Item<double>          m_acopl;
00109   NTuple::Item<double>          m_deltatof;             
00110   NTuple::Item<double>  m_eop1;
00111   NTuple::Item<double>  m_eop2;
00112   NTuple::Item<double>  m_eoeb1;
00113   NTuple::Item<double>  m_eoeb2;
00114   NTuple::Item<double>  m_poeb1;
00115   NTuple::Item<double>  m_poeb2;
00116   NTuple::Item<double>  m_etoeb1;
00117   NTuple::Item<double>  m_etoeb2;
00118   NTuple::Item<long>  m_mucinfo1;
00119   NTuple::Item<long>  m_mucinfo2;
00120 
00121 
00122   NTuple::Array<double> m_delang   ;
00123   NTuple::Array<double> m_delphi   ;
00124   NTuple::Array<double> m_delthe   ;
00125   NTuple::Array<long> m_nSeed;
00126   NTuple::Array<long> m_npart;
00127   NTuple::Array<long> m_module;
00128   NTuple::Array<long> m_nemchits;
00129   NTuple::Array<double> m_x;
00130   NTuple::Array<double> m_y;
00131   NTuple::Array<double> m_z;
00132   NTuple::Array<double> m_dx;
00133   NTuple::Array<double> m_dy;
00134   NTuple::Array<double> m_dz;
00135   NTuple::Array<double> m_dtheta;
00136   NTuple::Array<double> m_dphi;
00137   NTuple::Array<double> m_theta;
00138   NTuple::Array<double> m_phi;
00139   NTuple::Array<double> m_energy;
00140   NTuple::Array<double> m_dE;
00141   NTuple::Array<double> m_eSeed;
00142   NTuple::Array<double> m_e3x3;
00143   NTuple::Array<double> m_e5x5;
00144   NTuple::Array<double> m_secondMoment;
00145   NTuple::Array<double> m_latMoment;
00146   NTuple::Array<double> m_a20Moment;
00147   NTuple::Array<double> m_a42Moment;
00148   NTuple::Array<double> m_getTime;
00149   NTuple::Array<double> m_getEAll;
00150 
00151 
00152 
00153 
00154   NTuple::Array<long>   m_charge ;
00155   NTuple::Array<double> m_vx0   ;
00156   NTuple::Array<double> m_vy0   ;
00157   NTuple::Array<double> m_vz0   ;
00158 
00159 
00160   NTuple::Array<double> m_px    ;
00161   NTuple::Array<double> m_py    ;
00162   NTuple::Array<double> m_pz    ;
00163   NTuple::Array<double> m_p     ;
00164 
00165 
00166   NTuple::Array<double> m_kal_vx0   ;
00167   NTuple::Array<double> m_kal_vy0   ;
00168   NTuple::Array<double> m_kal_vz0   ;
00169 
00170 
00171   NTuple::Array<double> m_kal_px    ;
00172   NTuple::Array<double> m_kal_py    ;
00173   NTuple::Array<double> m_kal_pz    ;
00174   NTuple::Array<double> m_kal_p     ;
00175 
00176 
00177 
00178 
00179   NTuple::Array<float> m_probPH;
00180   NTuple::Array<float> m_normPH;
00181   NTuple::Array<float> m_chie  ;
00182   NTuple::Array<float> m_chimu ;
00183   NTuple::Array<float> m_chipi ;
00184   NTuple::Array<float> m_chik  ;
00185   NTuple::Array<float> m_chip  ;
00186   NTuple::Array<float> m_ghit  ;
00187   NTuple::Array<float> m_thit  ;
00188 
00189   NTuple::Array<float> m_e_emc ;
00190   NTuple::Array<float> m_theta_emc ;
00191   NTuple::Array<float> m_phi_emc ;
00192         
00193   NTuple::Array<float>    m_nhit_muc ; 
00194  NTuple::Array<float>     m_nlay_muc;   
00195                 
00196   NTuple::Array<double> m_qual_etof  ;
00197   NTuple::Array<double> m_tof_etof   ;
00198   NTuple::Array<double> m_te_etof    ;
00199   NTuple::Array<double> m_tmu_etof   ;
00200   NTuple::Array<double> m_tpi_etof   ;
00201   NTuple::Array<double> m_tk_etof    ;
00202   NTuple::Array<double> m_tp_etof    ;
00203 
00204   NTuple::Array<double> m_qual_btof1 ;
00205   NTuple::Array<double> m_tof_btof1  ;
00206   NTuple::Array<double> m_te_btof1   ;
00207   NTuple::Array<double> m_tmu_btof1  ;
00208   NTuple::Array<double> m_tpi_btof1  ;
00209   NTuple::Array<double> m_tk_btof1   ;
00210   NTuple::Array<double> m_tp_btof1   ;
00211   NTuple::Array<double> m_t_btof   ;
00212   NTuple::Array<double> m_t_etof   ;
00213   NTuple::Array<double> m_qual_btof2 ;
00214   NTuple::Array<double> m_tof_btof2  ;
00215   NTuple::Array<double> m_te_btof2   ;
00216   NTuple::Array<double> m_tmu_btof2  ;
00217   NTuple::Array<double> m_tpi_btof2  ;
00218   NTuple::Array<double> m_tk_btof2   ;
00219   NTuple::Array<double> m_tp_btof2   ;
00220   NTuple::Array<long> m_pidcode;        
00221   NTuple::Array<double> m_pidprob;
00222   NTuple::Array<double> m_pidchiDedx;
00223   NTuple::Array<double> m_pidchiTof1;
00224   NTuple::Array<double> m_pidchiTof2;   
00225         
00226   NTuple::Item<double> m_px_cms_ep       ;
00227   NTuple::Item<double> m_py_cms_ep       ;
00228   NTuple::Item<double> m_pz_cms_ep       ;
00229   NTuple::Item<double> m_e_cms_ep       ;
00230   NTuple::Item<double> m_cos_ep       ; 
00231   NTuple::Item<double> m_px_cms_em          ;
00232   NTuple::Item<double> m_py_cms_em       ;
00233   NTuple::Item<double> m_pz_cms_em       ;
00234   NTuple::Item<double> m_e_cms_em       ;       
00235   NTuple::Item<double> m_cos_em       ; 
00236   NTuple::Item<double> m_mass_ee       ; 
00237    NTuple::Item<double> m_emax       ; 
00238   NTuple::Item<double> m_esum       ;   
00239   NTuple::Item<long>   m_npip ;
00240   NTuple::Item<long>   m_npim ;
00241   NTuple::Item<long>   m_nkp  ;
00242   NTuple::Item<long>   m_nkm  ; 
00243   NTuple::Item<long>   m_np   ;
00244   NTuple::Item<long>   m_npb  ;
00245   NTuple::Item<long>   m_nep ;
00246   NTuple::Item<long>   m_nem ;
00247   NTuple::Item<long>   m_nmup ;
00248   NTuple::Item<long>   m_nmum ;
00249 
00250 
00251 
00252 
00253 
00254 };
00255 
00256 
00257 #endif

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