![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
#include <SCTHitEffMonTool.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...
|
|
|
| SCTHitEffMonTool (const std::string &type, const std::string &name, const IInterface *parent) |
| Constructor. More...
|
|
virtual | ~SCTHitEffMonTool ()=default |
| Destructor. More...
|
|
virtual StatusCode | initialize () override final |
|
virtual StatusCode | bookHistograms () override final |
| Histogram booking method. More...
|
|
virtual StatusCode | bookHistogramsRecurrent () override final |
| An inheriting class should either override this function, bookHists() or bookHistograms(). More...
|
|
virtual StatusCode | fillHistograms () override final |
| Histogram filling method. More...
|
|
virtual StatusCode | procHistograms () override final |
| An inheriting class should either override this function or finalHists(). 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 | convertLWHists () |
| Deal with the LW histograms. 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 | regHist (LWHist *h, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt=ATTRIB_MANAGED, const std::string &chain="", const std::string &merge="") |
| Support for lightweight histograms: More...
|
|
virtual StatusCode | regHist (LWHist *h, const MonGroup &group) |
|
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 | getHist (LWHist *&h, const std::string &hName, const std::string &system, Interval_t interval) |
|
virtual StatusCode | getHist (LWHist *&h, const std::string &hName, const MonGroup &group) |
|
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 | deregHist (LWHist *h) |
|
virtual StatusCode | deregHist (TH1 *h) |
| De-registers a TH1 from the THistSvc, but does NOT delete the object. More...
|
|
virtual StatusCode | writeAndDelete (TH1 *h, const MonGroup &group) |
| Write out histogram and delete it. 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 | regManagedLWHistograms (std::vector< MgmtParams< LWHist > > &templateLWHistograms) |
|
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< LWHist > > > | m_templateLWHistograms |
|
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 |
|
std::set< LWHist * > | m_lwhists |
|
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 |
|
|
StatusCode | failCut (bool value, const std::string &name) const |
| Method to cut on track or hit variables and automatize DEBUG statements. More...
|
|
StatusCode | findAnglesToWaferSurface (const Amg::Vector3D &mom, const Identifier id, const InDetDD::SiDetectorElementCollection *elements, double &theta, double &phi) const |
| Method to compute incident angle of track to wafer. More...
|
|
int | previousChip (double xl, int side, bool swap) const |
| Method to find the chip just before a given hit. More...
|
|
double | getResidual (const Identifier &surfaceID, const Trk::TrackParameters *trkParam, const InDet::SCT_ClusterContainer *p_sctclcontainer) const |
| Computes residual of a hit to a track. More...
|
|
template<class T > |
StatusCode | bookEffHisto (T *&histo, MonGroup &MG, TString name, TString title, int nbin, double x1, double x2) const |
| Single histogram booking method. More...
|
|
template<class T > |
StatusCode | bookEffHisto (T *&histo, MonGroup &MG, TString name, TString title, int nbinx, double x1, double x2, int nbiny, double y1, double y2) const |
|
template<class T > |
StatusCode | bookEffHisto (T *&histo, MonGroup &MG, TString name, TString title, int nbinx, double *xbins, int nbiny, double *ybins) const |
|
SCT_Monitoring::BecIndex | layerIndex2becIndex (const int index) const |
| Convert a layer/disk number (0-21) to a bec index (0,1,2) according to position of that layer Numbering is counter-intuitive, would expect C then B then A; in fact the original ordering was A, C, B I have re-ordered this!!!! so now its C,B,A. More...
|
|
int | layerIndex2layer (const int index) const |
| Convert a layer/disk number (0-21) to a layer number (0-8 for endcaps, 0-3 for barrel) More...
|
|
int | becIdxLayer2Index (const int becIdx, const int layer) const |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
std::string | m_gpath |
|
const std::map< Identifier, unsigned int > * | m_badChips {nullptr} |
|
SG::ReadHandleKey< InDet::SCT_ClusterContainer > | m_sctContainerName {this, "SCT_ClusterContainer", "SCT_Clusters"} |
|
SG::ReadHandleKey< TrackCollection > | m_TrackName {this, "TrackName", "CombinedInDetTracks"} |
|
SG::ReadHandleKey< ComTime > | m_comTimeName {this, "ComTimeKey", "TRT_Phase"} |
|
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > | m_SCTDetEleCollKey {this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"} |
|
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > | m_fieldCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj", "Name of the Magnetic Field conditions object key"} |
|
SG::ReadCondHandleKey< BunchCrossingCondData > | m_bunchCrossingKey {this, "BunchCrossingKey", "BunchCrossingData", "Key BunchCrossing CDO" } |
|
ToolHandle< Trk::IResidualPullCalculator > | m_residualPullCalculator {this, "ResPullCalc", "Trk::ResidualPullCalculator/ResidualPullCalculator"} |
|
ToolHandle< Trk::IRIO_OnTrackCreator > | m_rotcreator {this, "ROTCreator", "InDet::SCT_ClusterOnTrackTool/SCT_ClusterOnTrackTool"} |
|
ToolHandle< Trk::ITrackHoleSearchTool > | m_holeSearchTool {this, "HoleSearch", "InDet::InDetTrackHoleSearchTool"} |
|
ToolHandle< ISCT_ConfigurationConditionsTool > | m_configConditions |
|
const PixelID * | m_pixelId {nullptr} |
|
const SCT_ID * | m_sctId {nullptr} |
|
const TRT_ID * | m_trtId {nullptr} |
|
IntegerProperty | m_minSCTHits {this, "MinSCTHits", -1} |
|
IntegerProperty | m_minTRTHits {this, "MinTRTHits", -1} |
|
IntegerProperty | m_minOtherHits {this, "MinOtherHits", 6} |
|
IntegerProperty | m_minPixelHits {this, "MinPixelHits", -1} |
|
FloatProperty | m_maxPhiAngle {this, "MaxPhiAngle", 40., "Degrees, 100 implies no cut."} |
|
FloatProperty | m_maxChi2 {this, "MaxChi2", 3.} |
|
FloatProperty | m_maxD0 {this, "Maxd0", 10., "mm of D0"} |
|
FloatProperty | m_minPt {this, "MinPt", 1000., "minimu pt in MeV/c"} |
|
FloatProperty | m_effdistcut {this, "effDistanceCut", 2.} |
|
FloatProperty | m_maxZ0sinTheta {this, "MaxZ0sinTheta", 0.} |
|
UnsignedIntegerProperty | m_maxTracks {this, "MaxTracks", 500} |
|
BooleanProperty | m_insideOutOnly {this, "InsideOutOnly", false} |
|
BooleanProperty | m_isCosmic {this, "IsCosmic", false} |
|
BooleanProperty | m_useTRTPhase {this, "UseTRTPhase", false} |
|
BooleanProperty | m_useSCTorTRT {this, "UseSCTorTRT", false} |
|
BooleanProperty | m_requireEnclosingHits {this, "RequireEnclosingHits", false} |
|
BooleanProperty | m_requireOtherFace {this, "RequireOtherFace", false} |
|
BooleanProperty | m_requireGuardRing {this, "RequireGuardRing", false, "should be returned to true"} |
|
BooleanProperty | m_vetoBadChips {this, "VetoBadChips", true} |
|
BooleanProperty | m_useIDGlobal {this, "useIDGlobal", false} |
|
std::array< std::array< TProfile2D *, 2 >, SCT_Monitoring::N_LAYERS_TOTAL > | m_effMap {} |
|
std::array< std::array< TProfile2D *, 2 >, SCT_Monitoring::N_LAYERS_TOTAL > | m_effMapFirstBCID {} |
|
std::array< std::array< TProfile2D *, 2 >, SCT_Monitoring::N_LAYERS_TOTAL > | m_ineffMap {} |
|
std::array< std::array< TProfile *, 2 >, SCT_Monitoring::N_LAYERS_TOTAL > | m_effLumiBlock {} |
|
TProfile * | m_Eff_Total {nullptr} |
|
TProfile * | m_Eff_TotalBCID {nullptr} |
|
TProfile * | m_Eff_hashCodeHisto {nullptr} |
|
TProfile * | m_Eff_LumiBlockHisto_Total {nullptr} |
|
TH1F * | m_effdistribution {nullptr} |
|
TProfArray | m_Eff_summaryHisto {nullptr} |
|
TProfArray | m_Eff_summaryHistoFirstBCID {nullptr} |
|
TProfArray | m_Eff_LumiBlockHisto {nullptr} |
|
bool | m_newLowStatInterval |
|
bool | m_newMedStatInterval |
|
bool | m_newHigStatInterval |
|
bool | m_newLowStat |
|
bool | m_newLumiBlock |
|
bool | m_newRun |
|
bool | m_newEventsBlock |
|
bool | m_endOfEventsBlock |
|
bool | m_endOfLowStat |
|
bool | m_endOfLumiBlock |
|
bool | m_endOfRun |
|
SG::ReadCondHandleKey< LuminosityCondData > | m_lumiDataKey {this,"LuminosityCondDataKey","LuminosityCondData","SG Key of LuminosityCondData object"} |
|
SG::ReadCondHandleKey< LBDurationCondData > | m_lbDurationDataKey {this,"LBDurationCondDataKey","LBDurationCondData","SG Key of LBDurationCondData object"} |
|
SG::ReadCondHandleKey< TrigLiveFractionCondData > | m_trigLiveFractionDataKey {this,"TrigLiveFractionCondDataKey","TrigLiveFractionCondData","SG Key of TrigLiveFractionCondData object"} |
|
bool | m_bookHistogramsInitial |
|
bool | m_useLumi |
|
float | m_defaultLBDuration |
|
std::set< Interval_t > | m_supportedIntervalsForRebooking |
|
Imp * | m_d |
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
The tool itself
Definition at line 59 of file SCTHitEffMonTool.h.
◆ MDMap_t
◆ StoreGateSvc_t
◆ TH1FArray
◆ TH2FArray
◆ TH2FArrayLayer
◆ TProf2DArray
◆ TProfArray
◆ 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 114 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 131 of file ManagedMonitorToolBase.h.
◆ SCTHitEffMonTool()
SCTHitEffMonTool::SCTHitEffMonTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~SCTHitEffMonTool()
virtual SCTHitEffMonTool::~SCTHitEffMonTool |
( |
| ) |
|
|
virtualdefault |
◆ becIdxLayer2Index()
int SCTHitEffMonTool::becIdxLayer2Index |
( |
const int |
becIdx, |
|
|
const int |
layer |
|
) |
| const |
|
private |
◆ bookEffHisto() [1/3]
template<class T >
StatusCode SCTHitEffMonTool::bookEffHisto |
( |
T *& |
histo, |
|
|
MonGroup & |
MG, |
|
|
TString |
name, |
|
|
TString |
title, |
|
|
int |
nbin, |
|
|
double |
x1, |
|
|
double |
x2 |
|
) |
| const |
|
private |
Single histogram booking method.
Definition at line 947 of file SCTHitEffMonTool.cxx.
952 return StatusCode::SUCCESS;
◆ bookEffHisto() [2/3]
template<class T >
StatusCode SCTHitEffMonTool::bookEffHisto |
( |
T *& |
histo, |
|
|
MonGroup & |
MG, |
|
|
TString |
name, |
|
|
TString |
title, |
|
|
int |
nbinx, |
|
|
double * |
xbins, |
|
|
int |
nbiny, |
|
|
double * |
ybins |
|
) |
| const |
|
private |
◆ bookEffHisto() [3/3]
template<class T >
StatusCode SCTHitEffMonTool::bookEffHisto |
( |
T *& |
histo, |
|
|
MonGroup & |
MG, |
|
|
TString |
name, |
|
|
TString |
title, |
|
|
int |
nbinx, |
|
|
double |
x1, |
|
|
double |
x2, |
|
|
int |
nbiny, |
|
|
double |
y1, |
|
|
double |
y2 |
|
) |
| const |
|
private |
◆ bookHistograms()
StatusCode SCTHitEffMonTool::bookHistograms |
( |
| ) |
|
|
finaloverridevirtual |
Histogram booking method.
Reimplemented from ManagedMonitorToolBase.
Definition at line 180 of file SCTHitEffMonTool.cxx.
182 return StatusCode::SUCCESS;
185 ATH_MSG_WARNING(
"Running on cosmics: releasing d0 cut and forcing use of TRT timing");
190 for (
const std::pair<const Identifier, unsigned int>& chip: *
m_badChips) {
194 std::array < MonGroup, N_REGIONS_INC_GENERAL > histGroupE = {
201 std::array < MonGroup, N_REGIONS > histGroupL = {
207 std::array < MonGroup, N_REGIONS_INC_GENERAL > histGroupShift = {
229 "Efficiency vs Luminosity block", NBINS_LBs, 0.5, NBINS_LBs + 0.5));
233 "SCT Efficiency Distribution", 500, 0, 1));
239 for (
unsigned int isub{0}; isub <
N_REGIONS; ++isub) {
240 for (
int i{0};
i < n_layers[isub]; ++
i) {
242 if (detIndex == -1) {
243 ATH_MSG_WARNING(
"Subdetector region (barrel, endcap A, endcap C) could not be determined");
246 for (
int j{0}; j < 2; ++j) {
249 ineffMapName[isub] +
i +
"_" + j,
250 "Hit inefficiency of" + layerName[isub] +
i +
" / side " + j +
" in " + subDetName[isub],
251 n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5,
252 n_phibins[isub], f_phibin[isub] - .5, l_phibin[isub] + .5));
253 m_ineffMap[detIndex][j]->GetXaxis()->SetTitle(
"Index in the direction of #eta");
254 m_ineffMap[detIndex][j]->GetYaxis()->SetTitle(
"Index in the direction of #phi");
258 mapName[isub] +
i +
"_" + j,
259 "Hit efficiency of" + layerName[isub] +
i +
" / side " + j +
" in " + subDetName[isub],
260 n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5,
261 n_phibins[isub], f_phibin[isub] - .5, l_phibin[isub] + .5));
262 m_effMap[detIndex][j]->GetXaxis()->SetTitle(
"Index in the direction of #eta");
263 m_effMap[detIndex][j]->GetYaxis()->SetTitle(
"Index in the direction of #phi");
266 mapName[isub] +
i +
"_" + j +
"_bcid",
267 "Hit efficiency of" + layerName[isub] +
i +
" / side " + j +
" in " + subDetName[isub] +
" for first BCID",
268 n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5,
269 n_phibins[isub], f_phibin[isub] - .5, l_phibin[isub] + .5));
270 m_effMapFirstBCID[detIndex][j]->GetXaxis()->SetTitle(
"Index in the direction of #eta");
271 m_effMapFirstBCID[detIndex][j]->GetYaxis()->SetTitle(
"Index in the direction of #phi");
274 effLumiName[isub] +
i +
"_" + j,
275 "Efficiency vs LumiBlock of" + layerName[isub] +
i +
" / side " + j +
" in " +
277 NBINS_LBs, 0.5, NBINS_LBs + 0.5));
278 m_effLumiBlock[detIndex][j]->GetXaxis()->SetTitle(
"Luminosity Block");
285 2 * n_layers[isub], 0., n_layers[isub]));
287 sumefftitleBCID[isub], 2 * n_layers[isub], 0., n_layers[isub]));
291 for (
unsigned int i{0};
i <
limit[isub];
i++) {
294 m_Eff_summaryHisto[isub]->GetXaxis()->SetBinLabel(
i + 1, layerSide.dedicated_title().c_str());
301 "Efficiency vs Luminosity block in " + subDetName[isub], NBINS_LBs, 0.5, NBINS_LBs + 0.5));
307 return StatusCode::SUCCESS;
◆ bookHistogramsRecurrent()
StatusCode SCTHitEffMonTool::bookHistogramsRecurrent |
( |
| ) |
|
|
finaloverridevirtual |
An inheriting class should either override this function, bookHists() or bookHistograms().
Reimplemented from ManagedMonitorToolBase.
Definition at line 311 of file SCTHitEffMonTool.cxx.
313 ATH_MSG_WARNING(
"Running on cosmics: releasing d0 cut and forcing use of TRT timing");
318 for (
const std::pair<const Identifier, unsigned int>& chip: *
m_badChips) {
322 std::array < MonGroup, N_REGIONS_INC_GENERAL > histGroupE = {
329 std::array < MonGroup, N_REGIONS > histGroupL = {
335 std::array < MonGroup, N_REGIONS_INC_GENERAL > histGroupShift = {
357 "Efficiency vs Luminosity block", NBINS_LBs, 0.5, NBINS_LBs + 0.5));
359 for (
unsigned int isub{0}; isub <
N_REGIONS; ++isub) {
360 for (
int i{0};
i < n_layers[isub]; ++
i) {
362 if (detIndex == -1) {
363 ATH_MSG_WARNING(
"Detector region (barrel, endcap A, endcap C) could not be determined");
366 for (
int j{0}; j < 2; ++j) {
369 ineffMapName[isub] +
i +
"_" + j,
370 "Hit inefficiency of" + layerName[isub] +
i +
" / side " + j +
" in " + subDetName[isub],
371 n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5,
372 n_phibins[isub], f_phibin[isub] - .5, l_phibin[isub] + .5));
373 m_ineffMap[detIndex][j]->GetXaxis()->SetTitle(
"Index in the direction of #eta");
374 m_ineffMap[detIndex][j]->GetYaxis()->SetTitle(
"Index in the direction of #phi");
378 mapName[isub] +
i +
"_" + j,
379 "Hit efficiency of" + layerName[isub] +
i +
" / side " + j +
" in " + subDetName[isub],
380 n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5,
381 n_phibins[isub], f_phibin[isub] - .5, l_phibin[isub] + .5));
382 m_effMap[detIndex][j]->GetXaxis()->SetTitle(
"Index in the direction of #eta");
383 m_effMap[detIndex][j]->GetYaxis()->SetTitle(
"Index in the direction of #phi");
386 mapName[isub] +
i +
"_" + j +
"_bcid",
387 "Hit efficiency of" + layerName[isub] +
i +
" / side " + j +
" in " + subDetName[isub] +
" for first BCID",
388 n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5,
389 n_phibins[isub], f_phibin[isub] - .5, l_phibin[isub] + .5));
390 m_effMapFirstBCID[detIndex][j]->GetXaxis()->SetTitle(
"Index in the direction of #eta");
391 m_effMapFirstBCID[detIndex][j]->GetYaxis()->SetTitle(
"Index in the direction of #phi");
394 effLumiName[isub] +
i +
"_" + j,
395 "Efficiency vs LumiBlock" + layerName[isub] +
i +
" / side " + j +
" in " +
398 m_effLumiBlock[detIndex][j]->GetXaxis()->SetTitle(
"Luminosity Block");
404 2 * n_layers[isub], 0., n_layers[isub]));
406 sumefftitleBCID[isub], 2 * n_layers[isub], 0., n_layers[isub]));
410 for (
unsigned int i{0};
i <
limit[isub];
i++) {
412 m_Eff_summaryHisto[isub]->GetXaxis()->SetBinLabel(
i + 1, layerSide.dedicated_title().c_str());
418 "Efficiency vs Luminosity block in " + subDetName[isub], NBINS_LBs, 0.5, NBINS_LBs + 0.5));
424 return StatusCode::SUCCESS;
◆ bookHists()
StatusCode ManagedMonitorToolBase::bookHists |
( |
| ) |
|
|
virtualinherited |
◆ checkHists()
StatusCode ManagedMonitorToolBase::checkHists |
( |
bool |
calledFromFinalize | ) |
|
|
virtualinherited |
This implementation does nothing; equivalent functionality may be provided by procHists(...) with appropriate arguments.
Implements IMonitorToolBase.
Reimplemented in SCTHitsNoiseMonTool, SCTTracksMonTool, SCTLorentzMonTool, TileRawChannelMonTool, TileDigitsMonTool, DQTDataFlowMonTool, DQTNonCollBkg_ZDC, DQTGlobalWZFinderTool, DataQualityFatherMonTool, DQTDetSynchMonTool, DQTMuonIDTrackTool, TileCellNoiseMonTool, CscCalibMonToolBase, CscPrdValAlg, and CscRdoValAlg.
Definition at line 1901 of file ManagedMonitorToolBase.cxx.
1906 return StatusCode::SUCCESS;
◆ convertLWHists()
StatusCode ManagedMonitorToolBase::convertLWHists |
( |
| ) |
|
|
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);
◆ 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.
◆ 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.
◆ 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]
◆ deregGraph()
StatusCode ManagedMonitorToolBase::deregGraph |
( |
TGraph * |
g | ) |
|
|
virtualinherited |
◆ deregHist() [1/2]
StatusCode ManagedMonitorToolBase::deregHist |
( |
LWHist * |
h | ) |
|
|
virtualinherited |
Definition at line 1826 of file ManagedMonitorToolBase.cxx.
1830 return StatusCode::FAILURE;
1833 if (
h->usingROOTBackend()) {
1834 h->setOwnsROOTHisto(
true);
1838 return StatusCode::SUCCESS;
◆ deregHist() [2/2]
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 1861 of file ManagedMonitorToolBase.cxx.
1874 return StatusCode::SUCCESS;
◆ 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 1851 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
◆ failCut()
StatusCode SCTHitEffMonTool::failCut |
( |
bool |
value, |
|
|
const std::string & |
name |
|
) |
| const |
|
private |
Method to cut on track or hit variables and automatize DEBUG statements.
Definition at line 894 of file SCTHitEffMonTool.cxx.
897 return StatusCode::FAILURE;
900 return StatusCode::SUCCESS;
◆ fillHistograms()
StatusCode SCTHitEffMonTool::fillHistograms |
( |
| ) |
|
|
finaloverridevirtual |
Histogram filling method.
Reimplemented from ManagedMonitorToolBase.
Definition at line 430 of file SCTHitEffMonTool.cxx.
434 double timecor{-20.};
437 if (theComTime.isValid()) {
438 timecor = theComTime->getTime();
446 const EventContext& ctx{Gaudi::Hive::currentContext()};
447 const EventIDBase& pEvent{ctx.eventID()};
448 unsigned BCID{pEvent.bunch_crossing_id()};
451 if (!bcidHdl.isValid()) {
452 ATH_MSG_ERROR(
"Unable to retrieve BunchCrossing conditions object" );
453 return StatusCode::FAILURE;
460 if (fieldCondObj==
nullptr) {
461 ATH_MSG_ERROR(
"AtlasFieldCacheCondObj cannot be retrieved.");
462 return StatusCode::RECOVERABLE;
465 fieldCondObj->getInitializedCache(fieldCache);
466 const bool solenoidOn{fieldCache.
solenoidOn()};
470 if (not tracks.isValid()) {
472 return StatusCode::SUCCESS;
478 if (not p_sctclcontainer.isValid()) {
480 return StatusCode::SUCCESS;
486 return StatusCode::SUCCESS;
492 if (elements==
nullptr) {
494 return StatusCode::FAILURE;
500 if (pthisTrack==
nullptr) {
503 if (
failCut(pthisTrack and pthisTrack->trackParameters() and pthisTrack->trackParameters()->size(),
504 "track cut: presence")) {
509 "track cut: inside-out only")) {
512 if (pthisTrack->perigeeParameters() ==
nullptr) {
515 const Trk::Perigee* perigee{pthisTrack->perigeeParameters()};
521 if (solenoidOn and
failCut(perigee->pT() >=
m_minPt,
"track cut: Min Pt")) {
535 if (pthisTrack==
nullptr) {
538 if (
failCut(pthisTrack and pthisTrack->trackParameters() and pthisTrack->trackParameters()->size(),
539 "track cut: presence")) {
544 "track cut: inside-out only")) {
547 if (pthisTrack->perigeeParameters() ==
nullptr) {
550 const Trk::Perigee* perigee{pthisTrack->perigeeParameters()};
572 std::unique_ptr<const Trk::Track> trackWithHoles(
m_holeSearchTool->getTrackWithHoles(*pthisTrack));
573 if (not trackWithHoles) {
577 ATH_MSG_VERBOSE(
"Found " << trackWithHoles->trackStateOnSurfaces()->size() <<
" states on track");
584 std::map < Identifier, double > mapOfTrackHitResiduals;
589 float min_layerSide{999.};
590 float max_layerSide{-1.};
591 Identifier surfaceID;
595 surfaceID = surfaceOnTrackIdentifier(tsos);
597 if (not surfaceID.is_valid()) {
609 mapOfTrackHitResiduals[surfaceID] =
getResidual(surfaceID, tsos->trackParameters(), &*p_sctclcontainer);
616 if (tsos->trackParameters()) {
617 zpos = tsos->trackParameters()->position().z();
621 ATH_MSG_WARNING(
"No track parameter found. Zmin and Zmax not recalculated.");
627 min_layerSide =
std::min(min_layerSide, layerSide);
628 max_layerSide =
std::max(max_layerSide, layerSide);
639 std::vector<bool> layersCrossedByTrack[
N_REGIONS];
640 std::vector<int> nHolesOnLayer[
N_REGIONS];
641 std::vector<int> nHolesDistOnLayer[
N_REGIONS];
643 nHolesDistOnLayer[
i].resize(n_layers[
i] * 2, 0);
644 nHolesOnLayer[
i].resize(n_layers[
i] * 2, 0);
645 layersCrossedByTrack[
i].resize(n_layers[
i] * 2,
false);
650 surfaceID = surfaceOnTrackIdentifier(tsos);
662 if (detIndex == -1) {
663 ATH_MSG_WARNING(
"The detector region (barrel, endcap A, endcap C) could not be determined");
666 int histnumber{detIndex};
670 float layerPlusHalfSide{
static_cast<float>(
layer) +
static_cast<float>(
side) * 0.5f};
671 float dedicated_layerPlusHalfSide{
static_cast<float>(
layer) +
static_cast<float>((
side + 1) % 2) * 0.5
f};
673 double trackHitResidual{
getResidual(surfaceID, trkParamOnSurface, &*p_sctclcontainer)};
684 bool otherFaceFound{
false};
685 IdentifierHash otherSideHash;
686 Identifier otherSideSurfaceID;
689 m_sctId->
get_id(otherSideHash, otherSideSurfaceID, &context);
690 otherFaceFound = mapOfTrackHitResiduals.find(otherSideSurfaceID) != mapOfTrackHitResiduals.end();
692 int nOther{sctNHits};
706 sctNHits >=
m_minSCTHits,
"track cut: min TRT or SCT hits")) {
730 static const double tmin{-15.};
731 static const double tmax{10.};
732 if (
failCut((timecor >= tmin) and (timecor <= tmax),
"track cut: timing cut")) {
738 bool enclosingHits{
true};
740 if (tsos->trackParameters()) {
741 zpos = tsos->trackParameters()->position().z();
742 enclosingHits = ((zpos >
zmin) and (zpos <
zmax));
744 ATH_MSG_WARNING(
"No track parameters found. Cannot determine whether it is an enclosed hit.");
745 enclosingHits =
false;
750 + (
static_cast<float>(
m_sctId->
side(surfaceID)) == 0) * 0.5;
751 enclosingHits = ((layerSide > min_layerSide) and (layerSide < max_layerSide));
755 (not (layerPlusHalfSide == 0.5)) and
756 (not ((isub == 1) and (layerPlusHalfSide == 3))) and
757 (not (layerPlusHalfSide == 8))) {
758 if (
failCut(enclosingHits,
"hit cut: enclosing hits")) {
764 double chi2{trackWithHoles->fitQuality()->chiSquared()};
765 int ndf{trackWithHoles->fitQuality()->numberDoF()};
766 double chi2_div_ndf{
ndf > 0. ?
chi2 /
ndf : -1.};
780 if (not trkParamOnSurface)
continue;
781 double xl{trkParamOnSurface->localPosition()[0]};
782 double yl{trkParamOnSurface->localPosition()[1]};
785 bool insideGuardRing{
true};
788 static const float yGuard{3.};
789 if (xl < -30.7 + xGuard) {
790 insideGuardRing =
false;
792 if (xl > 30.7 - xGuard) {
793 insideGuardRing =
false;
796 static const double yend{63.960 + 0.03 - 1.};
797 static const double ydead{2.06 / 2.};
798 if (yl > yend - yGuard) {
799 insideGuardRing =
false;
801 if (yl < -yend + yGuard) {
802 insideGuardRing =
false;
804 if ((yl < ydead + yGuard) and (yl > -ydead - yGuard)) {
805 insideGuardRing =
false;
809 insideGuardRing =
true;
817 bool nearBadChip{
false};
820 bool swap{(pElement->swapPhiReadoutDirection()) ?
true :
false};
823 std::map<Identifier, unsigned int>::const_iterator badChip{
m_badChips->find(module_id)};
825 status = (*badChip).second;
827 const bool nearBadChipDead{(
status & (1 << chipPos)) != 0};
828 const bool nextBadChipDead{(
status & (1 << (chipPos + 1))) != 0};
829 const bool isNotEndChip{(chipPos != 5) and (chipPos != 11)};
834 nearBadChip = nearBadChipDead or (isNotEndChip and nextBadChipDead);
854 if ( BCIDpos <= 0 ) {
861 ATH_MSG_INFO(
"Filling " << histnumber <<
", " <<
side <<
" eta " << ieta <<
" phi " << iphi);
866 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 792 of file ManagedMonitorToolBase.cxx.
798 msg(MSG::WARNING) <<
"ManagedMonitorToolBase::initialize() never called from reimplementation!" <<
endmsg;
809 newLumiBlock =
false;
815 newLowStatInterval =
false;
816 newMedStatInterval =
false;
817 newHigStatInterval =
false;
830 isNewEventsBlock =
true;
845 if( LBsLowStat*LBsMedStat*LBsHigStat == 0) {
846 msg(MSG::WARNING) <<
"zero LBs requested for interval" <<
endmsg;
898 std::vector<Interval_t> intervals_to_process;
903 for (
const auto interval: intervals_to_process) {
916 it.m_templateHist->LabelsInflate(
"X");
923 TH1* passedHist =
it.m_templateHist->GetCopyPassedHisto();
924 TH1* totalHist =
it.m_templateHist->GetCopyTotalHisto();
927 passedHist->LabelsInflate(
"X");
928 totalHist->LabelsInflate(
"X");
933 it.m_templateHist->SetPassedHistogram(*passedHist,
"f");
934 it.m_templateHist->SetTotalHistogram(*totalHist,
" ");
942 streamname->updateRunLB();
958 bool filterresult(
true);
961 for (; filterresult && (ifilter != filterend);
963 filterresult = (filterresult && (*ifilter)->accept());
993 if( LBsLowStat*LBsMedStat*LBsHigStat > 0) {
1001 return StatusCode::SUCCESS;
◆ finalHists()
StatusCode ManagedMonitorToolBase::finalHists |
( |
| ) |
|
|
virtualinherited |
◆ findAnglesToWaferSurface()
Method to compute incident angle of track to wafer.
Definition at line 917 of file SCTHitEffMonTool.cxx.
928 return StatusCode::FAILURE;
930 double pNormal{
mom.dot(element->normal())};
931 double pEta{
mom.dot(element->etaAxis())};
932 double pPhi{
mom.dot(element->phiAxis())};
943 return StatusCode::SUCCESS;
◆ get_nEvents()
unsigned int ManagedMonitorToolBase::get_nEvents |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ get_procNEventsProp()
long ManagedMonitorToolBase::get_procNEventsProp |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ getHist() [1/6]
◆ getHist() [2/6]
StatusCode ManagedMonitorToolBase::getHist |
( |
LWHist *& |
h, |
|
|
const std::string & |
hName, |
|
|
const std::string & |
system, |
|
|
Interval_t |
interval |
|
) |
| |
|
virtualinherited |
◆ getHist() [3/6]
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 1598 of file ManagedMonitorToolBase.cxx.
◆ getHist() [4/6]
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 1588 of file ManagedMonitorToolBase.cxx.
◆ getHist() [5/6]
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 1640 of file ManagedMonitorToolBase.cxx.
◆ getHist() [6/6]
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 1630 of file ManagedMonitorToolBase.cxx.
◆ getNewStreamNameFcn()
|
protectedvirtualinherited |
◆ getResidual()
Computes residual of a hit to a track.
Definition at line 976 of file SCTHitEffMonTool.cxx.
978 double trackHitResidual{-999.};
980 if (trkParam==
nullptr) {
981 ATH_MSG_WARNING(
"Not track parameters found. Returning default residual value.");
982 return trackHitResidual;
986 if (containerIterator !=
nullptr) {
988 if ((cluster==
nullptr) or (cluster->detectorElement()==
nullptr)) {
994 std::unique_ptr<const Trk::RIO_OnTrack> rio{
m_rotcreator->correct(*rioo, *trkParam)};
998 if (not residualPull)
continue;
999 if (std::abs(residualPull->residual()[
Trk::loc1]) < std::abs(trackHitResidual)) {
1000 trackHitResidual = residualPull->residual()[
Trk::loc1];
1006 return trackHitResidual;
◆ initialize()
StatusCode SCTHitEffMonTool::initialize |
( |
| ) |
|
|
finaloverridevirtual |
◆ 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 587 of file ManagedMonitorToolBase.cxx.
590 std::string
str(
"file");
◆ intervalStringToEnum()
Converts a string to the corresponding Interval_t.
Definition at line 629 of file ManagedMonitorToolBase.cxx.
632 std::string lcstr( strToLower(
str) );
636 else if( lcstr ==
"fill" )
638 else if( lcstr ==
"run" )
640 else if( lcstr ==
"lowStat" )
642 else if( lcstr ==
"medStat" )
644 else if( lcstr ==
"higStat" )
646 else if( lcstr ==
"lumiBlock" )
648 else if( lcstr ==
"eventsBlock" )
650 else if( lcstr ==
"file" )
656 if(
sc.isSuccess() ) {
657 MsgStream
log(
ms,
"ManagedMonitorToolBase::intervalStringToEnum()" );
658 log << MSG::WARNING <<
"Unknown ManagedMonitorToolBase::Interval_t \""
659 <<
str <<
"\", returning \"file\"" <<
endmsg;
◆ layerIndex2becIndex()
Convert a layer/disk number (0-21) to a bec index (0,1,2) according to position of that layer Numbering is counter-intuitive, would expect C then B then A; in fact the original ordering was A, C, B I have re-ordered this!!!! so now its C,B,A.
Definition at line 1010 of file SCTHitEffMonTool.cxx.
◆ layerIndex2layer()
int SCTHitEffMonTool::layerIndex2layer |
( |
const int |
index | ) |
const |
|
private |
Convert a layer/disk number (0-21) to a layer number (0-8 for endcaps, 0-3 for barrel)
Definition at line 1019 of file SCTHitEffMonTool.cxx.
◆ lbAverageInteractionsPerCrossing()
float ManagedMonitorToolBase::lbAverageInteractionsPerCrossing |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Average mu, i.e.
<mu>
Definition at line 1923 of file ManagedMonitorToolBase.cxx.
1928 return lumi->lbAverageInteractionsPerCrossing();
1931 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 1992 of file ManagedMonitorToolBase.cxx.
2000 return live->lbAverageLiveFraction();
2003 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 1959 of file ManagedMonitorToolBase.cxx.
1964 return lumi->lbAverageLuminosity();
1967 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 2046 of file ManagedMonitorToolBase.cxx.
2054 return dur->lbDuration();
2057 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 1939 of file ManagedMonitorToolBase.cxx.
1944 float muToLumi =
lumi->muToLumi();
1946 return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id()) / muToLumi;
1951 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 1975 of file ManagedMonitorToolBase.cxx.
1980 return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id());
1983 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 2030 of file ManagedMonitorToolBase.cxx.
2037 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 2011 of file ManagedMonitorToolBase.cxx.
2019 return live->l1LiveFractionVector().at (ctx.eventID().bunch_crossing_id());
2022 ATH_MSG_DEBUG(
"Warning: livefractionPerBCID() - luminosity retrieved available (i.e. EnableLumi = False)");
◆ 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 |
◆ preSelector()
bool ManagedMonitorToolBase::preSelector |
( |
| ) |
|
|
virtualinherited |
◆ previousChip()
int SCTHitEffMonTool::previousChip |
( |
double |
xl, |
|
|
int |
side, |
|
|
bool |
swap |
|
) |
| const |
|
private |
Method to find the chip just before a given hit.
Definition at line 904 of file SCTHitEffMonTool.cxx.
905 double xLeftEdge{xl +
N_STRIPS / 2. * stripWidth};
906 int chipPos{
static_cast<int>(xLeftEdge / (stripWidth *
N_STRIPS) *
N_CHIPS)};
909 chipPos =
swap ? 5 - chipPos : chipPos;
911 chipPos =
swap ? 11 - chipPos : 6 + chipPos;
◆ procHistograms()
StatusCode SCTHitEffMonTool::procHistograms |
( |
| ) |
|
|
finaloverridevirtual |
An inheriting class should either override this function or finalHists().
Reimplemented from ManagedMonitorToolBase.
Definition at line 870 of file SCTHitEffMonTool.cxx.
873 for (
int isub{0}; isub <
N_REGIONS; ++isub) {
874 for (
int i{0};
i < n_layers[isub]; ++
i) {
876 if (detIndex != -1) {
877 for (
int j{0}; j < 2; ++j) {
878 for (
int xbin{1}; xbin <
m_effMap[detIndex][j]->GetNbinsX() + 1; xbin++) {
879 for (
int ybin{1}; ybin <
m_effMap[detIndex][j]->GetNbinsY() + 1; ybin++) {
880 if (
m_effMap[detIndex][j]->GetBinEntries(
m_effMap[detIndex][j]->GetBin(xbin, ybin)) == 0) {
890 return StatusCode::SUCCESS;
◆ 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 1648 of file ManagedMonitorToolBase.cxx.
1650 return StatusCode::FAILURE;
1652 TGraph*
g =
reinterpret_cast<TGraph*
>(
e);
1653 std::string
name =
e->GetName();
1659 ATH_MSG_WARNING(
"HEY! Attempting to register "<<
name<<
" as a per-LB histogram, but not setting the merge algorithm! Use \"merge\", at least.");
1666 return StatusCode::FAILURE;
1676 std::string genericName = NoOutputStream().getStreamName(
this,
group,
name );
1683 if (
smd != StatusCode::SUCCESS)
1684 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 1702 of file ManagedMonitorToolBase.cxx.
1706 return StatusCode::FAILURE;
1719 return StatusCode::FAILURE;
1722 std::string
name =
g->GetName();
1730 std::string gName =
g->GetName();
1733 std::string genericName = NoOutputStream().getStreamName(
this,
group, gName );
1741 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 1692 of file ManagedMonitorToolBase.cxx.
◆ regHist() [1/4]
Definition at line 1522 of file ManagedMonitorToolBase.cxx.
1528 return StatusCode::FAILURE;
1540 return StatusCode::FAILURE;
1547 std::string hName =
h->GetName();
1551 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1577 if (
h->usingROOTBackend())
1579 h->setOwnsROOTHisto(
false);
1583 return StatusCode::SUCCESS;
◆ regHist() [2/4]
◆ regHist() [3/4]
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 1462 of file ManagedMonitorToolBase.cxx.
1468 return StatusCode::FAILURE;
1481 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.");
1488 return StatusCode::FAILURE;
1491 std::string hName =
h->GetName();
1499 std::string hName =
h->GetName();
1502 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1510 if (
smd != StatusCode::SUCCESS)
return StatusCode::FAILURE;
◆ regHist() [4/4]
◆ registerMetadata()
StatusCode ManagedMonitorToolBase::registerMetadata |
( |
const std::string & |
streamName, |
|
|
const std::string & |
hName, |
|
|
const MonGroup & |
group |
|
) |
| |
|
protectedinherited |
Definition at line 1005 of file ManagedMonitorToolBase.cxx.
1011 size_t found=mdStreamName.rfind(
'/');
1013 if (
found != std::string::npos )
1014 mdStreamName.replace(
found, mdStreamName.length(),
"/metadata" );
1018 metadata =
new TTree(
"metadata",
"Monitoring Metadata" );
1019 if (!
metadata)
return StatusCode::FAILURE;
1021 if (scmd == StatusCode::FAILURE)
return StatusCode::FAILURE;
1022 MDMap_t::value_type valToInsert( mdStreamName,
new OutputMetadata(
metadata) );
1028 return StatusCode::SUCCESS;
◆ regManagedEfficiencies()
StatusCode ManagedMonitorToolBase::regManagedEfficiencies |
( |
std::vector< MgmtParams< TEfficiency > > & |
templateEfficiencies | ) |
|
|
protectedinherited |
Definition at line 1200 of file ManagedMonitorToolBase.cxx.
1201 bool allIsOk =
true;
1202 for(
auto&
it : templateEfficiencies ) {
1205 TEfficiency* theEfficiency =
it.m_templateHist;
1206 TEfficiency*
e =
static_cast<TEfficiency*
>(theEfficiency->Clone());
1207 int nbins = theEfficiency->GetTotalHistogram()->GetNbinsX();
1208 int xlow = theEfficiency->GetTotalHistogram()->GetXaxis()->GetXmin();
1209 int xhigh = theEfficiency->GetTotalHistogram()->GetXaxis()->GetXmax();
1210 e->SetBins(
nbins,xlow,xhigh);
1211 std::string
name =
e->GetName();
1214 TGraph* theGraph =
reinterpret_cast<TGraph*
>(theEfficiency);
1215 TGraph*
g =
reinterpret_cast<TGraph*
>(
e);
1223 if (sc1 == StatusCode::FAILURE) allIsOk =
false;
1225 bool doneCleaning =
false;
1227 TSeqCollection *
filelist=gROOT->GetListOfFiles();
1232 if (sc2 == StatusCode::SUCCESS) doneCleaning =
true;
1235 if (!doneCleaning) {
1236 ATH_MSG_ERROR(
"THistSvc_deReg_fixTGraph: failed to apply TGraph fix for the THist Svc!");
1241 if (sc3 == StatusCode::FAILURE)
1248 if (
smd != StatusCode::SUCCESS) allIsOk =
false;
1251 if (sc4 == StatusCode::FAILURE) allIsOk =
false;
1254 if (!allIsOk)
return StatusCode::FAILURE;
1255 return StatusCode::SUCCESS;
◆ regManagedGraphs()
StatusCode ManagedMonitorToolBase::regManagedGraphs |
( |
std::vector< MgmtParams< TGraph > > & |
templateGraphs | ) |
|
|
protectedinherited |
Definition at line 1129 of file ManagedMonitorToolBase.cxx.
1133 bool allIsOk =
true;
1135 for( std::vector< MgmtParams<TGraph> >::
iterator it = templateGraphs.begin();
it != templateGraphs.end(); ++
it ) {
1136 MonGroup
group = (*it).m_group;
1139 TGraph* theGraph = (*it).m_templateHist;
1142 TGraph*
g =
static_cast<TGraph*
>(theGraph->Clone());
1146 std::string gName =
g->GetName();
1153 if (sc1 == StatusCode::FAILURE)
1158 bool doneCleaning =
false;
1160 TSeqCollection *
filelist=gROOT->GetListOfFiles();
1165 if (sc2 == StatusCode::SUCCESS)
1166 doneCleaning =
true;
1170 if (!doneCleaning) {
1171 ATH_MSG_ERROR(
"THistSvc_deReg_fixTGraph: failed to apply TGraph fix for the THist Svc!");
1178 if (sc3 == StatusCode::FAILURE)
1185 if (
smd != StatusCode::SUCCESS)
1190 if (sc4 == StatusCode::FAILURE)
1195 if (!allIsOk)
return StatusCode::FAILURE;
1197 return StatusCode::SUCCESS;
◆ regManagedHistograms()
StatusCode ManagedMonitorToolBase::regManagedHistograms |
( |
std::vector< MgmtParams< TH1 > > & |
templateHistograms | ) |
|
|
protectedinherited |
Definition at line 1032 of file ManagedMonitorToolBase.cxx.
1047 bool allIsOk =
true;
1049 for( std::vector< MgmtParams<TH1> >::
iterator it = templateHistograms.begin();
it != templateHistograms.end(); ++
it ) {
1050 MonGroup&
group = (*it).m_group;
1053 TH1* theHist = (*it).m_templateHist;
1056 TH1*
h =
static_cast<TH1*
>(theHist->Clone());
1060 std::string hName =
h->GetName();
1067 if (sc1 == StatusCode::FAILURE) allIsOk =
false;
1071 if (sc2 == StatusCode::FAILURE) allIsOk =
false;
1074 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1083 if (
smd != StatusCode::SUCCESS) allIsOk =
false;
1087 if (sc3 == StatusCode::FAILURE) allIsOk =
false;
1091 if (!allIsOk)
return StatusCode::FAILURE;
1093 return StatusCode::SUCCESS;
◆ regManagedLWHistograms()
StatusCode ManagedMonitorToolBase::regManagedLWHistograms |
( |
std::vector< MgmtParams< LWHist > > & |
templateLWHistograms | ) |
|
|
protectedinherited |
◆ regManagedTrees()
StatusCode ManagedMonitorToolBase::regManagedTrees |
( |
std::vector< MgmtParams< TTree > > & |
templateTrees | ) |
|
|
protectedinherited |
Definition at line 1260 of file ManagedMonitorToolBase.cxx.
1264 bool allIsOk =
true;
1266 for( std::vector< MgmtParams<TTree> >::
iterator it = templateTrees.begin();
it != templateTrees.end(); ++
it ) {
1267 MonGroup
group = (*it).m_group;
1270 TTree* theTree = (*it).m_templateHist;
1273 TTree*
t =
static_cast<TTree*
>(theTree->Clone());
1277 std::string
name =
t->GetName();
1284 if (sc1 == StatusCode::FAILURE) allIsOk =
false;
1288 if (sc2 == StatusCode::FAILURE) allIsOk =
false;
1291 std::string genericName = NoOutputStream().getStreamName(
this,
group,
name );
1300 if (
smd != StatusCode::SUCCESS) allIsOk =
false;
1304 if (sc3 == StatusCode::FAILURE) allIsOk =
false;
1308 if (!allIsOk)
return StatusCode::FAILURE;
1310 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 1758 of file ManagedMonitorToolBase.cxx.
1773 return StatusCode::FAILURE;
1776 std::string
name =
t->GetName();
1777 std::string genericName = NoOutputStream().getStreamName(
this, group_unmanaged,
name );
1785 std::string tName =
t->GetName();
1788 std::string genericName = NoOutputStream().getStreamName(
this,
group, tName );
1796 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 1748 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 1893 of file ManagedMonitorToolBase.cxx.
1896 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 502 of file ManagedMonitorToolBase.cxx.
506 msg(MSG::ERROR) <<
"!! streamNameFunction() has not been initialized !!" <<
endmsg;
507 msg(MSG::ERROR) <<
" --> neither ManagedMonitorToolBase::initialize() nor" <<
endmsg;
508 msg(MSG::ERROR) <<
" --> ManagedMonitorToolBase::setMonManager() has been called." <<
endmsg;
509 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 1097 of file ManagedMonitorToolBase.cxx.
1107 GlobalDirectoryRestore restore;
1110 bool graphRemoved =
false;
1113 TDirectory*
dir =
file->GetDirectory(directoryName.c_str());
1116 TObject*
obj =
dir->Remove(theGraph);
1118 graphRemoved =
true;
1121 if (!graphRemoved) {
1122 return StatusCode::FAILURE;
1125 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 2362 of file ManagedMonitorToolBase.cxx.
2364 for (
size_t i = 0;
i < vTrigChainNames.size(); ++
i) {
2365 std::string& thisName = vTrigChainNames[
i];
2366 if (thisName.compare(0, 9,
"CATEGORY_") ==0) {
2367 ATH_MSG_DEBUG(
"Found a trigger category: " << thisName <<
". We will unpack it.");
2369 std::ostringstream oss;
2371 for (
size_t itrig = 0; itrig <
triggers.size(); ++itrig) {
2379 std::string newval = oss.str();
2381 vTrigChainNames[
i] = newval;
◆ updateVHKA()
◆ writeAndDelete()
StatusCode ManagedMonitorToolBase::writeAndDelete |
( |
TH1 * |
h, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Write out histogram and delete it.
Definition at line 1803 of file ManagedMonitorToolBase.cxx.
1806 return StatusCode::FAILURE;
1808 std::string hName =
h->GetName();
1811 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1814 return StatusCode::SUCCESS;
◆ m_badChips
const std::map<Identifier, unsigned int>* SCTHitEffMonTool::m_badChips {nullptr} |
|
private |
◆ m_bookHistogramsInitial
bool ManagedMonitorToolBase::m_bookHistogramsInitial |
|
privateinherited |
◆ m_bunchCrossingKey
◆ m_comTimeName
◆ m_configConditions
Initial value:{this, "ConfigConditions",
"SCT_ConfigurationConditionsTool/InDetSCT_ConfigurationConditionsTool", "Tool to retrieve SCT Configuration Tool"}
Definition at line 138 of file SCTHitEffMonTool.h.
◆ m_d
Imp* ManagedMonitorToolBase::m_d |
|
privateinherited |
◆ m_dataType
◆ m_dataTypeStr
std::string ManagedMonitorToolBase::m_dataTypeStr |
|
protectedinherited |
◆ m_defaultLBDuration
float ManagedMonitorToolBase::m_defaultLBDuration |
|
privateinherited |
◆ m_detailLevel
unsigned int ManagedMonitorToolBase::m_detailLevel |
|
protectedinherited |
◆ m_detStore
◆ m_DQFilterTools
ToolHandleArray<IDQFilterTool> ManagedMonitorToolBase::m_DQFilterTools {this,"FilterTools",{}} |
|
protectedinherited |
◆ m_Eff_hashCodeHisto
TProfile* SCTHitEffMonTool::m_Eff_hashCodeHisto {nullptr} |
|
private |
◆ m_Eff_LumiBlockHisto
TProfArray SCTHitEffMonTool::m_Eff_LumiBlockHisto {nullptr} |
|
private |
◆ m_Eff_LumiBlockHisto_Total
TProfile* SCTHitEffMonTool::m_Eff_LumiBlockHisto_Total {nullptr} |
|
private |
◆ m_Eff_summaryHisto
TProfArray SCTHitEffMonTool::m_Eff_summaryHisto {nullptr} |
|
private |
◆ m_Eff_summaryHistoFirstBCID
TProfArray SCTHitEffMonTool::m_Eff_summaryHistoFirstBCID {nullptr} |
|
private |
◆ m_Eff_Total
TProfile* SCTHitEffMonTool::m_Eff_Total {nullptr} |
|
private |
◆ m_Eff_TotalBCID
TProfile* SCTHitEffMonTool::m_Eff_TotalBCID {nullptr} |
|
private |
◆ m_effdistcut
FloatProperty SCTHitEffMonTool::m_effdistcut {this, "effDistanceCut", 2.} |
|
private |
◆ m_effdistribution
TH1F* SCTHitEffMonTool::m_effdistribution {nullptr} |
|
private |
◆ m_effLumiBlock
◆ m_effMap
◆ m_effMapFirstBCID
◆ 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_evtStore
◆ m_fieldCondObjInputKey
◆ m_fileKey
std::string ManagedMonitorToolBase::m_fileKey |
|
protectedinherited |
◆ m_gpath
std::string SCTHitEffMonTool::m_gpath |
|
private |
◆ m_haveClearedLastEventBlock
bool ManagedMonitorToolBase::m_haveClearedLastEventBlock |
|
protectedinherited |
◆ m_holeSearchTool
◆ m_ineffMap
◆ m_insideOutOnly
BooleanProperty SCTHitEffMonTool::m_insideOutOnly {this, "InsideOutOnly", false} |
|
private |
◆ m_isCosmic
BooleanProperty SCTHitEffMonTool::m_isCosmic {this, "IsCosmic", false} |
|
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_lumiDataKey
◆ m_lwhists
std::set<LWHist*> ManagedMonitorToolBase::m_lwhists |
|
protectedinherited |
◆ m_manager
◆ m_managerNameProp
std::string ManagedMonitorToolBase::m_managerNameProp |
|
protectedinherited |
◆ m_maxChi2
FloatProperty SCTHitEffMonTool::m_maxChi2 {this, "MaxChi2", 3.} |
|
private |
◆ m_maxD0
FloatProperty SCTHitEffMonTool::m_maxD0 {this, "Maxd0", 10., "mm of D0"} |
|
private |
◆ m_maxPhiAngle
FloatProperty SCTHitEffMonTool::m_maxPhiAngle {this, "MaxPhiAngle", 40., "Degrees, 100 implies no cut."} |
|
private |
◆ m_maxTracks
UnsignedIntegerProperty SCTHitEffMonTool::m_maxTracks {this, "MaxTracks", 500} |
|
private |
◆ m_maxZ0sinTheta
FloatProperty SCTHitEffMonTool::m_maxZ0sinTheta {this, "MaxZ0sinTheta", 0.} |
|
private |
◆ m_metadataMap
MDMap_t ManagedMonitorToolBase::m_metadataMap |
|
protectedinherited |
◆ m_minOtherHits
IntegerProperty SCTHitEffMonTool::m_minOtherHits {this, "MinOtherHits", 6} |
|
private |
◆ m_minPixelHits
IntegerProperty SCTHitEffMonTool::m_minPixelHits {this, "MinPixelHits", -1} |
|
private |
◆ m_minPt
FloatProperty SCTHitEffMonTool::m_minPt {this, "MinPt", 1000., "minimu pt in MeV/c"} |
|
private |
◆ m_minSCTHits
IntegerProperty SCTHitEffMonTool::m_minSCTHits {this, "MinSCTHits", -1} |
|
private |
◆ m_minTRTHits
IntegerProperty SCTHitEffMonTool::m_minTRTHits {this, "MinTRTHits", -1} |
|
private |
◆ 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_path
std::string ManagedMonitorToolBase::m_path |
|
protectedinherited |
◆ m_pixelId
◆ m_preScaleProp
long ManagedMonitorToolBase::m_preScaleProp |
|
protectedinherited |
◆ m_procNEventsProp
long ManagedMonitorToolBase::m_procNEventsProp |
|
protectedinherited |
◆ m_requireEnclosingHits
BooleanProperty SCTHitEffMonTool::m_requireEnclosingHits {this, "RequireEnclosingHits", false} |
|
private |
◆ m_requireGuardRing
BooleanProperty SCTHitEffMonTool::m_requireGuardRing {this, "RequireGuardRing", false, "should be returned to true"} |
|
private |
◆ m_requireOtherFace
BooleanProperty SCTHitEffMonTool::m_requireOtherFace {this, "RequireOtherFace", false} |
|
private |
◆ m_residualPullCalculator
◆ m_rotcreator
◆ m_sctContainerName
◆ m_SCTDetEleCollKey
◆ m_sctId
◆ 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_templateLWHistograms
◆ m_templateTrees
◆ m_THistSvc
◆ m_TrackName
◆ 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_trtId
◆ m_useIDGlobal
BooleanProperty SCTHitEffMonTool::m_useIDGlobal {this, "useIDGlobal", false} |
|
private |
◆ m_useLumi
bool ManagedMonitorToolBase::m_useLumi |
|
privateinherited |
◆ m_useSCTorTRT
BooleanProperty SCTHitEffMonTool::m_useSCTorTRT {this, "UseSCTorTRT", false} |
|
private |
◆ m_useTrigger
bool ManagedMonitorToolBase::m_useTrigger |
|
protectedinherited |
◆ m_useTRTPhase
BooleanProperty SCTHitEffMonTool::m_useTRTPhase {this, "UseTRTPhase", false} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vetoBadChips
BooleanProperty SCTHitEffMonTool::m_vetoBadChips {this, "VetoBadChips", true} |
|
private |
◆ m_vhka
◆ m_vTrigChainNames
std::vector<std::string> ManagedMonitorToolBase::m_vTrigChainNames |
|
protectedinherited |
◆ m_vTrigGroupNames
std::vector<std::string> ManagedMonitorToolBase::m_vTrigGroupNames |
|
protectedinherited |
The documentation for this class was generated from the following files:
virtual LWHist * ownedLWHistOfKey(const std::string &key) const
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
bool is_pixel(Identifier id) const
unsigned int bec2Index(const int bec)
virtual LWHist * writeAndDeleteLWHist(const std::string &key, const std::string &streamName)
Scalar phi() const
phi method
bool is_sct(Identifier id) const
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
virtual LWHist * writeAndResetLWHist(const std::string &key, const std::string &streamName)
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
static unsigned int runNumber()
virtual std::string fileKey() const
Scalar theta() const
theta method
virtual void passOwnership(TObject *h, const std::string &key)
Pass ownership of a TObject/LWHist to this manager so that it will be deleted appropriately.
@ Unbiased
RP with track state that has measurement not included.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool msgLvl(const MSG::Level lvl) const
static void setStreamName(LWHist *, const std::string &streamName)
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
bool is_trt(Identifier id) const
int phi_module(const Identifier &id) const
#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.
Identifier module_id(int barrel_ec, int layer_disk, int phi_module, int eta_module) const
For a single crystal.
static unsigned int getLBsLowStat()
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
virtual int get_id(const IdentifierHash &hash_id, Identifier &id, const IdContext *context=0) const override final
Create compact id from hash id (return == 0 for OK)
static Environment_t environment()
Returns the running environment of the monitoring application to help ManagedMonitorToolBase objects ...
@ Outlier
This TSoS contains an outlier, that is, it contains a MeasurementBase/RIO_OnTrack which was not used ...
static const std::string & streamName(LWHist *)
static unsigned int getLBsMedStat()
bool usingROOTBackend() const
static void removeCustomData(LWHist *)
static DataType_t dataType()
Returns the data type that the monitoring application is running over to help ManagedMonitorToolBase ...
static const std::string & key(LWHist *)
@ Hole
A hole on the track - this is defined in the following way.
::StatusCode StatusCode
StatusCode definition for legacy code.
@ numberOfSCTHits
number of SCT holes
virtual void writeAndDelete(const std::string &key)
If the TObject is owned by this manager, its Write() method is called and it is deleted.
@ BunchCrossings
Distance in units of 25 nanoseconds.
double chi2(TH1 *h0, TH1 *h1)
IdContext wafer_context(void) const
IdentifierHash wafer_hash(const Identifier &wafer_id) const
wafer hash from id - optimized
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.
int get_other_side(const IdentifierHash &id, IdentifierHash &other) const
Wafer hash on other side.
void fcn(int &, double *, double &result, double par[], int)
this is where we write out chi2
bool solenoidOn() const
status of the magnets
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
std::string print_to_string(Identifier id, const IdContext *context=0) const
or provide the printout in string form
represents the track state (measurement, material, fit parameters and quality) at a surface.
static void hideErrorLocus(bool flag=true)
If set to true, hide the source file and line number in the output.
A summary of the information contained by a track.
static unsigned int getLBsHigStat()
static void setKey(LWHist *, const std::string &key)
int layer_disk(const Identifier &id) const
StatusCode initialize(bool used=true)
void setOwnsROOTHisto(bool b)
@ SiSPSeededFinder
Tracks from SiSPSeedFinder.
#define ATH_MSG_WARNING(x)
filelist
print ("Checking files %s..." % fullfile)
int eta_module(const Identifier &id) const
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
int side(const Identifier &id) const
static unsigned int lumiBlockNumber()
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module, int side) const
For a single side of module.
Trk::PrepRawDataCollection< SCT_Cluster > SCT_ClusterCollection
virtual TH1 * getROOTHistBase()=0
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
const SiDetectorElement * getDetectorElement(const IdentifierHash &hash) const
@ Measurement
This is a measurement, and will at least contain a Trk::MeasurementBase.