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

Go to the documentation of this file.
00001 #ifndef Physics_ControlSample_DQASelDimu_H
00002 #define Physics_ControlSample_DQASelDimu_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 DQASelDimu : public Algorithm {
00025 
00026 public:
00027 
00028     DQASelDimu(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_mumu_mass;
00037      TH1F *m_mumu_acoll;
00038      TH1F *m_mumu_eop_mup;
00039      TH1F *m_mumu_eop_mum;
00040      TH1F *m_mumu_costheta_mup;
00041      TH1F *m_mumu_costheta_mum;
00042      TH1F *m_mumu_phi_mup;
00043          TH1F *m_mumu_phi_mum;
00044 TH1F *m_mumu_nneu;
00045      TH1F *m_mumu_nlay;
00046      TH1F *m_mumu_nhit;
00047      TH1F *m_mumu_eemc_mup;
00048      TH1F *m_mumu_eemc_mum;
00049       TH1F *m_mumu_x_mup;
00050       TH1F *m_mumu_y_mup;
00051       TH1F *m_mumu_z_mup;
00052       TH1F *m_mumu_x_mum;
00053       TH1F *m_mumu_y_mum;
00054       TH1F *m_mumu_z_mum;
00055       TH1F *m_mumu_px_mup;
00056       TH1F *m_mumu_py_mup;
00057       TH1F *m_mumu_pz_mup;
00058       TH1F *m_mumu_p_mup;
00059       TH1F *m_mumu_px_mum;
00060       TH1F *m_mumu_py_mum;
00061       TH1F *m_mumu_pz_mum;
00062       TH1F *m_mumu_p_mum;
00063       TH1F *m_mumu_deltatof;
00064       TH1F *m_mumu_pidchidedx_mup;
00065       TH1F *m_mumu_pidchidedx_mum;
00066       TH1F *m_mumu_pidchitof1_mup;
00067       TH1F *m_mumu_pidchitof1_mum;
00068       TH1F *m_mumu_pidchitof2_mup;
00069       TH1F *m_mumu_pidchitof2_mum;
00070 
00071  
00072 
00073  
00074   bool   m_writentuple;
00075   // Declare r0, z0 cut for charged tracks
00076   double m_ecms;
00077   double m_beamangle;
00078   double m_vr0cut;
00079   double m_vz0cut;
00080   double m_coscut;
00081 
00082   bool   m_useTOF;
00083   bool   m_usePID;
00084   bool   m_useEMC; 
00085   bool   m_useMUC;     
00086   bool   m_useMDC;
00087   bool   m_useDEDX;
00088   bool   m_useEMConly;    
00089 //Declare energy, dphi, dthe cuts for fake gamma's
00090   double m_energyThreshold;
00091   double m_gammaPhiCut;
00092   double m_gammaThetaCut;
00093   double m_gammaTrkCut;
00094   double m_gammathCut;
00095  double m_gammatlCut;
00096   double   m_acoll_mu_cut;
00097   double   m_acopl_mu_cut;
00098   double   m_poeb_mu_cut;  
00099   double   m_dtof_mu_cut;
00100   double   m_eoeb_mu_cut;
00101   double  m_etotal_mu_cut;
00102   double   m_tpoebh_mu_cut;
00103   double   m_tpoebl_mu_cut; 
00104   double   m_tptotal_mu_cut; 
00105 
00106 
00107 
00108   // define Ntuples here
00109 
00110    NTuple::Tuple*  m_tuple1; 
00111   NTuple::Item<long>  m_run  ;
00112   NTuple::Item<long>  m_rec;
00113   NTuple::Item<long>  m_ncharg;
00114   NTuple::Item<long>  m_nneu ;
00115   NTuple::Item<long>  m_ngch ;
00116   NTuple::Item<long>  m_nGam ;
00117   NTuple::Item<long>  m_dimutag ;
00118 
00119   NTuple::Item<double>          m_acoll; 
00120   NTuple::Item<double>          m_acopl;
00121   NTuple::Item<double>          m_deltatof;             
00122   NTuple::Item<double>  m_eop1;
00123   NTuple::Item<double>  m_eop2;
00124   NTuple::Item<double>  m_eoeb1;
00125   NTuple::Item<double>  m_eoeb2;
00126   NTuple::Item<double>  m_poeb1;
00127   NTuple::Item<double>  m_poeb2;
00128   NTuple::Item<double>  m_etoeb1;
00129   NTuple::Item<double>  m_etoeb2;
00130   NTuple::Item<long>  m_mucinfo1;
00131   NTuple::Item<long>  m_mucinfo2;
00132 
00133 
00134   NTuple::Array<double> m_delang   ;
00135   NTuple::Array<double> m_delphi   ;
00136   NTuple::Array<double> m_delthe   ;
00137   NTuple::Array<long> m_nSeed;
00138   NTuple::Array<long> m_npart;
00139   NTuple::Array<long> m_module;
00140   NTuple::Array<long> m_nemchits;
00141   NTuple::Array<double> m_x;
00142   NTuple::Array<double> m_y;
00143   NTuple::Array<double> m_z;
00144   NTuple::Array<double> m_dx;
00145   NTuple::Array<double> m_dy;
00146   NTuple::Array<double> m_dz;
00147   NTuple::Array<double> m_dtheta;
00148   NTuple::Array<double> m_dphi;
00149   NTuple::Array<double> m_theta;
00150   NTuple::Array<double> m_phi;
00151   NTuple::Array<double> m_energy;
00152   NTuple::Array<double> m_dE;
00153   NTuple::Array<double> m_eSeed;
00154   NTuple::Array<double> m_e3x3;
00155   NTuple::Array<double> m_e5x5;
00156   NTuple::Array<double> m_secondMoment;
00157   NTuple::Array<double> m_latMoment;
00158   NTuple::Array<double> m_a20Moment;
00159   NTuple::Array<double> m_a42Moment;
00160   NTuple::Array<double> m_getTime;
00161   NTuple::Array<double> m_getEAll;
00162 
00163 
00164 
00165 
00166   NTuple::Array<long>   m_charge ;
00167   NTuple::Array<double> m_vx0   ;
00168   NTuple::Array<double> m_vy0   ;
00169   NTuple::Array<double> m_vz0   ;
00170 
00171 
00172   NTuple::Array<double> m_px    ;
00173   NTuple::Array<double> m_py    ;
00174   NTuple::Array<double> m_pz    ;
00175   NTuple::Array<double> m_p     ;
00176 
00177 
00178   NTuple::Array<double> m_kal_vx0   ;
00179   NTuple::Array<double> m_kal_vy0   ;
00180   NTuple::Array<double> m_kal_vz0   ;
00181 
00182 
00183   NTuple::Array<double> m_kal_px    ;
00184   NTuple::Array<double> m_kal_py    ;
00185   NTuple::Array<double> m_kal_pz    ;
00186   NTuple::Array<double> m_kal_p     ;
00187 
00188 
00189 
00190 
00191   NTuple::Array<float> m_probPH;
00192   NTuple::Array<float> m_normPH;
00193   NTuple::Array<float> m_chie  ;
00194   NTuple::Array<float> m_chimu ;
00195   NTuple::Array<float> m_chipi ;
00196   NTuple::Array<float> m_chik  ;
00197   NTuple::Array<float> m_chip  ;
00198   NTuple::Array<float> m_ghit  ;
00199   NTuple::Array<float> m_thit  ;
00200 
00201   NTuple::Array<float> m_e_emc ;
00202   NTuple::Array<float> m_theta_emc ;
00203   NTuple::Array<float> m_phi_emc ;
00204         
00205   NTuple::Array<float>    m_nhit_muc ; 
00206  NTuple::Array<float>     m_nlay_muc;   
00207                 
00208   NTuple::Array<double> m_qual_etof  ;
00209   NTuple::Array<double> m_tof_etof   ;
00210   NTuple::Array<double> m_te_etof    ;
00211   NTuple::Array<double> m_tmu_etof   ;
00212   NTuple::Array<double> m_tpi_etof   ;
00213   NTuple::Array<double> m_tk_etof    ;
00214   NTuple::Array<double> m_tp_etof    ;
00215 
00216   NTuple::Array<double> m_qual_btof1 ;
00217   NTuple::Array<double> m_tof_btof1  ;
00218   NTuple::Array<double> m_te_btof1   ;
00219   NTuple::Array<double> m_tmu_btof1  ;
00220   NTuple::Array<double> m_tpi_btof1  ;
00221   NTuple::Array<double> m_tk_btof1   ;
00222   NTuple::Array<double> m_tp_btof1   ;
00223   NTuple::Array<double> m_t_btof   ;
00224   NTuple::Array<double> m_t_etof   ;
00225   NTuple::Array<double> m_qual_btof2 ;
00226   NTuple::Array<double> m_tof_btof2  ;
00227   NTuple::Array<double> m_te_btof2   ;
00228   NTuple::Array<double> m_tmu_btof2  ;
00229   NTuple::Array<double> m_tpi_btof2  ;
00230   NTuple::Array<double> m_tk_btof2   ;
00231   NTuple::Array<double> m_tp_btof2   ;
00232   NTuple::Array<long> m_pidcode;        
00233   NTuple::Array<double> m_pidprob;
00234   NTuple::Array<double> m_pidchiDedx;
00235   NTuple::Array<double> m_pidchiTof1;
00236   NTuple::Array<double> m_pidchiTof2;   
00237         
00238   NTuple::Item<double> m_px_cms_ep       ;
00239   NTuple::Item<double> m_py_cms_ep       ;
00240   NTuple::Item<double> m_pz_cms_ep       ;
00241   NTuple::Item<double> m_e_cms_ep       ;
00242   NTuple::Item<double> m_cos_ep       ; 
00243   NTuple::Item<double> m_px_cms_em          ;
00244   NTuple::Item<double> m_py_cms_em       ;
00245   NTuple::Item<double> m_pz_cms_em       ;
00246   NTuple::Item<double> m_e_cms_em       ;       
00247   NTuple::Item<double> m_cos_em       ; 
00248   NTuple::Item<double> m_mass_ee       ; 
00249    NTuple::Item<double> m_emax       ; 
00250   NTuple::Item<double> m_esum       ;   
00251   NTuple::Item<long>   m_npip ;
00252   NTuple::Item<long>   m_npim ;
00253   NTuple::Item<long>   m_nkp  ;
00254   NTuple::Item<long>   m_nkm  ; 
00255   NTuple::Item<long>   m_np   ;
00256   NTuple::Item<long>   m_npb  ;
00257   NTuple::Item<long>   m_nep ;
00258   NTuple::Item<long>   m_nem ;
00259   NTuple::Item<long>   m_nmup ;
00260   NTuple::Item<long>   m_nmum ;
00261 
00262 
00263 
00264 
00265 
00266 };
00267 
00268 
00269 #endif

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