ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetValidation
InDetTrackPerfMon
src
plots
NtracksPlots.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
9
11
#include "
NtracksPlots.h
"
12
#include "
../TrackParametersHelper.h
"
13
14
18
IDTPM::NtracksPlots::NtracksPlots
(
19
PlotMgr
* pParent,
const
std::string& dirName,
20
const
std::string& anaTag,
const
std::string& trackType,
21
bool
doTrigger,
bool
doTruthMuPlots ) :
22
PlotMgr
( dirName, anaTag, pParent ),
23
m_trackType
( trackType ),
24
m_doTrigger
( doTrigger ),
25
m_doTruthMuPlots
( doTruthMuPlots ) { }
26
27
31
void
IDTPM::NtracksPlots::initializePlots
()
32
{
33
StatusCode
sc
=
bookPlots
();
34
if
(
sc
.isFailure() ) {
35
ATH_MSG_ERROR
(
"Failed to book track multiplicity plots"
);
36
}
37
}
38
39
40
StatusCode
IDTPM::NtracksPlots::bookPlots
()
41
{
42
ATH_MSG_DEBUG
(
"Booking track multiplicity plots in "
<<
getDirectory
() );
43
44
for
(
size_t
i=0; i<
NCOUNTERS
; i++ ) {
46
if
( not
m_doTrigger
and i ==
INROI
)
continue
;
47
49
ATH_CHECK
(
retrieveAndBook
(
m_nTracks
[i],
"num_"
+
m_trackType
+
"_"
+
m_counterName
[i] ) );
50
52
ATH_CHECK
(
retrieveAndBook
(
53
m_nTracks_vs_nVertices
[i],
54
"num_"
+
m_trackType
+
"_"
+
m_counterName
[i]+
"_vs_num_vtx_"
+
m_trackType
+
"_"
+
m_counterName
[i] ) );
55
57
ATH_CHECK
(
retrieveAndBook
(
58
m_nTracks_vs_actualMu
[i],
"num_"
+
m_trackType
+
"_"
+
m_counterName
[i]+
"_vs_actualMu"
) );
59
if
(
m_doTruthMuPlots
)
ATH_CHECK
(
retrieveAndBook
(
60
m_nTracks_vs_truthMu
[i],
"num_"
+
m_trackType
+
"_"
+
m_counterName
[i]+
"_vs_truthMu"
) );
61
63
ATH_CHECK
(
retrieveAndBook
(
64
m_avg_nTracks_vs_actualMu
[i],
"avgNum_"
+
m_trackType
+
"_"
+
m_counterName
[i]+
"_vs_actualMu"
) );
65
if
(
m_doTruthMuPlots
)
ATH_CHECK
(
retrieveAndBook
(
66
m_avg_nTracks_vs_truthMu
[i],
"avgNum_"
+
m_trackType
+
"_"
+
m_counterName
[i]+
"_vs_truthMu"
) );
67
}
68
69
return
StatusCode::SUCCESS;
70
}
71
72
76
StatusCode
IDTPM::NtracksPlots::fillPlots
(
77
const
std::vector< size_t >& trackCounts,
78
const
std::vector< size_t >& vertexCounts,
79
float
truthMu,
80
float
actualMu,
81
float
weight )
82
{
84
if
( trackCounts.size() !=
NCOUNTERS
or vertexCounts.size() !=
NCOUNTERS
) {
85
ATH_MSG_ERROR
(
"Counts vectors sizes are invalid"
);
86
return
StatusCode::FAILURE;
87
}
88
90
for
(
size_t
i=0; i<
NCOUNTERS
; i++ ) {
92
if
( not
m_doTrigger
and i ==
INROI
)
continue
;
93
95
ATH_CHECK
(
fill
(
m_nTracks
[i], trackCounts[i], weight ) );
96
98
ATH_CHECK
(
fill
(
m_nTracks_vs_nVertices
[i], vertexCounts[i], trackCounts[i], weight ) );
99
101
ATH_CHECK
(
fill
(
m_nTracks_vs_actualMu
[i], actualMu, trackCounts[i], weight ) );
102
if
(
m_doTruthMuPlots
)
ATH_CHECK
(
fill
(
m_nTracks_vs_truthMu
[i], truthMu, trackCounts[i], weight ) );
103
105
ATH_CHECK
(
fill
(
m_avg_nTracks_vs_actualMu
[i], actualMu, trackCounts[i], weight ) );
106
if
(
m_doTruthMuPlots
)
ATH_CHECK
(
fill
(
m_avg_nTracks_vs_truthMu
[i], truthMu, trackCounts[i], weight ) );
107
}
108
109
return
StatusCode::SUCCESS;
110
}
111
112
116
void
IDTPM::NtracksPlots::finalizePlots
()
117
{
118
ATH_MSG_DEBUG
(
"Finalising track multiplicity plots"
);
120
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition
AthMsgStreamMacros.h:33
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
sc
static Double_t sc
Definition
LArPhysWaveHECTool.cxx:37
NtracksPlots.h
TrackParametersHelper.h
Utility methods to access track/truth particles parmeters in a consitent way in this package.
IDTPM::NtracksPlots::m_nTracks_vs_truthMu
TH2 * m_nTracks_vs_truthMu[NCOUNTERS]
Definition
NtracksPlots.h:72
IDTPM::NtracksPlots::finalizePlots
void finalizePlots()
Print out final stats on histograms.
Definition
NtracksPlots.cxx:116
IDTPM::NtracksPlots::m_doTruthMuPlots
bool m_doTruthMuPlots
Definition
NtracksPlots.h:55
IDTPM::NtracksPlots::initializePlots
void initializePlots()
Book the histograms.
Definition
NtracksPlots.cxx:31
IDTPM::NtracksPlots::bookPlots
StatusCode bookPlots()
Definition
NtracksPlots.cxx:40
IDTPM::NtracksPlots::m_avg_nTracks_vs_actualMu
TProfile * m_avg_nTracks_vs_actualMu[NCOUNTERS]
Definition
NtracksPlots.h:75
IDTPM::NtracksPlots::NtracksPlots
NtracksPlots(PlotMgr *pParent, const std::string &dirName, const std::string &anaTag, const std::string &trackType, bool doTrigger=false, bool doTruthMuPlots=false)
Constructor.
Definition
NtracksPlots.cxx:18
IDTPM::NtracksPlots::m_nTracks
TH1 * m_nTracks[NCOUNTERS]
Definition
NtracksPlots.h:70
IDTPM::NtracksPlots::m_counterName
std::string m_counterName[NCOUNTERS]
Definition
NtracksPlots.h:66
IDTPM::NtracksPlots::m_nTracks_vs_nVertices
TH2 * m_nTracks_vs_nVertices[NCOUNTERS]
Definition
NtracksPlots.h:71
IDTPM::NtracksPlots::fillPlots
StatusCode fillPlots(const std::vector< size_t > &trackCounts, const std::vector< size_t > &vertexCounts, float truthMu, float actualMu, float weight)
Dedicated fill method.
Definition
NtracksPlots.cxx:76
IDTPM::NtracksPlots::m_trackType
std::string m_trackType
Definition
NtracksPlots.h:53
IDTPM::NtracksPlots::INROI
@ INROI
Definition
NtracksPlots.h:61
IDTPM::NtracksPlots::NCOUNTERS
@ NCOUNTERS
Definition
NtracksPlots.h:63
IDTPM::NtracksPlots::m_avg_nTracks_vs_truthMu
TProfile * m_avg_nTracks_vs_truthMu[NCOUNTERS]
Definition
NtracksPlots.h:74
IDTPM::NtracksPlots::m_nTracks_vs_actualMu
TH2 * m_nTracks_vs_actualMu[NCOUNTERS]
Definition
NtracksPlots.h:73
IDTPM::NtracksPlots::m_doTrigger
bool m_doTrigger
Definition
NtracksPlots.h:54
IDTPM::PlotMgr::retrieveAndBook
StatusCode retrieveAndBook(P *&pHisto, const std::string &identifier, std::string_view folderOverride="", std::string_view nameOverride="")
Definition
PlotMgr.h:65
IDTPM::PlotMgr::PlotMgr
PlotMgr(const std::string &dirName, const std::string &anaTag, PlotMgr *pParent=nullptr)
Constructor taking parent node and directory name for plots pParent = nullptr by default to book plot...
Definition
PlotMgr.cxx:25
PlotBase::getDirectory
const std::string & getDirectory()
Definition
PlotBase.h:89
fill
void fill(H5::Group &out_file, size_t iterations)
Definition
test-half-precision.cxx:64
Generated on
for ATLAS Offline Software by
1.17.0