ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigAnalysis
TrigInDetAnalysisExample
src
VtxR3Analysis.cxx
Go to the documentation of this file.
1
9
10
11
#include "
TrigInDetAnalysisExample/VtxR3Analysis.h
"
12
13
#include "
TrigInDetAnalysisUtils/VertexMatcher.h
"
14
15
16
VtxR3Analysis::VtxR3Analysis
(
const
std::string& n ) :
17
VertexAnalysis
( n ),
18
m_initialised
(false),
19
m_monTool
(nullptr),
20
m_hnvtx
(nullptr),
21
m_hzed
(nullptr),
22
m_hx
(nullptr),
23
m_hy
(nullptr),
24
m_hntrax
(nullptr),
25
m_hnvtx_rec
(nullptr),
26
m_hzed_rec
(nullptr),
27
m_hx_rec
(nullptr),
28
m_hy_rec
(nullptr),
29
m_hntrax_rec
(nullptr),
30
m_hzed_res
(nullptr),
31
m_hx_res
(nullptr),
32
m_hy_res
(nullptr),
33
m_rdz_vs_zed
(nullptr),
34
m_rdz_vs_ntrax
(nullptr),
35
m_rdz_vs_nvtx
(nullptr),
36
m_eff_zed
(nullptr),
37
m_eff_ntrax
(nullptr),
38
m_eff_nvtx
(nullptr),
39
m_eff_mu
(nullptr),
40
m_eff_lb
(nullptr)
41
{}
42
43
44
void
VtxR3Analysis::initialise
() {
45
46
m_initialised
=
true
;
47
48
// std::cout << "VtxAnalysis::initialise() " << name() << std::endl;
49
50
51
// mdir = new TIDDirectory(name());
52
// mdir->push();
53
54
55
56
m_hnvtx
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_nvtx"
);
57
m_hzed
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_zed"
);
58
m_hx
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_x"
);
59
m_hy
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_y"
);
60
m_hntrax
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_ntrax"
);
61
62
63
m_hnvtx_rec
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_nvtx_rec"
);
64
m_hzed_rec
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_zed_rec"
);
65
m_hx_rec
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_x_rec"
);
66
m_hy_rec
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_y_rec"
);
67
m_hntrax_rec
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_ntrax_rec"
);
68
69
m_hzed_res
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_zed_res"
);
70
m_hx_res
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_x_res"
);
71
m_hy_res
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_y_res"
);
72
73
m_rdz_vs_zed
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_rdz_vs_zed"
);
74
m_rdz_vs_ntrax
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_rdz_vs_ntrax"
);
75
m_rdz_vs_nvtx
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_rdz_vs_nvtx"
);
76
77
m_eff_zed
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_zed_eff"
);
78
m_eff_ntrax
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_ntrax_eff"
);
79
m_eff_nvtx
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_nvtx_eff"
);
80
m_eff_mu
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_mu_eff"
);
81
m_eff_lb
=
new
TIDA::Histogram<float>
(
monTool
(),
"vx_lb_eff"
);
82
84
85
}
86
87
88
void
VtxR3Analysis::execute
(
const
std::vector<TIDA::Vertex*>& vtx0,
89
const
std::vector<TIDA::Vertex*>& vtx1,
90
const
TIDA::Event
* tevt ) {
91
92
// std::cout << "VtxAnalysis::execute() initialised: " << m_initialised << "\tevent: " << tevt << std::endl;
93
94
if
( !
m_initialised
)
return
;
95
96
// if ( vtx1.size()<2 ) return;
97
98
#if 0
99
std::cout <<
"VtxAnalysis::execute() "
<<
name
()
100
<<
"\tvtx0.size() "
<< vtx0.size()
101
<<
"\tvtx1.size() "
<< vtx1.size()
102
<< std::endl;
103
#endif
104
105
106
VertexMatcher
m(
"vtx_matcher"
, 10 );
107
108
m.match( vtx0, vtx1 );
109
110
m_hnvtx
->Fill( vtx0.size() );
111
m_hnvtx_rec
->Fill( vtx1.size() );
112
113
// for ( unsigned i=0 ; i<vtx0.size() ; i++ ) {
114
for
(
unsigned
i=0 ; i<vtx0.size() ; i++ ) {
115
116
if
( i>0 )
break
;
117
118
// std::cout << i << "\tref z " << vtx0[i]->z();
119
120
m_hzed
->Fill( vtx0[i]->
z
() );
121
m_hx
->Fill( vtx0[i]->
x
() );
122
m_hy
->Fill( vtx0[i]->
y
() );
123
124
125
m_hntrax
->Fill( vtx0[i]->Ntracks() );
126
127
const
TIDA::Vertex
* mv = m.matched( vtx0[i] );
128
129
if
( mv ) {
130
131
// std::cout << "\ttest z " << mv->z() << " : delta z " << (mv->z()-vtx0[i]->z()) << std::endl;
132
135
136
m_hzed_rec
->Fill( mv->
z
() );
137
m_hx_rec
->Fill( mv->
x
() );
138
m_hy_rec
->Fill( mv->
y
() );
139
m_hntrax_rec
->Fill( mv->
Ntracks
() );
140
141
m_hzed_res
->Fill( mv->
z
() - vtx0[i]->z() );
142
m_hx_res
->Fill( mv->
x
() - vtx0[i]->x() );
143
m_hy_res
->Fill( mv->
y
() - vtx0[i]->y() );
144
145
m_rdz_vs_zed
->Fill( vtx0[i]->
z
(), mv->
z
() - vtx0[i]->z() );
146
m_rdz_vs_ntrax
->Fill( vtx0[i]->Ntracks(), mv->
z
() - vtx0[i]->z() );
147
m_rdz_vs_nvtx
->Fill( vtx0.size(), mv->
z
() - vtx0[i]->z() );
148
149
m_eff_zed
->Fill( vtx0[i]->
z
(), 1 );
150
m_eff_ntrax
->Fill( vtx0[i]->Ntracks(), 1 );
151
m_eff_nvtx
->Fill( vtx0.size(), 1 );
152
153
m_eff_mu
->Fill( tevt->
mu
(), 1 );
154
m_eff_lb
->Fill( tevt->
lumi_block
(), 1 );
155
156
}
157
else
{
158
// std::cout << "\t" << "------" << std::endl;
159
160
m_eff_zed
->Fill( vtx0[i]->
z
(), 0 );
161
162
m_eff_ntrax
->Fill( vtx0[i]->Ntracks(), 0 );
163
m_eff_nvtx
->Fill( vtx0.size(), 0 );
164
165
m_eff_mu
->Fill( tevt->
mu
(), 0 );
166
m_eff_lb
->Fill( tevt->
lumi_block
(), 0 );
167
}
168
169
}
170
171
}
172
173
174
175
176
void
VtxR3Analysis::finalise
() {
177
// std::cout << "VtxAnalysis::finalise() " << name() << std::endl;
178
}
179
y
#define y
x
#define x
z
#define z
VertexMatcher.h
VtxR3Analysis.h
TIDA::Event
Definition
TIDAEvent.h:32
TIDA::Event::lumi_block
void lumi_block(unsigned lb)
Definition
TIDAEvent.h:43
TIDA::Event::mu
void mu(double m)
Definition
TIDAEvent.h:46
TIDA::Histogram
Definition
TIDAHistogram.h:56
TIDA::Vertex
Definition
TIDAVertex.h:23
TIDA::Vertex::y
double y() const
Definition
TIDAVertex.h:52
TIDA::Vertex::Ntracks
int Ntracks() const
Definition
TIDAVertex.h:62
TIDA::Vertex::z
double z() const
Definition
TIDAVertex.h:53
TIDA::Vertex::x
double x() const
Definition
TIDAVertex.h:51
VertexAnalysis::VertexAnalysis
VertexAnalysis(const std::string &n)
Definition
VertexAnalysis.h:29
VertexAnalysis::name
const std::string & name() const
Definition
VertexAnalysis.h:33
VertexMatcher
Definition
VertexMatcher.h:24
VtxR3Analysis::m_eff_mu
TIDA::Histogram< float > * m_eff_mu
Definition
VtxR3Analysis.h:78
VtxR3Analysis::m_hx_rec
TIDA::Histogram< float > * m_hx_rec
Definition
VtxR3Analysis.h:60
VtxR3Analysis::m_hzed_rec
TIDA::Histogram< float > * m_hzed_rec
Definition
VtxR3Analysis.h:59
VtxR3Analysis::m_hy_rec
TIDA::Histogram< float > * m_hy_rec
Definition
VtxR3Analysis.h:61
VtxR3Analysis::initialise
void initialise()
Definition
VtxR3Analysis.cxx:44
VtxR3Analysis::m_rdz_vs_nvtx
TIDA::Histogram< float > * m_rdz_vs_nvtx
Definition
VtxR3Analysis.h:70
VtxR3Analysis::m_rdz_vs_zed
TIDA::Histogram< float > * m_rdz_vs_zed
Definition
VtxR3Analysis.h:68
VtxR3Analysis::m_hnvtx
TIDA::Histogram< float > * m_hnvtx
Definition
VtxR3Analysis.h:52
VtxR3Analysis::m_hzed_res
TIDA::Histogram< float > * m_hzed_res
Definition
VtxR3Analysis.h:64
VtxR3Analysis::m_eff_lb
TIDA::Histogram< float > * m_eff_lb
Definition
VtxR3Analysis.h:79
VtxR3Analysis::m_hx_res
TIDA::Histogram< float > * m_hx_res
Definition
VtxR3Analysis.h:65
VtxR3Analysis::m_hnvtx_rec
TIDA::Histogram< float > * m_hnvtx_rec
Definition
VtxR3Analysis.h:58
VtxR3Analysis::finalise
void finalise()
Definition
VtxR3Analysis.cxx:176
VtxR3Analysis::m_initialised
bool m_initialised
Definition
VtxR3Analysis.h:46
VtxR3Analysis::execute
void execute(const std::vector< TIDA::Vertex * > &vtx0, const std::vector< TIDA::Vertex * > &vtx1, const TIDA::Event *te=0)
Definition
VtxR3Analysis.cxx:88
VtxR3Analysis::m_hntrax_rec
TIDA::Histogram< float > * m_hntrax_rec
Definition
VtxR3Analysis.h:62
VtxR3Analysis::m_hx
TIDA::Histogram< float > * m_hx
Definition
VtxR3Analysis.h:54
VtxR3Analysis::VtxR3Analysis
VtxR3Analysis(const std::string &n)
Definition
VtxR3Analysis.cxx:16
VtxR3Analysis::m_hntrax
TIDA::Histogram< float > * m_hntrax
Definition
VtxR3Analysis.h:56
VtxR3Analysis::m_eff_nvtx
TIDA::Histogram< float > * m_eff_nvtx
Definition
VtxR3Analysis.h:77
VtxR3Analysis::m_eff_zed
TIDA::Histogram< float > * m_eff_zed
Definition
VtxR3Analysis.h:75
VtxR3Analysis::m_hy
TIDA::Histogram< float > * m_hy
Definition
VtxR3Analysis.h:55
VtxR3Analysis::m_hzed
TIDA::Histogram< float > * m_hzed
Definition
VtxR3Analysis.h:53
VtxR3Analysis::m_monTool
ToolHandle< GenericMonitoringTool > * m_monTool
Definition
VtxR3Analysis.h:48
VtxR3Analysis::m_rdz_vs_ntrax
TIDA::Histogram< float > * m_rdz_vs_ntrax
Definition
VtxR3Analysis.h:69
VtxR3Analysis::m_hy_res
TIDA::Histogram< float > * m_hy_res
Definition
VtxR3Analysis.h:66
VtxR3Analysis::m_eff_ntrax
TIDA::Histogram< float > * m_eff_ntrax
Definition
VtxR3Analysis.h:76
VtxR3Analysis::monTool
ToolHandle< GenericMonitoringTool > * monTool()
Definition
VtxR3Analysis.h:42
Generated on
for ATLAS Offline Software by
1.17.0