/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/BeamParamsAlg/BeamParamsAlg-00-00-10/BeamParamsAlg/BeamParams.h

Go to the documentation of this file.
00001 #ifndef Analysis_PRIMARYVTX_H
00002 #define Analysis_PRIMARYVTX_H
00003 
00004 #include "GaudiKernel/AlgFactory.h"
00005 #include "GaudiKernel/Algorithm.h"
00006 #include "GaudiKernel/NTuple.h"
00007 #include "TH1D.h"
00008 #include "CLHEP/Matrix/Vector.h"
00009 
00010 using CLHEP::HepVector;
00011 class ITHistSvc;
00012 class BeamParams : public Algorithm
00013 {
00014 public:
00015   BeamParams(const std::string& name, ISvcLocator* pSvcLocator);
00016   StatusCode initialize();
00017   StatusCode execute();
00018   StatusCode finalize();
00019 
00020 private:
00021   ITHistSvc* m_thsvc;//zhaohs
00022   int m_sel_number[15];
00023 
00024   int m_pid;
00025   int m_vertexFind;
00026 
00027   double m_vz0Cut;
00028   double m_cosThetaCut;
00029   double m_minDistance;
00030   double m_minPointX;
00031   double m_minPointY;
00032   double m_meanPointX;
00033   double m_meanPointY;
00034   double m_chisqCut;
00035   int m_trackIteration;
00036   int m_vertexIteration;
00037   double m_chi2CutforTrkIter;
00038   double m_chi2CutforSmooth;
00039   int m_trackNumberCut;
00040 
00041   //particle ID cut
00042   bool m_useDedx;
00043   bool m_useTof1;
00044   bool m_useTof2;
00045   bool m_useTofE;
00046   bool m_useTofQ;
00047   bool m_useEmc;
00048   bool m_useMuc;
00049   double m_PidProbCut;
00050 
00051   double m_pivotX;
00052   double m_pivotY;
00053   double m_pivotZ;
00054 
00055   int m_trkNum;
00056   int m_runNo;
00057   int m_parVer;
00058   std::string m_fileNameDst;
00059   std::string m_fileNameHadron;
00060   std::string m_figsName;
00061 
00062   TH1D* m_vertex_x;
00063   TH1D* m_vertex_y;
00064   TH1D* m_vertex_z;
00065   TH1D* m_vertex_x_kal;
00066   TH1D* m_vertex_y_kal;
00067   TH1D* m_vertex_z_kal;
00068 
00069   HepVector m_Cpuvc;
00070   double m_cpu[5];
00071 
00072   int m_hadronFile;
00073 
00074   // define NTuples
00075 
00076   NTuple::Tuple* m_tuple1;  // minimal distance and so on
00077   NTuple::Item<double>  m_xc;
00078   NTuple::Item<double>  m_yc;
00079   NTuple::Item<double>  m_zc;
00080   NTuple::Item<double>  m_mind;
00081 
00082   NTuple::Tuple* m_tuple2; // chi-square of smooth
00083   NTuple::Item<double>  m_chis;
00084   NTuple::Item<double>  m_chif;
00085   NTuple::Item<double>  m_probs;
00086   NTuple::Item<double>  m_probf;
00087 
00088   NTuple::Tuple* m_tuple3; // Kalman vertex fit results
00089   NTuple::Item<double>  m_chik;
00090   NTuple::Item<long>    m_ndofk;
00091   NTuple::Item<double>  m_probk;
00092   NTuple::Item<double>  m_kvx;
00093   NTuple::Item<double>  m_kvy;
00094   NTuple::Item<double>  m_kvz;
00095   NTuple::Item<long> m_numTrk;
00096 
00097   NTuple::Tuple* m_tuple4; // Global vertex fit results
00098   NTuple::Item<double>  m_chig;
00099   NTuple::Item<long>    m_ndofg;
00100   NTuple::Item<double>  m_probg;
00101   NTuple::Item<double>  m_gvx;
00102   NTuple::Item<double>  m_gvy;
00103   NTuple::Item<double>  m_gvz;
00104 
00105   NTuple::Tuple* m_tuple5;
00106   NTuple::Item<double> m_pull_drho;
00107   NTuple::Item<double> m_pull_phi;
00108   NTuple::Item<double> m_pull_kapha;
00109   NTuple::Item<double> m_pull_dz;
00110   NTuple::Item<double> m_pull_lamb;
00111   NTuple::Item<double> m_pull_momentum;
00112 
00113   NTuple::Tuple* m_tuple6;
00114   NTuple::Item<double> m_mdcTrk_x;
00115   NTuple::Item<double> m_mdcTrk_y;
00116   NTuple::Item<double> m_mdcTrk_z;
00117   NTuple::Item<double> m_mdcTrk_r;
00118   NTuple::Item<double> m_rxy;
00119   NTuple::Item<double> m_mdcTrk_dr;
00120   NTuple::Item<double> m_mdcKalTrk_z;
00121 
00122   NTuple::Tuple* m_tuple7;
00123   NTuple::Item<double> m_gpull_drho;
00124   NTuple::Item<double> m_gpull_phi;
00125   NTuple::Item<double> m_gpull_kapha;
00126   NTuple::Item<double> m_gpull_dz;
00127   NTuple::Item<double> m_gpull_lamb;
00128 };
00129 #endif

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