|
ATLAS Offline Software
|
Tool to book and fill inner detector histograms for physics validation.
More...
#include <InDetPhysValMonitoringTool.h>
|
enum | Interval_t {
file = 0,
eventsBlock,
lumiBlock,
lowStat,
medStat,
higStat,
run,
fill,
all
} |
| An enumeration describing how detailed a particular monitoring object is. More...
|
|
enum | MgmtAttr_t { ATTRIB_MANAGED = 0,
ATTRIB_UNMANAGED = 1,
ATTRIB_X_VS_LB = 2
} |
| An enumeration describing how the class handles the histogram. More...
|
|
|
| InDetPhysValMonitoringTool (const std::string &type, const std::string &name, const IInterface *parent) |
| Constructor with parameters. More...
|
|
virtual | ~InDetPhysValMonitoringTool () |
| Destructor. More...
|
|
virtual StreamNameFcn * | streamNameFunction () |
| Returns the function object that converts logical paramters into a physical stream name. More...
|
|
virtual StatusCode | bookHists () |
| Calls bookHists( true, true, true ) and initializes lumiBlock and run numbers. More...
|
|
virtual StatusCode | fillHists () |
| Calls fillHists( bool, bool, bool ); if an eventBlock,lumiBlock, or run has turned over, calls procHists( bool, bool, bool ) and bookHists( bool, bool, bool ). More...
|
|
virtual StatusCode | finalHists () |
| Calls procHists( true, true, true ). More...
|
|
virtual StatusCode | bookHistogramsRecurrent () |
| An inheriting class should either override this function, bookHists() or bookHistograms(). More...
|
|
virtual void | setMonManager (AthenaMonManager *manager) |
| Takes a pointer to a managing object to get information from it when needed. More...
|
|
virtual StatusCode | regHist (TH1 *h, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt=ATTRIB_MANAGED, const std::string &chain="", const std::string &merge="") |
| Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical parameters that describe the histogram. More...
|
|
virtual StatusCode | regHist (TH1 *h, const MonGroup &group) |
| Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical parameters that describe the histogram. More...
|
|
virtual StatusCode | getHist (TH1 *&h, const std::string &hName, const std::string &system, Interval_t interval) |
| Returns a TH1 via the pointer passed as the first argument. More...
|
|
virtual StatusCode | getHist (TH1 *&h, const std::string &hName, const MonGroup &group) |
| Returns a TH1 via the pointer passed as the first argument. More...
|
|
virtual StatusCode | getHist (TH2 *&h, const std::string &hName, const std::string &system, Interval_t interval) |
| Returns a TH2 via the pointer passed as the first argument. More...
|
|
virtual StatusCode | getHist (TH2 *&h, const std::string &hName, const MonGroup &group) |
| Returns a TH2 via the pointer passed as the first argument. More...
|
|
virtual StatusCode | regEfficiency (TEfficiency *e, const MonGroup &group) |
| Registers a TEfficiency to be included in the output stream using logical parameters that describe the plot. More...
|
|
virtual StatusCode | regGraph (TGraph *g, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt=ATTRIB_MANAGED, const std::string &chain="", const std::string &merge="") |
| Registers a TGraph to be included in the output stream using logical parameters that describe the graph. More...
|
|
virtual StatusCode | regGraph (TGraph *g, const MonGroup &group) |
| Registers a TGraph to be included in the output stream using logical parameters that describe the graph. More...
|
|
virtual StatusCode | regTree (TTree *t, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt=ATTRIB_MANAGED, const std::string &chain="", const std::string &merge="") |
| Registers a TTree to be included in the output stream using logical parameters that describe it. More...
|
|
virtual StatusCode | regTree (TTree *t, const MonGroup &group) |
| Registers a TTree to be included in the output stream using logical parameters that describe it. More...
|
|
virtual StatusCode | writeAndDelete (TH1 *h, const MonGroup &group) |
| Write out histogram and delete it. More...
|
|
virtual StatusCode | deregHist (TH1 *h) |
| De-registers a TH1 from the THistSvc, but does NOT delete the object. More...
|
|
virtual StatusCode | deregGraph (TGraph *g) |
| De-registers a TGraph from the THistSvc, but does NOT delete the object. More...
|
|
virtual StatusCode | deregObject (const std::string &objName, const std::string &system, Interval_t interval) |
| De-registers a TObject from the THistSvc, but does NOT delete the object. More...
|
|
virtual StatusCode | deregObject (const std::string &objName, const MonGroup &group) |
| De-registers a TObject from the THistSvc, but does NOT delete the object. More...
|
|
virtual StatusCode | setupOutputStreams (std::vector< std::string > Mapping=std::vector< std::string >()) |
| This implementation does nothing—streams in this class should be managed by the AthenaMonManager. More...
|
|
virtual StatusCode | runStat () |
| This implementation does nothing; equivalent functionality may be provided by procHists( true, true, true ). More...
|
|
virtual StatusCode | checkHists (bool calledFromFinalize) |
| This implementation does nothing; equivalent functionality may be provided by procHists(...) with appropriate arguments. More...
|
|
virtual bool | preSelector () |
|
virtual float | lbAverageInteractionsPerCrossing (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Average mu, i.e. More...
|
|
virtual float | lbInteractionsPerCrossing (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Instantaneous number of interactions, i.e. More...
|
|
virtual float | lbAverageLuminosity (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1) More...
|
|
virtual float | lbLuminosityPerBCID (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Instantaneous luminosity. More...
|
|
virtual double | lbDuration (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Luminosity block time (in seconds) More...
|
|
virtual float | lbAverageLivefraction (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Average luminosity livefraction. More...
|
|
virtual float | livefractionPerBCID (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Livefraction per bunch crossing ID. More...
|
|
virtual double | lbLumiWeight (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Average Integrated Luminosity Live Fraction. More...
|
|
| MMTB_DEPRECATED (newLowStatInterval) |
|
| MMTB_DEPRECATED (newMedStatInterval) |
|
| MMTB_DEPRECATED (newHigStatInterval) |
|
| MMTB_DEPRECATED (newLowStat) |
|
| MMTB_DEPRECATED (newLumiBlock) |
|
| MMTB_DEPRECATED (newRun) |
|
| MMTB_DEPRECATED (newEventsBlock) |
|
| MMTB_DEPRECATED (endOfEventsBlock) |
|
| MMTB_DEPRECATED (endOfLowStat) |
|
| MMTB_DEPRECATED (endOfLumiBlock) |
|
| MMTB_DEPRECATED (endOfRun) |
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
StatusCode | regManagedHistograms (std::vector< MgmtParams< TH1 > > &templateHistograms) |
|
StatusCode | regManagedGraphs (std::vector< MgmtParams< TGraph > > &templateGraphs) |
|
StatusCode | regManagedTrees (std::vector< MgmtParams< TTree > > &templateTrees) |
|
StatusCode | regManagedEfficiencies (std::vector< MgmtParams< TEfficiency > > &templateEfficiencies) |
|
StatusCode | parseList (const std::string &, std::vector< std::string > &) |
|
void | updateTriggersForGroups (std::vector< std::string > &) |
|
StatusCode | registerMetadata (const std::string &streamName, const std::string &hName, const MonGroup &group) |
|
StatusCode | THistSvc_deReg_fixTGraph (TFile *file, TGraph *theGraph, std::string &directoryName) |
| Fixes THistSvc->deReg(obj) when obj is TGraph instance. More...
|
|
unsigned int | get_nEvents () const |
|
long | get_procNEventsProp () const |
|
virtual bool | trigChainsArePassed (std::vector< std::string > &) |
|
virtual StreamNameFcn * | getNewStreamNameFcn () const |
|
bool | newLowStatIntervalFlag () const |
| Flag functions allowing clients to determine when to book new and process old histograms; values are updated by fillHists() based on counting lumiBlocks, and are correctly set when fillHistograms(), bookHistograms() and procHistograms() are called. More...
|
|
bool | newMedStatIntervalFlag () const |
|
bool | newHigStatIntervalFlag () const |
|
bool | newLowStatFlag () const |
|
bool | newLumiBlockFlag () const |
|
bool | newRunFlag () const |
|
bool | newEventsBlockFlag () const |
|
bool | endOfEventsBlockFlag () const |
|
bool | endOfLowStatFlag () const |
|
bool | endOfLumiBlockFlag () const |
|
bool | endOfRunFlag () const |
|
void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution More...
|
|
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
|
void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. More...
|
|
|
std::map< Interval_t, std::vector< MgmtParams< TH1 > > > | m_templateHistograms |
|
std::map< Interval_t, std::vector< MgmtParams< TGraph > > > | m_templateGraphs |
|
std::map< Interval_t, std::vector< MgmtParams< TTree > > > | m_templateTrees |
|
std::map< Interval_t, std::vector< MgmtParams< TEfficiency > > > | m_templateEfficiencies |
|
std::vector< std::string > | m_vTrigChainNames |
|
std::vector< std::string > | m_vTrigGroupNames |
|
MDMap_t | m_metadataMap |
|
AthenaMonManager * | m_manager |
|
std::string | m_managerNameProp |
|
std::string | m_fileKey |
|
std::string | m_dataTypeStr |
|
std::string | m_environmentStr |
|
unsigned int | m_detailLevel |
|
AthenaMonManager::DataType_t | m_dataType |
|
AthenaMonManager::Environment_t | m_environment |
|
StreamNameFcn * | m_streamNameFcn |
|
ServiceHandle< ITHistSvc > | m_THistSvc |
|
PublicToolHandle< Trig::ITrigDecisionTool > | m_trigDecTool {this, "TrigDecisionTool",""} |
|
PublicToolHandle< ITriggerTranslatorTool > | m_trigTranslator {this,"TriggerTranslatorTool",""} |
|
ToolHandleArray< IDQFilterTool > | m_DQFilterTools {this,"FilterTools",{}} |
|
long | m_procNEventsProp |
|
std::string | m_path |
|
long | m_preScaleProp |
|
std::string | m_triggerChainProp |
|
std::string | m_triggerGroupProp |
|
bool | m_useTrigger |
|
unsigned int | m_lastLumiBlock |
|
unsigned int | m_lastRun |
|
int | m_lastLowStatInterval |
|
int | m_lastMedStatInterval |
|
int | m_lastHigStatInterval |
|
unsigned int | m_nEvents |
|
unsigned int | m_nEventsIgnoreTrigger |
|
unsigned int | m_nLumiBlocks |
|
bool | m_haveClearedLastEventBlock |
|
|
}
|
SG::AuxElement::Accessor< bool > | m_acc_hasTruthFilled {"hasTruthFilled"} |
|
SG::AuxElement::Decorator< bool > | m_dec_hasTruthFilled {"hasTruthFilled"} |
|
SG::AuxElement::Decorator< bool > | m_dec_passedTruthSelection {"passedTruthSelection"} |
|
SG::AuxElement::Decorator< bool > | m_dec_passedTrackSelection {"passedTrackSelection"} |
|
SG::AuxElement::Accessor< bool > | m_acc_selectedByPileupSwitch {"selectedByPileupSwitch"} |
|
SG::AuxElement::Decorator< bool > | m_dec_selectedByPileupSwitch {"selectedByPileupSwitch"} |
|
SG::ReadHandleKey< xAOD::TrackParticleContainer > | m_trkParticleName {this,"TrackParticleContainerName", "InDetTrackParticles"} |
| TrackParticle container's name. More...
|
|
SG::ReadHandleKey< xAOD::TruthParticleContainer > | m_truthParticleName {this, "TruthParticleContainerName", "TruthParticles", ""} |
| TruthParticle container's name. More...
|
|
SG::ReadHandleKey< xAOD::VertexContainer > | m_vertexContainerName {this,"VertexContainerName", "PrimaryVertices", ""} |
| Primary vertex container's name. More...
|
|
SG::ReadHandleKey< xAOD::TruthVertexContainer > | m_truthVertexContainerName {this,"TruthVertexContainerName", "TruthVertices",""} |
| Truth vertex container's name. More...
|
|
SG::ReadHandleKey< xAOD::EventInfo > | m_eventInfoContainerName {this,"EventInfoContainerName", "EventInfo", ""} |
| EventInfo container name. More...
|
|
SG::ReadHandleKey< xAOD::TruthEventContainer > | m_truthEventName {this, "TruthEvents", "TruthEvents","Name of the truth events container probably either TruthEvent or TruthEvents"} |
|
SG::ReadHandleKey< xAOD::TruthPileupEventContainer > | m_truthPileUpEventName {this, "TruthPileupEvents", "TruthPileupEvents","Name of the truth pileup events container probably TruthPileupEvent(s)"} |
|
SG::ReadHandleKey< xAOD::JetContainer > | m_jetContainerName {this, "JetContainerName", "AntiKt4LCTopoJets" , ""} |
|
std::vector< SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > > | m_floatTrkDecor |
|
std::vector< SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > > | m_intTrkDecor |
|
std::vector< SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > > | m_floatTruthDecor |
|
std::vector< SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > > | m_intTruthDecor |
|
std::vector< SG::ReadDecorHandleKey< xAOD::JetContainer > > | m_intJetDecor |
|
std::unique_ptr< InDetRttPlots > | m_monPlots |
| histograms More...
|
|
BooleanProperty | m_useTrackSelection {this, "useTrackSelection", false, "plot only tracks accepted by selection tool"} |
| Properties to fine-tune the tool behaviour. More...
|
|
BooleanProperty | m_doTruthOriginPlots {this, "doTruthOriginPlots", false, "do plots split by track truth origin"} |
|
BooleanProperty | m_doDuplicatePlots {this, "doDuplicatePlots", false, "Fill duplicate=multi-track per particle plots"} |
|
BooleanProperty | m_doPerAuthorPlots {this, "doPerAuthorPlots", false, "do plots split by track author"} |
|
BooleanProperty | m_doTrackInJetPlots {this, "FillTrackInJetPlots", true, "Fill plots for tracks in jets"} |
|
BooleanProperty | m_doHitLevelPlots {this, "doHitLevelPlots", false, "Fill hit efficiency and residual plots"} |
|
BooleanProperty | m_doBjetPlots {this, "FillTrackInBJetPlots", false, "Fill plots for tracks in truth-b-tagged jets"} |
|
BooleanProperty | m_fillTruthToRecoNtuple {this, "FillTruthToRecoNtuple", false, "Fill an ntuple with truth and matching reco info for more detailed stuidies"} |
|
BooleanProperty | m_useVertexTruthMatchTool {this, "useVertexTruthMatchTool", false, "Use the vertex truth matching tool"} |
|
BooleanProperty | m_onlyFillMatched {this, "onlyFillTruthMatched", false, "Only fill truth-to-reco (eff, reso, matched hit) plots"} |
|
BooleanProperty | m_doTRTExtensionPlots {this, "doTRTExtensionPlots", true, "do TRT extension plots"} |
|
BooleanProperty | m_useGRL {this, "useGRL", false, "Apply GRL selection or not when running on data"} |
|
BooleanProperty | m_doIDTIDEPlots {this, "doIDTIDEPlots", false, "do ID TIDE derivation plots"} |
|
BooleanProperty | m_fillTechnicalEfficiency {this, "fillTechnicalEfficiency", false, "Fill the technical efficiency plot. Requires additional sihit information in input file"} |
|
BooleanProperty | m_doPRW {this,"doPRW",false,"apply pileup reweight"} |
|
FloatProperty | m_maxTrkJetDR {this,"maxTrkJetDR",0.4,"the maximum dR to jets to allow for track-in-jet plots"} |
|
StringProperty | m_dirName {this, "DirName", "SquirrelPlots/", "Top level directory to write histograms into"} |
|
StringProperty | m_folder {this, "SubFolder", "", "Subfolder to add for plots if desired. Used when working with multiple IDPVM tool instances."} |
|
StringProperty | m_pileupSwitch {this, "PileupSwitch", "HardScatter", "Pileup truth strategy to use. May be \"All\", \"HardScatter\", or \"PileUp\""} |
|
FloatProperty | m_lowProb {this,"LowProb",0.5,"Truth match prob. cutoff for efficiency (lower bound) and fake (upper bound) classification."} |
|
FloatProperty | m_highProb {this,"HighProb",0.8,"Truth match prob. cutoff - currently unused"} |
|
DoubleArrayProperty | m_etaBins {this, "EtaBins", {}} |
|
IntegerArrayProperty | m_minHits {this, "MinNumberClusters", {}} |
|
FloatProperty | m_jetAbsEtaMin {this, "JetAbsEtaMin", 0.f, "Minimum Eta value for jet selection"} |
|
FloatProperty | m_jetAbsEtaMax {this, "JetAbsEtaMax", 2.5f, "Maximum Eta value for jet selection"} |
|
FloatProperty | m_jetPtMin {this, "JetPtMin", 100.0f, "Minimum Jet pT for jet selection in GeV"} |
|
FloatProperty | m_jetPtMax {this, "JetPtMax", 5000.0f, "Maximum Jet pT for jet selection in GeV"} |
|
BooleanProperty | m_isITk {this, "isITk", false, "Whether config is set for ITk, to enable/disable some plots"} |
|
ToolHandle< InDet::IInDetTrackSelectionTool > | m_trackSelectionTool {this, "TrackSelectionTool", "InDet::InDetTrackSelectionTool/TrackSelectionTool", "Track selection tool to use"} |
|
ToolHandle< IInDetVertexTruthMatchTool > | m_vtxValidTool {this, "VertexTruthMatchTool", "InDetVertexTruthMatchTool/VtxTruthMatchTool", "Vertex truth matching tool to use"} |
|
ToolHandle< IAthSelectionTool > | m_truthSelectionTool {this, "TruthSelectionTool","AthTruthSelectionTool", "Truth selection tool (for efficiencies and resolutions)"} |
|
ToolHandle< InDet::IInDetTrackTruthOriginTool > | m_trackTruthOriginTool {this, "trackTruthOriginTool", "InDet::InDetTrackTruthOriginTool","truth track origin tool"} |
|
ToolHandle< InDet::IInDetHardScatterSelectionTool > | m_hardScatterSelectionTool {this, "hardScatterSelectionTool", "InDet::InDetHardScatterSelectionTool","tool to select the hard scatter reco vertex"} |
|
ToolHandle< IGoodRunsListSelectionTool > | m_grlTool {this, "GoodRunsListSelectionTool", "GoodRunsListSelectionTool/GoodRunsListSelectionTool", "GRL selection tool"} |
|
SG::ReadDecorHandleKey< xAOD::EventInfo > | m_weight_pileup_key {this, "PileupWeight_NOSYS", "EventInfo.PileupWeight_NOSYS"} |
|
std::mutex | m_mutex |
|
CutFlow m_truthCutFlow | ATLAS_THREAD_SAFE |
|
std::vector< int > | m_prospectsMatched |
|
int | m_truthCounter = 0 |
|
std::vector< std::string > | m_trackCutflowNames |
|
std::vector< int > | m_trackCutflow |
|
bool | m_usingSpecialPileupSwitch {false} |
|
virtual StatusCode | initialize () |
|
virtual StatusCode | bookHistograms () |
| An inheriting class should either override this function or bookHists(). More...
|
|
virtual StatusCode | fillHistograms () |
| An inheriting class should either override this function or fillHists(). More...
|
|
virtual StatusCode | procHistograms () |
| An inheriting class should either override this function or finalHists(). More...
|
|
| InDetPhysValMonitoringTool () |
| prevent default construction More...
|
|
void | fillTrackCutFlow (const asg::AcceptData &accept) |
|
const std::vector< const xAOD::TruthParticle * > | getTruthParticles (const EventContext &ctx) const |
|
std::pair< const std::vector< const xAOD::TruthVertex * >, const std::vector< const xAOD::TruthVertex * > > | getTruthVertices (const EventContext &ctx) const |
|
InDetRttPlotConfig | getFilledPlotConfig () const |
| Generate an Rtt config struct based on the user-passed properties. More...
|
|
int | getIndexByEta (const xAOD::TruthParticle &truth) const |
| Utility function for evaluation of technical efficiency. More...
|
|
const Trk::TrackParameters * | getUnbiasedTrackParameters (const Trk::TrackParameters *trkParameters, const Trk::MeasurementBase *measurement) |
|
StatusCode | fillHistogramsTrackingInDenseEnvironment (const EventContext &ctx, IDPVM::CachedGetAssocTruth &getAsTruth, const std::vector< const xAOD::TruthParticle * > &truthParticles, const xAOD::TrackParticleContainer &tracks, const xAOD::Vertex *primaryvertex, float beamSpotWeight) |
|
void | decorateTrackParticle (const xAOD::TrackParticle &track, const asg::AcceptData &passed) const |
|
void | decorateTruthParticle (const xAOD::TruthParticle &truth, const IAthSelectionTool::CutResult &passed) const |
|
bool | hasTruthFilled (const xAOD::TruthParticle &truth) const |
|
bool | isSelectedByPileupSwitch (const xAOD::TruthParticle &truth) const |
|
void | markSelectedByPileupSwitch (const std::vector< const xAOD::TruthParticle * > &truthParticles) const |
|
bool | passJetCuts (const xAOD::Jet &jet) const |
|
static void | fillCutFlow (const asg::AcceptData &accept, std::vector< std::string > &names, std::vector< int > &cutFlow) |
|
Tool to book and fill inner detector histograms for physics validation.
Definition at line 63 of file InDetPhysValMonitoringTool.h.
◆ MDMap_t
◆ StoreGateSvc_t
◆ Interval_t
An enumeration describing how detailed a particular monitoring object is.
summary: used to summarize the state of the system
runstat: same as summary
shift: used to flag potential problems
expert: essential for diagnosing problems identified by shift-level objects
debug: useful for standalone debugging, but not for routine monitoring; not essential for diagnosing problems during normal running
transient: too detailed to ever be written; always summarized by the user by means of another object An enumeration describing the interval over which a particular monitoring object is filled (i.e., interval over which the method Fill(...) is called). This information may be stored with the monitoring object if an application is only able to partially fill the object (i.e., a job sees only part of a run or fill). This information may be ignored in some running Environments. The 'fill' interval corresponds to a fill of the LHC. The 'all' interval corresponds to all available data. The 'lumiBlock' and 'fill' intervals are only valid for the 'collisions' DataType_t.
Enumerator |
---|
file | |
eventsBlock | |
lumiBlock | |
lowStat | |
medStat | |
higStat | |
run | |
fill | |
all | |
Definition at line 113 of file ManagedMonitorToolBase.h.
◆ MgmtAttr_t
An enumeration describing how the class handles the histogram.
attrib_unmanaged: histograms with this attribute will not be rebooked automatically and must be managed by the user code.
attrib_x_is_lb: indicates that the x-axis of the histogram is the luminosity block number and that the histogram should be rebooked as necessary if the current LB exceeds the range.
Enumerator |
---|
ATTRIB_MANAGED | |
ATTRIB_UNMANAGED | |
ATTRIB_X_VS_LB | |
Definition at line 130 of file ManagedMonitorToolBase.h.
◆ InDetPhysValMonitoringTool() [1/2]
InDetPhysValMonitoringTool::InDetPhysValMonitoringTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~InDetPhysValMonitoringTool()
InDetPhysValMonitoringTool::~InDetPhysValMonitoringTool |
( |
| ) |
|
|
virtualdefault |
◆ InDetPhysValMonitoringTool() [2/2]
InDetPhysValMonitoringTool::InDetPhysValMonitoringTool |
( |
| ) |
|
|
private |
prevent default construction
◆ bookHistograms()
StatusCode InDetPhysValMonitoringTool::bookHistograms |
( |
| ) |
|
|
virtual |
◆ bookHistogramsRecurrent()
StatusCode ManagedMonitorToolBase::bookHistogramsRecurrent |
( |
| ) |
|
|
virtualinherited |
◆ bookHists()
StatusCode ManagedMonitorToolBase::bookHists |
( |
| ) |
|
|
virtualinherited |
◆ checkHists()
StatusCode ManagedMonitorToolBase::checkHists |
( |
bool |
calledFromFinalize | ) |
|
|
virtualinherited |
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ decorateTrackParticle()
◆ decorateTruthParticle()
◆ deregGraph()
StatusCode ManagedMonitorToolBase::deregGraph |
( |
TGraph * |
g | ) |
|
|
virtualinherited |
◆ deregHist()
StatusCode ManagedMonitorToolBase::deregHist |
( |
TH1 * |
h | ) |
|
|
virtualinherited |
◆ deregObject() [1/2]
StatusCode ManagedMonitorToolBase::deregObject |
( |
const std::string & |
objName, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
De-registers a TObject from the THistSvc, but does NOT delete the object.
(NB: LightWeight histograms are not even registered until readout).
Definition at line 1643 of file ManagedMonitorToolBase.cxx.
◆ deregObject() [2/2]
StatusCode ManagedMonitorToolBase::deregObject |
( |
const std::string & |
objName, |
|
|
const std::string & |
system, |
|
|
Interval_t |
interval |
|
) |
| |
|
virtualinherited |
De-registers a TObject from the THistSvc, but does NOT delete the object.
(NB: LightWeight histograms are not even registered until readout).
Definition at line 1633 of file ManagedMonitorToolBase.cxx.
◆ detStore()
◆ endOfEventsBlockFlag()
bool ManagedMonitorToolBase::endOfEventsBlockFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ endOfLowStatFlag()
bool ManagedMonitorToolBase::endOfLowStatFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ endOfLumiBlockFlag()
bool ManagedMonitorToolBase::endOfLumiBlockFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ endOfRunFlag()
bool ManagedMonitorToolBase::endOfRunFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ fillCutFlow()
void InDetPhysValMonitoringTool::fillCutFlow |
( |
const asg::AcceptData & |
accept, |
|
|
std::vector< std::string > & |
names, |
|
|
std::vector< int > & |
cutFlow |
|
) |
| |
|
staticprivate |
Definition at line 885 of file InDetPhysValMonitoringTool.cxx.
888 if (cutFlow.empty()) {
889 names.emplace_back(
"preCut");
890 cutFlow.push_back(0);
891 for (
unsigned int i = 0;
i !=
accept.getNCuts(); ++
i) {
892 cutFlow.push_back(0);
898 bool cutPositive =
true;
899 for (
unsigned int i = 0;
i != (
accept.getNCuts() + 1); ++
i) {
◆ fillHistograms()
StatusCode InDetPhysValMonitoringTool::fillHistograms |
( |
| ) |
|
|
virtual |
An inheriting class should either override this function or fillHists().
In case of no HS, print a debug message - no warning since this is expected in single particle MC. The downstream code is able to handle the absence of a HS vertex.
Reimplemented from ManagedMonitorToolBase.
Definition at line 300 of file InDetPhysValMonitoringTool.cxx.
305 const EventContext& ctx = Gaudi::Hive::currentContext();
309 if (not trackHandle.isValid()) {
311 return StatusCode::FAILURE;
322 ATH_MSG_WARNING(
"Shouldn't happen - EventInfo is buggy, setting mu to 0");
330 return StatusCode::SUCCESS;
334 std::vector<const xAOD::TruthParticle*> truthParticlesVec =
getTruthParticles(ctx);
342 unsigned int truthMu = 0;
345 truthMu =
static_cast<int>( truthPileupEventContainer->
size() );
350 float puEvents = truthMu>0 ? truthMu : actualMu;
354 float beamSpotWeight = 1;
357 ATH_MSG_DEBUG(
"Getting number of pu interactings per event");
363 nVertices = not vertices->empty() ? vertices->size() : 0;
365 ATH_MSG_DEBUG(
"beamSpotWeight is equal to " << beamSpotWeight);
369 if(readDecorHandle.isAvailable()) prwWeight = readDecorHandle(*pie);
370 ATH_MSG_DEBUG(
"Applying pileup weight equal to " << prwWeight);
371 beamSpotWeight *= prwWeight;
374 if (vertices.isValid() and not vertices->empty()) {
375 ATH_MSG_DEBUG(
"Number of vertices retrieved for this event " << vertices->size());
381 ATH_MSG_DEBUG(
"Failed to find a hard scatter vertex in this event.");
387 std::pair<std::vector<const xAOD::TruthVertex*>, std::vector<const xAOD::TruthVertex*>> truthVertices =
getTruthVertices(ctx);
388 std::vector<const xAOD::TruthVertex*> truthHSVertices = truthVertices.first;
389 std::vector<const xAOD::TruthVertex*> truthPUVertices = truthVertices.second;
396 m_monPlots->fill(*vertices, primaryvertex, truthHSVertices, truthPUVertices, actualMu, beamSpotWeight);
400 m_monPlots->fill(*vertices, truthMu, actualMu, beamSpotWeight);
417 const auto& stdVertexContainer = truthVrt->
stdcont();
419 auto findVtx = std::find_if(stdVertexContainer.rbegin(), stdVertexContainer.rend(), acceptTruthVertex);
420 truthVertex = (findVtx == stdVertexContainer.rend()) ?
nullptr : *findVtx;
424 if (not truthVertex)
ATH_MSG_INFO (
"Truth vertex did not pass cuts");
429 unsigned int nSelectedTruthTracks(0), nSelectedRecoTracks(0), nSelectedMatchedTracks(0), nAssociatedTruth(0), nMissingAssociatedTruth(0), nTruths(0);
438 std::map<const xAOD::TruthParticle*, std::vector<const xAOD::TrackParticle*>> cacheTruthMatching {};
440 std::vector<const xAOD::TrackParticle*> selectedTracks {};
441 selectedTracks.reserve(tracks->
size());
442 unsigned int nTrackTOT = 0;
443 unsigned int nTrackCentral = 0;
444 unsigned int nTrackPt1GeV = 0;
445 for (
const auto *
const thisTrack: *tracks) {
451 selectedTracks.push_back(thisTrack);
453 nSelectedRecoTracks++;
459 if (std::abs(thisTrack->eta()) < 2.5)
467 if (associatedTruth) {
474 tmp_truth_cutflow.update(
passed.missingCuts() );
478 nSelectedMatchedTracks++;
479 bool truthIsFromB =
false;
483 m_monPlots->fill(*thisTrack, *associatedTruth, truthIsFromB, puEvents, beamSpotWeight);
487 const bool isAssociatedTruth = associatedTruth !=
nullptr;
490 if(!isAssociatedTruth) nMissingAssociatedTruth++;
491 m_monPlots->fillFakeRate(*thisTrack,
isFake, isAssociatedTruth, puEvents, beamSpotWeight);
497 if (isAssociatedTruth) {
502 auto cachedAssoc = cacheTruthMatching.find(associatedTruth);
504 if (cachedAssoc == cacheTruthMatching.end()) {
506 cacheTruthMatching[associatedTruth] = {thisTrack};
510 cachedAssoc->second.push_back(thisTrack);
515 m_monPlots->fillNtuple(*thisTrack, primaryvertex);
523 for (
auto& cachedAssoc: cacheTruthMatching) {
530 std::sort(cachedAssoc.second.begin(), cachedAssoc.second.end(),
536 for (
int itrack = 0; itrack < (
int) cachedAssoc.second.size(); itrack++) {
540 m_monPlots->fillNtuple(*thisTrack, *thisTruth, primaryvertex, itrack);
546 m_monPlots->fill(nTrackTOT, nTrackCentral, nTrackPt1GeV, truthMu, actualMu,
nVertices, beamSpotWeight);
551 std::lock_guard<std::mutex> lock(
m_mutex);
552 m_truthCutFlow.merge(std::move(tmp_truth_cutflow));
558 for (
int itruth = 0; itruth < (
int) truthParticlesVec.size(); itruth++) {
565 ++nSelectedTruthTracks;
566 bool isEfficient(
false);
570 auto cachedAssoc = cacheTruthMatching.find(thisTruth);
572 if (cachedAssoc == cacheTruthMatching.end()) {
574 cacheTruthMatching[thisTruth] = {};
576 m_monPlots->fillDuplicate(*thisTruth, cacheTruthMatching[thisTruth], beamSpotWeight);
583 for (
const auto& thisTrack: selectedTracks) {
585 if (associatedTruth && associatedTruth == thisTruth) {
589 matchedTrack = thisTrack;
595 ATH_MSG_ERROR(
"An error occurred: Truth particle for tracking efficiency calculation is a nullptr");
597 else if (isEfficient && !matchedTrack){
598 ATH_MSG_ERROR(
"Something went wrong - we log a truth particle as reconstructed, but the reco track is a nullptr! Bailing out... ");
601 ATH_MSG_DEBUG(
"Filling efficiency plots info monitoring plots");
602 m_monPlots->fillEfficiency(*thisTruth, matchedTrack, isEfficient, truthMu, actualMu, beamSpotWeight);
604 ATH_MSG_DEBUG(
"Filling technical efficiency plots info monitoring plots");
606 if (nSilHitsAcc.isAvailable(*thisTruth)) {
608 m_monPlots->fillTechnicalEfficiency(*thisTruth, isEfficient,
609 truthMu, actualMu, beamSpotWeight);
612 ATH_MSG_DEBUG(
"Cannot fill technical efficiency. Missing si hit information for truth particle.");
630 if (nSelectedRecoTracks == nMissingAssociatedTruth) {
635 ATH_MSG_DEBUG(nAssociatedTruth <<
" tracks out of " << tracks->size() <<
" had associated truth.");
654 return StatusCode::SUCCESS;
◆ fillHistogramsTrackingInDenseEnvironment()
Definition at line 925 of file InDetPhysValMonitoringTool.cxx.
935 if (truthParticles.empty()) {
936 ATH_MSG_WARNING(
"No entries in TruthParticles truth particle container. Skipping jet plots.");
937 return StatusCode::SUCCESS;
941 if (not jetHandle.isValid()) {
943 return StatusCode::SUCCESS;
953 if (not btagLabel.isAvailable(*thisJet)){
956 isBjet = (btagLabel(*thisJet) == 5);
960 if(not ghosttruth.isAvailable(*thisJet)) {
964 if (not
el.isValid())
continue;
975 bool isEfficient(
false);
977 for (
const auto *thisTrack: tracks) {
983 if (associatedTruth and associatedTruth == truth) {
992 bool truthIsFromB =
false;
996 m_monPlots->fillEfficiency(*truth, *thisJet, isEfficient, isBjet, truthIsFromB, beamSpotWeight);
1006 if (thisJet->p4().DeltaR(thisTrack->p4()) >
m_maxTrkJetDR) {
1014 const bool unlinked = (associatedTruth==
nullptr);
1016 bool truthIsFromB =
false;
1018 truthIsFromB =
true;
1020 m_monPlots->fill(*thisTrack, *thisJet, isBjet,
isFake, unlinked, truthIsFromB, beamSpotWeight);
1021 if (associatedTruth){
1022 m_monPlots->fillFakeRate(*thisTrack, *thisJet,
isFake, isBjet, truthIsFromB, beamSpotWeight);
1028 return StatusCode::SUCCESS;
◆ fillHists()
StatusCode ManagedMonitorToolBase::fillHists |
( |
| ) |
|
|
virtualinherited |
Calls fillHists( bool, bool, bool ); if an eventBlock,lumiBlock, or run has turned over, calls procHists( bool, bool, bool ) and bookHists( bool, bool, bool ).
Implements IMonitorToolBase.
Reimplemented in TileRawChannelMonTool, and TileDigitsMonTool.
Definition at line 740 of file ManagedMonitorToolBase.cxx.
746 msg(MSG::WARNING) <<
"ManagedMonitorToolBase::initialize() never called from reimplementation!" <<
endmsg;
757 newLumiBlock =
false;
763 newLowStatInterval =
false;
764 newMedStatInterval =
false;
765 newHigStatInterval =
false;
778 isNewEventsBlock =
true;
793 if( LBsLowStat*LBsMedStat*LBsHigStat == 0) {
794 msg(MSG::WARNING) <<
"zero LBs requested for interval" <<
endmsg;
846 std::vector<Interval_t> intervals_to_process;
851 for (
const auto interval: intervals_to_process) {
863 it.m_templateHist->LabelsInflate(
"X");
870 TH1* passedHist =
it.m_templateHist->GetCopyPassedHisto();
871 TH1* totalHist =
it.m_templateHist->GetCopyTotalHisto();
874 passedHist->LabelsInflate(
"X");
875 totalHist->LabelsInflate(
"X");
880 it.m_templateHist->SetPassedHistogram(*passedHist,
"f");
881 it.m_templateHist->SetTotalHistogram(*totalHist,
" ");
889 streamname->updateRunLB();
899 bool filterresult(
true);
902 for (; filterresult && (ifilter != filterend);
904 filterresult = (filterresult && (*ifilter)->accept());
934 if( LBsLowStat*LBsMedStat*LBsHigStat > 0) {
942 return StatusCode::SUCCESS;
◆ fillTrackCutFlow()
◆ finalHists()
StatusCode ManagedMonitorToolBase::finalHists |
( |
| ) |
|
|
virtualinherited |
◆ get_nEvents()
unsigned int ManagedMonitorToolBase::get_nEvents |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ get_procNEventsProp()
long ManagedMonitorToolBase::get_procNEventsProp |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ getFilledPlotConfig()
Generate an Rtt config struct based on the user-passed properties.
turn off truth if none is present
allow to disable non-truth-matched
account for detail level
Definition at line 171 of file InDetPhysValMonitoringTool.cxx.
◆ getHist() [1/4]
StatusCode ManagedMonitorToolBase::getHist |
( |
TH1 *& |
h, |
|
|
const std::string & |
hName, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Returns a TH1 via the pointer passed as the first argument.
The histogram name, without the leading path or stream name, must be given as the second argument.
Definition at line 1419 of file ManagedMonitorToolBase.cxx.
◆ getHist() [2/4]
StatusCode ManagedMonitorToolBase::getHist |
( |
TH1 *& |
h, |
|
|
const std::string & |
hName, |
|
|
const std::string & |
system, |
|
|
Interval_t |
interval |
|
) |
| |
|
virtualinherited |
Returns a TH1 via the pointer passed as the first argument.
The histogram name, without the leading path or stream name, must be given as the second argument.
Definition at line 1409 of file ManagedMonitorToolBase.cxx.
◆ getHist() [3/4]
StatusCode ManagedMonitorToolBase::getHist |
( |
TH2 *& |
h, |
|
|
const std::string & |
hName, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Returns a TH2 via the pointer passed as the first argument.
The histogram name, without the leading path or stream name, must be given as the second argument.
Definition at line 1438 of file ManagedMonitorToolBase.cxx.
◆ getHist() [4/4]
StatusCode ManagedMonitorToolBase::getHist |
( |
TH2 *& |
h, |
|
|
const std::string & |
hName, |
|
|
const std::string & |
system, |
|
|
Interval_t |
interval |
|
) |
| |
|
virtualinherited |
Returns a TH2 via the pointer passed as the first argument.
The histogram name, without the leading path or stream name, must be given as the second argument.
Definition at line 1428 of file ManagedMonitorToolBase.cxx.
◆ getIndexByEta()
◆ getNewStreamNameFcn()
|
protectedvirtualinherited |
Definition at line 2157 of file ManagedMonitorToolBase.cxx.
2160 StreamNameFcn* fcn(0);
2164 fcn =
new NoOutputStream();
2167 fcn =
new OnlineStream();
◆ getTruthParticles()
Definition at line 744 of file InDetPhysValMonitoringTool.cxx.
746 std::vector<const xAOD::TruthParticle*> tempVec {};
753 if (not truthParticleContainer.isValid()) {
756 tempVec.insert(tempVec.begin(), truthParticleContainer->begin(), truthParticleContainer->end());
762 const xAOD::TruthEvent*
event = (truthEventContainer.isValid()) ? truthEventContainer->at(0) :
nullptr;
766 const auto&
links =
event->truthParticleLinks();
767 tempVec.reserve(
event->nTruthParticles());
768 for (
const auto& link :
links) {
770 tempVec.push_back(*link);
779 if (truthPileupEventContainer.isValid()) {
780 const unsigned int nPileup = truthPileupEventContainer->size();
781 tempVec.reserve(nPileup * 200);
782 for (
unsigned int i(0);
i != nPileup; ++
i) {
783 const auto *eventPileup = truthPileupEventContainer->at(
i);
785 int ntruth = eventPileup->nTruthParticles();
786 ATH_MSG_VERBOSE(
"Adding " << ntruth <<
" truth particles from TruthPileupEvents container");
787 const auto&
links = eventPileup->truthParticleLinks();
788 for (
const auto& link :
links) {
790 tempVec.push_back(*link);
◆ getTruthVertices()
Definition at line 806 of file InDetPhysValMonitoringTool.cxx.
808 std::vector<const xAOD::TruthVertex*> truthHSVertices = {};
809 truthHSVertices.reserve(5);
810 std::vector<const xAOD::TruthVertex*> truthPUVertices = {};
811 truthPUVertices.reserve(100);
834 if (truthEventContainer.isValid()) {
835 for (
const auto *
const evt : *truthEventContainer) {
836 truthVtx =
evt->signalProcessVertex();
838 truthHSVertices.push_back(truthVtx);
852 if (truthPileupEventContainer.isValid()) {
853 for (
const auto *
const evt : *truthPileupEventContainer) {
858 size_t i_vtx = 0;
size_t n_vtx =
evt->nTruthVertices();
859 while(!truthVtx && i_vtx<n_vtx){
860 truthVtx =
evt->truthVertex(i_vtx);
865 truthPUVertices.push_back(truthVtx);
875 return std::make_pair<const std::vector<const xAOD::TruthVertex*>,
const std::vector<const xAOD::TruthVertex*>>((
const std::vector<const xAOD::TruthVertex*>)truthHSVertices, (
const std::vector<const xAOD::TruthVertex*>)truthPUVertices);
◆ getUnbiasedTrackParameters()
◆ hasTruthFilled()
◆ initialize()
StatusCode InDetPhysValMonitoringTool::initialize |
( |
| ) |
|
|
virtual |
Reimplemented from ManagedMonitorToolBase.
Definition at line 116 of file InDetPhysValMonitoringTool.cxx.
134 (
nullptr,
static_cast<std::string
>(
m_dirName) +
static_cast<std::string
>(
m_folder),
147 std::vector<std::string> required_float_track_decorations {
"d0",
"hitResiduals_residualLocX",
"d0err"};
148 std::vector<std::string> required_int_track_decorations {};
149 std::vector<std::string> required_float_truth_decorations {
"d0"};
150 std::vector<std::string> required_int_truth_decorations {};
151 std::vector<std::string> required_int_jet_decorations {
"HadronConeExclTruthLabelID"};
153 std::string empty_prefix;
167 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ interfaceID()
static const InterfaceID& IMonitorToolBase::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ intervalEnumToString()
std::string ManagedMonitorToolBase::intervalEnumToString |
( |
Interval_t |
interval | ) |
|
|
staticinherited |
Converts a LevelOfDetail_t to a string of the same name.
Converts a string to the corresponding LevelOfDetail_t. Converts a Interval_t to a string of the same name.
Definition at line 536 of file ManagedMonitorToolBase.cxx.
539 std::string
str(
"file");
◆ intervalStringToEnum()
Converts a string to the corresponding Interval_t.
Definition at line 578 of file ManagedMonitorToolBase.cxx.
581 std::string lcstr( strToLower(
str) );
585 else if( lcstr ==
"fill" )
587 else if( lcstr ==
"run" )
589 else if( lcstr ==
"lowStat" )
591 else if( lcstr ==
"medStat" )
593 else if( lcstr ==
"higStat" )
595 else if( lcstr ==
"lumiBlock" )
597 else if( lcstr ==
"eventsBlock" )
599 else if( lcstr ==
"file" )
605 MsgStream
log(
ms,
"ManagedMonitorToolBase::intervalStringToEnum()" );
606 log << MSG::WARNING <<
"Unknown ManagedMonitorToolBase::Interval_t \""
607 <<
str <<
"\", returning \"file\"" <<
endmsg;
◆ isSelectedByPileupSwitch()
◆ lbAverageInteractionsPerCrossing()
float ManagedMonitorToolBase::lbAverageInteractionsPerCrossing |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Average mu, i.e.
<mu>
Definition at line 1693 of file ManagedMonitorToolBase.cxx.
1698 return lumi->lbAverageInteractionsPerCrossing();
1701 ATH_MSG_DEBUG(
"Warning: lbAverageInteractionsPerCrossing() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
◆ lbAverageLivefraction()
float ManagedMonitorToolBase::lbAverageLivefraction |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Average luminosity livefraction.
Definition at line 1762 of file ManagedMonitorToolBase.cxx.
1770 return live->lbAverageLiveFraction();
1773 ATH_MSG_DEBUG(
"Warning: lbAverageLivefraction() - luminosity not availble (i.e. EnableLumi = False)");
◆ lbAverageLuminosity()
float ManagedMonitorToolBase::lbAverageLuminosity |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1)
Definition at line 1729 of file ManagedMonitorToolBase.cxx.
1734 return lumi->lbAverageLuminosity();
1737 ATH_MSG_DEBUG(
"Warning: lbAverageLuminosity() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
◆ lbDuration()
double ManagedMonitorToolBase::lbDuration |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Luminosity block time (in seconds)
Definition at line 1816 of file ManagedMonitorToolBase.cxx.
1824 return dur->lbDuration();
1827 ATH_MSG_DEBUG(
"Warning: lbDuration() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
◆ lbInteractionsPerCrossing()
float ManagedMonitorToolBase::lbInteractionsPerCrossing |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Instantaneous number of interactions, i.e.
mu
Definition at line 1709 of file ManagedMonitorToolBase.cxx.
1714 float muToLumi =
lumi->muToLumi();
1716 return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id()) / muToLumi;
1721 ATH_MSG_DEBUG(
"Warning: lbInteractionsPerCrossing() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
◆ lbLuminosityPerBCID()
float ManagedMonitorToolBase::lbLuminosityPerBCID |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Instantaneous luminosity.
Definition at line 1745 of file ManagedMonitorToolBase.cxx.
1750 return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id());
1753 ATH_MSG_DEBUG(
"Warning: lbLuminosityPerBCID() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
◆ lbLumiWeight()
double ManagedMonitorToolBase::lbLumiWeight |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Average Integrated Luminosity Live Fraction.
Definition at line 1800 of file ManagedMonitorToolBase.cxx.
1807 ATH_MSG_DEBUG(
"Warning: lbLumiWeight() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
◆ livefractionPerBCID()
float ManagedMonitorToolBase::livefractionPerBCID |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Livefraction per bunch crossing ID.
Definition at line 1781 of file ManagedMonitorToolBase.cxx.
1789 return live->l1LiveFractionVector().at (ctx.eventID().bunch_crossing_id());
1792 ATH_MSG_DEBUG(
"Warning: livefractionPerBCID() - luminosity retrieved available (i.e. EnableLumi = False)");
◆ markSelectedByPileupSwitch()
◆ MMTB_DEPRECATED() [1/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
endOfEventsBlock |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [2/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
endOfLowStat |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [3/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
endOfLumiBlock |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [4/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
endOfRun |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [5/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
newEventsBlock |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [6/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
newHigStatInterval |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [7/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
newLowStat |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [8/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
newLowStatInterval |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [9/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
newLumiBlock |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [10/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
newMedStatInterval |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [11/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
newRun |
| ) |
|
|
inherited |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ newEventsBlockFlag()
bool ManagedMonitorToolBase::newEventsBlockFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ newHigStatIntervalFlag()
bool ManagedMonitorToolBase::newHigStatIntervalFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ newLowStatFlag()
bool ManagedMonitorToolBase::newLowStatFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ newLowStatIntervalFlag()
bool ManagedMonitorToolBase::newLowStatIntervalFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ newLumiBlockFlag()
bool ManagedMonitorToolBase::newLumiBlockFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ newMedStatIntervalFlag()
bool ManagedMonitorToolBase::newMedStatIntervalFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ newRunFlag()
bool ManagedMonitorToolBase::newRunFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ parseList()
StatusCode ManagedMonitorToolBase::parseList |
( |
const std::string & |
line, |
|
|
std::vector< std::string > & |
result |
|
) |
| |
|
protectedinherited |
◆ passJetCuts()
bool InDetPhysValMonitoringTool::passJetCuts |
( |
const xAOD::Jet & |
jet | ) |
const |
|
private |
◆ preSelector()
bool ManagedMonitorToolBase::preSelector |
( |
| ) |
|
|
virtualinherited |
◆ procHistograms()
StatusCode InDetPhysValMonitoringTool::procHistograms |
( |
| ) |
|
|
virtual |
◆ regEfficiency()
StatusCode ManagedMonitorToolBase::regEfficiency |
( |
TEfficiency * |
e, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Registers a TEfficiency to be included in the output stream using logical parameters that describe the plot.
Definition at line 1446 of file ManagedMonitorToolBase.cxx.
1448 return StatusCode::FAILURE;
1450 TGraph*
g =
reinterpret_cast<TGraph*
>(
e);
1451 std::string
name =
e->GetName();
1457 ATH_MSG_WARNING(
"HEY! Attempting to register "<<
name<<
" as a per-LB histogram, but not setting the merge algorithm! Use \"merge\", at least.");
1464 return StatusCode::FAILURE;
1474 std::string genericName = NoOutputStream().getStreamName(
this,
group,
name );
1481 if (
smd != StatusCode::SUCCESS)
1482 return StatusCode::FAILURE;
◆ regGraph() [1/2]
StatusCode ManagedMonitorToolBase::regGraph |
( |
TGraph * |
g, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Registers a TGraph to be included in the output stream using logical parameters that describe the graph.
Definition at line 1500 of file ManagedMonitorToolBase.cxx.
1504 return StatusCode::FAILURE;
1517 return StatusCode::FAILURE;
1520 std::string
name =
g->GetName();
1528 std::string gName =
g->GetName();
1531 std::string genericName = NoOutputStream().getStreamName(
this,
group, gName );
1539 if (
smd != StatusCode::SUCCESS)
return StatusCode::FAILURE;
◆ regGraph() [2/2]
Registers a TGraph to be included in the output stream using logical parameters that describe the graph.
Definition at line 1490 of file ManagedMonitorToolBase.cxx.
◆ regHist() [1/2]
StatusCode ManagedMonitorToolBase::regHist |
( |
TH1 * |
h, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical parameters that describe the histogram.
A histogram is passed via reference to a pointer.
Definition at line 1354 of file ManagedMonitorToolBase.cxx.
1360 return StatusCode::FAILURE;
1373 ATH_MSG_WARNING(
"HEY! You're attempting to register " <<
h->GetName() <<
" as a per-LB histogram, but you're not setting the merge algorithm! This is a SUPER-BAD idea! Use \"merge\", at least.");
1380 return StatusCode::FAILURE;
1383 std::string hName =
h->GetName();
1391 std::string hName =
h->GetName();
1394 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1402 if (
smd != StatusCode::SUCCESS)
return StatusCode::FAILURE;
◆ regHist() [2/2]
Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical parameters that describe the histogram.
Definition at line 1345 of file ManagedMonitorToolBase.cxx.
◆ registerMetadata()
StatusCode ManagedMonitorToolBase::registerMetadata |
( |
const std::string & |
streamName, |
|
|
const std::string & |
hName, |
|
|
const MonGroup & |
group |
|
) |
| |
|
protectedinherited |
Definition at line 946 of file ManagedMonitorToolBase.cxx.
952 size_t found=mdStreamName.rfind(
'/');
954 if (
found != std::string::npos )
955 mdStreamName.replace(
found, mdStreamName.length(),
"/metadata" );
959 metadata =
new TTree(
"metadata",
"Monitoring Metadata" );
960 if (!
metadata)
return StatusCode::FAILURE;
962 if (scmd == StatusCode::FAILURE)
return StatusCode::FAILURE;
963 MDMap_t::value_type valToInsert( mdStreamName,
new OutputMetadata(
metadata) );
969 return StatusCode::SUCCESS;
◆ regManagedEfficiencies()
StatusCode ManagedMonitorToolBase::regManagedEfficiencies |
( |
std::vector< MgmtParams< TEfficiency > > & |
templateEfficiencies | ) |
|
|
protectedinherited |
Definition at line 1141 of file ManagedMonitorToolBase.cxx.
1142 bool allIsOk =
true;
1143 for(
auto&
it : templateEfficiencies ) {
1146 TEfficiency* theEfficiency =
it.m_templateHist;
1147 TEfficiency*
e =
static_cast<TEfficiency*
>(theEfficiency->Clone());
1148 int nbins = theEfficiency->GetTotalHistogram()->GetNbinsX();
1149 int xlow = theEfficiency->GetTotalHistogram()->GetXaxis()->GetXmin();
1150 int xhigh = theEfficiency->GetTotalHistogram()->GetXaxis()->GetXmax();
1151 e->SetBins(
nbins,xlow,xhigh);
1152 std::string
name =
e->GetName();
1155 TGraph* theGraph =
reinterpret_cast<TGraph*
>(theEfficiency);
1156 TGraph*
g =
reinterpret_cast<TGraph*
>(
e);
1164 if (sc1 == StatusCode::FAILURE) allIsOk =
false;
1166 bool doneCleaning =
false;
1168 TSeqCollection *
filelist=gROOT->GetListOfFiles();
1173 if (sc2 == StatusCode::SUCCESS) doneCleaning =
true;
1176 if (!doneCleaning) {
1177 ATH_MSG_ERROR(
"THistSvc_deReg_fixTGraph: failed to apply TGraph fix for the THist Svc!");
1182 if (sc3 == StatusCode::FAILURE)
1189 if (
smd != StatusCode::SUCCESS) allIsOk =
false;
1192 if (sc4 == StatusCode::FAILURE) allIsOk =
false;
1195 if (!allIsOk)
return StatusCode::FAILURE;
1196 return StatusCode::SUCCESS;
◆ regManagedGraphs()
StatusCode ManagedMonitorToolBase::regManagedGraphs |
( |
std::vector< MgmtParams< TGraph > > & |
templateGraphs | ) |
|
|
protectedinherited |
Definition at line 1070 of file ManagedMonitorToolBase.cxx.
1074 bool allIsOk =
true;
1076 for( std::vector< MgmtParams<TGraph> >::
iterator it = templateGraphs.begin();
it != templateGraphs.end(); ++
it ) {
1077 MonGroup
group = (*it).m_group;
1080 TGraph* theGraph = (*it).m_templateHist;
1083 TGraph*
g =
static_cast<TGraph*
>(theGraph->Clone());
1087 std::string gName =
g->GetName();
1094 if (sc1 == StatusCode::FAILURE)
1099 bool doneCleaning =
false;
1101 TSeqCollection *
filelist=gROOT->GetListOfFiles();
1106 if (sc2 == StatusCode::SUCCESS)
1107 doneCleaning =
true;
1111 if (!doneCleaning) {
1112 ATH_MSG_ERROR(
"THistSvc_deReg_fixTGraph: failed to apply TGraph fix for the THist Svc!");
1119 if (sc3 == StatusCode::FAILURE)
1126 if (
smd != StatusCode::SUCCESS)
1131 if (sc4 == StatusCode::FAILURE)
1136 if (!allIsOk)
return StatusCode::FAILURE;
1138 return StatusCode::SUCCESS;
◆ regManagedHistograms()
StatusCode ManagedMonitorToolBase::regManagedHistograms |
( |
std::vector< MgmtParams< TH1 > > & |
templateHistograms | ) |
|
|
protectedinherited |
Definition at line 973 of file ManagedMonitorToolBase.cxx.
990 for( std::vector< MgmtParams<TH1> >::
iterator it = templateHistograms.begin();
it != templateHistograms.end(); ++
it ) {
991 MonGroup&
group = (*it).m_group;
994 TH1* theHist = (*it).m_templateHist;
997 TH1*
h =
static_cast<TH1*
>(theHist->Clone());
1001 std::string hName =
h->GetName();
1008 if (sc1 == StatusCode::FAILURE) allIsOk =
false;
1012 if (sc2 == StatusCode::FAILURE) allIsOk =
false;
1015 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1024 if (
smd != StatusCode::SUCCESS) allIsOk =
false;
1028 if (sc3 == StatusCode::FAILURE) allIsOk =
false;
1032 if (!allIsOk)
return StatusCode::FAILURE;
1034 return StatusCode::SUCCESS;
◆ regManagedTrees()
StatusCode ManagedMonitorToolBase::regManagedTrees |
( |
std::vector< MgmtParams< TTree > > & |
templateTrees | ) |
|
|
protectedinherited |
Definition at line 1201 of file ManagedMonitorToolBase.cxx.
1205 bool allIsOk =
true;
1207 for( std::vector< MgmtParams<TTree> >::
iterator it = templateTrees.begin();
it != templateTrees.end(); ++
it ) {
1208 MonGroup
group = (*it).m_group;
1211 TTree* theTree = (*it).m_templateHist;
1214 TTree*
t =
static_cast<TTree*
>(theTree->Clone());
1218 std::string
name =
t->GetName();
1225 if (sc1 == StatusCode::FAILURE) allIsOk =
false;
1229 if (sc2 == StatusCode::FAILURE) allIsOk =
false;
1232 std::string genericName = NoOutputStream().getStreamName(
this,
group,
name );
1241 if (
smd != StatusCode::SUCCESS) allIsOk =
false;
1245 if (sc3 == StatusCode::FAILURE) allIsOk =
false;
1249 if (!allIsOk)
return StatusCode::FAILURE;
1251 return StatusCode::SUCCESS;
◆ regTree() [1/2]
StatusCode ManagedMonitorToolBase::regTree |
( |
TTree * |
t, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Registers a TTree to be included in the output stream using logical parameters that describe it.
Definition at line 1556 of file ManagedMonitorToolBase.cxx.
1571 return StatusCode::FAILURE;
1574 std::string
name =
t->GetName();
1575 std::string genericName = NoOutputStream().getStreamName(
this, group_unmanaged,
name );
1583 std::string tName =
t->GetName();
1586 std::string genericName = NoOutputStream().getStreamName(
this,
group, tName );
1594 if (
smd != StatusCode::SUCCESS)
return StatusCode::FAILURE;
◆ regTree() [2/2]
Registers a TTree to be included in the output stream using logical parameters that describe it.
Definition at line 1546 of file ManagedMonitorToolBase.cxx.
◆ renounce()
◆ renounceArray()
◆ runStat()
StatusCode ManagedMonitorToolBase::runStat |
( |
| ) |
|
|
virtualinherited |
This implementation does nothing; equivalent functionality may be provided by procHists( true, true, true ).
Implements IMonitorToolBase.
Definition at line 1663 of file ManagedMonitorToolBase.cxx.
1666 return StatusCode::SUCCESS;
◆ setMonManager()
◆ setupOutputStreams()
StatusCode ManagedMonitorToolBase::setupOutputStreams |
( |
std::vector< std::string > |
Mapping = std::vector<std::string>() | ) |
|
|
virtualinherited |
◆ streamNameFunction()
Returns the function object that converts logical paramters into a physical stream name.
Definition at line 451 of file ManagedMonitorToolBase.cxx.
455 msg(MSG::ERROR) <<
"!! streamNameFunction() has not been initialized !!" <<
endmsg;
456 msg(MSG::ERROR) <<
" --> neither ManagedMonitorToolBase::initialize() nor" <<
endmsg;
457 msg(MSG::ERROR) <<
" --> ManagedMonitorToolBase::setMonManager() has been called." <<
endmsg;
458 msg(MSG::ERROR) <<
" --> Correct configuration cannot be guaranteed from this point." <<
endmsg;
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ THistSvc_deReg_fixTGraph()
StatusCode ManagedMonitorToolBase::THistSvc_deReg_fixTGraph |
( |
TFile * |
file, |
|
|
TGraph * |
theGraph, |
|
|
std::string & |
directoryName |
|
) |
| |
|
protectedinherited |
Fixes THistSvc->deReg(obj) when obj is TGraph instance.
Read more in source file about this bug.
Definition at line 1038 of file ManagedMonitorToolBase.cxx.
1048 GlobalDirectoryRestore restore;
1051 bool graphRemoved =
false;
1054 TDirectory*
dir =
file->GetDirectory(directoryName.c_str());
1057 TObject*
obj =
dir->Remove(theGraph);
1059 graphRemoved =
true;
1062 if (!graphRemoved) {
1063 return StatusCode::FAILURE;
1066 return StatusCode::SUCCESS;
◆ trigChainsArePassed()
bool ManagedMonitorToolBase::trigChainsArePassed |
( |
std::vector< std::string > & |
vTrigNames | ) |
|
|
protectedvirtualinherited |
◆ updateTriggersForGroups()
void ManagedMonitorToolBase::updateTriggersForGroups |
( |
std::vector< std::string > & |
vTrigChainNames | ) |
|
|
protectedinherited |
Definition at line 2132 of file ManagedMonitorToolBase.cxx.
2134 for (
size_t i = 0;
i < vTrigChainNames.size(); ++
i) {
2135 std::string& thisName = vTrigChainNames[
i];
2136 if (thisName.compare(0, 9,
"CATEGORY_") ==0) {
2137 ATH_MSG_DEBUG(
"Found a trigger category: " << thisName <<
". We will unpack it.");
2139 std::ostringstream oss;
2141 for (
size_t itrig = 0; itrig <
triggers.size(); ++itrig) {
2149 std::string newval = oss.str();
2151 vTrigChainNames[
i] = newval;
◆ updateVHKA()
◆ writeAndDelete()
StatusCode ManagedMonitorToolBase::writeAndDelete |
( |
TH1 * |
h, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Write out histogram and delete it.
Definition at line 1601 of file ManagedMonitorToolBase.cxx.
1604 return StatusCode::FAILURE;
1606 std::string hName =
h->GetName();
1609 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1612 return StatusCode::SUCCESS;
◆ ATLAS_THREAD_SAFE
CutFlow m_truthCutFlow InDetPhysValMonitoringTool::ATLAS_THREAD_SAFE |
|
mutableprivate |
◆ m_acc_hasTruthFilled
◆ m_acc_selectedByPileupSwitch
◆ m_bookHistogramsInitial
bool ManagedMonitorToolBase::m_bookHistogramsInitial |
|
privateinherited |
◆ m_d
Imp* ManagedMonitorToolBase::m_d |
|
privateinherited |
◆ m_dataType
◆ m_dataTypeStr
std::string ManagedMonitorToolBase::m_dataTypeStr |
|
protectedinherited |
◆ m_dec_hasTruthFilled
◆ m_dec_passedTrackSelection
◆ m_dec_passedTruthSelection
◆ m_dec_selectedByPileupSwitch
◆ m_defaultLBDuration
float ManagedMonitorToolBase::m_defaultLBDuration |
|
privateinherited |
◆ m_detailLevel
unsigned int ManagedMonitorToolBase::m_detailLevel |
|
protectedinherited |
◆ m_detStore
◆ m_dirName
StringProperty InDetPhysValMonitoringTool::m_dirName {this, "DirName", "SquirrelPlots/", "Top level directory to write histograms into"} |
|
private |
◆ m_doBjetPlots
BooleanProperty InDetPhysValMonitoringTool::m_doBjetPlots {this, "FillTrackInBJetPlots", false, "Fill plots for tracks in truth-b-tagged jets"} |
|
private |
◆ m_doDuplicatePlots
BooleanProperty InDetPhysValMonitoringTool::m_doDuplicatePlots {this, "doDuplicatePlots", false, "Fill duplicate=multi-track per particle plots"} |
|
private |
◆ m_doHitLevelPlots
BooleanProperty InDetPhysValMonitoringTool::m_doHitLevelPlots {this, "doHitLevelPlots", false, "Fill hit efficiency and residual plots"} |
|
private |
◆ m_doIDTIDEPlots
BooleanProperty InDetPhysValMonitoringTool::m_doIDTIDEPlots {this, "doIDTIDEPlots", false, "do ID TIDE derivation plots"} |
|
private |
◆ m_doPerAuthorPlots
BooleanProperty InDetPhysValMonitoringTool::m_doPerAuthorPlots {this, "doPerAuthorPlots", false, "do plots split by track author"} |
|
private |
◆ m_doPRW
BooleanProperty InDetPhysValMonitoringTool::m_doPRW {this,"doPRW",false,"apply pileup reweight"} |
|
private |
◆ m_doTrackInJetPlots
BooleanProperty InDetPhysValMonitoringTool::m_doTrackInJetPlots {this, "FillTrackInJetPlots", true, "Fill plots for tracks in jets"} |
|
private |
◆ m_doTRTExtensionPlots
BooleanProperty InDetPhysValMonitoringTool::m_doTRTExtensionPlots {this, "doTRTExtensionPlots", true, "do TRT extension plots"} |
|
private |
◆ m_doTruthOriginPlots
BooleanProperty InDetPhysValMonitoringTool::m_doTruthOriginPlots {this, "doTruthOriginPlots", false, "do plots split by track truth origin"} |
|
private |
◆ m_DQFilterTools
ToolHandleArray<IDQFilterTool> ManagedMonitorToolBase::m_DQFilterTools {this,"FilterTools",{}} |
|
protectedinherited |
◆ m_endOfEventsBlock
bool ManagedMonitorToolBase::m_endOfEventsBlock |
|
privateinherited |
◆ m_endOfLowStat
bool ManagedMonitorToolBase::m_endOfLowStat |
|
privateinherited |
◆ m_endOfLumiBlock
bool ManagedMonitorToolBase::m_endOfLumiBlock |
|
privateinherited |
◆ m_endOfRun
bool ManagedMonitorToolBase::m_endOfRun |
|
privateinherited |
◆ m_environment
◆ m_environmentStr
std::string ManagedMonitorToolBase::m_environmentStr |
|
protectedinherited |
◆ m_etaBins
DoubleArrayProperty InDetPhysValMonitoringTool::m_etaBins {this, "EtaBins", {}} |
|
private |
◆ m_eventInfoContainerName
◆ m_evtStore
◆ m_fileKey
std::string ManagedMonitorToolBase::m_fileKey |
|
protectedinherited |
◆ m_fillTechnicalEfficiency
BooleanProperty InDetPhysValMonitoringTool::m_fillTechnicalEfficiency {this, "fillTechnicalEfficiency", false, "Fill the technical efficiency plot. Requires additional sihit information in input file"} |
|
private |
◆ m_fillTruthToRecoNtuple
BooleanProperty InDetPhysValMonitoringTool::m_fillTruthToRecoNtuple {this, "FillTruthToRecoNtuple", false, "Fill an ntuple with truth and matching reco info for more detailed stuidies"} |
|
private |
◆ m_floatTrkDecor
◆ m_floatTruthDecor
◆ m_folder
StringProperty InDetPhysValMonitoringTool::m_folder {this, "SubFolder", "", "Subfolder to add for plots if desired. Used when working with multiple IDPVM tool instances."} |
|
private |
◆ m_grlTool
◆ m_hardScatterSelectionTool
◆ m_haveClearedLastEventBlock
bool ManagedMonitorToolBase::m_haveClearedLastEventBlock |
|
protectedinherited |
◆ m_highProb
FloatProperty InDetPhysValMonitoringTool::m_highProb {this,"HighProb",0.8,"Truth match prob. cutoff - currently unused"} |
|
private |
◆ m_intJetDecor
◆ m_intTrkDecor
◆ m_intTruthDecor
◆ m_isITk
BooleanProperty InDetPhysValMonitoringTool::m_isITk {this, "isITk", false, "Whether config is set for ITk, to enable/disable some plots"} |
|
private |
◆ m_jetAbsEtaMax
FloatProperty InDetPhysValMonitoringTool::m_jetAbsEtaMax {this, "JetAbsEtaMax", 2.5f, "Maximum Eta value for jet selection"} |
|
private |
◆ m_jetAbsEtaMin
FloatProperty InDetPhysValMonitoringTool::m_jetAbsEtaMin {this, "JetAbsEtaMin", 0.f, "Minimum Eta value for jet selection"} |
|
private |
◆ m_jetContainerName
◆ m_jetPtMax
FloatProperty InDetPhysValMonitoringTool::m_jetPtMax {this, "JetPtMax", 5000.0f, "Maximum Jet pT for jet selection in GeV"} |
|
private |
◆ m_jetPtMin
FloatProperty InDetPhysValMonitoringTool::m_jetPtMin {this, "JetPtMin", 100.0f, "Minimum Jet pT for jet selection in GeV"} |
|
private |
◆ m_lastHigStatInterval
int ManagedMonitorToolBase::m_lastHigStatInterval |
|
protectedinherited |
◆ m_lastLowStatInterval
int ManagedMonitorToolBase::m_lastLowStatInterval |
|
protectedinherited |
◆ m_lastLumiBlock
unsigned int ManagedMonitorToolBase::m_lastLumiBlock |
|
protectedinherited |
◆ m_lastMedStatInterval
int ManagedMonitorToolBase::m_lastMedStatInterval |
|
protectedinherited |
◆ m_lastRun
unsigned int ManagedMonitorToolBase::m_lastRun |
|
protectedinherited |
◆ m_lbDurationDataKey
◆ m_lowProb
FloatProperty InDetPhysValMonitoringTool::m_lowProb {this,"LowProb",0.5,"Truth match prob. cutoff for efficiency (lower bound) and fake (upper bound) classification."} |
|
private |
◆ m_lumiDataKey
◆ m_manager
◆ m_managerNameProp
std::string ManagedMonitorToolBase::m_managerNameProp |
|
protectedinherited |
◆ m_maxTrkJetDR
FloatProperty InDetPhysValMonitoringTool::m_maxTrkJetDR {this,"maxTrkJetDR",0.4,"the maximum dR to jets to allow for track-in-jet plots"} |
|
private |
◆ m_metadataMap
MDMap_t ManagedMonitorToolBase::m_metadataMap |
|
protectedinherited |
◆ m_minHits
IntegerArrayProperty InDetPhysValMonitoringTool::m_minHits {this, "MinNumberClusters", {}} |
|
private |
◆ m_monPlots
std::unique_ptr< InDetRttPlots > InDetPhysValMonitoringTool::m_monPlots |
|
private |
◆ m_mutex
std::mutex InDetPhysValMonitoringTool::m_mutex |
|
mutableprivate |
◆ m_nEvents
unsigned int ManagedMonitorToolBase::m_nEvents |
|
protectedinherited |
◆ m_nEventsIgnoreTrigger
unsigned int ManagedMonitorToolBase::m_nEventsIgnoreTrigger |
|
protectedinherited |
◆ m_newEventsBlock
bool ManagedMonitorToolBase::m_newEventsBlock |
|
privateinherited |
◆ m_newHigStatInterval
bool ManagedMonitorToolBase::m_newHigStatInterval |
|
privateinherited |
◆ m_newLowStat
bool ManagedMonitorToolBase::m_newLowStat |
|
privateinherited |
◆ m_newLowStatInterval
bool ManagedMonitorToolBase::m_newLowStatInterval |
|
privateinherited |
◆ m_newLumiBlock
bool ManagedMonitorToolBase::m_newLumiBlock |
|
privateinherited |
◆ m_newMedStatInterval
bool ManagedMonitorToolBase::m_newMedStatInterval |
|
privateinherited |
◆ m_newRun
bool ManagedMonitorToolBase::m_newRun |
|
privateinherited |
◆ m_nLumiBlocks
unsigned int ManagedMonitorToolBase::m_nLumiBlocks |
|
protectedinherited |
◆ m_onlyFillMatched
BooleanProperty InDetPhysValMonitoringTool::m_onlyFillMatched {this, "onlyFillTruthMatched", false, "Only fill truth-to-reco (eff, reso, matched hit) plots"} |
|
private |
◆ m_path
std::string ManagedMonitorToolBase::m_path |
|
protectedinherited |
◆ m_pileupSwitch
StringProperty InDetPhysValMonitoringTool::m_pileupSwitch {this, "PileupSwitch", "HardScatter", "Pileup truth strategy to use. May be \"All\", \"HardScatter\", or \"PileUp\""} |
|
private |
◆ m_preScaleProp
long ManagedMonitorToolBase::m_preScaleProp |
|
protectedinherited |
◆ m_procNEventsProp
long ManagedMonitorToolBase::m_procNEventsProp |
|
protectedinherited |
◆ m_prospectsMatched
std::vector<int> InDetPhysValMonitoringTool::m_prospectsMatched |
|
private |
◆ m_streamNameFcn
◆ m_supportedIntervalsForRebooking
std::set<Interval_t> ManagedMonitorToolBase::m_supportedIntervalsForRebooking |
|
privateinherited |
◆ m_templateEfficiencies
std::map< Interval_t, std::vector< MgmtParams<TEfficiency> > > ManagedMonitorToolBase::m_templateEfficiencies |
|
protectedinherited |
◆ m_templateGraphs
◆ m_templateHistograms
◆ m_templateTrees
◆ m_THistSvc
◆ m_trackCutflow
std::vector<int> InDetPhysValMonitoringTool::m_trackCutflow |
|
private |
◆ m_trackCutflowNames
std::vector<std::string> InDetPhysValMonitoringTool::m_trackCutflowNames |
|
private |
◆ m_trackSelectionTool
◆ m_trackTruthOriginTool
◆ m_trigDecTool
◆ m_triggerChainProp
std::string ManagedMonitorToolBase::m_triggerChainProp |
|
protectedinherited |
◆ m_triggerGroupProp
std::string ManagedMonitorToolBase::m_triggerGroupProp |
|
protectedinherited |
◆ m_trigLiveFractionDataKey
◆ m_trigTranslator
PublicToolHandle<ITriggerTranslatorTool> ManagedMonitorToolBase::m_trigTranslator {this,"TriggerTranslatorTool",""} |
|
protectedinherited |
◆ m_trkParticleName
◆ m_truthCounter
int InDetPhysValMonitoringTool::m_truthCounter = 0 |
|
private |
◆ m_truthEventName
◆ m_truthParticleName
◆ m_truthPileUpEventName
◆ m_truthSelectionTool
◆ m_truthVertexContainerName
◆ m_useGRL
BooleanProperty InDetPhysValMonitoringTool::m_useGRL {this, "useGRL", false, "Apply GRL selection or not when running on data"} |
|
private |
◆ m_useLumi
bool ManagedMonitorToolBase::m_useLumi |
|
privateinherited |
◆ m_useTrackSelection
BooleanProperty InDetPhysValMonitoringTool::m_useTrackSelection {this, "useTrackSelection", false, "plot only tracks accepted by selection tool"} |
|
private |
◆ m_useTrigger
bool ManagedMonitorToolBase::m_useTrigger |
|
protectedinherited |
◆ m_useVertexTruthMatchTool
BooleanProperty InDetPhysValMonitoringTool::m_useVertexTruthMatchTool {this, "useVertexTruthMatchTool", false, "Use the vertex truth matching tool"} |
|
private |
◆ m_usingSpecialPileupSwitch
bool InDetPhysValMonitoringTool::m_usingSpecialPileupSwitch {false} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vertexContainerName
◆ m_vhka
◆ m_vTrigChainNames
std::vector<std::string> ManagedMonitorToolBase::m_vTrigChainNames |
|
protectedinherited |
◆ m_vTrigGroupNames
std::vector<std::string> ManagedMonitorToolBase::m_vTrigGroupNames |
|
protectedinherited |
◆ m_vtxValidTool
◆ m_weight_pileup_key
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
int nVertices(const Polygon &p)
bool doResolutionsPerAuthor
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
bool isFake(int matchInfo)
bool doTrkInJetPlots_matched_bjets
bool doResolutionPlotSecd
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
bool doHitsUnlinkedTracksPlots
bool doHardScatterVertexTruthMatchingPlots
static unsigned int runNumber()
bool doHardScatterVertexPlots
virtual std::string fileKey() const
StatusCode accept(const xAOD::Muon *mu)
virtual void passOwnership(TObject *h, const std::string &key)
Pass ownership of a TObject to this manager so that it will be deleted appropriately.
std::vector< ALFA_RawDataCollection_p1 > t1
HardScatterType classifyHardScatter(const xAOD::VertexContainer &vxContainer)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool msgLvl(const MSG::Level lvl) const
bool doTrkInJetPlots_unlinked_bjets
bool doTrkInJetPlots_truthFromB
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
bool empty() const
Test if the key is blank.
bool doTrkInJetPlots
Plots for tracks in jets.
bool doTrkInJetPlots_matched
@ IS_SIMULATION
true: simulation, false: data
static unsigned int getLBsLowStat()
void addReadDecoratorHandleKeys(T_Parent &parent, const SG::ReadHandleKey< T_Cont > &container_key, const std::string &prefix, const std::vector< std::string > &decor_names, std::vector< SG::ReadDecorHandleKey< T_Cont > > &decor_out)
virtual void setOwner(IDataHandleHolder *o)=0
static Environment_t environment()
Returns the running environment of the monitoring application to help ManagedMonitorToolBase objects ...
static unsigned int getLBsMedStat()
static DataType_t dataType()
Returns the data type that the monitoring application is running over to help ManagedMonitorToolBase ...
Handle class for reading a decoration on an object.
bool doTrkInJetPlots_bjets
float getMatchingProbability(const xAOD::TrackParticle &trackParticle)
POOL::TEvent event(POOL::TEvent::kClassAccess)
::StatusCode StatusCode
StatusCode definition for legacy code.
helper struct - steer the configuration from the parent tool's side
bool doResolutionPlotPrim_truthFromB
bool doFakePlots
Fake plots (and unlinked)
Class describing a truth particle in the MC record.
virtual void writeAndDelete(const std::string &key)
If the TObject is owned by this manager, its Write() method is called and it is deleted.
Class describing a signal truth event in the MC record.
const xAOD::TruthParticle * getTruth(const xAOD::TrackParticle *const trackParticle)
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
bool doTrkInJetPlots_fake_bjets
virtual bool isValid() override final
Can the handle be successfully dereferenced?
bool doEfficienciesPerAuthor
per author plots
bool doNtupleTruthToReco
Ntuple functionality.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Class describing a truth vertex in the MC record.
bool doHitsMatchedTracksPlots
bool doResolutionPlotPrim
Resolution and "matched track" plots - filled if both reco and truth exist.
static unsigned int getLBsHigStat()
bool doVertexTruthMatchingPlots
Vertexing plots - truth requirement.
bool doMissingTruthFakePlots
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
const PtrVector & stdcont() const
Return the underlying std::vector of the container.
bool doHitsRecoTracksPlots
std::vector< ALFA_RawDataContainer_p1 > t2
bool doEffPlots
Efficiency and duplicate plots - require truth, optionally matching reco
Class describing a Vertex.
bool doTrkInJetPlots_fake
int detailLevel
detail level (kept for compatibility)
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
#define ATH_MSG_WARNING(x)
bool doTrackParameters
Plots for (selected) tracks, not necessarily truth matched.
filelist
print ("Checking files %s..." % fullfile)
bool absEta(const xAOD::TauJet &tau, double &out)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
static unsigned int lumiBlockNumber()
Class describing a TrackParticle.
virtual FourMom_t p4() const override final
The full 4-momentum of the particle.
setBGCode setTAP setLVL2ErrorBits bool
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
bool doVertexPlots
Vertexing plots - no truth requirement.
size_type size() const noexcept
Returns the number of elements in the collection.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
float beamSpotWeight() const
Weight for beam spot size reweighting.
bool doHitsFakeTracksPlots
bool doTrackParametersPerAuthor
bool eventType(EventType type) const
Check for one particular bitmask value.
float actualInteractionsPerCrossing() const
Average interactions per crossing for the current BCID - for in-time pile-up.
bool doTrkInJetPlots_unlinked