forked from UCATLAS/xAODAnaHelpers
/
TrackHists.h
118 lines (108 loc) · 3.47 KB
/
TrackHists.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#ifndef xAODAnaHelpers_TrackHists_H
#define xAODAnaHelpers_TrackHists_H
#include "xAODAnaHelpers/HistogramManager.h"
#include <xAODTracking/TrackParticleContainer.h>
#include <xAODTracking/Vertex.h>
#include <xAODEventInfo/EventInfo.h>
class TrackHists : public HistogramManager
{
public:
TrackHists(std::string name, std::string detailStr );
~TrackHists();
StatusCode initialize();
StatusCode execute( const xAOD::TrackParticleContainer* tracks, const xAOD::Vertex *pvx, float eventWeight, const xAOD::EventInfo* eventInfo = 0 );
StatusCode execute( const xAOD::TrackParticle* track, const xAOD::Vertex *pvx, float eventWeight, const xAOD::EventInfo* eventInfo = 0);
using HistogramManager::book; // make other overloaded versions of book() to show up in subclass
using HistogramManager::execute; // overload
protected:
// bools to control which histograms are filled
bool m_fill2D; //!
bool m_fillIPDetails; //!
bool m_fillHitCounts; //!
bool m_fillChi2Details; //!
bool m_fillTPErrors; //!
bool m_fillDebugging; //!
bool m_fillVsLumi; //!
private:
// Histograms
TH1F* m_trk_n; //!
TH1F* m_trk_n_l; //!
TH1F* m_trk_Pt; //!
TH1F* m_trk_Pt_l; //!
TH1F* m_trk_P; //!
TH1F* m_trk_P_l; //!
TH1F* m_trk_Eta; //!
TH1F* m_trk_Phi; //!
TH1F* m_trk_d0; //!
TH1F* m_trk_d0_s; //!
TH1F* m_trk_d0_ss; //!
TH1F* m_trk_z0; //!
TH1F* m_trk_z0_s; //!
TH1F* m_trk_chi2Prob; //!
TH1F* m_trk_charge; //!
TH1F* m_trk_d0_l; //!
TH1F* m_trk_d0Err; //!
TH1F* m_trk_d0Sig; //!
TH1F* m_trk_z0Err; //!
TH1F* m_trk_z0_l; //!
TH1F* m_trk_z0Sig; //!
TH1F* m_trk_z0sinT; //!
TH1F* m_trk_z0sinT_l; //!
TH1F* m_trk_z0SigsinT; //!
TH1F* m_trk_chi2Prob_l; //!
TH1F* m_trk_chi2Prob_s; //!
TH1F* m_trk_chi2Prob_ss; //!
TH1F* m_trk_chi2ndof; //!
TH1F* m_trk_chi2ndof_l; //!
TH1F* m_trk_nSi; //!
TH1F* m_trk_nSiAndDead; //!
TH1F* m_trk_nSiDead; //!
TH1F* m_trk_nSCT; //!
TH1F* m_trk_nPix; //!
TH1F* m_trk_nPixHoles; //!
TH1F* m_trk_nPixDead; //!
TH1F* m_trk_nTRT; //!
// TH1F* m_trk_nTRTHoles; //!
// TH1F* m_trk_nTRTDead; //!
TH1F* m_trk_nBL; //!
TH1F* m_trk_phiErr; //!
TH1F* m_trk_thetaErr; //!
TH1F* m_trk_qOpErr; //!
TH1F* m_trk_mc_prob; //!
TH1F* m_trk_mc_barcode; //!
TH1F* m_trk_mc_barcode_s; //!
TH1F* m_trk_eta_vl; //!
TH1F* m_trk_z0_vl; //!
TH1F* m_trk_z0_m; //!
TH1F* m_trk_z0_raw_m; //!
TH1F* m_trk_vz; //!
TH1F* m_trk_z0_atlas_m; //!
TH1F* m_trk_d0_vl; //!
TH1F* m_trk_pt_ss; //!
TH1F* m_trk_phiManyBins; //!
TH1F* m_lBlock; //!
TProfile* m_trk_z0_vs_lBlock; //!
TProfile* m_trk_z0_raw_vs_lBlock; //!
TProfile* m_trk_z0_atlas_vs_lBlock; //!
TProfile* m_trk_vz_vs_lBlock; //!
TProfile* m_pvz_vs_lBlock; //!
TProfile* m_pv_valid_vs_lBlock; //!
TProfile* m_bsX_vs_lBlock; //!
TProfile* m_bsY_vs_lBlock; //!
TProfile* m_bsZ_vs_lBlock; //!
TH1F* m_bsX; //!
TH1F* m_bsY; //!
TH1F* m_bsZ; //!
TH2F* m_trk_Eta_vs_trk_P; //!
TH2F* m_trk_Eta_vs_trk_P_l; //!
TH2F* m_trk_Phi_vs_trk_P; //!
TH2F* m_trk_Phi_vs_trk_P_l; //!
TH2F* m_trk_Eta_vs_trk_Phi; //!
TH2F* m_trk_d0_vs_trk_P; //!
TH2F* m_trk_d0_vs_trk_P_l; //!
TH2F* m_trk_z0_vs_trk_P; //!
TH2F* m_trk_z0_vs_trk_P_l; //!
TH2F* m_trk_z0sinT_vs_trk_P; //!
TH2F* m_trk_z0sinT_vs_trk_P_l; //!
};
#endif