 |
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, V, H > &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 |
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
}
|
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::vector< SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > > | m_linkTrkDecor |
|
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\""} |
|
StringProperty | m_setCSVName {this, "setCSVName", "", "convert AOD to a scv file"} |
|
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::ofstream | m_datfile |
|
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 64 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 1641 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 1631 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 915 of file InDetPhysValMonitoringTool.cxx.
918 if (cutFlow.empty()) {
919 names.emplace_back(
"preCut");
920 cutFlow.push_back(0);
921 for (
unsigned int i = 0;
i !=
accept.getNCuts(); ++
i) {
922 cutFlow.push_back(0);
928 bool cutPositive =
true;
929 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 320 of file InDetPhysValMonitoringTool.cxx.
325 const EventContext& ctx = Gaudi::Hive::currentContext();
329 if (not trackHandle.isValid()) {
331 return StatusCode::FAILURE;
342 ATH_MSG_WARNING(
"Shouldn't happen - EventInfo is buggy, setting mu to 0");
350 return StatusCode::SUCCESS;
354 std::vector<const xAOD::TruthParticle*> truthParticlesVec =
getTruthParticles(ctx);
363 unsigned int truthMu = 0;
366 truthMu =
static_cast<int>( truthPileupEventContainer->
size() );
371 float puEvents = truthMu>0 ? truthMu : actualMu;
375 float beamSpotWeight = 1;
378 ATH_MSG_DEBUG(
"Getting number of pu interactings per event");
384 nVertices = not vertices->empty() ? vertices->size() : 0;
386 ATH_MSG_DEBUG(
"beamSpotWeight is equal to " << beamSpotWeight);
390 if(readDecorHandle.isAvailable()) prwWeight = readDecorHandle(*pie);
391 ATH_MSG_DEBUG(
"Applying pileup weight equal to " << prwWeight);
392 beamSpotWeight *= prwWeight;
395 if (vertices.isValid() and not vertices->empty()) {
396 ATH_MSG_DEBUG(
"Number of vertices retrieved for this event " << vertices->size());
402 ATH_MSG_DEBUG(
"Failed to find a hard scatter vertex in this event.");
408 std::pair<std::vector<const xAOD::TruthVertex*>, std::vector<const xAOD::TruthVertex*>> truthVertices =
getTruthVertices(ctx);
409 std::vector<const xAOD::TruthVertex*> truthHSVertices = truthVertices.first;
410 std::vector<const xAOD::TruthVertex*> truthPUVertices = truthVertices.second;
417 m_monPlots->fill(*vertices, primaryvertex, truthHSVertices, truthPUVertices, actualMu, beamSpotWeight);
421 m_monPlots->fill(*vertices, truthMu, actualMu, beamSpotWeight);
438 const auto& stdVertexContainer = truthVrt->
stdcont();
440 auto findVtx = std::find_if(stdVertexContainer.rbegin(), stdVertexContainer.rend(), acceptTruthVertex);
441 truthVertex = (findVtx == stdVertexContainer.rend()) ?
nullptr : *findVtx;
445 if (not truthVertex)
ATH_MSG_INFO (
"Truth vertex did not pass cuts");
450 unsigned int nSelectedTruthTracks(0), nSelectedRecoTracks(0), nSelectedMatchedTracks(0), nAssociatedTruth(0), nMissingAssociatedTruth(0), nTruths(0);
459 std::map<const xAOD::TruthParticle*, std::vector<const xAOD::TrackParticle*>> cacheTruthMatching {};
461 std::vector<const xAOD::TrackParticle*> selectedTracks {};
462 selectedTracks.reserve(tracks->
size());
463 unsigned int nTrackTOT = 0;
464 unsigned int nTrackCentral = 0;
465 unsigned int nTrackPt1GeV = 0;
466 for (
const auto *
const thisTrack: *tracks) {
472 selectedTracks.push_back(thisTrack);
474 nSelectedRecoTracks++;
480 if (std::abs(thisTrack->eta()) < 2.5)
485 float prob = getMatchingProbability(*thisTrack);
488 if (associatedTruth) {
495 tmp_truth_cutflow.update(
passed.missingCuts() );
499 nSelectedMatchedTracks++;
500 bool truthIsFromB =
false;
504 m_monPlots->fill(*thisTrack, *associatedTruth, truthIsFromB, puEvents, beamSpotWeight);
508 const bool isAssociatedTruth = associatedTruth !=
nullptr;
511 if(!isAssociatedTruth) nMissingAssociatedTruth++;
512 m_monPlots->fillFakeRate(*thisTrack,
isFake, isAssociatedTruth, puEvents, beamSpotWeight);
518 if (isAssociatedTruth) {
523 auto cachedAssoc = cacheTruthMatching.find(associatedTruth);
525 if (cachedAssoc == cacheTruthMatching.end()) {
527 cacheTruthMatching[associatedTruth] = {thisTrack};
531 cachedAssoc->second.push_back(thisTrack);
536 m_monPlots->fillNtuple(*thisTrack, primaryvertex);
544 for (
auto& cachedAssoc: cacheTruthMatching) {
551 std::sort(cachedAssoc.second.begin(), cachedAssoc.second.end(),
557 for (
int itrack = 0; itrack < (
int) cachedAssoc.second.size(); itrack++) {
561 m_monPlots->fillNtuple(*thisTrack, *thisTruth, primaryvertex, itrack);
567 m_monPlots->fill(nTrackTOT, nTrackCentral, nTrackPt1GeV, truthMu, actualMu,
nVertices, beamSpotWeight);
573 m_truthCutFlow.merge(std::move(tmp_truth_cutflow));
579 for (
int itruth = 0; itruth < (
int) truthParticlesVec.size(); itruth++) {
586 ++nSelectedTruthTracks;
587 bool isEfficient(
false);
588 float matchingProbability{};
592 auto cachedAssoc = cacheTruthMatching.find(thisTruth);
594 if (cachedAssoc == cacheTruthMatching.end()) {
596 cacheTruthMatching[thisTruth] = {};
598 m_monPlots->fillDuplicate(*thisTruth, cacheTruthMatching[thisTruth], beamSpotWeight);
605 for (
const auto& thisTrack: selectedTracks) {
607 if (associatedTruth && associatedTruth == thisTruth) {
608 float prob = getMatchingProbability(*thisTrack);
610 matchingProbability =
prob;
612 matchedTrack = thisTrack;
622 <<puEvents<<
","<<
nVertices<<
","<<matchingProbability<<std::endl;
625 ATH_MSG_ERROR(
"An error occurred: Truth particle for tracking efficiency calculation is a nullptr");
627 else if (isEfficient && !matchedTrack){
628 ATH_MSG_ERROR(
"Something went wrong - we log a truth particle as reconstructed, but the reco track is a nullptr! Bailing out... ");
631 ATH_MSG_DEBUG(
"Filling efficiency plots info monitoring plots");
632 m_monPlots->fillEfficiency(*thisTruth, matchedTrack, isEfficient, truthMu, actualMu, beamSpotWeight);
634 ATH_MSG_DEBUG(
"Filling technical efficiency plots info monitoring plots");
636 if (nSilHitsAcc.isAvailable(*thisTruth)) {
638 m_monPlots->fillTechnicalEfficiency(*thisTruth, isEfficient,
639 truthMu, actualMu, beamSpotWeight);
642 ATH_MSG_DEBUG(
"Cannot fill technical efficiency. Missing si hit information for truth particle.");
660 if (nSelectedRecoTracks == nMissingAssociatedTruth) {
665 ATH_MSG_DEBUG(nAssociatedTruth <<
" tracks out of " << tracks->size() <<
" had associated truth.");
684 return StatusCode::SUCCESS;
◆ fillHistogramsTrackingInDenseEnvironment()
Definition at line 955 of file InDetPhysValMonitoringTool.cxx.
965 if (truthParticles.empty()) {
966 ATH_MSG_WARNING(
"No entries in TruthParticles truth particle container. Skipping jet plots.");
967 return StatusCode::SUCCESS;
971 if (not jetHandle.isValid()) {
973 return StatusCode::SUCCESS;
983 if (not btagLabel.isAvailable(*thisJet)){
986 isBjet = (btagLabel(*thisJet) == 5);
990 if(not ghosttruth.isAvailable(*thisJet)) {
994 if (not
el.isValid())
continue;
1005 bool isEfficient(
false);
1007 for (
const auto *thisTrack: tracks) {
1013 if (associatedTruth and associatedTruth == truth) {
1014 float prob = getMatchingProbability(*thisTrack);
1022 bool truthIsFromB =
false;
1024 truthIsFromB =
true;
1026 m_monPlots->fillEfficiency(*truth, *thisJet, isEfficient, isBjet, truthIsFromB, beamSpotWeight);
1036 if (thisJet->p4().DeltaR(thisTrack->p4()) >
m_maxTrkJetDR) {
1040 float prob = getMatchingProbability(*thisTrack);
1044 const bool unlinked = (associatedTruth==
nullptr);
1046 bool truthIsFromB =
false;
1048 truthIsFromB =
true;
1050 m_monPlots->fill(*thisTrack, *thisJet, isBjet,
isFake, unlinked, truthIsFromB, beamSpotWeight);
1051 if (associatedTruth){
1052 m_monPlots->fillFakeRate(*thisTrack, *thisJet,
isFake, isBjet, truthIsFromB, beamSpotWeight);
1058 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 739 of file ManagedMonitorToolBase.cxx.
745 msg(MSG::WARNING) <<
"ManagedMonitorToolBase::initialize() never called from reimplementation!" <<
endmsg;
756 newLumiBlock =
false;
762 newLowStatInterval =
false;
763 newMedStatInterval =
false;
764 newHigStatInterval =
false;
777 isNewEventsBlock =
true;
792 if( LBsLowStat*LBsMedStat*LBsHigStat == 0) {
793 msg(MSG::WARNING) <<
"zero LBs requested for interval" <<
endmsg;
845 std::vector<Interval_t> intervals_to_process;
850 for (
const auto interval: intervals_to_process) {
862 it.m_templateHist->LabelsInflate(
"X");
869 TH1* passedHist =
it.m_templateHist->GetCopyPassedHisto();
870 TH1* totalHist =
it.m_templateHist->GetCopyTotalHisto();
873 passedHist->LabelsInflate(
"X");
874 totalHist->LabelsInflate(
"X");
879 it.m_templateHist->SetPassedHistogram(*passedHist,
"f");
880 it.m_templateHist->SetTotalHistogram(*totalHist,
" ");
888 streamname->updateRunLB();
898 bool filterresult(
true);
901 for (; filterresult && (ifilter != filterend);
903 filterresult = (filterresult && (*ifilter)->accept());
933 if( LBsLowStat*LBsMedStat*LBsHigStat > 0) {
941 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 189 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 1417 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 1407 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 1436 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 1426 of file ManagedMonitorToolBase.cxx.
◆ getIndexByEta()
◆ getNewStreamNameFcn()
|
protectedvirtualinherited |
Definition at line 2155 of file ManagedMonitorToolBase.cxx.
2158 StreamNameFcn* fcn(0);
2162 fcn =
new NoOutputStream();
2165 fcn =
new OnlineStream();
◆ getTruthParticles()
Definition at line 774 of file InDetPhysValMonitoringTool.cxx.
776 std::vector<const xAOD::TruthParticle*> tempVec {};
783 if (not truthParticleContainer.isValid()) {
786 tempVec.insert(tempVec.begin(), truthParticleContainer->begin(), truthParticleContainer->end());
792 const xAOD::TruthEvent*
event = (truthEventContainer.isValid()) ? truthEventContainer->at(0) :
nullptr;
796 const auto&
links =
event->truthParticleLinks();
797 tempVec.reserve(
event->nTruthParticles());
798 for (
const auto& link :
links) {
800 tempVec.push_back(*link);
809 if (truthPileupEventContainer.isValid()) {
810 const unsigned int nPileup = truthPileupEventContainer->size();
811 tempVec.reserve(nPileup * 200);
812 for (
unsigned int i(0);
i != nPileup; ++
i) {
813 const auto *eventPileup = truthPileupEventContainer->at(
i);
815 int ntruth = eventPileup->nTruthParticles();
816 ATH_MSG_VERBOSE(
"Adding " << ntruth <<
" truth particles from TruthPileupEvents container");
817 const auto&
links = eventPileup->truthParticleLinks();
818 for (
const auto& link :
links) {
820 tempVec.push_back(*link);
◆ getTruthVertices()
Definition at line 836 of file InDetPhysValMonitoringTool.cxx.
838 std::vector<const xAOD::TruthVertex*> truthHSVertices = {};
839 truthHSVertices.reserve(5);
840 std::vector<const xAOD::TruthVertex*> truthPUVertices = {};
841 truthPUVertices.reserve(100);
864 if (truthEventContainer.isValid()) {
865 for (
const auto *
const evt : *truthEventContainer) {
866 truthVtx =
evt->signalProcessVertex();
868 truthHSVertices.push_back(truthVtx);
882 if (truthPileupEventContainer.isValid()) {
883 for (
const auto *
const evt : *truthPileupEventContainer) {
888 size_t i_vtx = 0;
size_t n_vtx =
evt->nTruthVertices();
889 while(!truthVtx && i_vtx<n_vtx){
890 truthVtx =
evt->truthVertex(i_vtx);
895 truthPUVertices.push_back(truthVtx);
905 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 115 of file InDetPhysValMonitoringTool.cxx.
133 (
nullptr,
static_cast<std::string
>(
m_dirName) +
static_cast<std::string
>(
m_folder),
144 std::vector<std::string> trk_decorations;
160 std::vector<std::string> required_float_track_decorations {
"d0",
"hitResiduals_residualLocX",
"d0err"};
161 std::vector<std::string> required_int_track_decorations {};
162 std::vector<std::string> required_float_truth_decorations {
"d0"};
163 std::vector<std::string> required_int_truth_decorations {};
164 std::vector<std::string> required_int_jet_decorations {
"HadronConeExclTruthLabelID"};
169 m_datfile <<
"EvtNumber,PdgID,Px,Py,Pz,E,Pt,Eta,Phi,Mass,numPU,numvtx,MatchProb"<<std::endl;
171 std::string empty_prefix;
185 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 535 of file ManagedMonitorToolBase.cxx.
538 std::string
str(
"file");
◆ intervalStringToEnum()
Converts a string to the corresponding Interval_t.
Definition at line 577 of file ManagedMonitorToolBase.cxx.
580 std::string lcstr( strToLower(
str) );
584 else if( lcstr ==
"fill" )
586 else if( lcstr ==
"run" )
588 else if( lcstr ==
"lowStat" )
590 else if( lcstr ==
"medStat" )
592 else if( lcstr ==
"higStat" )
594 else if( lcstr ==
"lumiBlock" )
596 else if( lcstr ==
"eventsBlock" )
598 else if( lcstr ==
"file" )
604 MsgStream
log(
ms,
"ManagedMonitorToolBase::intervalStringToEnum()" );
605 log << MSG::WARNING <<
"Unknown ManagedMonitorToolBase::Interval_t \""
606 <<
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 1691 of file ManagedMonitorToolBase.cxx.
1696 return lumi->lbAverageInteractionsPerCrossing();
1699 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 1760 of file ManagedMonitorToolBase.cxx.
1768 return live->lbAverageLiveFraction();
1771 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 1727 of file ManagedMonitorToolBase.cxx.
1732 return lumi->lbAverageLuminosity();
1735 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 1814 of file ManagedMonitorToolBase.cxx.
1822 return dur->lbDuration();
1825 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 1707 of file ManagedMonitorToolBase.cxx.
1712 float muToLumi =
lumi->muToLumi();
1714 return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id()) / muToLumi;
1719 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 1743 of file ManagedMonitorToolBase.cxx.
1748 return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id());
1751 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 1798 of file ManagedMonitorToolBase.cxx.
1805 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 1779 of file ManagedMonitorToolBase.cxx.
1787 return live->l1LiveFractionVector().at (ctx.eventID().bunch_crossing_id());
1790 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 1444 of file ManagedMonitorToolBase.cxx.
1446 return StatusCode::FAILURE;
1448 TGraph*
g =
reinterpret_cast<TGraph*
>(
e);
1449 std::string
name =
e->GetName();
1455 ATH_MSG_WARNING(
"HEY! Attempting to register "<<
name<<
" as a per-LB histogram, but not setting the merge algorithm! Use \"merge\", at least.");
1462 return StatusCode::FAILURE;
1472 std::string genericName = NoOutputStream().getStreamName(
this,
group,
name );
1479 if (
smd != StatusCode::SUCCESS)
1480 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 1498 of file ManagedMonitorToolBase.cxx.
1502 return StatusCode::FAILURE;
1515 return StatusCode::FAILURE;
1518 std::string
name =
g->GetName();
1526 std::string gName =
g->GetName();
1529 std::string genericName = NoOutputStream().getStreamName(
this,
group, gName );
1537 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 1488 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 1352 of file ManagedMonitorToolBase.cxx.
1358 return StatusCode::FAILURE;
1371 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.");
1378 return StatusCode::FAILURE;
1381 std::string hName =
h->GetName();
1389 std::string hName =
h->GetName();
1392 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1400 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 1343 of file ManagedMonitorToolBase.cxx.
◆ registerMetadata()
StatusCode ManagedMonitorToolBase::registerMetadata |
( |
const std::string & |
streamName, |
|
|
const std::string & |
hName, |
|
|
const MonGroup & |
group |
|
) |
| |
|
protectedinherited |
Definition at line 945 of file ManagedMonitorToolBase.cxx.
951 size_t found=mdStreamName.rfind(
'/');
953 if (
found != std::string::npos )
954 mdStreamName.replace(
found, mdStreamName.length(),
"/metadata" );
958 metadata =
new TTree(
"metadata",
"Monitoring Metadata" );
959 if (!
metadata)
return StatusCode::FAILURE;
961 if (scmd == StatusCode::FAILURE)
return StatusCode::FAILURE;
967 return StatusCode::SUCCESS;
◆ regManagedEfficiencies()
StatusCode ManagedMonitorToolBase::regManagedEfficiencies |
( |
std::vector< MgmtParams< TEfficiency > > & |
templateEfficiencies | ) |
|
|
protectedinherited |
Definition at line 1139 of file ManagedMonitorToolBase.cxx.
1140 bool allIsOk =
true;
1141 for(
auto&
it : templateEfficiencies ) {
1144 TEfficiency* theEfficiency =
it.m_templateHist;
1145 TEfficiency*
e =
static_cast<TEfficiency*
>(theEfficiency->Clone());
1146 int nbins = theEfficiency->GetTotalHistogram()->GetNbinsX();
1147 int xlow = theEfficiency->GetTotalHistogram()->GetXaxis()->GetXmin();
1148 int xhigh = theEfficiency->GetTotalHistogram()->GetXaxis()->GetXmax();
1149 e->SetBins(
nbins,xlow,xhigh);
1150 std::string
name =
e->GetName();
1153 TGraph* theGraph =
reinterpret_cast<TGraph*
>(theEfficiency);
1154 TGraph*
g =
reinterpret_cast<TGraph*
>(
e);
1162 if (sc1 == StatusCode::FAILURE) allIsOk =
false;
1164 bool doneCleaning =
false;
1166 TSeqCollection *
filelist=gROOT->GetListOfFiles();
1171 if (sc2 == StatusCode::SUCCESS) doneCleaning =
true;
1174 if (!doneCleaning) {
1175 ATH_MSG_ERROR(
"THistSvc_deReg_fixTGraph: failed to apply TGraph fix for the THist Svc!");
1180 if (sc3 == StatusCode::FAILURE)
1187 if (
smd != StatusCode::SUCCESS) allIsOk =
false;
1190 if (sc4 == StatusCode::FAILURE) allIsOk =
false;
1193 if (!allIsOk)
return StatusCode::FAILURE;
1194 return StatusCode::SUCCESS;
◆ regManagedGraphs()
StatusCode ManagedMonitorToolBase::regManagedGraphs |
( |
std::vector< MgmtParams< TGraph > > & |
templateGraphs | ) |
|
|
protectedinherited |
Definition at line 1068 of file ManagedMonitorToolBase.cxx.
1072 bool allIsOk =
true;
1074 for( std::vector< MgmtParams<TGraph> >::
iterator it = templateGraphs.begin();
it != templateGraphs.end(); ++
it ) {
1075 MonGroup
group = (*it).m_group;
1078 TGraph* theGraph = (*it).m_templateHist;
1081 TGraph*
g =
static_cast<TGraph*
>(theGraph->Clone());
1085 std::string gName =
g->GetName();
1092 if (sc1 == StatusCode::FAILURE)
1097 bool doneCleaning =
false;
1099 TSeqCollection *
filelist=gROOT->GetListOfFiles();
1104 if (sc2 == StatusCode::SUCCESS)
1105 doneCleaning =
true;
1109 if (!doneCleaning) {
1110 ATH_MSG_ERROR(
"THistSvc_deReg_fixTGraph: failed to apply TGraph fix for the THist Svc!");
1117 if (sc3 == StatusCode::FAILURE)
1124 if (
smd != StatusCode::SUCCESS)
1129 if (sc4 == StatusCode::FAILURE)
1134 if (!allIsOk)
return StatusCode::FAILURE;
1136 return StatusCode::SUCCESS;
◆ regManagedHistograms()
StatusCode ManagedMonitorToolBase::regManagedHistograms |
( |
std::vector< MgmtParams< TH1 > > & |
templateHistograms | ) |
|
|
protectedinherited |
Definition at line 971 of file ManagedMonitorToolBase.cxx.
988 for( std::vector< MgmtParams<TH1> >::
iterator it = templateHistograms.begin();
it != templateHistograms.end(); ++
it ) {
989 MonGroup&
group = (*it).m_group;
992 TH1* theHist = (*it).m_templateHist;
995 TH1*
h =
static_cast<TH1*
>(theHist->Clone());
999 std::string hName =
h->GetName();
1006 if (sc1 == StatusCode::FAILURE) allIsOk =
false;
1010 if (sc2 == StatusCode::FAILURE) allIsOk =
false;
1013 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1022 if (
smd != StatusCode::SUCCESS) allIsOk =
false;
1026 if (sc3 == StatusCode::FAILURE) allIsOk =
false;
1030 if (!allIsOk)
return StatusCode::FAILURE;
1032 return StatusCode::SUCCESS;
◆ regManagedTrees()
StatusCode ManagedMonitorToolBase::regManagedTrees |
( |
std::vector< MgmtParams< TTree > > & |
templateTrees | ) |
|
|
protectedinherited |
Definition at line 1199 of file ManagedMonitorToolBase.cxx.
1203 bool allIsOk =
true;
1205 for( std::vector< MgmtParams<TTree> >::
iterator it = templateTrees.begin();
it != templateTrees.end(); ++
it ) {
1206 MonGroup
group = (*it).m_group;
1209 TTree* theTree = (*it).m_templateHist;
1212 TTree*
t =
static_cast<TTree*
>(theTree->Clone());
1216 std::string
name =
t->GetName();
1223 if (sc1 == StatusCode::FAILURE) allIsOk =
false;
1227 if (sc2 == StatusCode::FAILURE) allIsOk =
false;
1230 std::string genericName = NoOutputStream().getStreamName(
this,
group,
name );
1239 if (
smd != StatusCode::SUCCESS) allIsOk =
false;
1243 if (sc3 == StatusCode::FAILURE) allIsOk =
false;
1247 if (!allIsOk)
return StatusCode::FAILURE;
1249 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 1554 of file ManagedMonitorToolBase.cxx.
1569 return StatusCode::FAILURE;
1572 std::string
name =
t->GetName();
1573 std::string genericName = NoOutputStream().getStreamName(
this, group_unmanaged,
name );
1581 std::string tName =
t->GetName();
1584 std::string genericName = NoOutputStream().getStreamName(
this,
group, tName );
1592 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 1544 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 1661 of file ManagedMonitorToolBase.cxx.
1664 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 450 of file ManagedMonitorToolBase.cxx.
454 msg(MSG::ERROR) <<
"!! streamNameFunction() has not been initialized !!" <<
endmsg;
455 msg(MSG::ERROR) <<
" --> neither ManagedMonitorToolBase::initialize() nor" <<
endmsg;
456 msg(MSG::ERROR) <<
" --> ManagedMonitorToolBase::setMonManager() has been called." <<
endmsg;
457 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 1036 of file ManagedMonitorToolBase.cxx.
1046 GlobalDirectoryRestore restore;
1049 bool graphRemoved =
false;
1052 TDirectory*
dir =
file->GetDirectory(directoryName.c_str());
1055 TObject*
obj =
dir->Remove(theGraph);
1057 graphRemoved =
true;
1060 if (!graphRemoved) {
1061 return StatusCode::FAILURE;
1064 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 2130 of file ManagedMonitorToolBase.cxx.
2132 for (
size_t i = 0;
i < vTrigChainNames.size(); ++
i) {
2133 std::string& thisName = vTrigChainNames[
i];
2134 if (thisName.compare(0, 9,
"CATEGORY_") ==0) {
2135 ATH_MSG_DEBUG(
"Found a trigger category: " << thisName <<
". We will unpack it.");
2137 std::ostringstream oss;
2139 for (
size_t itrig = 0; itrig <
triggers.size(); ++itrig) {
2147 std::string newval = oss.str();
2149 vTrigChainNames[
i] = std::move(newval);
◆ updateVHKA()
◆ writeAndDelete()
StatusCode ManagedMonitorToolBase::writeAndDelete |
( |
TH1 * |
h, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Write out histogram and delete it.
Definition at line 1599 of file ManagedMonitorToolBase.cxx.
1602 return StatusCode::FAILURE;
1604 std::string hName =
h->GetName();
1607 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1610 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_datfile
std::ofstream InDetPhysValMonitoringTool::m_datfile |
|
private |
◆ 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_linkTrkDecor
◆ 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_setCSVName
StringProperty InDetPhysValMonitoringTool::m_setCSVName {this, "setCSVName", "", "convert AOD to a scv file"} |
|
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:
def retrieve(aClass, aKey=None)
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
uint64_t eventNumber() const
The current event's event number.
float pz() const
The z component of the particle's momentum.
bool isFake(int matchInfo)
bool doTrkInJetPlots_matched_bjets
bool doResolutionPlotSecd
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)
float px() const
The x component of the particle's momentum.
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
float py() const
The y component of the particle's momentum.
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
bool doHitsRecoTracksPlotsPerAuthor
static unsigned int getLBsLowStat()
bool absEta(const xAOD::TauJet &tau, float &out)
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()
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
static DataType_t dataType()
Returns the data type that the monitoring application is running over to help ManagedMonitorToolBase ...
virtual double e() const override final
The total energy of the particle.
Handle class for reading a decoration on an object.
bool doTrkInJetPlots_bjets
POOL::TEvent event(POOL::TEvent::kClassAccess)
::StatusCode StatusCode
StatusCode definition for legacy code.
helper struct - steer the configuration from the parent tool's side
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
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.
static void neededTrackParticleDecorations(std::vector< std::string > &decorations)
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.
Class describing the basic event information.
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
virtual double phi() const override final
The azimuthal angle ( ) of the particle.
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)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
virtual double pt() const override final
The transverse momentum ( ) of the particle.
static unsigned int lumiBlockNumber()
Class describing a TrackParticle.
virtual FourMom_t p4() const override final
The full 4-momentum of the particle.
int pdgId() const
PDG ID code.
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.
float beamSpotWeight() const
Weight for beam spot size reweighting.
virtual double m() const override final
The mass of the particle.
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