ATLAS Offline Software
Loading...
Searching...
No Matches
InDetRttPlots Class Reference

class holding all plots for Inner Detector RTT Validation and implementing fill methods More...

#include <InDetRttPlots.h>

Inheritance diagram for InDetRttPlots:

Public Member Functions

 InDetRttPlots (InDetPlotBase *pParent, const std::string &dirName, const InDetRttPlotConfig &config)
void fill (const xAOD::TrackParticle &particle, const xAOD::TruthParticle &truthParticle, bool truthIsFromB=false, float mu=0.0, float weight=1.0)
 fill for things needing truth and track only
void fill (const xAOD::TrackParticle &particle, float weight=1.0)
 fill for things needing track only
void fill (const xAOD::TrackParticle &particle, const float mu, const unsigned int nVtx, float weight=1.0)
void fill (const unsigned int ntracksFull, const unsigned int ntracksCentral, const unsigned int ntracksPt1GeV, const unsigned int truthMu, const float actualMu, const unsigned int nvertices, const float weight=1.0)
void fill (const xAOD::TruthParticle &particle, float weight)
 fill for things needing truth only
void fillEfficiency (const xAOD::TruthParticle &truth, const xAOD::TrackParticle *track, const bool isGood, const unsigned int truthMu, const float actualMu, float weight)
 Fill for efficiency plots.
void fillTechnicalEfficiency (const xAOD::TruthParticle &truth, const bool isGood, const unsigned int truthMu, const float actualMu, float weight)
void fillDuplicate (const xAOD::TruthParticle &truth, const std::vector< const xAOD::TrackParticle * > &tracks, float weight)
 fill for duplicate plots
void fill (const xAOD::VertexContainer &vertexContainer, const xAOD::Vertex *recoHardScatter, const std::vector< const xAOD::TruthVertex * > &truthHSVertices, const std::vector< const xAOD::TruthVertex * > &truthPUVertices, const float actualMu, float weight=1.0)
 fill reco-vertex related plots
void fill (const xAOD::VertexContainer &vertexContainer, const unsigned int truthMu, const float actualMu, const float weight=1.0)
 fill reco-vertex related plots that need EventInfo
void fill (const xAOD::TrackParticle &track, const xAOD::Jet &jet, bool isBjet=false, bool isFake=false, bool isUnlinked=false, bool truthIsFromB=false, const float weight=1.0)
void fillEfficiency (const xAOD::TruthParticle &truth, const xAOD::Jet &jet, const bool isGood, bool isBjet=false, bool truthIsFromB=false, float weight=1.0)
void fillFakeRate (const xAOD::TrackParticle &track, const xAOD::Jet &jet, const bool isFake, bool isBjet=false, bool truthIsFromB=false, float weight=1.0)
void fillCounter (const unsigned int freq, const InDetPerfPlot_nTracks::CounterCategory counter, float weight)
 fill for Counters
void fillFakeRate (const xAOD::TrackParticle &particle, const bool isFake, const bool isAssociatedTruth, const float mu, float weight)
 fill for fakes
void fillNtuple (const xAOD::TrackParticle &track, const xAOD::Vertex *vtx)
void fillNtuple (const xAOD::TruthParticle &truth)
void fillNtuple (const xAOD::TrackParticle &track, const xAOD::TruthParticle &truth, const xAOD::Vertex *vtx, const int truthMatchRanking)
virtual ~InDetRttPlots ()
SingleHistogramDefinition retrieveDefinition (const std::string &histoIdentifier, const std::string &folder="default", const std::string &nameOverride="")
 Retrieve a single histogram definition, given the unique string identifier.
template<class Htype>
void book (Htype *&pHisto, const std::string &histoIdentifier, const std::string &nameOverride="", const std::string &folder="default")
 Helper method to book histograms using an identifier string.
void book (TH1 *&pHisto, const SingleHistogramDefinition &hd)
 Book a TH1 histogram.
void book (TProfile *&pHisto, const SingleHistogramDefinition &hd)
 Book a TProfile histogram.
void book (TProfile2D *&pHisto, const SingleHistogramDefinition &hd)
 Book a TProfile2D histogram.
void book (TH2 *&pHisto, const SingleHistogramDefinition &hd)
 Book a 2D histogram (TH2)
void book (TEfficiency *&pHisto, const SingleHistogramDefinition &hd)
 Book a (1-D) TEfficiency.
void initialize ()
void finalize ()
void setDetailLevel (int iDetailLevel)
void RegisterSubPlot (PlotBase *pPlotBase)
std::vector< HistDataretrieveBookedHistograms ()
 Retrieve all booked histograms.
std::vector< TreeDataretrieveBookedTrees ()
 Retrieve all booked trees.
std::vector< EfficiencyDataretrieveBookedEfficiencies ()
 Retrieve all booked efficiency objects.
TTree * BookTree (const std::string &name, bool prependDir=true)
 Book a TTree.
const std::string & getDirectory ()
bool msgLvl (const MSG::Level lvl) const
 Test the output level.
MsgStream & msg () const
 The standard message stream.
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream.
void setLevel (MSG::Level lvl)
 Change the current logging level.
Methods to book monitoring histograms

Note: methods starting with capitals should be deprecated in favour of camel-cased methods

TH1D * Book1D (const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
 Book a TH1D histogram.
TH1D * Book1D (const std::string &name, TH1 *refHist, const std::string &labels, bool prependDir=true)
 Book a TH1D histogram using refHist as reference for number of bins and axis range.
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.
TH2F * Book2D (const std::string &name, TH2 *refHist, const std::string &labels, bool prependDir=true)
 Book a TH2D histogram using refHist as reference for number of bins and axis range.
TH2F * 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)
 Book a TH2F histogram with variable x axis binning.
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.
TH3F * Book3D (const std::string &name, TH3 *refHist, const std::string &labels, bool prependDir=true)
 Book a TH3F histogram using refHist as reference for number of bins and axis range.
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.
TProfile * BookTProfile (const std::string &name, const std::string &labels, int nBinsX, float *binsX, bool prependDir=true)
 Book a TProfile histogram with variable binning in x-axis.
TProfile * BookTProfileRangeY (const std::string &name, const std::string &labels, int nBinsX, double *binsX, double startY, double endY, bool prependDir=true)
 Book a TProfile histogram with variable binning in x-axis and limits in y-values.
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.
TProfile2D * 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)
 Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.
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.
TEfficiency * 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)
 Book a (2-D) TEfficiency histogram.

Static Public Member Functions

static void fillHisto (TProfile *pTprofile, const float bin, const float weight, const float weight2=1.0)
static void fillHisto (TProfile2D *pTprofile, const float xval, const float yval, const float weight, const float weight2=1.0)
static void fillHisto (TH1 *pTh1, const float value)
static void fillHisto (TH1 *pTh1, const float value, const float weight)
static void fillHisto (TH2 *pTh2, const float xval, const float yval)
static void fillHisto (TH2 *pTh2, const float xval, const float yval, const float weight)
static void fillHisto (TH3 *pTh3, const float xval, const float yval, const float zval)
static void fillHisto (TEfficiency *pTeff, const float value, const bool accepted, float weight)
static void fillHisto (TEfficiency *eff2d, const float xvalue, const float yvalue, const bool accepted, const float weight)

Protected Member Functions

template<class T>
void mBook (T &pHisto, const std::string &histoIdentifier)
 book, for use by macro

Protected Attributes

std::vector< PlotBase * > m_vSubNodes
std::vector< HistDatam_vBookedHistograms
std::vector< TreeDatam_vBookedTrees
std::vector< EfficiencyDatam_vBookedEfficiencies
std::string m_sDirectory
int m_iDetailLevel

Private Member Functions

virtual void initializePlots ()
virtual void finalizePlots ()
void initMessaging () const
 Initialize our message level and MessageSvc.

Static Private Member Functions

static std::string constructPrefix (std::string dir, bool prependDir)

Private Attributes

InDetRttPlotConfig m_config
 configuration object
std::unique_ptr< InDetPerfPlot_TrackParametersm_trackParameters
 plot members.
std::unique_ptr< InDetPerfPlot_Resolutionm_unmatchedBiasPlots
std::unique_ptr< InDetPerfPlot_nTracksm_nTracks
std::unique_ptr< InDetPerfPlot_HitResidualm_hitResidualPlot
std::unique_ptr< InDetPerfPlot_HitEfficiencym_hitEffPlot
std::unique_ptr< InDetPerfPlot_FakeRatem_fakePlots
std::unique_ptr< InDetPerfPlot_FakeRatem_missingTruthFakePlots
std::unique_ptr< InDetPerfPlot_Resolutionm_resolutionPlotPrim
std::unique_ptr< InDetPerfPlot_Resolutionm_resolutionPlotPrim_truthFromB
std::unique_ptr< InDetPerfPlot_Hitsm_hitsRecoTracksPlots
std::unique_ptr< InDetPerfPlot_Efficiencym_effPlots
std::unique_ptr< InDetPerfPlot_Duplicatem_duplicatePlots
std::unique_ptr< InDetPerfPlot_VerticesVsMum_verticesVsMuPlots
std::unique_ptr< InDetPerfPlot_Vertexm_vertexPlots
std::unique_ptr< InDetPerfPlot_Vertexm_hardScatterVertexPlots
std::unique_ptr< InDetPerfPlot_VertexTruthMatchingm_hardScatterVertexTruthMatchingPlots
std::unique_ptr< InDetPerfPlot_TRTExtensionm_trtExtensionPlots
std::unique_ptr< InDetPerfNtuple_TruthToRecom_ntupleTruthToReco
std::unique_ptr< InDetPerfPlot_Resolutionm_resolutionPlotSecd
std::unique_ptr< InDetPerfPlot_Hitsm_hitsMatchedTracksPlots
std::unique_ptr< InDetPerfPlot_Hitsm_hitsFakeTracksPlots
std::unique_ptr< InDetPerfPlot_Hitsm_hitsUnlinkedTracksPlots
std::unique_ptr< InDetPerfPlot_VertexTruthMatchingm_vertexTruthMatchingPlots
std::unique_ptr< InDetPerfPlot_TrkInJetm_trkInJetPlots
std::unique_ptr< InDetPerfPlot_TrkInJetm_trkInJetPlots_bjets
std::unique_ptr< InDetPerfPlot_TrkInJetm_trkInJetPlots_matched
std::unique_ptr< InDetPerfPlot_TrkInJetm_trkInJetPlots_matched_bjets
std::unique_ptr< InDetPerfPlot_TrkInJetm_trkInJetPlots_fake
std::unique_ptr< InDetPerfPlot_TrkInJetm_trkInJetPlots_fake_bjets
std::unique_ptr< InDetPerfPlot_TrkInJetm_trkInJetPlots_unlinked
std::unique_ptr< InDetPerfPlot_TrkInJetm_trkInJetPlots_unlinked_bjets
std::unique_ptr< InDetPerfPlot_TrkInJetm_trkInJetPlots_truthFromB
std::unique_ptr< InDetPerfPlot_Efficiencym_effSiSPSeededFinderPlots
std::unique_ptr< InDetPerfPlot_Efficiencym_effInDetExtensionProcessorPlots
std::unique_ptr< InDetPerfPlot_Efficiencym_effTRTSeededTrackFinderPlots
std::unique_ptr< InDetPerfPlot_Efficiencym_effTRTStandalonePlots
std::unique_ptr< InDetPerfPlot_Efficiencym_effSiSpacePointsSeedMaker_LargeD0Plots
std::unique_ptr< InDetPerfPlot_FakeRatem_fakeSiSPSeededFinderPlots
std::unique_ptr< InDetPerfPlot_FakeRatem_fakeInDetExtensionProcessorPlots
std::unique_ptr< InDetPerfPlot_FakeRatem_fakeTRTSeededTrackFinderPlots
std::unique_ptr< InDetPerfPlot_FakeRatem_fakeTRTStandalonePlots
std::unique_ptr< InDetPerfPlot_FakeRatem_fakeSiSpacePointsSeedMaker_LargeD0Plots
std::unique_ptr< InDetPerfPlot_TrackParametersm_trkParaSiSPSeededFinderPlots
std::unique_ptr< InDetPerfPlot_TrackParametersm_trkParaInDetExtensionProcessorPlots
std::unique_ptr< InDetPerfPlot_TrackParametersm_trkParaTRTSeededTrackFinderPlots
std::unique_ptr< InDetPerfPlot_TrackParametersm_trkParaTRTStandalonePlots
std::unique_ptr< InDetPerfPlot_TrackParametersm_trkParaSiSpacePointsSeedMaker_LargeD0Plots
std::unique_ptr< InDetPerfPlot_Resolutionm_resSiSPSeededFinderPlots
std::unique_ptr< InDetPerfPlot_Resolutionm_resInDetExtensionProcessorPlots
std::unique_ptr< InDetPerfPlot_Resolutionm_resTRTSeededTrackFinderPlots
std::unique_ptr< InDetPerfPlot_Resolutionm_resTRTStandalonePlots
std::unique_ptr< InDetPerfPlot_Resolutionm_resSiSpacePointsSeedMaker_LargeD0Plots
std::unique_ptr< InDetPerfPlot_Hitsm_hitsSiSPSeededFinderPlots
std::unique_ptr< InDetPerfPlot_Hitsm_hitsInDetExtensionProcessorPlots
std::unique_ptr< InDetPerfPlot_Hitsm_hitsTRTSeededTrackFinderPlots
std::unique_ptr< InDetPerfPlot_Hitsm_hitsTRTStandalonePlots
std::unique_ptr< InDetPerfPlot_Hitsm_hitsSiSpacePointsSeedMaker_LargeD0Plots
ServiceHandle< IHistogramDefinitionSvcm_histoDefSvc
std::string m_nm
 Message source name.
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels)
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer.
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level.
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging)

Detailed Description

class holding all plots for Inner Detector RTT Validation and implementing fill methods

Definition at line 116 of file InDetRttPlots.h.

Constructor & Destructor Documentation

◆ InDetRttPlots()

InDetRttPlots::InDetRttPlots ( InDetPlotBase * pParent,
const std::string & dirName,
const InDetRttPlotConfig & config )

for backward compatibility

update detail level of all the child tools

Definition at line 20 of file InDetRttPlots.cxx.

20 : InDetPlotBase(pParent, sDir),
21 m_config(cfg){
22
24 this->m_iDetailLevel = m_config.detailLevel;
25 if (m_config.doTrackParameters){
26 m_trackParameters = std::make_unique<InDetPerfPlot_TrackParameters>(this, "Tracks/Selected/Parameters", m_config.isITk);
27 m_unmatchedBiasPlots = std::make_unique<InDetPerfPlot_Resolution>(this, "Tracks/Selected/Bias", true); // d0 bias plots
28 }
29 if (m_config.doNTracks) m_nTracks = std::make_unique<InDetPerfPlot_nTracks>(this, "Tracks/Tracks");
30 if (m_config.doHitResidualPlot) m_hitResidualPlot= std::make_unique<InDetPerfPlot_HitResidual>(this, "Tracks/Hits/Residuals", m_config.isITk);
31 if (m_config.doHitEffPlot) m_hitEffPlot= std::make_unique<InDetPerfPlot_HitEfficiency>(this, "Tracks/Hits/Efficiency", m_config.isITk);
32 if (m_config.doFakePlots) m_fakePlots= std::make_unique<InDetPerfPlot_FakeRate>(this, "Tracks/FakeRate");
33 if (m_config.doMissingTruthFakePlots) m_missingTruthFakePlots= std::make_unique<InDetPerfPlot_FakeRate>(this, "Tracks/Unlinked/FakeRate", true);
34 if (m_config.doResolutionPlotPrim) m_resolutionPlotPrim= std::make_unique<InDetPerfPlot_Resolution>(this, "Tracks/Matched/Resolutions/Primary");
35 if (m_config.doResolutionPlotPrim_truthFromB) m_resolutionPlotPrim_truthFromB= std::make_unique<InDetPerfPlot_Resolution>(this, "Tracks/Matched/Resolutions/TruthFromB");
36 if (m_config.doHitsRecoTracksPlots) m_hitsRecoTracksPlots= std::make_unique<InDetPerfPlot_Hits>(this, "Tracks/Selected/HitsOnTracks", m_config.isITk);
37 if (m_config.doEffPlots) m_effPlots= std::make_unique<InDetPerfPlot_Efficiency>(this, "Tracks/Efficiency", m_config.doTechEffPlots, m_config.isITk);
38 if (m_config.doDuplicatePlots) m_duplicatePlots = std::make_unique<InDetPerfPlot_Duplicate>(this, "Tracks/Duplicate");
39 if (m_config.doVerticesVsMuPlots) m_verticesVsMuPlots= std::make_unique<InDetPerfPlot_VerticesVsMu>(this, "Vertices/AllPrimaryVertices");
40 if (m_config.doVertexPlots) m_vertexPlots= std::make_unique<InDetPerfPlot_Vertex>(this, "Vertices/AllPrimaryVertices", m_config.isITk);
41 if (m_config.doHardScatterVertexPlots) m_hardScatterVertexPlots= std::make_unique<InDetPerfPlot_Vertex>(this, "Vertices/HardScatteringVertex", m_config.isITk);
42 if (m_config.doHardScatterVertexTruthMatchingPlots) m_hardScatterVertexTruthMatchingPlots= std::make_unique<InDetPerfPlot_VertexTruthMatching>(this, "Vertices/HardScatteringVertex", m_iDetailLevel, m_config.isITk);
43 if (m_config.doTrtExtensionPlots) m_trtExtensionPlots= std::make_unique<InDetPerfPlot_TRTExtension>(this, "Tracks/TRTExtension");
44 if (m_config.doNtupleTruthToReco) m_ntupleTruthToReco= std::make_unique<InDetPerfNtuple_TruthToReco>(this, "Ntuples", "TruthToReco");
45 if (m_config.doResolutionPlotSecd) m_resolutionPlotSecd = std::make_unique<InDetPerfPlot_Resolution>(this, "Tracks/Matched/Resolutions/Secondary");
46 if (m_config.doHitsMatchedTracksPlots) m_hitsMatchedTracksPlots = std::make_unique<InDetPerfPlot_Hits>(this, "Tracks/Matched/HitsOnTracks", m_config.isITk);
47 if (m_config.doHitsFakeTracksPlots) m_hitsFakeTracksPlots = std::make_unique<InDetPerfPlot_Hits>(this, "Tracks/Fakes/HitsOnTracks", m_config.isITk);
48 if (m_config.doHitsUnlinkedTracksPlots) m_hitsUnlinkedTracksPlots = std::make_unique<InDetPerfPlot_Hits>(this, "Tracks/Unlinked/HitsOnTracks", m_config.isITk);
49 if (m_config.doVertexTruthMatchingPlots) m_vertexTruthMatchingPlots = std::make_unique<InDetPerfPlot_VertexTruthMatching>(this, "Vertices/AllPrimaryVertices", m_iDetailLevel, m_config.isITk);
50
51 if (m_config.doEfficienciesPerAuthor){
52 m_effSiSPSeededFinderPlots = std::make_unique<InDetPerfPlot_Efficiency>(this, "TracksByAuthor/SiSPSeededFinder/Tracks/Efficiency", false, m_config.isITk);
53 m_effInDetExtensionProcessorPlots = std::make_unique<InDetPerfPlot_Efficiency>(this, "TracksByAuthor/InDetExtensionProcessor/Tracks/Efficiency", false, m_config.isITk);
54 m_effTRTSeededTrackFinderPlots = std::make_unique<InDetPerfPlot_Efficiency>(this, "TracksByAuthor/TRTSeededTrackFinder/Tracks/Efficiency", false, m_config.isITk);
55 m_effTRTStandalonePlots = std::make_unique<InDetPerfPlot_Efficiency>(this, "TracksByAuthor/TRTStandalone/Tracks/Efficiency", false, m_config.isITk);
56 m_effSiSpacePointsSeedMaker_LargeD0Plots = std::make_unique<InDetPerfPlot_Efficiency>(this, "TracksByAuthor/SiSpacePointsSeedMaker_LargeD0/Tracks/Efficiency", false, m_config.isITk);
57 }
58
59 if (m_config.doFakesPerAuthor){
60 m_fakeSiSPSeededFinderPlots = std::make_unique<InDetPerfPlot_FakeRate>(this, "TracksByAuthor/SiSPSeededFinder/Tracks/FakeRate");
61 m_fakeInDetExtensionProcessorPlots = std::make_unique<InDetPerfPlot_FakeRate>(this, "TracksByAuthor/InDetExtensionProcessor/Tracks/FakeRate");
62 m_fakeTRTSeededTrackFinderPlots = std::make_unique<InDetPerfPlot_FakeRate>(this, "TracksByAuthor/TRTSeededTrackFinder/Tracks/FakeRate");
63 m_fakeTRTStandalonePlots = std::make_unique<InDetPerfPlot_FakeRate>(this, "TracksByAuthor/TRTStandalone/Tracks/FakeRate");
64 m_fakeSiSpacePointsSeedMaker_LargeD0Plots = std::make_unique<InDetPerfPlot_FakeRate>(this, "TracksByAuthor/SiSpacePointsSeedMaker_LargeD0/Tracks/FakeRate");
65 }
66
67 if (m_config.doTrackParametersPerAuthor){
68 m_trkParaSiSPSeededFinderPlots = std::make_unique<InDetPerfPlot_TrackParameters>(this, "TracksByAuthor/SiSPSeededFinder/Tracks/Parameters", m_config.isITk);
69 m_trkParaInDetExtensionProcessorPlots = std::make_unique<InDetPerfPlot_TrackParameters>(this, "TracksByAuthor/InDetExtensionProcessor/Tracks/Parameters", m_config.isITk);
70 m_trkParaTRTSeededTrackFinderPlots = std::make_unique<InDetPerfPlot_TrackParameters>(this, "TracksByAuthor/TRTSeededTrackFinder/Tracks/Parameters", m_config.isITk);
71 m_trkParaTRTStandalonePlots = std::make_unique<InDetPerfPlot_TrackParameters>(this, "TracksByAuthor/TRTStandalone/Tracks/Parameters", m_config.isITk);
72 m_trkParaSiSpacePointsSeedMaker_LargeD0Plots= std::make_unique<InDetPerfPlot_TrackParameters>(this, "TracksByAuthor/SiSpacePointsSeedMaker_LargeD0/Tracks/Parameters", m_config.isITk);
73 }
74
75 if (m_config.doResolutionsPerAuthor){
76 m_resSiSPSeededFinderPlots = std::make_unique<InDetPerfPlot_Resolution>(this, "TracksByAuthor/SiSPSeededFinder/Tracks/Resolution");
77 m_resInDetExtensionProcessorPlots = std::make_unique<InDetPerfPlot_Resolution>(this, "TracksByAuthor/InDetExtensionProcessor/Tracks/Resolution");
78 m_resTRTSeededTrackFinderPlots = std::make_unique<InDetPerfPlot_Resolution>(this, "TracksByAuthor/TRTSeededTrackFinder/Tracks/Resolution");
79 m_resTRTStandalonePlots = std::make_unique<InDetPerfPlot_Resolution>(this, "TracksByAuthor/TRTStandalone/Tracks/Resolution");
80 m_resSiSpacePointsSeedMaker_LargeD0Plots = std::make_unique<InDetPerfPlot_Resolution>(this, "TracksByAuthor/SiSpacePointsSeedMaker_LargeD0/Tracks/Resolution");
81 }
82
83 if (m_config.doHitsRecoTracksPlotsPerAuthor){
84 m_hitsSiSPSeededFinderPlots = std::make_unique<InDetPerfPlot_Hits>(this, "TracksByAuthor/SiSPSeededFinder/Tracks/HitsOnTracks", m_config.isITk);
85 m_hitsInDetExtensionProcessorPlots = std::make_unique<InDetPerfPlot_Hits>(this, "TracksByAuthor/InDetExtensionProcessor/Tracks/HitsOnTracks", m_config.isITk);
86 m_hitsTRTSeededTrackFinderPlots = std::make_unique<InDetPerfPlot_Hits>(this, "TracksByAuthor/TRTSeededTrackFinder/Tracks/HitsOnTracks", m_config.isITk);
87 m_hitsTRTStandalonePlots = std::make_unique<InDetPerfPlot_Hits>(this, "TracksByAuthor/TRTStandalone/Tracks/HitsOnTracks", m_config.isITk);
88 m_hitsSiSpacePointsSeedMaker_LargeD0Plots = std::make_unique<InDetPerfPlot_Hits>(this, "TracksByAuthor/SiSpacePointsSeedMaker_LargeD0/Tracks/HitsOnTracks", m_config.isITk);
89 }
90
91 if (m_config.doTrkInJetPlots) m_trkInJetPlots = std::make_unique<InDetPerfPlot_TrkInJet>(this, "TracksInJets/Tracks");
92 if (m_config.doTrkInJetPlots_matched) m_trkInJetPlots_matched = std::make_unique<InDetPerfPlot_TrkInJet>(this, "TracksInJets/Matched",false);
93 if (m_config.doTrkInJetPlots_fake) m_trkInJetPlots_fake = std::make_unique<InDetPerfPlot_TrkInJet>(this, "TracksInJets/Fakes",false);
94 if (m_config.doTrkInJetPlots_unlinked) m_trkInJetPlots_unlinked = std::make_unique<InDetPerfPlot_TrkInJet>(this, "TracksInJets/Unlinked",false);
95 if (m_config.doTrkInJetPlots_bjets) m_trkInJetPlots_bjets = std::make_unique<InDetPerfPlot_TrkInJet>(this, "TracksInBJets/Tracks");
96 if (m_config.doTrkInJetPlots_matched_bjets) m_trkInJetPlots_matched_bjets = std::make_unique<InDetPerfPlot_TrkInJet>(this, "TracksInBJets/Matched",false);
97 if (m_config.doTrkInJetPlots_fake_bjets) m_trkInJetPlots_fake_bjets = std::make_unique<InDetPerfPlot_TrkInJet>(this, "TracksInBJets/Fakes",false);
98 if (m_config.doTrkInJetPlots_unlinked_bjets) m_trkInJetPlots_unlinked_bjets = std::make_unique<InDetPerfPlot_TrkInJet>(this, "TracksInBJets/Unlinked",false);
99 if (m_config.doTrkInJetPlots_truthFromB) m_trkInJetPlots_truthFromB = std::make_unique<InDetPerfPlot_TrkInJet>(this, "TracksInBJets/TruthFromB");
100
103}
InDetPlotBase(InDetPlotBase *pParent, const std::string &dirName)
Constructor taking parent node and directory name for plots.
std::unique_ptr< InDetPerfPlot_Hits > m_hitsFakeTracksPlots
std::unique_ptr< InDetPerfPlot_FakeRate > m_missingTruthFakePlots
std::unique_ptr< InDetPerfPlot_Hits > m_hitsTRTStandalonePlots
std::unique_ptr< InDetPerfPlot_Efficiency > m_effSiSPSeededFinderPlots
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots_matched_bjets
std::unique_ptr< InDetPerfPlot_Efficiency > m_effTRTStandalonePlots
std::unique_ptr< InDetPerfPlot_FakeRate > m_fakeSiSPSeededFinderPlots
std::unique_ptr< InDetPerfPlot_TrackParameters > m_trackParameters
plot members.
std::unique_ptr< InDetPerfPlot_Resolution > m_resolutionPlotSecd
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots_unlinked
std::unique_ptr< InDetPerfPlot_Resolution > m_resolutionPlotPrim_truthFromB
std::unique_ptr< InDetPerfPlot_Resolution > m_resTRTSeededTrackFinderPlots
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots_unlinked_bjets
std::unique_ptr< InDetPerfPlot_FakeRate > m_fakeTRTSeededTrackFinderPlots
std::unique_ptr< InDetPerfPlot_Hits > m_hitsSiSPSeededFinderPlots
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots_fake
std::unique_ptr< InDetPerfPlot_Efficiency > m_effInDetExtensionProcessorPlots
std::unique_ptr< InDetPerfPlot_TrackParameters > m_trkParaSiSpacePointsSeedMaker_LargeD0Plots
std::unique_ptr< InDetPerfPlot_Resolution > m_resolutionPlotPrim
std::unique_ptr< InDetPerfPlot_Efficiency > m_effPlots
std::unique_ptr< InDetPerfPlot_Hits > m_hitsRecoTracksPlots
std::unique_ptr< InDetPerfPlot_nTracks > m_nTracks
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots
std::unique_ptr< InDetPerfPlot_Resolution > m_resInDetExtensionProcessorPlots
std::unique_ptr< InDetPerfPlot_Resolution > m_unmatchedBiasPlots
std::unique_ptr< InDetPerfPlot_FakeRate > m_fakeSiSpacePointsSeedMaker_LargeD0Plots
std::unique_ptr< InDetPerfPlot_Resolution > m_resTRTStandalonePlots
std::unique_ptr< InDetPerfPlot_TrackParameters > m_trkParaTRTSeededTrackFinderPlots
std::unique_ptr< InDetPerfPlot_Hits > m_hitsUnlinkedTracksPlots
std::unique_ptr< InDetPerfPlot_VerticesVsMu > m_verticesVsMuPlots
std::unique_ptr< InDetPerfPlot_VertexTruthMatching > m_hardScatterVertexTruthMatchingPlots
std::unique_ptr< InDetPerfPlot_Hits > m_hitsMatchedTracksPlots
std::unique_ptr< InDetPerfPlot_Efficiency > m_effTRTSeededTrackFinderPlots
std::unique_ptr< InDetPerfPlot_Resolution > m_resSiSPSeededFinderPlots
std::unique_ptr< InDetPerfPlot_FakeRate > m_fakePlots
std::unique_ptr< InDetPerfPlot_FakeRate > m_fakeInDetExtensionProcessorPlots
std::unique_ptr< InDetPerfPlot_Efficiency > m_effSiSpacePointsSeedMaker_LargeD0Plots
std::unique_ptr< InDetPerfPlot_TrackParameters > m_trkParaSiSPSeededFinderPlots
std::unique_ptr< InDetPerfPlot_Hits > m_hitsTRTSeededTrackFinderPlots
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots_bjets
std::unique_ptr< InDetPerfPlot_VertexTruthMatching > m_vertexTruthMatchingPlots
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots_fake_bjets
std::unique_ptr< InDetPerfPlot_Duplicate > m_duplicatePlots
std::unique_ptr< InDetPerfPlot_TRTExtension > m_trtExtensionPlots
std::unique_ptr< InDetPerfPlot_TrackParameters > m_trkParaTRTStandalonePlots
std::unique_ptr< InDetPerfPlot_FakeRate > m_fakeTRTStandalonePlots
std::unique_ptr< InDetPerfPlot_Hits > m_hitsInDetExtensionProcessorPlots
std::unique_ptr< InDetPerfPlot_Hits > m_hitsSiSpacePointsSeedMaker_LargeD0Plots
std::unique_ptr< InDetPerfPlot_Vertex > m_hardScatterVertexPlots
std::unique_ptr< InDetPerfNtuple_TruthToReco > m_ntupleTruthToReco
std::unique_ptr< InDetPerfPlot_HitEfficiency > m_hitEffPlot
std::unique_ptr< InDetPerfPlot_Vertex > m_vertexPlots
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots_matched
InDetRttPlotConfig m_config
configuration object
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots_truthFromB
std::unique_ptr< InDetPerfPlot_Resolution > m_resSiSpacePointsSeedMaker_LargeD0Plots
std::unique_ptr< InDetPerfPlot_HitResidual > m_hitResidualPlot
std::unique_ptr< InDetPerfPlot_TrackParameters > m_trkParaInDetExtensionProcessorPlots
void setDetailLevel(int iDetailLevel)
Definition PlotBase.cxx:55
int m_iDetailLevel
Definition PlotBase.h:101

◆ ~InDetRttPlots()

virtual InDetRttPlots::~InDetRttPlots ( )
inlinevirtual

nop

Definition at line 161 of file InDetRttPlots.h.

161 {
162 };

Member Function Documentation

◆ book() [1/6]

template<class Htype>
void InDetPlotBase::book ( Htype *& pHisto,
const std::string & histoIdentifier,
const std::string & nameOverride = "",
const std::string & folder = "default" )
inherited

Helper method to book histograms using an identifier string.

Parameters
pHistoPointer to the histogram to be booked (assumed to be initialized to nullptr)
histoIdentifierIdentifier (looked up in the XML file)
nameOverrideAllows to override the histo name w.r.t the identifier. Leave empty for no override. This can be used to instantiate multiple, identically binned plots from a single entry in the XML.
folderFolder to place the plot (if any)

◆ book() [2/6]

void InDetPlotBase::book ( TEfficiency *& pHisto,
const SingleHistogramDefinition & hd )
inherited

Book a (1-D) TEfficiency.

Definition at line 71 of file InDetPlotBase.cxx.

71 {
72 if (hd.isValid()) {
73 if(hd.nBinsY==0) {
74 pHisto = BookTEfficiency(hd.name, hd.allTitles, hd.nBinsX, hd.xAxis.first, hd.xAxis.second, false);
75 } else {
76 pHisto = BookTEfficiency(hd.name, hd.allTitles, hd.nBinsX, hd.xAxis.first, hd.xAxis.second, hd.nBinsY, hd.yAxis.first, hd.yAxis.second, false);
77 }
78 }
79 }
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.
Definition PlotBase.cxx:257
bool isValid() const
Is the histogram definition valid.
IHistogramDefinitionSvc::axesLimits_t xAxis
IHistogramDefinitionSvc::axesLimits_t yAxis

◆ book() [3/6]

void InDetPlotBase::book ( TH1 *& pHisto,
const SingleHistogramDefinition & hd )
inherited

Book a TH1 histogram.

Definition at line 43 of file InDetPlotBase.cxx.

43 {
44 if (hd.isValid()) {
45 pHisto = Book1D(hd.name, hd.allTitles, hd.nBinsX, hd.xAxis.first, hd.xAxis.second, false);
46 }
47 }
TH1D * Book1D(const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
Definition PlotBase.cxx:94

◆ book() [4/6]

void InDetPlotBase::book ( TH2 *& pHisto,
const SingleHistogramDefinition & hd )
inherited

Book a 2D histogram (TH2)

Definition at line 63 of file InDetPlotBase.cxx.

63 {
64 if (hd.isValid()) {
65 pHisto = Book2D(hd.name, hd.allTitles, hd.nBinsX, hd.xAxis.first, hd.xAxis.second, hd.nBinsY, hd.yAxis.first,
66 hd.yAxis.second, false);
67 }
68 }
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.
Definition PlotBase.cxx:123

◆ book() [5/6]

void InDetPlotBase::book ( TProfile *& pHisto,
const SingleHistogramDefinition & hd )
inherited

Book a TProfile histogram.

Definition at line 49 of file InDetPlotBase.cxx.

49 {
50 if (hd.isValid()) {
51 pHisto = BookTProfile(hd.name, hd.allTitles, hd.nBinsX, hd.xAxis.first, hd.xAxis.second, hd.yAxis.first,
52 hd.yAxis.second, false);
53 }
54 }
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.
Definition PlotBase.cxx:186

◆ book() [6/6]

void InDetPlotBase::book ( TProfile2D *& pHisto,
const SingleHistogramDefinition & hd )
inherited

Book a TProfile2D histogram.

Definition at line 56 of file InDetPlotBase.cxx.

56 {
57 if (hd.isValid()) {
58 pHisto = BookTProfile2D(hd.name, hd.allTitles, hd.nBinsX, hd.xAxis.first, hd.xAxis.second, hd.nBinsY, hd.yAxis.first,
59 hd.yAxis.second, false);
60 }
61 }
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.
Definition PlotBase.cxx:231

◆ 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.

95 {
96 std::string prefix = constructPrefix(m_sDirectory, prependDir);
97 Bool_t oldstat = TH1::AddDirectoryStatus();
98 TH1::AddDirectory(false);
99 TH1D *hist = new TH1D((prefix + name).c_str(), labels.c_str(), nBins, start, end);
100 TH1::AddDirectory(oldstat);
101
102 hist->Sumw2();
103 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
104 return hist;
105}
static std::string constructPrefix(std::string dir, bool prependDir)
Definition PlotBase.cxx:293
std::vector< HistData > m_vBookedHistograms
Definition PlotBase.h:97
std::string m_sDirectory
Definition PlotBase.h:100

◆ 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.

108 {
109 std::string prefix = constructPrefix(m_sDirectory, prependDir);
110 Bool_t oldstat = TH1::AddDirectoryStatus();
111 TH1::AddDirectory(false);
112 TH1D *hist = new TH1D((prefix + name).c_str(), labels.c_str(), refHist->GetNbinsX(),
113 refHist->GetXaxis()->GetXbins()->GetArray());
114 hist->Sumw2();
115 TH1::AddDirectory(oldstat);
116
117
118 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
119 return hist;
120}

◆ 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.

145 {
146 std::string prefix = constructPrefix(m_sDirectory, prependDir);
147 Bool_t oldstat = TH2::AddDirectoryStatus();
148 TH2::AddDirectory(false);
149 TH2F *hist = new TH2F((prefix + name).c_str(), labels.c_str(), nBinsX, binsX, nBinsY, startY, endY);
150 hist->Sumw2();
151 TH2::AddDirectory(oldstat);
152 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
153 return hist;
154}
TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)

◆ 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.

124 {
125 std::string prefix = constructPrefix(m_sDirectory, prependDir);
126 Bool_t oldstat = TH2::AddDirectoryStatus();
127 TH2::AddDirectory(false);
128 TH2F *hist = new TH2F((prefix + name).c_str(), labels.c_str(), nBinsX, startX, endX, nBinsY, startY, endY);
129 hist->Sumw2();
130 TH2::AddDirectory(oldstat);
131
132
133 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
134 return hist;
135}

◆ 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.

138 {
139 return Book2D(name, labels, refHist->GetNbinsX(), refHist->GetXaxis()->GetXmin(), refHist->GetXaxis()->GetXmax(),
140 refHist->GetNbinsY(), refHist->GetYaxis()->GetXmin(), refHist->GetYaxis()->GetXmax(), prependDir);
141}

◆ 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.

158 {
159 std::string prefix = constructPrefix(m_sDirectory, prependDir);
160 Bool_t oldstat = TH3::AddDirectoryStatus();
161 TH3::AddDirectory(false);
162 TH3F *hist = new TH3F((prefix + name).c_str(),
163 labels.c_str(), nBinsX, startX, endX, nBinsY, startY, endY, nBinsZ, startZ, endZ);
164 hist->Sumw2();
165 TH3::AddDirectory(oldstat);
166 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
167 return hist;
168}

◆ 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.

171 {
172 std::string prefix = constructPrefix(m_sDirectory, prependDir);
173 Bool_t oldstat = TH3::AddDirectoryStatus();
174 TH3::AddDirectory(false);
175 TH3F *hist = new TH3F((prefix + name).c_str(), labels.c_str(), refHist->GetNbinsX(),
176 refHist->GetXaxis()->GetXbins()->GetArray(), refHist->GetNbinsY(),
177 refHist->GetYaxis()->GetXbins()->GetArray(), refHist->GetNbinsZ(),
178 refHist->GetZaxis()->GetXbins()->GetArray());
179 TH3::AddDirectory(oldstat);
180
181 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
182 return hist;
183}

◆ 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.

257 {
258 std::string prefix = constructPrefix(m_sDirectory, prependDir);
259 //Bool_t oldstat = TEfficiency::AddDirectoryStatus();
260 TEfficiency *hist = new TEfficiency((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi);
261 //hist->SetAutoSave(0);
262 //hist->SetAtoFlush(0);
263 hist->SetDirectory(nullptr);
264 m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
265 //TEfficiency::AddDirectory(oldstat);
266 return hist;
267}
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition PlotBase.h:99

◆ 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.

270 {
271 std::string prefix = constructPrefix(m_sDirectory, prependDir);
272
273 TEfficiency *hist = new TEfficiency((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi, nBinsY, ylo, yhi);
274 hist->SetDirectory(nullptr);
275 m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
276
277 return hist;
278}

◆ 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.

204 {
205 std::string prefix = constructPrefix(m_sDirectory, prependDir);
206 TProfile *hist(nullptr);
207 Bool_t oldstat = TProfile::AddDirectoryStatus();
208 TProfile::AddDirectory(false);
209
210 hist = new TProfile((prefix + name).c_str(), labels.c_str(), nBinsX, binsX);
211 TProfile::AddDirectory(oldstat);
212 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
213 return hist;
214}

◆ 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.

187 {
188 std::string prefix = constructPrefix(m_sDirectory, prependDir);
189 TProfile *hist(nullptr);
190 Bool_t oldstat = TProfile::AddDirectoryStatus();
191 TProfile::AddDirectory(false);
192 std::string opt = useRMS ? "S" : "";
193 if ((startY == -1) and (endY == -1)) {
194 hist = new TProfile((prefix + name).c_str(), labels.c_str(), nBinsX, startX, endX, opt.c_str());
195 } else {
196 hist = new TProfile((prefix + name).c_str(), labels.c_str(), nBinsX, startX, endX, startY, endY, opt.c_str());
197 }
198 TProfile::AddDirectory(oldstat);
199 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
200 return hist;
201}

◆ 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.

233 {
234 std::string prefix = constructPrefix(m_sDirectory, prependDir);
235 Bool_t oldstat = TProfile2D::AddDirectoryStatus();
236 TProfile2D::AddDirectory(false);
237 std::string opt = useRMS ? "S" : "";
238 TProfile2D *hist = new TProfile2D((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi, nBinsY, ylo, yhi, opt.c_str());
239 TProfile2D::AddDirectory(oldstat);
240 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
241 return hist;
242}

◆ 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.

245 {
246 std::string prefix = constructPrefix(m_sDirectory, prependDir);
247 Bool_t oldstat = TProfile2D::AddDirectoryStatus();
248 TProfile2D::AddDirectory(false);
249 std::string opt = useRMS ? "S" : "";
250 TProfile2D *hist = new TProfile2D((prefix + name).c_str(), labels.c_str(), nBinsX, binsX, nBinsY, binsY, opt.c_str());
251 TProfile2D::AddDirectory(oldstat);
252 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
253 return hist;
254}

◆ 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.

218 {
219 std::string prefix = constructPrefix(m_sDirectory, prependDir);
220 TProfile *hist(nullptr);
221 Bool_t oldstat = TProfile::AddDirectoryStatus();
222 TProfile::AddDirectory(false);
223
224 hist = new TProfile((prefix + name).c_str(), labels.c_str(), (Int_t) nBinsX, binsX, startY, endY);
225 TProfile::AddDirectory(oldstat);
226 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
227 return hist;
228}

◆ BookTree()

TTree * PlotBase::BookTree ( const std::string & name,
bool prependDir = true )
inherited

Book a TTree.

Definition at line 281 of file PlotBase.cxx.

281 {
282 std::string prefix = constructPrefix(m_sDirectory, prependDir);
283 TTree *tree = new TTree((prefix + name).c_str(), "");
284
285 tree->SetAutoSave(0);
286 tree->SetAutoFlush(0);
287 tree->SetDirectory(nullptr);
288 m_vBookedTrees.emplace_back(tree, m_sDirectory);
289 return tree;
290}
std::vector< TreeData > m_vBookedTrees
Definition PlotBase.h:98
TChain * tree

◆ constructPrefix()

std::string PlotBase::constructPrefix ( std::string dir,
bool prependDir )
staticprivateinherited

Definition at line 293 of file PlotBase.cxx.

293 {
294 if (!prependDir) {
295 return "";
296 }
297 std::replace(dir.begin(), dir.end(), '/', '_');
298 return dir;
299}

◆ fill() [1/8]

void InDetRttPlots::fill ( const unsigned int ntracksFull,
const unsigned int ntracksCentral,
const unsigned int ntracksPt1GeV,
const unsigned int truthMu,
const float actualMu,
const unsigned int nvertices,
const float weight = 1.0 )

Definition at line 212 of file InDetRttPlots.cxx.

215 {
216
217 if (m_nTracks) m_nTracks->fill(ntracksFull, ntracksCentral, ntracksPt1GeV, truthMu, actualMu, nvertices, weight);
218
219}

◆ fill() [2/8]

void InDetRttPlots::fill ( const xAOD::TrackParticle & particle,
const float mu,
const unsigned int nVtx,
float weight = 1.0 )

Definition at line 187 of file InDetRttPlots.cxx.

187 {
188
189 if (m_trtExtensionPlots) m_trtExtensionPlots->fill(particle, mu, nVtx, weight);
190 if (m_hitsRecoTracksPlots) m_hitsRecoTracksPlots->fill(particle, mu, weight);
191
192 if(m_config.doHitsRecoTracksPlotsPerAuthor){
193 std::bitset<xAOD::TrackPatternRecoInfo::NumberOfTrackRecoInfo> patternInfo = particle.patternRecoInfo();
194
195 bool isSiSpSeededFinder = patternInfo.test(0);
196 bool isInDetExtensionProcessor = patternInfo.test(3);
197 bool isTRTSeededTrackFinder = patternInfo.test(4);
198 bool isTRTStandalone = patternInfo.test(20);
199 bool isSiSpacePointsSeedMaker_LargeD0 = patternInfo.test(49);
200
201 if(isSiSpSeededFinder and not isInDetExtensionProcessor) m_hitsSiSPSeededFinderPlots->fill(particle, mu, weight);
202 else if(isInDetExtensionProcessor and not (isTRTSeededTrackFinder or isSiSpacePointsSeedMaker_LargeD0)) m_hitsInDetExtensionProcessorPlots->fill(particle, mu, weight);
203 else if(isTRTSeededTrackFinder and not isTRTStandalone) m_hitsTRTSeededTrackFinderPlots->fill(particle, mu, weight);
204 else if(isTRTStandalone) m_hitsTRTStandalonePlots->fill(particle, mu, weight);
205 else if(isSiSpacePointsSeedMaker_LargeD0) m_hitsSiSpacePointsSeedMaker_LargeD0Plots->fill(particle, mu, weight);
206
207 }
208
209}
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses

◆ fill() [3/8]

void InDetRttPlots::fill ( const xAOD::TrackParticle & particle,
const xAOD::TruthParticle & truthParticle,
bool truthIsFromB = false,
float mu = 0.0,
float weight = 1.0 )

fill for things needing truth and track only

Definition at line 109 of file InDetRttPlots.cxx.

109 {
110 // fill measurement bias, resolution, and pull plots
111
112 // fill ITK resolutions (bias / resolutions)
113 static const SG::ConstAccessor<float> tpTruthProbKeyAcc("truthMatchProbability");
114 if (tpTruthProbKeyAcc.isAvailable(particle)) {
115 const float prob = tpTruthProbKeyAcc(particle);
116 int uniqueID = HepMC::uniqueID(truthParticle);
117 if (!HepMC::is_simulation_particle(&truthParticle) && uniqueID != HepMC::UNDEFINED_ID && prob > 0.5) {
118 if (m_resolutionPlotPrim) m_resolutionPlotPrim->fill(particle, truthParticle, weight);
119 } else if (HepMC::is_simulation_particle(&truthParticle) && prob > 0.7 && m_iDetailLevel >= 200) {
120 if (m_resolutionPlotSecd) m_resolutionPlotSecd->fill(particle, truthParticle, weight);
121 }
122 if ( isFromB ) {
123 if (m_resolutionPlotPrim_truthFromB) m_resolutionPlotPrim_truthFromB->fill(particle, truthParticle, weight);
124 }
125
126 if(m_config.doResolutionsPerAuthor && m_iDetailLevel >= 200 and ( !HepMC::is_simulation_particle(&truthParticle) and uniqueID != HepMC::UNDEFINED_ID and prob > 0.5)){
127 std::bitset<xAOD::TrackPatternRecoInfo::NumberOfTrackRecoInfo> patternInfo = particle.patternRecoInfo();
128
129 bool isSiSpSeededFinder = patternInfo.test(xAOD::TrackPatternRecoInfo::SiSPSeededFinder);
130 bool isInDetExtensionProcessor = patternInfo.test(xAOD::TrackPatternRecoInfo::InDetExtensionProcessor);
131 bool isTRTSeededTrackFinder = patternInfo.test(xAOD::TrackPatternRecoInfo::TRTSeededTrackFinder);
132 bool isTRTStandalone = patternInfo.test(xAOD::TrackPatternRecoInfo::TRTStandalone);
133 bool isSiSpacePointsSeedMaker_LargeD0 = patternInfo.test(xAOD::TrackPatternRecoInfo::SiSpacePointsSeedMaker_LargeD0);
134
135 if(isSiSpSeededFinder and not isInDetExtensionProcessor) m_resSiSPSeededFinderPlots->fill(particle, truthParticle, weight);
136 if(isInDetExtensionProcessor and not (isTRTSeededTrackFinder or isSiSpacePointsSeedMaker_LargeD0)) m_resInDetExtensionProcessorPlots->fill(particle, truthParticle, weight);
137 if(isTRTSeededTrackFinder and not isTRTStandalone) m_resTRTSeededTrackFinderPlots->fill(particle, truthParticle, weight);
138 if(isTRTStandalone) m_resTRTStandalonePlots->fill(particle, truthParticle, weight);
139 if(isSiSpacePointsSeedMaker_LargeD0) m_resSiSpacePointsSeedMaker_LargeD0Plots->fill(particle, truthParticle, weight);
140
141 }
142
143 if (m_trtExtensionPlots && !HepMC::is_simulation_particle(&truthParticle) && uniqueID != HepMC::UNDEFINED_ID && prob > 0.5 ) m_trtExtensionPlots->fill(particle, truthParticle, weight);
144 }
145
147 int uniqueID = HepMC::uniqueID(truthParticle);
148 if (!HepMC::is_simulation_particle(&truthParticle) && uniqueID != HepMC::UNDEFINED_ID) {
149 m_hitsMatchedTracksPlots->fill(particle, mu, weight);
150 }
151 }
152}
int uniqueID(const T &p)
constexpr int UNDEFINED_ID
bool is_simulation_particle(const T &p)
Method to establish if a particle (or barcode) was created during the simulation (TODO update to be s...
@ SiSPSeededFinder
Tracks from SiSPSeedFinder.
@ TRTStandalone
TRT Standalone.
@ InDetExtensionProcessor
Tracks with InDetExtensionProcessor used.
@ SiSpacePointsSeedMaker_LargeD0
@ TRTSeededTrackFinder
Tracks from TRT Seeded Track finder.

◆ fill() [4/8]

void InDetRttPlots::fill ( const xAOD::TrackParticle & particle,
float weight = 1.0 )

fill for things needing track only

Definition at line 159 of file InDetRttPlots.cxx.

159 {
160 if (m_hitResidualPlot) m_hitResidualPlot->fill(particle, weight);
161 if (m_hitEffPlot) m_hitEffPlot->fill(particle, weight);
162 // fill pt plots
163 if (m_trackParameters) m_trackParameters->fill(particle, weight);
164 if (m_unmatchedBiasPlots) m_unmatchedBiasPlots->fill(particle, weight);
165
166 if(m_config.doTrackParametersPerAuthor){
167 std::bitset<xAOD::TrackPatternRecoInfo::NumberOfTrackRecoInfo> patternInfo = particle.patternRecoInfo();
168
169 bool isSiSpSeededFinder = patternInfo.test(0);
170 bool isInDetExtensionProcessor = patternInfo.test(3);
171 bool isTRTSeededTrackFinder = patternInfo.test(4);
172 bool isTRTStandalone = patternInfo.test(20);
173 bool isSiSpacePointsSeedMaker_LargeD0 = patternInfo.test(49);
174
175 if(isSiSpSeededFinder and not isInDetExtensionProcessor) m_trkParaSiSPSeededFinderPlots->fill(particle, weight);
176 else if(isInDetExtensionProcessor and not (isTRTSeededTrackFinder or isSiSpacePointsSeedMaker_LargeD0)) m_trkParaInDetExtensionProcessorPlots->fill(particle, weight);
177 else if(isTRTSeededTrackFinder and not isTRTStandalone) m_trkParaTRTSeededTrackFinderPlots->fill(particle, weight);
178 else if(isTRTStandalone) m_trkParaTRTStandalonePlots->fill(particle, weight);
179 else if(isSiSpacePointsSeedMaker_LargeD0) m_trkParaSiSpacePointsSeedMaker_LargeD0Plots->fill(particle, weight);
180
181 }
182
183 if (m_trtExtensionPlots) m_trtExtensionPlots->fill(particle, weight);
184}

◆ fill() [5/8]

void InDetRttPlots::fill ( const xAOD::TrackParticle & track,
const xAOD::Jet & jet,
bool isBjet = false,
bool isFake = false,
bool isUnlinked = false,
bool truthIsFromB = false,
const float weight = 1.0 )

Definition at line 375 of file InDetRttPlots.cxx.

375 {
376 if (m_trkInJetPlots) m_trkInJetPlots->fill(track, jet,weight);
377 if (isFake){
378 if (m_trkInJetPlots_fake) m_trkInJetPlots_fake->fill(track,jet,weight);
379 if (isBjet && m_trkInJetPlots_fake_bjets) m_trkInJetPlots_fake_bjets->fill(track,jet,weight);
380 }
381 else if (isUnlinked){
382 if (m_trkInJetPlots_unlinked) m_trkInJetPlots_unlinked->fill(track,jet,weight);
383 if (isBjet && m_trkInJetPlots_unlinked_bjets) m_trkInJetPlots_unlinked_bjets->fill(track,jet,weight);
384 }
385 else {
386 if (m_trkInJetPlots_matched) m_trkInJetPlots_matched->fill(track,jet,weight);
387 if (isBjet && m_trkInJetPlots_matched_bjets) m_trkInJetPlots_matched_bjets->fill(track,jet,weight);
388 }
389 if(isBjet){
390 if (m_trkInJetPlots_bjets) m_trkInJetPlots_bjets->fill(track, jet,weight);
391 if ( truthIsFromB && m_trkInJetPlots_truthFromB) m_trkInJetPlots_truthFromB->fill(track, jet,weight);
392 }
393}

◆ fill() [6/8]

void InDetRttPlots::fill ( const xAOD::TruthParticle & particle,
float weight )

fill for things needing truth only

Definition at line 225 of file InDetRttPlots.cxx.

225 {
226 // fill truth plots
227 if (m_trackParameters) m_trackParameters->fill(truthParticle, weight);
228}

◆ fill() [7/8]

void InDetRttPlots::fill ( const xAOD::VertexContainer & vertexContainer,
const unsigned int truthMu,
const float actualMu,
const float weight = 1.0 )

fill reco-vertex related plots that need EventInfo

Definition at line 361 of file InDetRttPlots.cxx.

361 {
362 if (m_verticesVsMuPlots) m_verticesVsMuPlots->fill(vertexContainer, truthMu, actualMu, weight);
363}

◆ fill() [8/8]

void InDetRttPlots::fill ( const xAOD::VertexContainer & vertexContainer,
const xAOD::Vertex * recoHardScatter,
const std::vector< const xAOD::TruthVertex * > & truthHSVertices,
const std::vector< const xAOD::TruthVertex * > & truthPUVertices,
const float actualMu,
float weight = 1.0 )

fill reco-vertex related plots

Definition at line 335 of file InDetRttPlots.cxx.

335 {
336 // fill vertex-specific properties, for all vertices and for hard-scattering vertex
337
338 for (const auto& vtx : vertexContainer.stdcont()) {
339 if (vtx->vertexType() == xAOD::VxType::NoVtx) {
340 ATH_MSG_DEBUG("IN InDetRttPlots::fill, found xAOD::VxType::NoVtx");
341 continue; // skip dummy vertex
342 }
343 if (m_vertexPlots) m_vertexPlots->fill(*vtx, weight);
344 ATH_MSG_DEBUG("IN InDetRttPlots::fill, filling for all vertices");
345 }
346
347 if (recoHardScatter) {
348 if (m_hardScatterVertexPlots) m_hardScatterVertexPlots->fill(*recoHardScatter, weight);
350 if(!truthHSVertices.empty() ) m_hardScatterVertexTruthMatchingPlots->fill(*recoHardScatter,truthHSVertices[0],weight);
351 else m_hardScatterVertexTruthMatchingPlots->fill(*recoHardScatter,nullptr,weight);
352 }
353 ATH_MSG_DEBUG("IN InDetRttPlots::fill, filling for all HS vertex");
354 }
355
356 if(m_vertexTruthMatchingPlots) m_vertexTruthMatchingPlots->fill(recoHardScatter, vertexContainer, truthHSVertices, truthPUVertices,actualMu, weight);
357}
#define ATH_MSG_DEBUG(x)
const PtrVector & stdcont() const
Return the underlying std::vector of the container.
@ NoVtx
Dummy vertex. TrackParticle was not used in vertex fit.

◆ fillCounter()

void InDetRttPlots::fillCounter ( const unsigned int freq,
const InDetPerfPlot_nTracks::CounterCategory counter,
float weight )

fill for Counters

Definition at line 369 of file InDetRttPlots.cxx.

369 {
370 if (m_nTracks) m_nTracks->fill(freq, counter, weight);
371}

◆ fillDuplicate()

void InDetRttPlots::fillDuplicate ( const xAOD::TruthParticle & truth,
const std::vector< const xAOD::TrackParticle * > & tracks,
float weight )

fill for duplicate plots

Definition at line 288 of file InDetRttPlots.cxx.

290 {
291 m_duplicatePlots->fill(truth, tracks.size(), weight);
292}

◆ fillEfficiency() [1/2]

void InDetRttPlots::fillEfficiency ( const xAOD::TruthParticle & truth,
const xAOD::Jet & jet,
const bool isGood,
bool isBjet = false,
bool truthIsFromB = false,
float weight = 1.0 )

Definition at line 396 of file InDetRttPlots.cxx.

396 {
397 if (m_trkInJetPlots) m_trkInJetPlots->fillEfficiency(truth, jet, isEfficient, weight);
398 if(isBjet && m_trkInJetPlots_bjets) m_trkInJetPlots_bjets->fillEfficiency(truth, jet, isEfficient, weight);
399
400 if ( isBjet and m_trkInJetPlots_truthFromB and truthIsFromB ) { // truth is from B
401 m_trkInJetPlots_truthFromB->fillEfficiency(truth, jet, isEfficient, weight);
402 }
403}

◆ fillEfficiency() [2/2]

void InDetRttPlots::fillEfficiency ( const xAOD::TruthParticle & truth,
const xAOD::TrackParticle * track,
const bool isGood,
const unsigned int truthMu,
const float actualMu,
float weight )

Fill for efficiency plots.

Definition at line 235 of file InDetRttPlots.cxx.

237 {
238 if (m_effPlots) m_effPlots->fill(truth, isGood, truthMu, actualMu, weight);
239
240 if(m_config.doEfficienciesPerAuthor){
241
242 bool isGoodSiSPSeededFinder = false;
243 bool isGoodInDetExtensionProcessor = false;
244 bool isGoodTRTSeededTrackFinder = false;
245 bool isGoodTRTStandalone = false;
246 bool isGoodSiSpacePointsSeedMaker_LargeD0 = false;
247
248 if(isGood && track){
249 std::bitset<xAOD::TrackPatternRecoInfo::NumberOfTrackRecoInfo> patternInfo = track->patternRecoInfo();
250
251 bool isSiSpSeededFinder = patternInfo.test(0);
252 bool isInDetExtensionProcessor = patternInfo.test(3);
253 bool isTRTSeededTrackFinder = patternInfo.test(4);
254 bool isTRTStandalone = patternInfo.test(20);
255 bool isSiSpacePointsSeedMaker_LargeD0 = patternInfo.test(49);
256
257 isGoodSiSPSeededFinder = isSiSpSeededFinder and not isInDetExtensionProcessor;
258 isGoodInDetExtensionProcessor = isInDetExtensionProcessor and
259 not (isTRTSeededTrackFinder or isSiSpacePointsSeedMaker_LargeD0);
260 isGoodTRTSeededTrackFinder = isTRTSeededTrackFinder and not isTRTStandalone;
261 isGoodTRTStandalone = isTRTStandalone;
262 isGoodSiSpacePointsSeedMaker_LargeD0 = isSiSpacePointsSeedMaker_LargeD0;
263
264 }
265
266 m_effSiSPSeededFinderPlots->fill(truth, isGoodSiSPSeededFinder,
267 truthMu, actualMu, weight);
268 m_effInDetExtensionProcessorPlots->fill(truth, isGoodInDetExtensionProcessor,
269 truthMu, actualMu, weight);
270 m_effTRTSeededTrackFinderPlots->fill(truth, isGoodTRTSeededTrackFinder,
271 truthMu, actualMu, weight);
272 m_effTRTStandalonePlots->fill(truth, isGoodTRTStandalone, truthMu, actualMu, weight);
273 m_effSiSpacePointsSeedMaker_LargeD0Plots->fill(truth, isGoodSiSpacePointsSeedMaker_LargeD0,
274 truthMu, actualMu, weight);
275 }
276
277}

◆ fillFakeRate() [1/2]

void InDetRttPlots::fillFakeRate ( const xAOD::TrackParticle & particle,
const bool isFake,
const bool isAssociatedTruth,
const float mu,
float weight )

fill for fakes

Definition at line 300 of file InDetRttPlots.cxx.

300 {
301 if (m_missingTruthFakePlots && !isAssociatedTruth) {
302 m_missingTruthFakePlots->fill(track, isFake, weight, mu);
303 }
304 if(isAssociatedTruth) {
305 if (m_fakePlots) m_fakePlots->fill(track, isFake, weight, mu);
306 if (m_hitsFakeTracksPlots and isFake) m_hitsFakeTracksPlots->fill(track, mu, weight);
307 if(m_config.doFakesPerAuthor){
308 std::bitset<xAOD::TrackPatternRecoInfo::NumberOfTrackRecoInfo> patternInfo = track.patternRecoInfo();
309
310 bool isSiSpSeededFinder = patternInfo.test(0);
311 bool isInDetExtensionProcessor = patternInfo.test(3);
312 bool isTRTSeededTrackFinder = patternInfo.test(4);
313 bool isTRTStandalone = patternInfo.test(20);
314 bool isSiSpacePointsSeedMaker_LargeD0 = patternInfo.test(49);
315
316 if(isSiSpSeededFinder and not isInDetExtensionProcessor) m_fakeSiSPSeededFinderPlots->fill(track, isFake, weight, mu); //No extensions
317 if(isInDetExtensionProcessor and not (isTRTSeededTrackFinder or isSiSpacePointsSeedMaker_LargeD0)) m_fakeInDetExtensionProcessorPlots->fill(track, isFake, weight, mu); //Extensions but not Back-tracking
318 if(isTRTSeededTrackFinder and not isTRTStandalone) m_fakeTRTSeededTrackFinderPlots->fill(track, isFake, weight, mu); //BackTracking
319 if(isTRTStandalone) m_fakeTRTStandalonePlots->fill(track, isFake, weight, mu); //TRT standalone
320 if(isSiSpacePointsSeedMaker_LargeD0) m_fakeSiSpacePointsSeedMaker_LargeD0Plots->fill(track, isFake, weight, mu);
321 }
322 }
323 else {
324 if (m_hitsUnlinkedTracksPlots) m_hitsUnlinkedTracksPlots->fill(track, mu, weight);
325 }
326
327}

◆ fillFakeRate() [2/2]

void InDetRttPlots::fillFakeRate ( const xAOD::TrackParticle & track,
const xAOD::Jet & jet,
const bool isFake,
bool isBjet = false,
bool truthIsFromB = false,
float weight = 1.0 )

Definition at line 406 of file InDetRttPlots.cxx.

406 {
407 if (m_trkInJetPlots) m_trkInJetPlots->fillFakeRate(track, jet, isFake, weight);
408 if(isBjet && m_trkInJetPlots_bjets) m_trkInJetPlots_bjets->fillFakeRate(track, jet, isFake, weight);
409
410 if ( isBjet and m_trkInJetPlots_truthFromB and truthIsFromB ) { // truth is from B
411 m_trkInJetPlots_truthFromB->fillFakeRate(track, jet, isFake, weight);
412 }
413}

◆ fillHisto() [1/9]

void InDetPlotBase::fillHisto ( TEfficiency * eff2d,
const float xvalue,
const float yvalue,
const bool accepted,
const float weight )
staticinherited

Definition at line 142 of file InDetPlotBase.cxx.

142 {
143 if (eff2d and validArguments(xvalue, yvalue)) {
144 if(weight==1.) eff2d->Fill(accepted, xvalue, yvalue);
145 else eff2d->FillWeighted(accepted, weight, xvalue, yvalue);
146 }
147}

◆ fillHisto() [2/9]

void InDetPlotBase::fillHisto ( TEfficiency * pTeff,
const float value,
const bool accepted,
float weight )
staticinherited

Definition at line 134 of file InDetPlotBase.cxx.

134 {
135 if (pTeff and validArguments(value)) {
136 if(weight==1.) pTeff->Fill(accepted, value); // To get proper error estimate when possible
137 else pTeff->FillWeighted(accepted, weight, value);
138 }
139}

◆ fillHisto() [3/9]

void InDetPlotBase::fillHisto ( TH1 * pTh1,
const float value )
staticinherited

Definition at line 97 of file InDetPlotBase.cxx.

97 {
98 if (pTh1 and validArguments(value)) {
99 pTh1->Fill(value);
100 }
101}

◆ fillHisto() [4/9]

void InDetPlotBase::fillHisto ( TH1 * pTh1,
const float value,
const float weight )
staticinherited

Definition at line 104 of file InDetPlotBase.cxx.

104 {
105 if (pTh1 and validArguments(value)) {
106 pTh1->Fill(value, weight);
107 }
108}

◆ fillHisto() [5/9]

void InDetPlotBase::fillHisto ( TH2 * pTh2,
const float xval,
const float yval )
staticinherited

Definition at line 112 of file InDetPlotBase.cxx.

112 {
113 if (pTh2 and validArguments(xval, yval)) {
114 pTh2->Fill(xval, yval);
115 }
116}

◆ fillHisto() [6/9]

void InDetPlotBase::fillHisto ( TH2 * pTh2,
const float xval,
const float yval,
const float weight )
staticinherited

Definition at line 120 of file InDetPlotBase.cxx.

120 {
121 if (pTh2 and validArguments(xval, yval)) {
122 pTh2->Fill(xval, yval, weight);
123 }
124}

◆ fillHisto() [7/9]

void InDetPlotBase::fillHisto ( TH3 * pTh3,
const float xval,
const float yval,
const float zval )
staticinherited

Definition at line 127 of file InDetPlotBase.cxx.

127 {
128 if (pTh3 and validArguments(xval, yval, zval)) {
129 pTh3->Fill(xval, yval, zval);
130 }
131}

◆ fillHisto() [8/9]

void InDetPlotBase::fillHisto ( TProfile * pTprofile,
const float bin,
const float weight,
const float weight2 = 1.0 )
staticinherited

Definition at line 82 of file InDetPlotBase.cxx.

82 {
83 if (pTprofile and validArguments(bin, weight)) {
84 pTprofile->Fill(bin, weight,weight2);
85 }
86}

◆ fillHisto() [9/9]

void InDetPlotBase::fillHisto ( TProfile2D * pTprofile,
const float xval,
const float yval,
const float weight,
const float weight2 = 1.0 )
staticinherited

Definition at line 89 of file InDetPlotBase.cxx.

89 {
90 if (pTprofile and validArguments(xval,yval, weight) and validArguments(weight2)) {
91 pTprofile->Fill(xval,yval, weight,weight2);
92 }
93}

◆ fillNtuple() [1/3]

void InDetRttPlots::fillNtuple ( const xAOD::TrackParticle & track,
const xAOD::TruthParticle & truth,
const xAOD::Vertex * vtx,
const int truthMatchRanking )

Definition at line 435 of file InDetRttPlots.cxx.

435 {
436 // Fill track and truth entries
438 m_ntupleTruthToReco->fillTrack(track, vtx, truthMatchRanking);
439 m_ntupleTruthToReco->fillTruth(truth);
440 m_ntupleTruthToReco->fillTree();
441 }
442}

◆ fillNtuple() [2/3]

void InDetRttPlots::fillNtuple ( const xAOD::TrackParticle & track,
const xAOD::Vertex * vtx )

Definition at line 417 of file InDetRttPlots.cxx.

417 {
418 // Fill track only entries with dummy truth values
420 m_ntupleTruthToReco->fillTrack(track, vtx);
421 m_ntupleTruthToReco->fillTree();
422 }
423}

◆ fillNtuple() [3/3]

void InDetRttPlots::fillNtuple ( const xAOD::TruthParticle & truth)

Definition at line 426 of file InDetRttPlots.cxx.

426 {
427 // Fill truth only entries with dummy track values
429 m_ntupleTruthToReco->fillTruth(truth);
430 m_ntupleTruthToReco->fillTree();
431 }
432}

◆ fillTechnicalEfficiency()

void InDetRttPlots::fillTechnicalEfficiency ( const xAOD::TruthParticle & truth,
const bool isGood,
const unsigned int truthMu,
const float actualMu,
float weight )

Definition at line 279 of file InDetRttPlots.cxx.

281 {
282 if(m_effPlots) m_effPlots->fillTechnicalEfficiency(truth, isGood, truthMu, actualMu, weight);
283}

◆ finalize()

void PlotBase::finalize ( )
inherited

Definition at line 47 of file PlotBase.cxx.

47 {
48 for (auto *subNode: m_vSubNodes) {
49 subNode->finalize();
50 }
52}
std::vector< PlotBase * > m_vSubNodes
Definition PlotBase.h:96
virtual void finalizePlots()
Definition PlotBase.h:92

◆ finalizePlots()

◆ getDirectory()

const std::string & PlotBase::getDirectory ( )
inlineinherited

Definition at line 88 of file PlotBase.h.

88{return m_sDirectory;}

◆ initialize()

void PlotBase::initialize ( )
inherited

Definition at line 39 of file PlotBase.cxx.

39 {
40 for (auto *subNode: m_vSubNodes) {
41 subNode->initialize();
42 }
44}
virtual void initializePlots()
Definition PlotBase.h:91

◆ initializePlots()

virtual void PlotBase::initializePlots ( )
inlineprivatevirtualinherited

Reimplemented in DiTau::CorePlots, DiTau::ResolutionPlots, Egamma::ClusMomentumPlots, Egamma::ElectronFrwdPlots, Egamma::ElectronPlots, Egamma::IsolationPlots, Egamma::KinematicsPlots, Egamma::LRTElectronPlots, Egamma::PhotonAmbPlots, Egamma::PhotonCnvPlots, Egamma::PhotonConversionPlots, Egamma::PhotonPlots, Egamma::ShowerShapesPlots, Egamma::TrackPlots, ElectronValidationPlots, IDTPM::DuplicateRatePlots, IDTPM::EfficiencyPlots, IDTPM::FakeRatePlots, IDTPM::HitsOnTracksPlots, IDTPM::NtracksPlots, IDTPM::OfflineElectronPlots, IDTPM::ResolutionPlots, IDTPM::SummaryPlots, IDTPM::TrackParametersPlots, IDTPM::VertexParametersPlots, InDetBasicPlot, InDetPerfNtuple, InDetPerfPlot_Duplicate, InDetPerfPlot_Efficiency, InDetPerfPlot_FakeRate, InDetPerfPlot_HitEfficiency, InDetPerfPlot_HitResidual, InDetPerfPlot_Hits, InDetPerfPlot_nTracks, InDetPerfPlot_Resolution, InDetPerfPlot_TrackParameters, InDetPerfPlot_TrkInJet, InDetPerfPlot_TRTExtension, InDetPerfPlot_Vertex, InDetPerfPlot_VertexTruthMatching, InDetPerfPlot_VerticesVsMu, JetTagDQA::BTaggingValidationPlots, LRTElectronValidationPlots, Muon::BetaPlots, Muon::ChargeDepParamPlots, Muon::HitFracTypePlots, Muon::IsoCorrPlots, Muon::IsoPlots, Muon::MomentumPullPlots, Muon::MomentumTruthPullPlots, Muon::MuonParamElossPlots, Muon::MuonParamPlots, Muon::MuonTree, Muon::RecoInfoPlots, Muon::SlowMuonParamPlots, PFO::ClusterMomentPlots, PFO::ClusterPlots, PFO::FlowElement_LinkerPlots, PFO::LeptonFELinkerPlots, PFO::PFOAlgPropertyPlots, PFO::PFOAttributePlots, PFO::PFOCalibHitClusterMomentPlots, PFO::PFOClusterMomentPlots, PFO::PFOPlots, PFO::PFOPVMatchedPlots, PhotonValidationPlots, PhysVal::BTagPlots, PhysVal::EventInfoPlots, PhysVal::KinematicsPlots, PhysVal::METPlots, PhysVal::TrkAndVtxPlots, RecoLumiPlots, RecoMuonIDTrackPlots, RecoMuonPlots, RecoMuonSegmentPlots, RecoMuonTrackPlots, RecoPhysPlots, RecoVertexPlots, Tau::CorePlots, Tau::DecayModeMigration, Tau::EfficiencyPlots, Tau::EventPlots, Tau::EVetoPlots, Tau::GeneralTauPlots, Tau::ResolutionPlots, Tau::TauIDVariablesPlots, Tau::TauKinematicPlots, Tau::TauParticleFlowPlots, TCCPlots, Trk::DefParamPullPlots, Trk::EfficiencyPlots, Trk::ExtrLayerPlots, Trk::ExtrRegionPlots, Trk::HitResidualPlots, Trk::HitTypePlots, Trk::IDHitPlots, Trk::ImpactPlots, Trk::ParamPlots, Trk::RecoInfoPlots, Trk::ResolutionPlots, Trk::TruthInfoPlots, ZeeValidation::FWDZeePlots, ZeeValidation::ReconElectronsPlots, ZeeValidation::TrueElectronsPlots, ZeeValidation::TrueFwdElectronsPlots, and ZeeValidation::ZeePlots.

Definition at line 91 of file PlotBase.h.

91{;}

◆ 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.

40{
42 // If user did not set an explicit level, set a default
43 if (m_lvl == MSG::NIL) {
44 m_lvl = m_imsg ?
45 static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
46 MSG::INFO;
47 }
48}
std::string m_nm
Message source name.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
std::atomic< MSG::Level > m_lvl
Current logging level.
IMessageSvc * getMessageSvc(bool quiet=false)

◆ mBook()

template<class T>
void InDetPlotBase::mBook ( T & pHisto,
const std::string & histoIdentifier )
inlineprotectedinherited

book, for use by macro

Definition at line 83 of file InDetPlotBase.h.

83 {
84 return book(pHisto, histoIdentifier.substr(2));
85 }
void book(Htype *&pHisto, const std::string &histoIdentifier, const std::string &nameOverride="", const std::string &folder="default")
Helper method to book histograms using an identifier string.

◆ 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 167 of file AthMessaging.h.

168{
169 MsgStream* ms = m_msg_tls.get();
170 if (!ms) {
171 if (!m_initialized.test_and_set()) initMessaging();
172 ms = new MsgStream(m_imsg,m_nm);
173 m_msg_tls.reset( ms );
174 }
175
176 ms->setLevel (m_lvl);
177 return *ms;
178}
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
void initMessaging() const
Initialize our message level and MessageSvc.

◆ 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 182 of file AthMessaging.h.

183{ return msg() << lvl; }
MsgStream & msg() const
The standard message stream.

◆ msgLvl()

bool AthMessaging::msgLvl ( const MSG::Level lvl) const
inlineinherited

Test the output level.

Parameters
lvlThe message level to test against
Returns
boolean Indicating if messages at given level will be printed
Return values
trueMessages at level "lvl" will be printed

Definition at line 151 of file AthMessaging.h.

152{
153 // If user did not set explicit message level we have to initialize
154 // the messaging and retrieve the default via the MessageSvc.
155 if (m_lvl==MSG::NIL && !m_initialized.test_and_set()) initMessaging();
156
157 if (m_lvl <= lvl) {
158 msg() << lvl;
159 return true;
160 } else {
161 return false;
162 }
163}

◆ RegisterSubPlot()

void PlotBase::RegisterSubPlot ( PlotBase * pPlotBase)
inlineinherited

Definition at line 41 of file PlotBase.h.

41{m_vSubNodes.push_back(pPlotBase);}

◆ retrieveBookedEfficiencies()

std::vector< EfficiencyData > PlotBase::retrieveBookedEfficiencies ( )
inherited

Retrieve all booked efficiency objects.

Definition at line 83 of file PlotBase.cxx.

83 {
84 std::vector<EfficiencyData> vBookedEfficiencies = m_vBookedEfficiencies;
85 for (const auto &subNode: m_vSubNodes) {
86 std::vector<EfficiencyData> subNodeHists = subNode->retrieveBookedEfficiencies();
87 vBookedEfficiencies.insert(vBookedEfficiencies.end(), subNodeHists.begin(), subNodeHists.end());
88 }
89 return vBookedEfficiencies;
90}

◆ retrieveBookedHistograms()

std::vector< HistData > PlotBase::retrieveBookedHistograms ( )
inherited

Retrieve all booked histograms.

Definition at line 63 of file PlotBase.cxx.

63 {
64 std::vector<HistData> vBookedHistograms = m_vBookedHistograms;
65 for (const auto &subNode: m_vSubNodes) {
66 std::vector<HistData> subNodeHists = subNode->retrieveBookedHistograms();
67 vBookedHistograms.insert(vBookedHistograms.end(), subNodeHists.begin(), subNodeHists.end());
68 }
69 return vBookedHistograms;
70}

◆ retrieveBookedTrees()

std::vector< TreeData > PlotBase::retrieveBookedTrees ( )
inherited

Retrieve all booked trees.

Definition at line 73 of file PlotBase.cxx.

73 {
74 std::vector<TreeData> vBookedTrees = m_vBookedTrees;
75 for (auto *subNode: m_vSubNodes) {
76 std::vector<TreeData> subNodeTrees = subNode->retrieveBookedTrees();
77 vBookedTrees.insert(vBookedTrees.end(), subNodeTrees.begin(), subNodeTrees.end());
78 }
79 return vBookedTrees;
80}

◆ retrieveDefinition()

SingleHistogramDefinition InDetPlotBase::retrieveDefinition ( const std::string & histoIdentifier,
const std::string & folder = "default",
const std::string & nameOverride = "" )
inherited

Retrieve a single histogram definition, given the unique string identifier.

Definition at line 151 of file InDetPlotBase.cxx.

151 {
152
153 ATH_CHECK( m_histoDefSvc.retrieve(), {} );
154
155 bool folderDefault = (folder.empty() or folder == "default");
156 SingleHistogramDefinition s = m_histoDefSvc->definition(histoIdentifier, folder);
157 // "default" and empty string should be equivalent
158 if (folderDefault and s.empty()) {
159 const std::string otherDefault = (folder.empty()) ? ("default") : "";
160 s = m_histoDefSvc->definition(histoIdentifier, otherDefault);
161 }
162 if (s.empty()) {
163 ATH_MSG_WARNING("Histogram definition is empty for identifier " << histoIdentifier);
164 }
165 if (!nameOverride.empty()){
166 s.name = nameOverride;
167 }
168 return s;
169}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
ServiceHandle< IHistogramDefinitionSvc > m_histoDefSvc

◆ setDetailLevel()

void PlotBase::setDetailLevel ( int iDetailLevel)
inherited

Definition at line 55 of file PlotBase.cxx.

55 {
56 for (auto *subNode: m_vSubNodes) {
57 subNode->setDetailLevel(iDetailLevel);
58 }
59 m_iDetailLevel = iDetailLevel;
60}

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29{
30 m_lvl = lvl;
31}

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

◆ m_config

InDetRttPlotConfig InDetRttPlots::m_config
private

configuration object

Definition at line 167 of file InDetRttPlots.h.

◆ m_duplicatePlots

std::unique_ptr<InDetPerfPlot_Duplicate> InDetRttPlots::m_duplicatePlots
private

Definition at line 183 of file InDetRttPlots.h.

◆ m_effInDetExtensionProcessorPlots

std::unique_ptr<InDetPerfPlot_Efficiency> InDetRttPlots::m_effInDetExtensionProcessorPlots
private

Definition at line 207 of file InDetRttPlots.h.

◆ m_effPlots

std::unique_ptr<InDetPerfPlot_Efficiency> InDetRttPlots::m_effPlots
private

Definition at line 182 of file InDetRttPlots.h.

◆ m_effSiSpacePointsSeedMaker_LargeD0Plots

std::unique_ptr<InDetPerfPlot_Efficiency> InDetRttPlots::m_effSiSpacePointsSeedMaker_LargeD0Plots
private

Definition at line 210 of file InDetRttPlots.h.

◆ m_effSiSPSeededFinderPlots

std::unique_ptr<InDetPerfPlot_Efficiency> InDetRttPlots::m_effSiSPSeededFinderPlots
private

Definition at line 206 of file InDetRttPlots.h.

◆ m_effTRTSeededTrackFinderPlots

std::unique_ptr<InDetPerfPlot_Efficiency> InDetRttPlots::m_effTRTSeededTrackFinderPlots
private

Definition at line 208 of file InDetRttPlots.h.

◆ m_effTRTStandalonePlots

std::unique_ptr<InDetPerfPlot_Efficiency> InDetRttPlots::m_effTRTStandalonePlots
private

Definition at line 209 of file InDetRttPlots.h.

◆ m_fakeInDetExtensionProcessorPlots

std::unique_ptr<InDetPerfPlot_FakeRate> InDetRttPlots::m_fakeInDetExtensionProcessorPlots
private

Definition at line 213 of file InDetRttPlots.h.

◆ m_fakePlots

std::unique_ptr<InDetPerfPlot_FakeRate> InDetRttPlots::m_fakePlots
private

Definition at line 177 of file InDetRttPlots.h.

◆ m_fakeSiSpacePointsSeedMaker_LargeD0Plots

std::unique_ptr<InDetPerfPlot_FakeRate> InDetRttPlots::m_fakeSiSpacePointsSeedMaker_LargeD0Plots
private

Definition at line 216 of file InDetRttPlots.h.

◆ m_fakeSiSPSeededFinderPlots

std::unique_ptr<InDetPerfPlot_FakeRate> InDetRttPlots::m_fakeSiSPSeededFinderPlots
private

Definition at line 212 of file InDetRttPlots.h.

◆ m_fakeTRTSeededTrackFinderPlots

std::unique_ptr<InDetPerfPlot_FakeRate> InDetRttPlots::m_fakeTRTSeededTrackFinderPlots
private

Definition at line 214 of file InDetRttPlots.h.

◆ m_fakeTRTStandalonePlots

std::unique_ptr<InDetPerfPlot_FakeRate> InDetRttPlots::m_fakeTRTStandalonePlots
private

Definition at line 215 of file InDetRttPlots.h.

◆ m_hardScatterVertexPlots

std::unique_ptr<InDetPerfPlot_Vertex> InDetRttPlots::m_hardScatterVertexPlots
private

Definition at line 186 of file InDetRttPlots.h.

◆ m_hardScatterVertexTruthMatchingPlots

std::unique_ptr<InDetPerfPlot_VertexTruthMatching> InDetRttPlots::m_hardScatterVertexTruthMatchingPlots
private

Definition at line 187 of file InDetRttPlots.h.

◆ m_histoDefSvc

ServiceHandle<IHistogramDefinitionSvc> InDetPlotBase::m_histoDefSvc
privateinherited

Definition at line 88 of file InDetPlotBase.h.

◆ m_hitEffPlot

std::unique_ptr<InDetPerfPlot_HitEfficiency> InDetRttPlots::m_hitEffPlot
private

Definition at line 176 of file InDetRttPlots.h.

◆ m_hitResidualPlot

std::unique_ptr<InDetPerfPlot_HitResidual> InDetRttPlots::m_hitResidualPlot
private

Definition at line 175 of file InDetRttPlots.h.

◆ m_hitsFakeTracksPlots

std::unique_ptr<InDetPerfPlot_Hits> InDetRttPlots::m_hitsFakeTracksPlots
private

Definition at line 192 of file InDetRttPlots.h.

◆ m_hitsInDetExtensionProcessorPlots

std::unique_ptr<InDetPerfPlot_Hits> InDetRttPlots::m_hitsInDetExtensionProcessorPlots
private

Definition at line 231 of file InDetRttPlots.h.

◆ m_hitsMatchedTracksPlots

std::unique_ptr<InDetPerfPlot_Hits> InDetRttPlots::m_hitsMatchedTracksPlots
private

Definition at line 191 of file InDetRttPlots.h.

◆ m_hitsRecoTracksPlots

std::unique_ptr<InDetPerfPlot_Hits> InDetRttPlots::m_hitsRecoTracksPlots
private

Definition at line 181 of file InDetRttPlots.h.

◆ m_hitsSiSpacePointsSeedMaker_LargeD0Plots

std::unique_ptr<InDetPerfPlot_Hits> InDetRttPlots::m_hitsSiSpacePointsSeedMaker_LargeD0Plots
private

Definition at line 234 of file InDetRttPlots.h.

◆ m_hitsSiSPSeededFinderPlots

std::unique_ptr<InDetPerfPlot_Hits> InDetRttPlots::m_hitsSiSPSeededFinderPlots
private

Definition at line 230 of file InDetRttPlots.h.

◆ m_hitsTRTSeededTrackFinderPlots

std::unique_ptr<InDetPerfPlot_Hits> InDetRttPlots::m_hitsTRTSeededTrackFinderPlots
private

Definition at line 232 of file InDetRttPlots.h.

◆ m_hitsTRTStandalonePlots

std::unique_ptr<InDetPerfPlot_Hits> InDetRttPlots::m_hitsTRTStandalonePlots
private

Definition at line 233 of file InDetRttPlots.h.

◆ m_hitsUnlinkedTracksPlots

std::unique_ptr<InDetPerfPlot_Hits> InDetRttPlots::m_hitsUnlinkedTracksPlots
private

Definition at line 193 of file InDetRttPlots.h.

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 101 of file PlotBase.h.

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

135{ nullptr };

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

138{ MSG::NIL };

◆ m_missingTruthFakePlots

std::unique_ptr<InDetPerfPlot_FakeRate> InDetRttPlots::m_missingTruthFakePlots
private

Definition at line 178 of file InDetRttPlots.h.

◆ 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

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_nTracks

std::unique_ptr<InDetPerfPlot_nTracks> InDetRttPlots::m_nTracks
private

Definition at line 174 of file InDetRttPlots.h.

◆ m_ntupleTruthToReco

std::unique_ptr<InDetPerfNtuple_TruthToReco> InDetRttPlots::m_ntupleTruthToReco
private

Definition at line 189 of file InDetRttPlots.h.

◆ m_resInDetExtensionProcessorPlots

std::unique_ptr<InDetPerfPlot_Resolution> InDetRttPlots::m_resInDetExtensionProcessorPlots
private

Definition at line 225 of file InDetRttPlots.h.

◆ m_resolutionPlotPrim

std::unique_ptr<InDetPerfPlot_Resolution> InDetRttPlots::m_resolutionPlotPrim
private

Definition at line 179 of file InDetRttPlots.h.

◆ m_resolutionPlotPrim_truthFromB

std::unique_ptr<InDetPerfPlot_Resolution> InDetRttPlots::m_resolutionPlotPrim_truthFromB
private

Definition at line 180 of file InDetRttPlots.h.

◆ m_resolutionPlotSecd

std::unique_ptr<InDetPerfPlot_Resolution> InDetRttPlots::m_resolutionPlotSecd
private

Definition at line 190 of file InDetRttPlots.h.

◆ m_resSiSpacePointsSeedMaker_LargeD0Plots

std::unique_ptr<InDetPerfPlot_Resolution> InDetRttPlots::m_resSiSpacePointsSeedMaker_LargeD0Plots
private

Definition at line 228 of file InDetRttPlots.h.

◆ m_resSiSPSeededFinderPlots

std::unique_ptr<InDetPerfPlot_Resolution> InDetRttPlots::m_resSiSPSeededFinderPlots
private

Definition at line 224 of file InDetRttPlots.h.

◆ m_resTRTSeededTrackFinderPlots

std::unique_ptr<InDetPerfPlot_Resolution> InDetRttPlots::m_resTRTSeededTrackFinderPlots
private

Definition at line 226 of file InDetRttPlots.h.

◆ m_resTRTStandalonePlots

std::unique_ptr<InDetPerfPlot_Resolution> InDetRttPlots::m_resTRTStandalonePlots
private

Definition at line 227 of file InDetRttPlots.h.

◆ m_sDirectory

std::string PlotBase::m_sDirectory
protectedinherited

Definition at line 100 of file PlotBase.h.

◆ m_trackParameters

std::unique_ptr<InDetPerfPlot_TrackParameters> InDetRttPlots::m_trackParameters
private

plot members.

No explicit initialisation, since unique_ptr will default-construct to return a nullptr

Definition at line 172 of file InDetRttPlots.h.

◆ m_trkInJetPlots

std::unique_ptr<InDetPerfPlot_TrkInJet> InDetRttPlots::m_trkInJetPlots
private

Definition at line 195 of file InDetRttPlots.h.

◆ m_trkInJetPlots_bjets

std::unique_ptr<InDetPerfPlot_TrkInJet> InDetRttPlots::m_trkInJetPlots_bjets
private

Definition at line 196 of file InDetRttPlots.h.

◆ m_trkInJetPlots_fake

std::unique_ptr<InDetPerfPlot_TrkInJet> InDetRttPlots::m_trkInJetPlots_fake
private

Definition at line 199 of file InDetRttPlots.h.

◆ m_trkInJetPlots_fake_bjets

std::unique_ptr<InDetPerfPlot_TrkInJet> InDetRttPlots::m_trkInJetPlots_fake_bjets
private

Definition at line 200 of file InDetRttPlots.h.

◆ m_trkInJetPlots_matched

std::unique_ptr<InDetPerfPlot_TrkInJet> InDetRttPlots::m_trkInJetPlots_matched
private

Definition at line 197 of file InDetRttPlots.h.

◆ m_trkInJetPlots_matched_bjets

std::unique_ptr<InDetPerfPlot_TrkInJet> InDetRttPlots::m_trkInJetPlots_matched_bjets
private

Definition at line 198 of file InDetRttPlots.h.

◆ m_trkInJetPlots_truthFromB

std::unique_ptr<InDetPerfPlot_TrkInJet> InDetRttPlots::m_trkInJetPlots_truthFromB
private

Definition at line 204 of file InDetRttPlots.h.

◆ m_trkInJetPlots_unlinked

std::unique_ptr<InDetPerfPlot_TrkInJet> InDetRttPlots::m_trkInJetPlots_unlinked
private

Definition at line 201 of file InDetRttPlots.h.

◆ m_trkInJetPlots_unlinked_bjets

std::unique_ptr<InDetPerfPlot_TrkInJet> InDetRttPlots::m_trkInJetPlots_unlinked_bjets
private

Definition at line 202 of file InDetRttPlots.h.

◆ m_trkParaInDetExtensionProcessorPlots

std::unique_ptr<InDetPerfPlot_TrackParameters> InDetRttPlots::m_trkParaInDetExtensionProcessorPlots
private

Definition at line 219 of file InDetRttPlots.h.

◆ m_trkParaSiSpacePointsSeedMaker_LargeD0Plots

std::unique_ptr<InDetPerfPlot_TrackParameters> InDetRttPlots::m_trkParaSiSpacePointsSeedMaker_LargeD0Plots
private

Definition at line 222 of file InDetRttPlots.h.

◆ m_trkParaSiSPSeededFinderPlots

std::unique_ptr<InDetPerfPlot_TrackParameters> InDetRttPlots::m_trkParaSiSPSeededFinderPlots
private

Definition at line 218 of file InDetRttPlots.h.

◆ m_trkParaTRTSeededTrackFinderPlots

std::unique_ptr<InDetPerfPlot_TrackParameters> InDetRttPlots::m_trkParaTRTSeededTrackFinderPlots
private

Definition at line 220 of file InDetRttPlots.h.

◆ m_trkParaTRTStandalonePlots

std::unique_ptr<InDetPerfPlot_TrackParameters> InDetRttPlots::m_trkParaTRTStandalonePlots
private

Definition at line 221 of file InDetRttPlots.h.

◆ m_trtExtensionPlots

std::unique_ptr<InDetPerfPlot_TRTExtension> InDetRttPlots::m_trtExtensionPlots
private

Definition at line 188 of file InDetRttPlots.h.

◆ m_unmatchedBiasPlots

std::unique_ptr<InDetPerfPlot_Resolution> InDetRttPlots::m_unmatchedBiasPlots
private

Definition at line 173 of file InDetRttPlots.h.

◆ m_vBookedEfficiencies

std::vector<EfficiencyData> PlotBase::m_vBookedEfficiencies
protectedinherited

Definition at line 99 of file PlotBase.h.

◆ m_vBookedHistograms

std::vector<HistData> PlotBase::m_vBookedHistograms
protectedinherited

Definition at line 97 of file PlotBase.h.

◆ m_vBookedTrees

std::vector<TreeData> PlotBase::m_vBookedTrees
protectedinherited

Definition at line 98 of file PlotBase.h.

◆ m_vertexPlots

std::unique_ptr<InDetPerfPlot_Vertex> InDetRttPlots::m_vertexPlots
private

Definition at line 185 of file InDetRttPlots.h.

◆ m_vertexTruthMatchingPlots

std::unique_ptr<InDetPerfPlot_VertexTruthMatching> InDetRttPlots::m_vertexTruthMatchingPlots
private

Definition at line 194 of file InDetRttPlots.h.

◆ m_verticesVsMuPlots

std::unique_ptr<InDetPerfPlot_VerticesVsMu> InDetRttPlots::m_verticesVsMuPlots
private

Definition at line 184 of file InDetRttPlots.h.

◆ m_vSubNodes

std::vector<PlotBase*> PlotBase::m_vSubNodes
protectedinherited

Definition at line 96 of file PlotBase.h.


The documentation for this class was generated from the following files: