BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
BeamParams.h
Go to the documentation of this file.
1#ifndef Analysis_PRIMARYVTX_H
2#define Analysis_PRIMARYVTX_H
3
4#include "CLHEP/Matrix/Vector.h"
5#include "GaudiKernel/Algorithm.h"
6#include "GaudiKernel/NTuple.h"
7#include "TH1D.h"
8
9using CLHEP::HepVector;
10class ITHistSvc;
11class BeamParams : public Algorithm {
12public:
13 BeamParams( const std::string& name, ISvcLocator* pSvcLocator );
14 StatusCode initialize();
15 StatusCode execute();
16 StatusCode finalize();
17
18private:
19 ITHistSvc* m_thsvc; // zhaohs
20 int m_sel_number[15];
21
22 int m_pid;
23 int m_vertexFind;
24
25 double m_vz0Cut;
26 double m_cosThetaCut;
27 double m_minDistance;
28 double m_minPointX;
29 double m_minPointY;
30 double m_meanPointX;
31 double m_meanPointY;
32 double m_chisqCut;
33 int m_trackIteration;
34 int m_vertexIteration;
35 double m_chi2CutforTrkIter;
36 double m_chi2CutforSmooth;
37 int m_trackNumberCut;
38
39 // particle ID cut
40 bool m_useDedx;
41 bool m_useTof1;
42 bool m_useTof2;
43 bool m_useTofE;
44 bool m_useTofQ;
45 bool m_useEmc;
46 bool m_useMuc;
47 double m_PidProbCut;
48
49 double m_pivotX;
50 double m_pivotY;
51 double m_pivotZ;
52
53 int m_trkNum;
54 int m_runNo;
55 int m_parVer;
56 std::string m_fileNameDst;
57 std::string m_fileNameHadron;
58 std::string m_figsName;
59
60 TH1D* m_vertex_x;
61 TH1D* m_vertex_y;
62 TH1D* m_vertex_z;
63 TH1D* m_vertex_x_kal;
64 TH1D* m_vertex_y_kal;
65 TH1D* m_vertex_z_kal;
66
67 HepVector m_Cpuvc;
68 double m_cpu[5];
69
70 int m_hadronFile;
71
72 // define NTuples
73
74 NTuple::Tuple* m_tuple1; // minimal distance and so on
75 NTuple::Item<double> m_xc;
76 NTuple::Item<double> m_yc;
77 NTuple::Item<double> m_zc;
78 NTuple::Item<double> m_mind;
79
80 NTuple::Tuple* m_tuple2; // chi-square of smooth
81 NTuple::Item<double> m_chis;
82 NTuple::Item<double> m_chif;
83 NTuple::Item<double> m_probs;
84 NTuple::Item<double> m_probf;
85
86 NTuple::Tuple* m_tuple3; // Kalman vertex fit results
87 NTuple::Item<double> m_chik;
88 NTuple::Item<long> m_ndofk;
89 NTuple::Item<double> m_probk;
90 NTuple::Item<double> m_kvx;
91 NTuple::Item<double> m_kvy;
92 NTuple::Item<double> m_kvz;
93 NTuple::Item<long> m_numTrk;
94
95 NTuple::Tuple* m_tuple4; // Global vertex fit results
96 NTuple::Item<double> m_chig;
97 NTuple::Item<long> m_ndofg;
98 NTuple::Item<double> m_probg;
99 NTuple::Item<double> m_gvx;
100 NTuple::Item<double> m_gvy;
101 NTuple::Item<double> m_gvz;
102
103 NTuple::Tuple* m_tuple5;
104 NTuple::Item<double> m_pull_drho;
105 NTuple::Item<double> m_pull_phi;
106 NTuple::Item<double> m_pull_kapha;
107 NTuple::Item<double> m_pull_dz;
108 NTuple::Item<double> m_pull_lamb;
109 NTuple::Item<double> m_pull_momentum;
110
111 NTuple::Tuple* m_tuple6;
112 NTuple::Item<double> m_mdcTrk_x;
113 NTuple::Item<double> m_mdcTrk_y;
114 NTuple::Item<double> m_mdcTrk_z;
115 NTuple::Item<double> m_mdcTrk_r;
116 NTuple::Item<double> m_rxy;
117 NTuple::Item<double> m_mdcTrk_dr;
118 NTuple::Item<double> m_mdcKalTrk_z;
119
120 NTuple::Tuple* m_tuple7;
121 NTuple::Item<double> m_gpull_drho;
122 NTuple::Item<double> m_gpull_phi;
123 NTuple::Item<double> m_gpull_kapha;
124 NTuple::Item<double> m_gpull_dz;
125 NTuple::Item<double> m_gpull_lamb;
126};
127#endif
StatusCode execute()
StatusCode finalize()
StatusCode initialize()
BeamParams(const std::string &name, ISvcLocator *pSvcLocator)