|
ATLAS Offline Software
|
#include <TrackAnalysisPlotsMgr.h>
|
| TrackAnalysisPlotsMgr (const std::string &dirName, const std::string &anaTag, const std::string &chain, PlotMgr *pParent=nullptr) |
| Constructor. More...
|
|
virtual | ~TrackAnalysisPlotsMgr ()=default |
| Destructor. More...
|
|
StatusCode | initialize () |
| initialize More...
|
|
const std::string & | anaTag () const |
| return members More...
|
|
const std::string & | chain () const |
|
const std::string & | directory () const |
|
StatusCode | fill (TrackAnalysisCollections &trkAnaColls, float weight=1.0) |
| General fill method. More...
|
|
template<typename PARTICLE , typename VERTEX > |
StatusCode | fillPlotsTest (const std::vector< const PARTICLE * > &particles, const ITrackMatchingLookup &matches, const std::vector< const VERTEX * > &vertices, float truthMu=0., float actualMu=0., float weight=1.0) |
| Fill all plots w.r.t. More...
|
|
template<typename PARTICLE , typename VERTEX > |
StatusCode | fillPlotsReference (const std::vector< const PARTICLE * > &particles, const ITrackMatchingLookup &matches, const std::vector< const VERTEX * > &vertices, float truthMu=0., float actualMu=0., float weight=1.0) |
| Fill all plots w.r.t. More...
|
|
StatusCode | fillPlotsTruth (const std::vector< const xAOD::TrackParticle * > &testTracks, const std::vector< const xAOD::TrackParticle * > &refTracks, const std::vector< const xAOD::TruthParticle * > &truths, const ITrackMatchingLookup &matches, float truthMu=0., float actualMu=0., float weight=1.0) |
| Fill efficiency plots w.r.t. truth (for EFTruthMatch only) More...
|
|
SinglePlotDefinition | retrieveDefinition (const std::string &identifier, const std::string &folderOverride="", const std::string &nameOverride="") const |
| Retrieve a single histogram definition, given the unique string identifier. More...
|
|
template<class P > |
StatusCode | retrieveAndBook (P *&pHisto, const std::string &identifier, const std::string &folderOverride="", const std::string &nameOverride="") |
|
StatusCode | book (TH1 *&pHisto, const SinglePlotDefinition &def) |
| Book a TH1 histogram. More...
|
|
StatusCode | book (TH2 *&pHisto, const SinglePlotDefinition &def) |
| Book a TH2 histogram. More...
|
|
StatusCode | book (TH3 *&pHisto, const SinglePlotDefinition &def) |
| Book a TH3 histogram. More...
|
|
StatusCode | book (TProfile *&pHisto, const SinglePlotDefinition &def) |
| Book a TProfile histogram. More...
|
|
StatusCode | book (TProfile2D *&pHisto, const SinglePlotDefinition &def) |
| Book a TProfile2D histogram. More...
|
|
StatusCode | book (TEfficiency *&pHisto, const SinglePlotDefinition &def) |
| Book a (1D or 2D) TEfficiency histogram. More...
|
|
StatusCode | fill (TH1 *pTh1, float value, float weight=1.) const |
|
StatusCode | fill (TH2 *pTh2, float xval, float yval, float weight=1.) const |
| Fill a TH2 histogram. More...
|
|
StatusCode | fill (TH3 *pTh3, float xval, float yval, float zval, float weight=1.) const |
| Fill a TH3 histogram. More...
|
|
StatusCode | fill (TProfile *pTprofile, float xval, float yval, float weight=1.) const |
| Fill a TProfile histogram weight allows weighted-averaging in the profile. More...
|
|
StatusCode | fill (TProfile2D *pTprofile, float xval, float yval, float zval, float weight=1.) const |
| Fill a TProfile2D histogram weight allows weighted-averaging in the profile. More...
|
|
StatusCode | fill (TEfficiency *pTeff, float value, bool accepted, float weight=1.) const |
| Fill a (1D) TEfficiency histogram. More...
|
|
StatusCode | fill (TEfficiency *pTeff2d, float xvalue, float yvalue, bool accepted, float weight=1.) const |
| Fill a (2D) TEfficiency histogram. More...
|
|
void | finalize () |
|
void | setDetailLevel (int iDetailLevel) |
|
void | RegisterSubPlot (PlotBase *pPlotBase) |
|
std::vector< HistData > | retrieveBookedHistograms () |
| Retrieve all booked histograms. More...
|
|
std::vector< TreeData > | retrieveBookedTrees () |
| Retrieve all booked trees. More...
|
|
std::vector< EfficiencyData > | retrieveBookedEfficiencies () |
| Retrieve all booked efficiency objects. More...
|
|
TTree * | BookTree (const std::string &name, bool prependDir=true) |
| Book a TTree. More...
|
|
const std::string & | getDirectory () |
|
bool | msgLvl (const MSG::Level lvl) const |
| Test the output level. More...
|
|
MsgStream & | msg () const |
| The standard message stream. More...
|
|
MsgStream & | msg (const MSG::Level lvl) const |
| The standard message stream. More...
|
|
void | setLevel (MSG::Level lvl) |
| Change the current logging level. More...
|
|
|
template<class P > |
StatusCode | setVariableBins (P *&pHisto, const std::vector< float > &binning, char axis) |
| SetVariableBins. More...
|
|
template<class P > |
StatusCode | setVariableBinsEff (P *&pHisto, const std::vector< float > &binning, char axis) |
| SetVariableBins (for Efficiencies) More...
|
|
template<class P > |
StatusCode | setLogLinearBins (P *&pHisto, unsigned int nBins, float absMin, float absMax, char axis) |
| Set Log-Linear axis. More...
|
|
template<class P > |
StatusCode | setLogLinearBinsEff (P *&pHisto, unsigned int nBins, float absMin, float absMax, char axis) |
| Set Log-Linear axis (for Efficiencies) More...
|
|
std::vector< float > | getLogLinearBins (unsigned int nBins, float absMin, float absMax, bool symmetriseAroundZero=false) |
| Get Log-Linear binning vector inherited from InDetPhysValMonitoring/src/logLinearBinning.h. More...
|
|
Definition at line 45 of file TrackAnalysisPlotsMgr.h.
◆ TrackAnalysisPlotsMgr()
IDTPM::TrackAnalysisPlotsMgr::TrackAnalysisPlotsMgr |
( |
const std::string & |
dirName, |
|
|
const std::string & |
anaTag, |
|
|
const std::string & |
chain, |
|
|
PlotMgr * |
pParent = nullptr |
|
) |
| |
◆ ~TrackAnalysisPlotsMgr()
virtual IDTPM::TrackAnalysisPlotsMgr::~TrackAnalysisPlotsMgr |
( |
| ) |
|
|
virtualdefault |
◆ anaTag()
const std::string& IDTPM::TrackAnalysisPlotsMgr::anaTag |
( |
| ) |
const |
|
inline |
◆ book() [1/6]
Book a (1D or 2D) TEfficiency histogram.
Definition at line 240 of file PlotMgr.cxx.
243 if( not def.isValid() ) {
244 ATH_MSG_ERROR(
"Non-valid TEfficiency plot : " << def.identifier() );
245 return StatusCode::FAILURE;
248 pHisto = ( def.nBinsY() == 0 ) ?
250 def.nBinsX(), def.xLow(), def.xHigh(),
253 def.nBinsX(), def.xLow(), def.xHigh(),
254 def.nBinsY(), def.yLow(), def.yHigh(),
257 if( def.doLogLinBinsX() ) {
261 if( def.doLogLinBinsY() and def.nBinsY() != 0 ) {
265 if( def.doVarBinsX() ) {
269 if( def.doVarBinsY() and def.nBinsY() != 0 ) {
273 return StatusCode::SUCCESS;
◆ book() [2/6]
Book a TH1 histogram.
— Book histograms methods —
Book a TH1 histogram
Definition at line 78 of file PlotMgr.cxx.
81 if( not def.isValid() ) {
83 return StatusCode::FAILURE;
86 pHisto =
Book1D( def.name(), def.titleDigest(),
87 def.nBinsX(), def.xLow(), def.xHigh(),
90 if( def.doLogLinBinsX() ) {
94 if( def.doVarBinsX() ) {
98 return StatusCode::SUCCESS;
◆ book() [3/6]
Book a TH2 histogram.
Definition at line 103 of file PlotMgr.cxx.
106 if( not def.isValid() ) {
107 ATH_MSG_ERROR(
"Non-valid TH2 plot : " << def.identifier() );
108 return StatusCode::FAILURE;
111 pHisto =
Book2D( def.name(), def.titleDigest(),
112 def.nBinsX(), def.xLow(), def.xHigh(),
113 def.nBinsY(), def.yLow(), def.yHigh(),
116 if( def.doLogLinBinsX() ) {
120 if( def.doLogLinBinsY() ) {
124 if( def.doVarBinsX() ) {
128 if( def.doVarBinsY() ) {
132 return StatusCode::SUCCESS;
◆ book() [4/6]
Book a TH3 histogram.
Definition at line 137 of file PlotMgr.cxx.
140 if( not def.isValid() ) {
141 ATH_MSG_ERROR(
"Non-valid TH3 plot : " << def.identifier() );
142 return StatusCode::FAILURE;
145 pHisto =
Book3D( def.name(), def.titleDigest(),
146 def.nBinsX(), def.xLow(), def.xHigh(),
147 def.nBinsY(), def.yLow(), def.yHigh(),
148 def.nBinsZ(), def.zLow(), def.zHigh(),
151 if( def.doLogLinBinsX() ) {
155 if( def.doLogLinBinsY() ) {
159 if( def.doLogLinBinsZ() ) {
163 if( def.doVarBinsX() ) {
167 if( def.doVarBinsY() ) {
171 if( def.doVarBinsZ() ) {
175 return StatusCode::SUCCESS;
◆ book() [5/6]
Book a TProfile histogram.
Definition at line 180 of file PlotMgr.cxx.
183 if( not def.isValid() ) {
184 ATH_MSG_ERROR(
"Non-valid TProfile plot : " << def.identifier() );
185 return StatusCode::FAILURE;
189 def.nBinsX(), def.xLow(), def.xHigh(),
190 def.yLow(), def.yHigh(),
193 if( def.doLogLinBinsX() ) {
197 if( def.doVarBinsX() ) {
201 return StatusCode::SUCCESS;
◆ book() [6/6]
Book a TProfile2D histogram.
Definition at line 206 of file PlotMgr.cxx.
209 if( not def.isValid() ) {
210 ATH_MSG_ERROR(
"Non-valid TProfile2D plot : " << def.identifier() );
211 return StatusCode::FAILURE;
215 def.nBinsX(), def.xLow(), def.xHigh(),
216 def.nBinsY(), def.yLow(), def.yHigh(),
219 if( def.doLogLinBinsX() ) {
223 if( def.doLogLinBinsY() ) {
227 if( def.doVarBinsX() ) {
231 if( def.doVarBinsY() ) {
235 return StatusCode::SUCCESS;
◆ Book1D() [1/2]
TH1D * PlotBase::Book1D |
( |
const std::string & |
name, |
|
|
const std::string & |
labels, |
|
|
int |
nBins, |
|
|
float |
start, |
|
|
float |
end, |
|
|
bool |
prependDir = true |
|
) |
| |
|
inherited |
Book a TH1D histogram.
Definition at line 94 of file PlotBase.cxx.
97 Bool_t oldstat = TH1::AddDirectoryStatus();
98 TH1::AddDirectory(
false);
100 TH1::AddDirectory(oldstat);
◆ Book1D() [2/2]
TH1D * PlotBase::Book1D |
( |
const std::string & |
name, |
|
|
TH1 * |
refHist, |
|
|
const std::string & |
labels, |
|
|
bool |
prependDir = true |
|
) |
| |
|
inherited |
Book a TH1D histogram using refHist as reference for number of bins and axis range.
Definition at line 108 of file PlotBase.cxx.
110 Bool_t oldstat = TH1::AddDirectoryStatus();
111 TH1::AddDirectory(
false);
113 refHist->GetXaxis()->GetXbins()->GetArray());
115 TH1::AddDirectory(oldstat);
◆ Book2D() [1/3]
TH2F * PlotBase::Book2D |
( |
const std::string & |
name, |
|
|
const std::string & |
labels, |
|
|
int |
nBinsX, |
|
|
Double_t * |
binsX, |
|
|
int |
nBinsY, |
|
|
Double_t |
startY, |
|
|
Double_t |
endY, |
|
|
bool |
prependDir = true |
|
) |
| |
|
inherited |
Book a TH2F histogram with variable x axis binning.
Definition at line 144 of file PlotBase.cxx.
147 Bool_t oldstat = TH2::AddDirectoryStatus();
148 TH2::AddDirectory(
false);
151 TH2::AddDirectory(oldstat);
◆ Book2D() [2/3]
TH2F * PlotBase::Book2D |
( |
const std::string & |
name, |
|
|
const std::string & |
labels, |
|
|
int |
nBinsX, |
|
|
float |
startX, |
|
|
float |
endX, |
|
|
int |
nBinsY, |
|
|
float |
startY, |
|
|
float |
endY, |
|
|
bool |
prependDir = true |
|
) |
| |
|
inherited |
Book a TH2F histogram.
Definition at line 123 of file PlotBase.cxx.
126 Bool_t oldstat = TH2::AddDirectoryStatus();
127 TH2::AddDirectory(
false);
130 TH2::AddDirectory(oldstat);
◆ Book2D() [3/3]
TH2F * PlotBase::Book2D |
( |
const std::string & |
name, |
|
|
TH2 * |
refHist, |
|
|
const std::string & |
labels, |
|
|
bool |
prependDir = true |
|
) |
| |
|
inherited |
Book a TH2D histogram using refHist as reference for number of bins and axis range.
Definition at line 138 of file PlotBase.cxx.
139 return Book2D(
name,
labels, refHist->GetNbinsX(), refHist->GetXaxis()->GetXmin(), refHist->GetXaxis()->GetXmax(),
140 refHist->GetNbinsY(), refHist->GetYaxis()->GetXmin(), refHist->GetYaxis()->GetXmax(), prependDir);
◆ Book3D() [1/2]
TH3F * PlotBase::Book3D |
( |
const std::string & |
name, |
|
|
const std::string & |
labels, |
|
|
int |
nBinsX, |
|
|
float |
startX, |
|
|
float |
endX, |
|
|
int |
nBinsY, |
|
|
float |
startY, |
|
|
float |
endY, |
|
|
int |
nBinsZ, |
|
|
float |
startZ, |
|
|
float |
endZ, |
|
|
bool |
prependDir = true |
|
) |
| |
|
inherited |
Book a TH3F histogram.
Definition at line 157 of file PlotBase.cxx.
160 Bool_t oldstat = TH3::AddDirectoryStatus();
161 TH3::AddDirectory(
false);
163 labels.c_str(), nBinsX, startX, endX, nBinsY, startY, endY, nBinsZ, startZ, endZ);
165 TH3::AddDirectory(oldstat);
◆ Book3D() [2/2]
TH3F * PlotBase::Book3D |
( |
const std::string & |
name, |
|
|
TH3 * |
refHist, |
|
|
const std::string & |
labels, |
|
|
bool |
prependDir = true |
|
) |
| |
|
inherited |
Book a TH3F histogram using refHist as reference for number of bins and axis range.
Definition at line 171 of file PlotBase.cxx.
173 Bool_t oldstat = TH3::AddDirectoryStatus();
174 TH3::AddDirectory(
false);
176 refHist->GetXaxis()->GetXbins()->GetArray(), refHist->GetNbinsY(),
177 refHist->GetYaxis()->GetXbins()->GetArray(), refHist->GetNbinsZ(),
178 refHist->GetZaxis()->GetXbins()->GetArray());
179 TH3::AddDirectory(oldstat);
◆ BookTEfficiency() [1/2]
TEfficiency * PlotBase::BookTEfficiency |
( |
const std::string & |
name, |
|
|
const std::string & |
labels, |
|
|
const int |
nBinsX, |
|
|
const float |
xlo, |
|
|
const float |
xhi, |
|
|
const bool |
prependDir = true |
|
) |
| |
|
inherited |
Book a (1-D) TEfficiency histogram.
Definition at line 257 of file PlotBase.cxx.
263 hist->SetDirectory(
nullptr);
◆ BookTEfficiency() [2/2]
TEfficiency * PlotBase::BookTEfficiency |
( |
const std::string & |
name, |
|
|
const std::string & |
labels, |
|
|
const int |
nBinsX, |
|
|
const float |
xlo, |
|
|
const float |
xhi, |
|
|
const int |
nBinsy, |
|
|
const float |
ylo, |
|
|
const float |
yhi, |
|
|
const bool |
prependDir = true |
|
) |
| |
|
inherited |
Book a (2-D) TEfficiency histogram.
Definition at line 270 of file PlotBase.cxx.
274 hist->SetDirectory(
nullptr);
◆ BookTProfile() [1/2]
TProfile * PlotBase::BookTProfile |
( |
const std::string & |
name, |
|
|
const std::string & |
labels, |
|
|
int |
nBinsX, |
|
|
float * |
binsX, |
|
|
bool |
prependDir = true |
|
) |
| |
|
inherited |
Book a TProfile histogram with variable binning in x-axis.
Definition at line 204 of file PlotBase.cxx.
207 Bool_t oldstat = TProfile::AddDirectoryStatus();
208 TProfile::AddDirectory(
false);
211 TProfile::AddDirectory(oldstat);
◆ BookTProfile() [2/2]
TProfile * PlotBase::BookTProfile |
( |
const std::string & |
name, |
|
|
const std::string & |
labels, |
|
|
int |
nBinsX, |
|
|
float |
startX, |
|
|
float |
endX, |
|
|
float |
startY = -1 , |
|
|
float |
endY = -1 , |
|
|
bool |
prependDir = true , |
|
|
bool |
useRMS = false |
|
) |
| |
|
inherited |
Book a TProfile histogram.
Definition at line 186 of file PlotBase.cxx.
190 Bool_t oldstat = TProfile::AddDirectoryStatus();
191 TProfile::AddDirectory(
false);
192 std::string
opt = useRMS ?
"S" :
"";
193 if ((startY == -1) and (endY == -1)) {
198 TProfile::AddDirectory(oldstat);
◆ BookTProfile2D() [1/2]
TProfile2D * PlotBase::BookTProfile2D |
( |
const std::string & |
name, |
|
|
const std::string & |
labels, |
|
|
const int |
nBinsX, |
|
|
const double |
xlo, |
|
|
const double |
xhi, |
|
|
const int |
nBinsY, |
|
|
const double |
ylo, |
|
|
const double |
yhi, |
|
|
bool |
prependDir = true , |
|
|
bool |
useRMS = false |
|
) |
| |
|
inherited |
Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.
Definition at line 231 of file PlotBase.cxx.
235 Bool_t oldstat = TProfile2D::AddDirectoryStatus();
236 TProfile2D::AddDirectory(
false);
237 std::string
opt = useRMS ?
"S" :
"";
239 TProfile2D::AddDirectory(oldstat);
◆ BookTProfile2D() [2/2]
TProfile2D * PlotBase::BookTProfile2D |
( |
const std::string & |
name, |
|
|
const std::string & |
labels, |
|
|
const int |
nBinsX, |
|
|
double * |
binsX, |
|
|
const int |
nBinsY, |
|
|
double * |
binsY, |
|
|
bool |
prependDir = true , |
|
|
bool |
useRMS = false |
|
) |
| |
|
inherited |
Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.
Definition at line 245 of file PlotBase.cxx.
247 Bool_t oldstat = TProfile2D::AddDirectoryStatus();
248 TProfile2D::AddDirectory(
false);
249 std::string
opt = useRMS ?
"S" :
"";
251 TProfile2D::AddDirectory(oldstat);
◆ BookTProfileRangeY()
TProfile * PlotBase::BookTProfileRangeY |
( |
const std::string & |
name, |
|
|
const std::string & |
labels, |
|
|
int |
nBinsX, |
|
|
double * |
binsX, |
|
|
double |
startY, |
|
|
double |
endY, |
|
|
bool |
prependDir = true |
|
) |
| |
|
inherited |
Book a TProfile histogram with variable binning in x-axis and limits in y-values.
Definition at line 217 of file PlotBase.cxx.
221 Bool_t oldstat = TProfile::AddDirectoryStatus();
222 TProfile::AddDirectory(
false);
225 TProfile::AddDirectory(oldstat);
◆ BookTree()
TTree * PlotBase::BookTree |
( |
const std::string & |
name, |
|
|
bool |
prependDir = true |
|
) |
| |
|
inherited |
Book a TTree.
Definition at line 281 of file PlotBase.cxx.
285 tree->SetAutoSave(0);
286 tree->SetAutoFlush(0);
287 tree->SetDirectory(
nullptr);
◆ chain()
const std::string& IDTPM::TrackAnalysisPlotsMgr::chain |
( |
| ) |
const |
|
inline |
◆ constructPrefix()
std::string PlotBase::constructPrefix |
( |
std::string |
dir, |
|
|
bool |
prependDir |
|
) |
| |
|
staticprivateinherited |
◆ directory()
const std::string& IDTPM::TrackAnalysisPlotsMgr::directory |
( |
| ) |
const |
|
inline |
◆ fill() [1/8]
StatusCode IDTPM::PlotMgr::fill |
( |
TEfficiency * |
pTeff, |
|
|
float |
value, |
|
|
bool |
accepted, |
|
|
float |
weight = 1. |
|
) |
| const |
|
inherited |
Fill a (1D) TEfficiency histogram.
fill the plot To get proper error estimate when possible
Definition at line 384 of file PlotMgr.cxx.
388 ATH_MSG_ERROR(
"Trying to fill non-definded 1D TEfficiency" );
389 return StatusCode::FAILURE;
392 if( std::isnan(
value ) or std::isnan(
weight ) ) {
393 ATH_MSG_ERROR(
"Non-valid fill arguments for 1D TEfficiency:" << pTeff->GetName() );
394 return StatusCode::FAILURE;
400 else pTeff->FillWeighted( accepted,
weight,
value );
401 return StatusCode::SUCCESS;
◆ fill() [2/8]
StatusCode IDTPM::PlotMgr::fill |
( |
TEfficiency * |
pTeff2d, |
|
|
float |
xvalue, |
|
|
float |
yvalue, |
|
|
bool |
accepted, |
|
|
float |
weight = 1. |
|
) |
| const |
|
inherited |
Fill a (2D) TEfficiency histogram.
fill the plot To get proper error estimate when possible
Definition at line 406 of file PlotMgr.cxx.
410 ATH_MSG_ERROR(
"Trying to fill non-definded 2D TEfficiency" );
411 return StatusCode::FAILURE;
414 if( std::isnan( xvalue ) or std::isnan( yvalue ) or std::isnan(
weight ) ) {
415 ATH_MSG_ERROR(
"Non-valid fill arguments for 2D TEfficiency:" << pTeff2d->GetName() );
416 return StatusCode::FAILURE;
421 if(
weight==1.) pTeff2d->Fill( accepted, xvalue, yvalue );
422 else pTeff2d->FillWeighted( accepted,
weight, xvalue, yvalue );
423 return StatusCode::SUCCESS;
◆ fill() [3/8]
StatusCode IDTPM::PlotMgr::fill |
( |
TH1 * |
pTh1, |
|
|
float |
value, |
|
|
float |
weight = 1. |
|
) |
| const |
|
inherited |
— Fill plots methods —
Fill a TH1 histogram
— Fill histograms methods —
Fill a TH1 histogram
fill the plot
Definition at line 281 of file PlotMgr.cxx.
286 return StatusCode::FAILURE;
289 if( std::isnan(
value ) or std::isnan(
weight ) ) {
290 ATH_MSG_ERROR(
"Non-valid fill arguments for TH1:" << pTh1->GetName() );
291 return StatusCode::FAILURE;
296 return StatusCode::SUCCESS;
◆ fill() [4/8]
StatusCode IDTPM::PlotMgr::fill |
( |
TH2 * |
pTh2, |
|
|
float |
xval, |
|
|
float |
yval, |
|
|
float |
weight = 1. |
|
) |
| const |
|
inherited |
Fill a TH2 histogram.
fill the plot
Definition at line 301 of file PlotMgr.cxx.
306 return StatusCode::FAILURE;
309 if( std::isnan(
xval ) or std::isnan(
yval ) or std::isnan(
weight ) ) {
310 ATH_MSG_ERROR(
"Non-valid fill arguments for TH2:" << pTh2->GetName() );
311 return StatusCode::FAILURE;
316 return StatusCode::SUCCESS;
◆ fill() [5/8]
StatusCode IDTPM::PlotMgr::fill |
( |
TH3 * |
pTh3, |
|
|
float |
xval, |
|
|
float |
yval, |
|
|
float |
zval, |
|
|
float |
weight = 1. |
|
) |
| const |
|
inherited |
Fill a TH3 histogram.
fill the plot
Definition at line 321 of file PlotMgr.cxx.
326 return StatusCode::FAILURE;
329 if( std::isnan(
xval ) or std::isnan(
yval ) or
330 std::isnan( zval ) or std::isnan(
weight ) ) {
331 ATH_MSG_ERROR(
"Non-valid fill arguments for TH3:" << pTh3->GetName() );
332 return StatusCode::FAILURE;
338 return StatusCode::SUCCESS;
◆ fill() [6/8]
StatusCode IDTPM::PlotMgr::fill |
( |
TProfile * |
pTprofile, |
|
|
float |
xval, |
|
|
float |
yval, |
|
|
float |
weight = 1. |
|
) |
| const |
|
inherited |
Fill a TProfile histogram weight allows weighted-averaging in the profile.
Fill a TProfile histogram.
fill the plot
Definition at line 343 of file PlotMgr.cxx.
346 if( not pTprofile ) {
348 return StatusCode::FAILURE;
351 if( std::isnan(
xval ) or std::isnan(
yval ) or std::isnan(
weight ) ) {
352 ATH_MSG_ERROR(
"Non-valid fill arguments for TProfile:" << pTprofile->GetName() );
353 return StatusCode::FAILURE;
358 return StatusCode::SUCCESS;
◆ fill() [7/8]
StatusCode IDTPM::PlotMgr::fill |
( |
TProfile2D * |
pTprofile, |
|
|
float |
xval, |
|
|
float |
yval, |
|
|
float |
zval, |
|
|
float |
weight = 1. |
|
) |
| const |
|
inherited |
Fill a TProfile2D histogram weight allows weighted-averaging in the profile.
Fill a TProfile2D histogram.
fill the plot
Definition at line 363 of file PlotMgr.cxx.
366 if( not pTprofile ) {
368 return StatusCode::FAILURE;
371 if( std::isnan(
xval ) or std::isnan(
yval ) or
372 std::isnan( zval ) or std::isnan(
weight ) ) {
373 ATH_MSG_ERROR(
"Non-valid fill arguments for TProfile2D:" << pTprofile->GetName() );
374 return StatusCode::FAILURE;
379 return StatusCode::SUCCESS;
◆ fill() [8/8]
General fill method.
---— General fill ---—
Plots w.r.t. test tracks quantities
Plots w.r.t. reference tracks quantities
Plots w.r.t. truth quantities (for EFTruthMatch only)
Track and vertex multiplicity plots
Definition at line 199 of file TrackAnalysisPlotsMgr.cxx.
202 float actualMu = trkAnaColls.eventInfo() ?
203 trkAnaColls.eventInfo()->actualInteractionsPerCrossing() : -1.;
204 float truthMu = trkAnaColls.truthPileupEventContainer() ?
205 static_cast< float >( trkAnaColls.truthPileupEventContainer()->size() ) : -1.;
211 trkAnaColls.matches(),
213 truthMu, actualMu,
weight ) );
217 trkAnaColls.matches(),
219 truthMu, actualMu,
weight ) );
226 trkAnaColls.matches(),
228 truthMu, actualMu,
weight ) );
232 trkAnaColls.matches(),
234 truthMu, actualMu,
weight ) );
243 trkAnaColls.matches(),
244 truthMu, actualMu,
weight ) );
248 std::vector< size_t > testTrackCounts = trkAnaColls.testTrackCounts();
249 std::vector< size_t > refTrackCounts = trkAnaColls.refTrackCounts();
251 std::vector< size_t > testVertexCounts = trkAnaColls.testVertexCounts();
252 std::vector< size_t > refVertexCounts = trkAnaColls.refVertexCounts();
256 testTrackCounts, testVertexCounts,
257 truthMu, actualMu,
weight ) );
262 refTrackCounts, refVertexCounts,
263 truthMu, actualMu,
weight ) );
266 return StatusCode::SUCCESS;
◆ fillPlotsReference()
template<typename PARTICLE , typename VERTEX >
StatusCode IDTPM::TrackAnalysisPlotsMgr::fillPlotsReference |
( |
const std::vector< const PARTICLE * > & |
particles, |
|
|
const ITrackMatchingLookup & |
matches, |
|
|
const std::vector< const VERTEX * > & |
vertices, |
|
|
float |
truthMu = 0. , |
|
|
float |
actualMu = 0. , |
|
|
float |
weight = 1.0 |
|
) |
| |
Fill all plots w.r.t.
reference tracks quantities for a specific collection (trigger tracks, offline tracks, truth particles) also including vertices for the reference collection
— Fill plots w.r.t. reference —
track parameters plots
hits on tracks plots
efficiency plots
technical efficiency plots
duplicate rate plots
offline electron plots (Offline is always either test or reference)
Selected vertices loop
skip dummy vertex
getting vertex-associated tracks and their weights
vertex parameters plots
close loop over vertices
Vertices multiplicity plots
Definition at line 443 of file TrackAnalysisPlotsMgr.cxx.
480 bool isTechMatched =
false;
485 isTechMatched =
true;
507 matches.getMatchedTestTruths( *particle ).size() :
508 matches.getMatchedTestTracks( *particle ).size();
527 int nGoodVertices(0);
528 for(
const VERTEX*
vertex : vertices ) {
537 std::vector< const PARTICLE* > vtxTracks{};
538 std::vector< float > vtxTrackWeights{};
540 *
vertex, vtxTracks, vtxTrackWeights,
542 ATH_MSG_WARNING(
"Problem when retrieving vertex-assocciated tracks" );
543 if( not vtxTracks.empty() ) {
544 ATH_MSG_WARNING(
"Invalid associated track links found. Check your input format." );
559 return StatusCode::SUCCESS;
◆ fillPlotsTest()
template<typename PARTICLE , typename VERTEX >
StatusCode IDTPM::TrackAnalysisPlotsMgr::fillPlotsTest |
( |
const std::vector< const PARTICLE * > & |
particles, |
|
|
const ITrackMatchingLookup & |
matches, |
|
|
const std::vector< const VERTEX * > & |
vertices, |
|
|
float |
truthMu = 0. , |
|
|
float |
actualMu = 0. , |
|
|
float |
weight = 1.0 |
|
) |
| |
Fill all plots w.r.t.
test tracks quantities for a specific collection (trigger tracks, offline tracks, truth particles) also including vertices for the test collection
— Fill plots w.r.t. test —
Selected particles loop
track parameters plots
hits on tracks plots
efficiency plots
technical efficiency plots
resolution plots
hits on matched tracks plots
fake rate plots (and hits on fake plots)
offline electron plots (Offline is always either test or reference)
Selected vertices loop
skip dummy vertex
getting vertex-associated tracks and their weights
vertex parameters plots
close loop over vertices
Vertices multiplicity plots
Definition at line 274 of file TrackAnalysisPlotsMgr.cxx.
366 bool doFakes =
m_trkAnaDefSvc->unlinkedAsFakes() ? true : not isUnlinked;
389 int nGoodVertices(0);
390 for(
const VERTEX*
vertex : vertices ) {
399 std::vector< const PARTICLE* > vtxTracks{};
400 std::vector< float > vtxTrackWeights{};
402 *
vertex, vtxTracks, vtxTrackWeights,
404 ATH_MSG_WARNING(
"Problem when retrieving vertex-assocciated tracks" );
405 if( not vtxTracks.empty() ) {
406 ATH_MSG_WARNING(
"Invalid associated track links found. Check your input format." );
421 return StatusCode::SUCCESS;
◆ fillPlotsTruth()
Fill efficiency plots w.r.t. truth (for EFTruthMatch only)
— Fill plots w.r.t. truth —
Loop over reference tracks to look for a reference matched to thisTruth
Fill the histogram only if a matched reference is found
Loop over test tracks to look for a test matched to thisTruth
efficiency plots (for EFTruthMatch only)
technical efficiency plots (for EFTruthMatch only)
Definition at line 580 of file TrackAnalysisPlotsMgr.cxx.
591 bool refMatched(
false );
597 if( not linkedTruth ) {
601 if( thisTruth == linkedTruth ) {
608 if ( not refMatched )
continue;
616 if( not linkedTruth ) {
620 if( thisTruth == linkedTruth ) {
621 isMatched = matches.isTestMatched( *thisTrack );
642 return StatusCode::SUCCESS;
◆ finalize()
void PlotBase::finalize |
( |
| ) |
|
|
inherited |
◆ finalizePlots()
virtual void PlotBase::finalizePlots |
( |
| ) |
|
|
inlineprivatevirtualinherited |
Reimplemented in TCCPlots, JetTagDQA::BTaggingValidationPlots, InDetPerfPlot_VertexTruthMatching, ZeeValidation::ReconElectronsPlots, InDetPerfPlot_Efficiency, InDetPerfPlot_Resolution, InDetPerfPlot_TRTExtension, InDetPerfPlot_TrackParameters, IDTPM::HitsOnTracksPlots, ZeeValidation::TrueElectronsPlots, IDTPM::VertexParametersPlots, ZeeValidation::TrueFwdElectronsPlots, IDTPM::NtracksPlots, IDTPM::DuplicateRatePlots, IDTPM::EfficiencyPlots, IDTPM::FakeRatePlots, IDTPM::OfflineElectronPlots, InDetPerfPlot_FakeRate, IDTPM::ResolutionPlots, IDTPM::TrackParametersPlots, InDetPerfPlot_Duplicate, InDetBasicPlot, and Trk::EfficiencyPlots.
Definition at line 92 of file PlotBase.h.
◆ getDirectory()
const std::string& PlotBase::getDirectory |
( |
| ) |
|
|
inlineinherited |
◆ getLogLinearBins()
std::vector< float > IDTPM::PlotMgr::getLogLinearBins |
( |
unsigned int |
nBins, |
|
|
float |
absMin, |
|
|
float |
absMax, |
|
|
bool |
symmetriseAroundZero = false |
|
) |
| |
|
protectedinherited |
Get Log-Linear binning vector inherited from InDetPhysValMonitoring/src/logLinearBinning.h.
Get Log-Linear binning vector.
some checks to ensure the user is requesting something sensible
reserve the vector space
define our starting bin edge and step size in log space
then populate the bin array
FIXME: currently disabled
Definition at line 428 of file PlotMgr.cxx.
431 std::vector<float> emptyVec;
433 if( absMin<=0 or absMax<=0 ) {
434 ATH_MSG_WARNING(
"absMin or absMax argument to getLogLinearBins is out of range" );
436 }
else if(
nBins==0 ) {
441 unsigned int asymVecSize =
nBins + 1;
442 std::vector<float> theBinning( asymVecSize, 0.);
444 float logStart =
std::log( absMin );
445 float logDist =
std::log( absMax ) - logStart;
448 float thisLog{ logStart };
449 for(
float& thisBin : theBinning ) {
453 if( symmetriseAroundZero ) {
◆ initialize()
StatusCode IDTPM::TrackAnalysisPlotsMgr::initialize |
( |
| ) |
|
initialize
— initialize —
load trkAnaDefSvc
Track parameters plots
Track multiplicity plots
Efficiency plots
Technical efficiency plots
Resolution plots
Fake Rate plots (only if reference is Truth)
Duplicate Rate plots
Hits on tracks plots – all tracks
– matched tracks
– fake and unlinked tracks
Offline electron plots
Vertex parameters plots
Vertices parameters plots
Vertices multiplicity plots
intialize PlotBase
Definition at line 39 of file TrackAnalysisPlotsMgr.cxx.
75 this,
"Tracks/Efficiencies",
m_anaTag,
"truth" );
88 this,
"Tracks/Efficiencies/Technical",
m_anaTag,
"truth" );
95 this,
"Tracks/Resolutions",
m_anaTag,
123 this,
"Tracks/HitsOnTracks",
m_anaTag,
129 this,
"Tracks/HitsOnTracks",
m_anaTag,
135 this,
"Tracks/Resolutions/HitsOnTracks",
m_anaTag,
139 this,
"Tracks/Resolutions/HitsOnTracks",
m_anaTag,
145 this,
"Tracks/FakeRates/HitsOnTracks",
m_anaTag,
150 this,
"Tracks/FakeRates/Unlinked/HitsOnTracks",
m_anaTag,
159 this,
"Tracks/Parameters",
m_anaTag );
162 this,
"Tracks/Efficiencies",
m_anaTag,
true );
170 this,
"Vertices/AllPrimary/Parameters",
m_anaTag,
174 this,
"Vertices/AllPrimary/Parameters",
m_anaTag,
180 this,
"Vertices/AllPrimary/Parameters",
m_anaTag,
184 this,
"Vertices/AllPrimary/Parameters",
m_anaTag,
192 return StatusCode::SUCCESS;
◆ initializePlots()
virtual void PlotBase::initializePlots |
( |
| ) |
|
|
inlineprivatevirtualinherited |
Reimplemented in TCCPlots, JetTagDQA::BTaggingValidationPlots, InDetPerfPlot_VertexTruthMatching, InDetPerfPlot_Hits, Egamma::LRTElectronPlots, Egamma::ElectronPlots, ZeeValidation::ReconElectronsPlots, RecoMuonPlots, InDetPerfPlot_Efficiency, Tau::NewCorePlots, Egamma::ShowerShapesPlots, PFO::PFOClusterMomentPlots, InDetPerfPlot_Vertex, InDetPerfPlot_Resolution, Trk::ExtrRegionPlots, InDetPerfPlot_TRTExtension, InDetPerfPlot_TrackParameters, Egamma::TrackPlots, RecoPhysPlots, Tau::Migration, PhotonValidationPlots, ZeeValidation::TrueElectronsPlots, PFO::FlowElement_LinkerPlots, Tau::GeneralTauPlots, IDTPM::HitsOnTracksPlots, Muon::IsoPlots, ZeeValidation::ZeePlots, ZeeValidation::TrueFwdElectronsPlots, Tau::RecoTauPlots, InDetPerfPlot_HitResidual, InDetPerfPlot_HitEfficiency, Muon::MuonParamElossPlots, Trk::IDHitPlots, PFO::ClusterPlots, PFO::LeptonFELinkerPlots, PFO::PFOCalibHitClusterMomentPlots, InDetPerfPlot_FakeRate, IDTPM::NtracksPlots, Muon::SlowMuonParamPlots, PFO::ClusterMomentPlots, IDTPM::DuplicateRatePlots, IDTPM::EfficiencyPlots, IDTPM::FakeRatePlots, Egamma::PhotonPlots, RecoLumiPlots, ElectronValidationPlots, PFO::PFOPlots, InDetPerfPlot_nTracks, IDTPM::ResolutionPlots, Tau::Had1ProngPlots, RecoMuonTrackPlots, ZeeValidation::FWDZeePlots, PhysVal::KinematicsPlots, RecoMuonSegmentPlots, Egamma::PhotonCnvPlots, PFO::PFOAlgPropertyPlots, InDetPerfPlot_VerticesVsMu, RecoMuonIDTrackPlots, Muon::MomentumTruthPullPlots, Egamma::ElectronFrwdPlots, Trk::ExtrLayerPlots, IDTPM::OfflineElectronPlots, LRTElectronValidationPlots, IDTPM::VertexParametersPlots, Tau::Had3ProngPlots, Muon::IsoCorrPlots, PFO::PFOPVMatchedPlots, IDTPM::TrackParametersPlots, Muon::MomentumPullPlots, Trk::DefParamPullPlots, Muon::RecoInfoPlots, Tau::EfficiencyPtPlots, Tau::EVetoPlots, Egamma::PhotonConversionPlots, InDetPerfPlot_Duplicate, PhysVal::TrkAndVtxPlots, Egamma::IsolationPlots, Egamma::KinematicsPlots, Egamma::PhotonAmbPlots, Egamma::ClusMomentumPlots, InDetBasicPlot, Muon::MuonParamPlots, Muon::BetaPlots, InDetPerfNtuple, PFO::PFOAttributePlots, PhysVal::METPlots, Trk::EfficiencyPlots, Muon::ChargeDepParamPlots, Tau::ParamPlots, Trk::HitTypePlots, Muon::MuonTree, PhysVal::BTagPlots, PhysVal::EventInfoPlots, Trk::HitResidualPlots, Trk::ImpactPlots, Trk::ParamPlots, Trk::RecoInfoPlots, InDetPerfPlot_TrkInJet, RecoVertexPlots, Trk::ResolutionPlots, Trk::TruthInfoPlots, and Muon::HitFracTypePlots.
Definition at line 91 of file PlotBase.h.
◆ initMessaging()
void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
◆ msg() [1/2]
MsgStream & AthMessaging::msg |
( |
| ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
◆ msg() [2/2]
MsgStream & AthMessaging::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
180 {
return msg() << lvl; }
◆ msgLvl()
bool AthMessaging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
◆ RegisterSubPlot()
void PlotBase::RegisterSubPlot |
( |
PlotBase * |
pPlotBase | ) |
|
|
inlineinherited |
◆ retrieveAndBook()
template<class P >
StatusCode IDTPM::PlotMgr::retrieveAndBook |
( |
P *& |
pHisto, |
|
|
const std::string & |
identifier, |
|
|
const std::string & |
folderOverride = "" , |
|
|
const std::string & |
nameOverride = "" |
|
) |
| |
|
inlineinherited |
— Book plots methods —
Helper method to book plots using an identifier string
- Parameters
-
pHisto | Pointer to the histogram to be booked (assumed to be initialized to nullptr) |
histoIdentifier | string identifier of the plot (looked up from PlotsDefinitionSvc) |
nameOverride | Allows to override the histo name |
folderOverride | Allows to override the folder of the histo |
Definition at line 64 of file PlotMgr.h.
70 const SinglePlotDefinition& def =
72 if( def.isEmpty() or not def.isValid() ) {
74 return StatusCode::RECOVERABLE;
77 return StatusCode::SUCCESS;
◆ retrieveBookedEfficiencies()
std::vector< EfficiencyData > PlotBase::retrieveBookedEfficiencies |
( |
| ) |
|
|
inherited |
Retrieve all booked efficiency objects.
Definition at line 83 of file PlotBase.cxx.
86 std::vector<EfficiencyData> subNodeHists = subNode->retrieveBookedEfficiencies();
87 vBookedEfficiencies.insert(vBookedEfficiencies.end(), subNodeHists.begin(), subNodeHists.end());
89 return vBookedEfficiencies;
◆ retrieveBookedHistograms()
std::vector< HistData > PlotBase::retrieveBookedHistograms |
( |
| ) |
|
|
inherited |
Retrieve all booked histograms.
Definition at line 63 of file PlotBase.cxx.
66 std::vector<HistData> subNodeHists = subNode->retrieveBookedHistograms();
67 vBookedHistograms.insert(vBookedHistograms.end(), subNodeHists.begin(), subNodeHists.end());
69 return vBookedHistograms;
◆ retrieveBookedTrees()
std::vector< TreeData > PlotBase::retrieveBookedTrees |
( |
| ) |
|
|
inherited |
Retrieve all booked trees.
Definition at line 73 of file PlotBase.cxx.
76 std::vector<TreeData> subNodeTrees = subNode->retrieveBookedTrees();
77 vBookedTrees.insert(vBookedTrees.end(), subNodeTrees.begin(), subNodeTrees.end());
◆ retrieveDefinition()
Retrieve a single histogram definition, given the unique string identifier.
— retrieveDefinition —
Loading PlotsDefinitionSvc
retrieve a copy of the plot definition
Check if definition is empty or non-valid
Override directory?
Override name?
Definition at line 48 of file PlotMgr.cxx.
54 ISvcLocator* svcLoc = Gaudi::svcLocator();
55 SmartIF<IPlotsDefinitionSvc> plotsDefSvc(svcLoc->service(
"PlotsDefSvc"+
m_anaTag ));
59 SinglePlotDefinition sDef = plotsDefSvc->definition(
identifier );
62 if( sDef.isEmpty() or not sDef.isValid() )
return sDef;
65 if( not folderOverride.empty() ) sDef.folder( folderOverride );
68 if( not nameOverride.empty() ) sDef.name( nameOverride );
◆ setDetailLevel()
void PlotBase::setDetailLevel |
( |
int |
iDetailLevel | ) |
|
|
inherited |
Definition at line 55 of file PlotBase.cxx.
57 subNode->setDetailLevel(iDetailLevel);
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ setLogLinearBins()
template<class P >
StatusCode IDTPM::PlotMgr::setLogLinearBins |
( |
P *& |
pHisto, |
|
|
unsigned int |
nBins, |
|
|
float |
absMin, |
|
|
float |
absMax, |
|
|
char |
axis |
|
) |
| |
|
inlineprotectedinherited |
Set Log-Linear axis.
Definition at line 170 of file PlotMgr.h.
175 return StatusCode::SUCCESS;
◆ setLogLinearBinsEff()
template<class P >
StatusCode IDTPM::PlotMgr::setLogLinearBinsEff |
( |
P *& |
pHisto, |
|
|
unsigned int |
nBins, |
|
|
float |
absMin, |
|
|
float |
absMax, |
|
|
char |
axis |
|
) |
| |
|
inlineprotectedinherited |
Set Log-Linear axis (for Efficiencies)
Definition at line 180 of file PlotMgr.h.
185 return StatusCode::SUCCESS;
◆ setVariableBins()
template<class P >
StatusCode IDTPM::PlotMgr::setVariableBins |
( |
P *& |
pHisto, |
|
|
const std::vector< float > & |
binning, |
|
|
char |
axis |
|
) |
| |
|
inlineprotectedinherited |
SetVariableBins.
Definition at line 135 of file PlotMgr.h.
139 ATH_MSG_ERROR(
"Non-valid variable plot binning : " << pHisto->GetName() );
140 return StatusCode::FAILURE;
145 return StatusCode::SUCCESS;
◆ setVariableBinsEff()
template<class P >
StatusCode IDTPM::PlotMgr::setVariableBinsEff |
( |
P *& |
pHisto, |
|
|
const std::vector< float > & |
binning, |
|
|
char |
axis |
|
) |
| |
|
inlineprotectedinherited |
SetVariableBins (for Efficiencies)
Definition at line 150 of file PlotMgr.h.
154 ATH_MSG_ERROR(
"Non-valid variable plot binning : " << pHisto->GetName() );
155 return StatusCode::FAILURE;
158 if(
axis ==
'X' ) pHisto->SetBins( binningD.size()-1, binningD.data() );
161 pHisto->GetTotalHistogram()->GetNbinsX(),
162 pHisto->GetTotalHistogram()->GetXaxis()->GetXbins()->GetArray(),
163 binningD.size()-1, binningD.data() );
165 return StatusCode::SUCCESS;
◆ ATLAS_THREAD_SAFE
std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ m_anaTag
std::string IDTPM::TrackAnalysisPlotsMgr::m_anaTag |
|
private |
◆ m_chain
std::string IDTPM::TrackAnalysisPlotsMgr::m_chain |
|
private |
◆ m_directory
std::string IDTPM::TrackAnalysisPlotsMgr::m_directory |
|
private |
◆ m_iDetailLevel
int PlotBase::m_iDetailLevel |
|
protectedinherited |
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_msg_tls
boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_nm
std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_plots_duplRate
◆ m_plots_eff_vsOffEle
◆ m_plots_eff_vsRef
std::unique_ptr< EfficiencyPlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_eff_vsRef |
|
private |
◆ m_plots_eff_vsTest
std::unique_ptr< EfficiencyPlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_eff_vsTest |
|
private |
◆ m_plots_eff_vsTruth
std::unique_ptr< EfficiencyPlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_eff_vsTruth |
|
private |
◆ m_plots_fakeRate
std::unique_ptr< FakeRatePlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_fakeRate |
|
private |
◆ m_plots_hitsOnFakeTrk
std::unique_ptr< HitsOnTracksPlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_hitsOnFakeTrk |
|
private |
◆ m_plots_hitsOnMatchedTrk
std::unique_ptr< HitsOnTracksPlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_hitsOnMatchedTrk |
|
private |
◆ m_plots_hitsOnMatchedTrk_vsRef
std::unique_ptr< HitsOnTracksPlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_hitsOnMatchedTrk_vsRef |
|
private |
◆ m_plots_hitsOnTrk_vsRef
std::unique_ptr< HitsOnTracksPlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_hitsOnTrk_vsRef |
|
private |
◆ m_plots_hitsOnTrk_vsTest
std::unique_ptr< HitsOnTracksPlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_hitsOnTrk_vsTest |
|
private |
◆ m_plots_hitsOnUnlinkedTrk
std::unique_ptr< HitsOnTracksPlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_hitsOnUnlinkedTrk |
|
private |
◆ m_plots_missingTruth
std::unique_ptr< FakeRatePlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_missingTruth |
|
private |
◆ m_plots_nTracks_vsRef
std::unique_ptr< NtracksPlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_nTracks_vsRef |
|
private |
◆ m_plots_nTracks_vsTest
std::unique_ptr< NtracksPlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_nTracks_vsTest |
|
private |
◆ m_plots_nVtxParam_vsRef
◆ m_plots_nVtxParam_vsTest
◆ m_plots_offEle
◆ m_plots_resolution
std::unique_ptr< ResolutionPlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_resolution |
|
private |
◆ m_plots_tech_eff_vsRef
std::unique_ptr< EfficiencyPlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_tech_eff_vsRef |
|
private |
◆ m_plots_tech_eff_vsTest
std::unique_ptr< EfficiencyPlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_tech_eff_vsTest |
|
private |
◆ m_plots_tech_eff_vsTruth
std::unique_ptr< EfficiencyPlots > IDTPM::TrackAnalysisPlotsMgr::m_plots_tech_eff_vsTruth |
|
private |
◆ m_plots_trkParam_vsRef
◆ m_plots_trkParam_vsTest
◆ m_plots_vtxParam_vsRef
◆ m_plots_vtxParam_vsTest
◆ m_sDirectory
std::string PlotBase::m_sDirectory |
|
protectedinherited |
◆ m_trkAnaDefSvc
◆ m_vBookedEfficiencies
◆ m_vBookedHistograms
std::vector<HistData> PlotBase::m_vBookedHistograms |
|
protectedinherited |
◆ m_vBookedTrees
std::vector<TreeData> PlotBase::m_vBookedTrees |
|
protectedinherited |
◆ m_vSubNodes
std::vector<PlotBase*> PlotBase::m_vSubNodes |
|
protectedinherited |
The documentation for this class was generated from the following files:
std::atomic< MSG::Level > m_lvl
Current logging level.
const std::string & chain() const
static std::string constructPrefix(std::string dir, bool prependDir)
std::string replace(std::string s, const std::string &s2, const std::string &s3)
StatusCode book(TH1 *&pHisto, const SinglePlotDefinition &def)
Book a TH1 histogram.
std::unique_ptr< EfficiencyPlots > m_plots_tech_eff_vsTruth
std::vector< HistData > m_vBookedHistograms
std::unique_ptr< VertexParametersPlots > m_plots_vtxParam_vsRef
plots w.r.t. reference vertices parameters
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
std::unique_ptr< NtracksPlots > m_plots_nTracks_vsRef
float getTruthMatchProb(const xAOD::TrackParticle &track)
getTruthMatchProb
std::vector< float > getLogLinearBins(unsigned int nBins, float absMin, float absMax, bool symmetriseAroundZero=false)
Get Log-Linear binning vector inherited from InDetPhysValMonitoring/src/logLinearBinning....
std::unique_ptr< TrackParametersPlots > m_plots_trkParam_vsTest
Plot categories plots w.r.t.
bool isFake(int matchInfo)
StatusCode setVariableBinsEff(P *&pHisto, const std::vector< float > &binning, char axis)
SetVariableBins (for Efficiencies)
StatusCode setLogLinearBinsEff(P *&pHisto, unsigned int nBins, float absMin, float absMax, char axis)
Set Log-Linear axis (for Efficiencies)
const xAOD::TruthParticle * getLinkedTruth(const xAOD::TrackParticle &track, const float truthProbCut)
getLinkedTruth
std::vector< EfficiencyData > m_vBookedEfficiencies
std::unique_ptr< HitsOnTracksPlots > m_plots_hitsOnTrk_vsTest
std::unique_ptr< HitsOnTracksPlots > m_plots_hitsOnUnlinkedTrk
std::unique_ptr< HitsOnTracksPlots > m_plots_hitsOnMatchedTrk
TEfficiency * BookTEfficiency(const std::string &name, const std::string &labels, const int nBinsX, const float xlo, const float xhi, const bool prependDir=true)
Book a (1-D) TEfficiency histogram.
StatusCode fillPlotsTruth(const std::vector< const xAOD::TrackParticle * > &testTracks, const std::vector< const xAOD::TrackParticle * > &refTracks, const std::vector< const xAOD::TruthParticle * > &truths, const ITrackMatchingLookup &matches, float truthMu=0., float actualMu=0., float weight=1.0)
Fill efficiency plots w.r.t. truth (for EFTruthMatch only)
TH2F * Book2D(const std::string &name, const std::string &labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, bool prependDir=true)
Book a TH2F histogram.
std::unique_ptr< EfficiencyPlots > m_plots_eff_vsTruth
plots w.r.t. efficiency plots w.r.t. truth (for EFTruthMatch only)
std::unique_ptr< FakeRatePlots > m_plots_fakeRate
fake rate plots (only when reference=truth)
SinglePlotDefinition retrieveDefinition(const std::string &identifier, const std::string &folderOverride="", const std::string &nameOverride="") const
Retrieve a single histogram definition, given the unique string identifier.
bool isMatched(int matchInfo)
std::unique_ptr< ResolutionPlots > m_plots_resolution
resolution plots
std::unique_ptr< VertexParametersPlots > m_plots_nVtxParam_vsTest
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
@ NoVtx
Dummy vertex. TrackParticle was not used in vertex fit.
std::unique_ptr< EfficiencyPlots > m_plots_tech_eff_vsRef
IMessageSvc * getMessageSvc(bool quiet=false)
TProfile2D * BookTProfile2D(const std::string &name, const std::string &labels, const int nBinsX, const double xlo, const double xhi, const int nBinsY, const double ylo, const double yhi, bool prependDir=true, bool useRMS=false)
Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.
TH1D * Book1D(const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
StatusCode fillPlotsTest(const std::vector< const PARTICLE * > &particles, const ITrackMatchingLookup &matches, const std::vector< const VERTEX * > &vertices, float truthMu=0., float actualMu=0., float weight=1.0)
Fill all plots w.r.t.
std::vector< PlotBase * > m_vSubNodes
std::unique_ptr< EfficiencyPlots > m_plots_eff_vsRef
StatusCode fillPlotsReference(const std::vector< const PARTICLE * > &particles, const ITrackMatchingLookup &matches, const std::vector< const VERTEX * > &vertices, float truthMu=0., float actualMu=0., float weight=1.0)
Fill all plots w.r.t.
def TProfile(*args, **kwargs)
std::unique_ptr< FakeRatePlots > m_plots_missingTruth
Class describing a truth particle in the MC record.
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...
std::unique_ptr< DuplicateRatePlots > m_plots_duplRate
duplicate rate plots
MsgStream & msg() const
The standard message stream.
TH3F * Book3D(const std::string &name, const std::string &labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, int nBinsZ, float startZ, float endZ, bool prependDir=true)
Book a TH3F histogram.
std::unique_ptr< HitsOnTracksPlots > m_plots_hitsOnFakeTrk
std::unique_ptr< TrackParametersPlots > m_plots_trkParam_vsRef
plots w.r.t. reference tracks parameters
std::unique_ptr< OfflineElectronPlots > m_plots_eff_vsOffEle
std::unique_ptr< VertexParametersPlots > m_plots_vtxParam_vsTest
plots w.r.t. test vertices parameters
StatusCode setVariableBins(P *&pHisto, const std::vector< float > &binning, char axis)
SetVariableBins.
std::unique_ptr< HitsOnTracksPlots > m_plots_hitsOnTrk_vsRef
std::unique_ptr< HitsOnTracksPlots > m_plots_hitsOnMatchedTrk_vsRef
std::unique_ptr< EfficiencyPlots > m_plots_tech_eff_vsTest
std::unique_ptr< VertexParametersPlots > m_plots_nVtxParam_vsRef
bool getVertexTracksAndWeights(const xAOD::Vertex &vtx, std::vector< const xAOD::TrackParticle * > &vtxTracks, std::vector< float > &vtxTrackWeights, const std::vector< const xAOD::TrackParticle * > &selTracks, bool useSelected)
getVertexTracksAndWeights
StatusCode setLogLinearBins(P *&pHisto, unsigned int nBins, float absMin, float absMax, char axis)
Set Log-Linear axis.
#define ATH_MSG_WARNING(x)
SmartIF< ITrackAnalysisDefinitionSvc > m_trkAnaDefSvc
TrackAnalysis definition service to "hold" the histograms configurations/flags.
int vertexType(const V &v)
std::string m_nm
Message source name.
TProfile * BookTProfile(const std::string &name, const std::string &labels, int nBinsX, float startX, float endX, float startY=-1, float endY=-1, bool prependDir=true, bool useRMS=false)
Book a TProfile histogram.
bool isReconstructable(const xAOD::TruthParticle &truth, const std::vector< unsigned int > &minSilHits, const std::vector< float > &etaBins)
isReconstructable
bool isFakeTruth(const xAOD::TrackParticle &track, const float truthProbCut, const bool unlinkedAsFakes)
isFake
StatusCode initialize()
initialize
Class describing a TrackParticle.
void initMessaging() const
Initialize our message level and MessageSvc.
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
std::unique_ptr< OfflineElectronPlots > m_plots_offEle
plots w.r.t. reference offline electron
virtual void finalizePlots()
const std::string & anaTag() const
return members
std::vector< TreeData > m_vBookedTrees
bool isUnlinkedTruth(const xAOD::TrackParticle &track)
isUnlinkedTruth
std::unique_ptr< NtracksPlots > m_plots_nTracks_vsTest
std::unique_ptr< EfficiencyPlots > m_plots_eff_vsTest