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