![]() |
ATLAS Offline Software
|
Mixin class to give extra capabilities to plots such as ATH_MSG and an easier booking interface, as well as access to the HistogramDefinitionSvc which allows an external configuration file (txt or xml) to define the plot limits and titles. More...
#include <InDetPlotBase.h>
Inherits PlotBase, and AthMessaging.
Inherited by InDetBasicPlot, InDetPerfNtuple, InDetPerfPlot_Duplicate, InDetPerfPlot_Efficiency, InDetPerfPlot_FakeRate, InDetPerfPlot_HitEfficiency, InDetPerfPlot_HitResidual, InDetPerfPlot_Hits, InDetPerfPlot_Resolution, InDetPerfPlot_TRTExtension, InDetPerfPlot_TrackParameters, InDetPerfPlot_TrkInJet, InDetPerfPlot_Vertex, InDetPerfPlot_VertexTruthMatching, InDetPerfPlot_VerticesVsMu, InDetPerfPlot_nTracks, and InDetRttPlots.
Public Member Functions | |
| InDetPlotBase (InDetPlotBase *pParent, const std::string &dirName) | |
| Constructor taking parent node and directory name for plots. | |
| 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< HistData > | retrieveBookedHistograms () |
| Retrieve all booked histograms. | |
| std::vector< TreeData > | retrieveBookedTrees () |
| Retrieve all booked trees. | |
| std::vector< EfficiencyData > | retrieveBookedEfficiencies () |
| 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< HistData > | m_vBookedHistograms |
| std::vector< TreeData > | m_vBookedTrees |
| std::vector< EfficiencyData > | m_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 | |
| ServiceHandle< IHistogramDefinitionSvc > | m_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) | |
Mixin class to give extra capabilities to plots such as ATH_MSG and an easier booking interface, as well as access to the HistogramDefinitionSvc which allows an external configuration file (txt or xml) to define the plot limits and titles.
Definition at line 33 of file InDetPlotBase.h.
| InDetPlotBase::InDetPlotBase | ( | InDetPlotBase * | pParent, |
| const std::string & | dirName ) |
Constructor taking parent node and directory name for plots.
Definition at line 35 of file InDetPlotBase.cxx.
| void InDetPlotBase::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.
| pHisto | Pointer to the histogram to be booked (assumed to be initialized to nullptr) |
| histoIdentifier | Identifier (looked up in the XML file) |
| nameOverride | Allows 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. |
| folder | Folder to place the plot (if any) |
| void InDetPlotBase::book | ( | TEfficiency *& | pHisto, |
| const SingleHistogramDefinition & | hd ) |
Book a (1-D) TEfficiency.
Definition at line 71 of file InDetPlotBase.cxx.
| void InDetPlotBase::book | ( | TH1 *& | pHisto, |
| const SingleHistogramDefinition & | hd ) |
Book a TH1 histogram.
Definition at line 43 of file InDetPlotBase.cxx.
| void InDetPlotBase::book | ( | TH2 *& | pHisto, |
| const SingleHistogramDefinition & | hd ) |
Book a 2D histogram (TH2)
Definition at line 63 of file InDetPlotBase.cxx.
| void InDetPlotBase::book | ( | TProfile *& | pHisto, |
| const SingleHistogramDefinition & | hd ) |
Book a TProfile histogram.
Definition at line 49 of file InDetPlotBase.cxx.
| void InDetPlotBase::book | ( | TProfile2D *& | pHisto, |
| const SingleHistogramDefinition & | hd ) |
Book a TProfile2D histogram.
Definition at line 56 of file InDetPlotBase.cxx.
|
inherited |
Book a TH1D histogram.
Definition at line 94 of file PlotBase.cxx.
|
inherited |
Book a TH1D histogram using refHist as reference for number of bins and axis range.
Definition at line 108 of file PlotBase.cxx.
|
inherited |
Book a TH2F histogram with variable x axis binning.
Definition at line 144 of file PlotBase.cxx.
|
inherited |
Book a TH2F histogram.
Definition at line 123 of file PlotBase.cxx.
|
inherited |
Book a TH2D histogram using refHist as reference for number of bins and axis range.
Definition at line 138 of file PlotBase.cxx.
|
inherited |
Book a TH3F histogram.
Definition at line 157 of file PlotBase.cxx.
|
inherited |
Book a TH3F histogram using refHist as reference for number of bins and axis range.
Definition at line 171 of file PlotBase.cxx.
|
inherited |
Book a (1-D) TEfficiency histogram.
Definition at line 257 of file PlotBase.cxx.
|
inherited |
Book a (2-D) TEfficiency histogram.
Definition at line 270 of file PlotBase.cxx.
|
inherited |
Book a TProfile histogram with variable binning in x-axis.
Definition at line 204 of file PlotBase.cxx.
|
inherited |
Book a TProfile histogram.
Definition at line 186 of file PlotBase.cxx.
|
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.
|
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.
|
inherited |
Book a TProfile histogram with variable binning in x-axis and limits in y-values.
Definition at line 217 of file PlotBase.cxx.
|
inherited |
Book a TTree.
Definition at line 281 of file PlotBase.cxx.
|
staticprivateinherited |
Definition at line 293 of file PlotBase.cxx.
|
static |
Definition at line 142 of file InDetPlotBase.cxx.
|
static |
Definition at line 134 of file InDetPlotBase.cxx.
|
static |
Definition at line 97 of file InDetPlotBase.cxx.
|
static |
Definition at line 104 of file InDetPlotBase.cxx.
|
static |
Definition at line 112 of file InDetPlotBase.cxx.
|
static |
Definition at line 120 of file InDetPlotBase.cxx.
|
static |
Definition at line 127 of file InDetPlotBase.cxx.
|
static |
Definition at line 82 of file InDetPlotBase.cxx.
|
static |
Definition at line 89 of file InDetPlotBase.cxx.
|
inherited |
Definition at line 47 of file PlotBase.cxx.
|
inlineprivatevirtualinherited |
Reimplemented in IDTPM::DuplicateRatePlots, IDTPM::EfficiencyPlots, IDTPM::FakeRatePlots, IDTPM::HitsOnTracksPlots, IDTPM::NtracksPlots, IDTPM::OfflineElectronPlots, IDTPM::ResolutionPlots, IDTPM::SummaryPlots, IDTPM::TrackParametersPlots, IDTPM::VertexParametersPlots, InDetBasicPlot, InDetPerfPlot_Duplicate, InDetPerfPlot_Efficiency, InDetPerfPlot_FakeRate, InDetPerfPlot_Resolution, InDetPerfPlot_TrackParameters, InDetPerfPlot_TRTExtension, InDetPerfPlot_VertexTruthMatching, JetTagDQA::BTaggingValidationPlots, TCCPlots, Trk::EfficiencyPlots, ZeeValidation::ReconElectronsPlots, ZeeValidation::TrueElectronsPlots, and ZeeValidation::TrueFwdElectronsPlots.
Definition at line 92 of file PlotBase.h.
|
inlineinherited |
Definition at line 88 of file PlotBase.h.
|
inherited |
Definition at line 39 of file PlotBase.cxx.
|
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::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.
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
|
inlineprotected |
book, for use by macro
Definition at line 83 of file InDetPlotBase.h.
|
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 163 of file AthMessaging.h.
|
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 178 of file AthMessaging.h.
|
inlineinherited |
Test the output level.
| lvl | The message level to test against |
| true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
|
inlineinherited |
Definition at line 41 of file PlotBase.h.
|
inherited |
Retrieve all booked efficiency objects.
Definition at line 83 of file PlotBase.cxx.
|
inherited |
Retrieve all booked histograms.
Definition at line 63 of file PlotBase.cxx.
|
inherited |
Retrieve all booked trees.
Definition at line 73 of file PlotBase.cxx.
| SingleHistogramDefinition InDetPlotBase::retrieveDefinition | ( | const std::string & | histoIdentifier, |
| const std::string & | folder = "default", | ||
| const std::string & | nameOverride = "" ) |
Retrieve a single histogram definition, given the unique string identifier.
Definition at line 151 of file InDetPlotBase.cxx.
|
inherited |
Definition at line 55 of file PlotBase.cxx.
|
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.
|
mutableprivateinherited |
Messaging initialized (initMessaging)
Definition at line 141 of file AthMessaging.h.
|
private |
Definition at line 88 of file InDetPlotBase.h.
|
protectedinherited |
Definition at line 101 of file PlotBase.h.
|
mutableprivateinherited |
|
mutableprivateinherited |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
|
privateinherited |
Message source name.
Definition at line 129 of file AthMessaging.h.
|
protectedinherited |
Definition at line 100 of file PlotBase.h.
|
protectedinherited |
Definition at line 99 of file PlotBase.h.
|
protectedinherited |
Definition at line 97 of file PlotBase.h.
|
protectedinherited |
Definition at line 98 of file PlotBase.h.
|
protectedinherited |
Definition at line 96 of file PlotBase.h.