ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
CscCalibMonToolPed Class Reference

Class for monitoring pedestal calibration results. More...

#include <CscCalibMonToolPed.h>

Inheritance diagram for CscCalibMonToolPed:
Collaboration diagram for CscCalibMonToolPed:

Public Types

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

Public Member Functions

 CscCalibMonToolPed (const std::string &type, const std::string &name, const IInterface *parent)
 Constructor. More...
 
 ~CscCalibMonToolPed ()
 Destructor. More...
 
StatusCode initialize ()
 initialize function. More...
 
StatusCode finalize ()
 finalize function. More...
 
StatusCode bookHistograms ()
 Books all histograms not retrieved driectly from CscCalcPed. More...
 
virtual StatusCode fillHistograms ()
 Standard function for a ManagedMonitorToolBase. More...
 
virtual StatusCode procHistograms ()
 At end of run this processes the calibration results and fills the histograms. More...
 
virtual StatusCode checkHists (bool fromFinalise)
 Standard function for a ManagedMonitorToolBase. More...
 
virtual StreamNameFcnstreamNameFunction ()
 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 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
 

Static Public Member Functions

static std::string intervalEnumToString (Interval_t interval)
 Converts a LevelOfDetail_t to a string of the same name. More...
 
static Interval_t intervalStringToEnum (const std::string &str)
 Converts a string to the corresponding Interval_t. More...
 
static const InterfaceID & interfaceID ()
 

Protected Types

typedef std::map< std::string, OutputMetadata * > MDMap_t
 

Protected Member Functions

virtual StatusCode bookHistCollection (HistCollection *histCollection, std::string dataTypeName, std::string dataTypeTitle, std::string categoryName, std::string categoryTitle, std::string axisLabel, int numBins, float lowBound, float highBound, std::string parDir="", uint16_t toSkip=0)
 Initializes the histograms in a histCollection and books them. More...
 
virtual StatusCode bookLayHists (std::string histTypeDir, std::string parTypeDir, std::vector< TH1F * > &vector, std::string namePrefix, std::string titlePrefix, std::string xaxis, std::string yaxis, bool chanView=true, bool ignoreY=false, unsigned int numBins=100, float lowBound=0, float highbound=100)
 Books a vector of histograms where each one corresponds to a layer of the CSC secbers. More...
 
virtual StatusCode bookChamHists (std::string histTypeDir, std::string parTypeDir, std::vector< TH1F * > &histVector, std::string namePrefix, std::string titlePrefix, std::string xaxis="", std::string yaxis="", bool chanView=true, bool ignoreY=false, unsigned int numBins=100, float lowBound=0, float highbound=100)
 Books a vector of histograms where each one corresponds to a secber of the CSC secbers. More...
 
virtual StatusCode procParameter (const CscCalibResultCollection *parVals, ProcSetupInfo *simpleSet)
 Processors a parameter type. More...
 
virtual StatusCode copyDataToHists (HistCollection *histCollection)
 Fills the histograms in the histCollection based on the data in the std::vector in the HistCollection. More...
 
virtual int getLayIndex (int measuresPhi, int stationEta, int sector, int layer)
 produces a unique number for every layer in the detector More...
 
virtual int getChamIndex (int measuresPhi, int stationEta, int sector)
 Produces a unique number for every secber in the detector. More...
 
virtual int getSector (int stationPhi, int stationSize)
 Produces a sector number from the phi and size of a station. More...
 
std::string getEndCap (int eta)
 Gets the letter endcap (A or C) for a given eta index (1,-1) More...
 
std::string getGeoPath (int eta=-9999, int sector=-9999, int wireLayer=-9999, int measuresPhi=-9999, int channel=-9999)
 getGeoPath creates a directory structure for a histogram based upon where it is in the CSC geometry. More...
 
std::string getFullPath (const std::string &geoPath, const std::string &histTypeDir, const std::string &parTypeDir)
 Geo path creates a directory structure for a histogram based upon its geoPath, the hist type dir (spectrum of values, per-channel values, etc), and the parTypeDir (pedestal, etc). More...
 
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 StreamNameFcngetNewStreamNameFcn () 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...
 

Protected Attributes

unsigned int m_maxHashId {}
 
unsigned int m_maxChamId {}
 
unsigned int m_numBad {}
 
unsigned int m_expectedChamberLayer {}
 
bool m_makeHashHists {}
 Data output options. More...
 
bool m_makeAllChan1dHists {}
 
bool m_makeAllChan2dHists {}
 
bool m_makeLayHists {}
 
bool m_makeLaySummHists {}
 
bool m_makeChamProfs {}
 
bool m_makeChamSummHists {}
 
bool m_makeChamHists {}
 
bool m_doAllDetailed {}
 
bool m_doBadDetailed {}
 
int m_maxDetailedChannels {}
 To keep track of channels that should have more data printed to root file. More...
 
bool * m_detailedHashIds {}
 
bool m_onlyExpectPrecisionHashIds {}
 Hash Ids one would expect to be in calibration data. More...
 
std::set< int > m_expectedHashIdsAll
 
std::set< int > m_expectedHashIdsPrec
 
std::string m_hashName
 Naming info. More...
 
std::string m_hashTitle
 
std::string m_allChan1dName
 
std::string m_allChan1dTitle
 
std::string m_allChan2dName
 
std::string m_allChan2dTitle
 
std::string m_chamProfName
 
std::string m_chamProfTitle
 
std::string m_layHistName
 
std::string m_layHistTitle
 
std::string m_chamSummHistName
 
std::string m_chamSummHistTitle
 
std::string m_chamHistName
 
std::string m_chamHistTitle
 
std::string m_laySummHistName
 
std::string m_laySummHistTitle
 
int m_histCol {}
 Hist colors. More...
 
int m_histColAlert {}
 
std::string m_generic_path_csccalibmonitoring
 Path of histograms. More...
 
std::string m_hashPath
 
std::string m_allChan2dPath
 
std::string m_chamProfPath
 
std::string m_layHistPath
 
std::string m_chamSummHistPath
 
std::string m_laySummHistPath
 
DataVector< MonGroup > * m_monGroupVec {}
 Keeps track of MonGroups. More...
 
std::map< std::string, MonGroup * > m_monGroupMap
 
std::string m_calibResultKey
 Calibration result storegate key. More...
 
ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
 
SG::ReadCondHandleKey< CscCondDbDatam_readKey {this, "ReadKey", "CscCondDbData", "Key of CscCondDbData"}
 Access to COOL database. More...
 
bool m_doStatDb {}
 
HistCollectionm_statDbColl {}
 
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
 
AthenaMonManagerm_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
 
StreamNameFcnm_streamNameFcn
 
ServiceHandle< ITHistSvc > m_THistSvc
 
PublicToolHandle< Trig::ITrigDecisionToolm_trigDecTool {this, "TrigDecisionTool",""}
 
PublicToolHandle< ITriggerTranslatorToolm_trigTranslator {this,"TriggerTranslatorTool",""}
 
ToolHandleArray< IDQFilterToolm_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
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

virtual StatusCode handleParameter (const CscCalibResultCollection *parVals)
 handleParameter sets things up for the base class procParameter. More...
 
virtual StatusCode postProc ()
 postProc does some post processing work after the main parameter histograms are filled More...
 
void genThreshold (HistCollection *pedColl, HistCollection *noiseColl, HistCollection *tholdColl, float multiplier)
 
void makeErrorReport ()
 
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...
 

Private Attributes

TH1F * m_h_pedMissingChannels
 Histograms that simply histogram all entries for a value. More...
 
float m_pedMaxDiff
 Allowed deviations from COOL data. More...
 
float m_noiseMaxDiff
 
float m_rmsMaxDiff
 
float m_f001MaxDiff
 
float m_onlTHoldBreachMax
 
float m_chi2Max
 Allowed maximum values. More...
 
int m_minAmpHistEntries
 Allowed number of entries. More...
 
std::string m_allGoodFileName
 name of file indicating all is well More...
 
std::string m_statusReportName
 Status report name. More...
 
std::string m_statusReportPrefix
 Status report prefix. More...
 
bool m_doBitCorrelations
 DO bit correlation plots?". More...
 
int m_pedBadBin
 Bin in m_h_numBen corresponding to each type of data. More...
 
int m_noiseBadBin
 
int m_rmsBadBin
 
int m_f001BadBin
 
int m_nEntriesBadBin
 
int m_chi2BadBin
 
int m_missingBadBin
 
int m_onlTHoldBreachBadBin
 
std::string m_histKey
 Samples. More...
 
TH1I * m_h_numBad
 Stores number of channels that are bad in several categories. More...
 
HistCollectionm_pedNewColl
 HistCollections. More...
 
HistCollectionm_pedOldColl
 
HistCollectionm_pedDiffColl
 
HistCollectionm_noiseNewColl
 
HistCollectionm_noiseOldColl
 
HistCollectionm_noiseDiffColl
 
HistCollectionm_chi2Coll
 
HistCollectionm_rmsNewColl
 
HistCollectionm_rmsOldColl
 
HistCollectionm_rmsDiffColl
 
HistCollectionm_f001NewColl
 
HistCollectionm_f001OldColl
 
HistCollectionm_f001DiffColl
 
HistCollectionm_onlTHoldBreachColl
 
HistCollectionm_nEntriesColl
 
HistCollectionm_tholdDiffColl
 
HistCollectionm_maxBitCorrColl
 
TH2I * m_h2_rmsVnoiseEta
 
TH2I * m_h2_rmsVnoisePhi
 
bool m_doRmsVNoise
 
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< LuminosityCondDatam_lumiDataKey {this,"LuminosityCondDataKey","LuminosityCondData","SG Key of LuminosityCondData object"}
 
SG::ReadCondHandleKey< LBDurationCondDatam_lbDurationDataKey {this,"LBDurationCondDataKey","LBDurationCondData","SG Key of LBDurationCondData object"}
 
SG::ReadCondHandleKey< TrigLiveFractionCondDatam_trigLiveFractionDataKey {this,"TrigLiveFractionCondDataKey","TrigLiveFractionCondData","SG Key of TrigLiveFractionCondData object"}
 
bool m_bookHistogramsInitial
 
bool m_useLumi
 
float m_defaultLBDuration
 
std::set< Interval_tm_supportedIntervalsForRebooking
 
Impm_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
 

Detailed Description

Class for monitoring pedestal calibration results.

This class monitors pedestals and noises created from CscCalcPed.cxx in the CscCalibAlgs package. It produces numerous histograms to illustrate the results. It runs during the finalize stage of the job. The info it looks at includes: -The pedestals and noises (sigma). -Pedestals and noises stored in COOL -Difference between these values -Chi^2 of pedestal fit

CscCalibMonToolBase provides the basis for much of the operation of this class. Generally, the program flow osciallates between base class functions and CscCalibMonToolPed functions.

Definition at line 35 of file CscCalibMonToolPed.h.

Member Typedef Documentation

◆ MDMap_t

typedef std::map<std::string,OutputMetadata*> ManagedMonitorToolBase::MDMap_t
protectedinherited

Definition at line 826 of file ManagedMonitorToolBase.h.

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

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

113  { file = 0, eventsBlock, lumiBlock,
115  run, fill, all };

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

Constructor & Destructor Documentation

◆ CscCalibMonToolPed()

CscCalibMonToolPed::CscCalibMonToolPed ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Constructor.

Definition at line 16 of file CscCalibMonToolPed.cxx.

17  :
19  m_h_pedMissingChannels(nullptr),
20  m_pedBadBin(1),
21  m_noiseBadBin(2),
22  m_rmsBadBin(3),
23  m_f001BadBin(4),
25  m_chi2BadBin(6),
26  m_missingBadBin(7),
28  m_h_numBad(nullptr),
29  m_pedNewColl(nullptr),
30  m_pedOldColl(nullptr),
31  m_pedDiffColl(nullptr),
32  m_noiseNewColl(nullptr),
33  m_noiseOldColl(nullptr),
34  m_noiseDiffColl(nullptr),
35  m_chi2Coll(nullptr),
36  m_rmsNewColl(nullptr),
37  m_rmsOldColl(nullptr),
38  m_rmsDiffColl(nullptr),
39  m_f001NewColl(nullptr),
40  m_f001OldColl(nullptr),
41  m_f001DiffColl(nullptr),
42  m_onlTHoldBreachColl(nullptr),
43  m_nEntriesColl(nullptr),
44  m_tholdDiffColl(nullptr),
45  m_maxBitCorrColl(nullptr),
46  m_h2_rmsVnoiseEta(nullptr),
47  m_h2_rmsVnoisePhi(nullptr)
48 {
49  declareProperty("MaxPedDiff",m_pedMaxDiff=2.0);
50  declareProperty("MaxNoiseDiff",m_noiseMaxDiff = 5.0);
51  declareProperty("MaxChi2_NDF",m_chi2Max = 800);
52  declareProperty("MaxRMSDiff",m_rmsMaxDiff = 5);
53  declareProperty("MaxF001Diff", m_f001MaxDiff = 5);
54  declareProperty("MaxOnlTHoldBreachesPerChannel", m_onlTHoldBreachMax = 400);
55  declareProperty("PedAmpHistKey", m_histKey = "cscPedCalibReport");
56  declareProperty("DoRmsVNoise", m_doRmsVNoise = false);
57  declareProperty("MinAmpHistEntries", m_minAmpHistEntries = 4000);
58  declareProperty("AlwaysPrintErrorReport",m_allGoodFileName = "AllCalibMonGood");
59  declareProperty("StatusReportFileName", m_statusReportName = "PedReport.txt");
60  declareProperty("StatusReportPrefix", m_statusReportPrefix = "");
61 
62  declareProperty("DoBitCorrelations", m_doBitCorrelations = false);
63 
64 
65  //Although this can be declared in the base class, we give a default here
66  if(m_calibResultKey == "")
67  m_calibResultKey = "CscCalibResultPed"; //Determines what CscCalibMonToolBase will pull out of TDS
68 
69 
70 
71  /*##From CscCalibMonToolBase.cxx, for reference.
72  declareProperty("MakeHashValueHist",m_makeHashHist=true);
73  declareProperty("MakeLayerValueHists",m_makeLayerHists=false);
74  declareProperty("DetailedResultHashIds",m_detailedHashIds);
75  */
76 
77 }

◆ ~CscCalibMonToolPed()

CscCalibMonToolPed::~CscCalibMonToolPed ( )
inline

Destructor.

Definition at line 45 of file CscCalibMonToolPed.h.

45 {};

Member Function Documentation

◆ bookChamHists()

StatusCode CscCalibMonToolBase::bookChamHists ( std::string  histTypeDir,
std::string  parTypeDir,
std::vector< TH1F * > &  histVector,
std::string  namePrefix,
std::string  titlePrefix,
std::string  xaxis = "",
std::string  yaxis = "",
bool  chanView = true,
bool  ignoreY = false,
unsigned int  numBins = 100,
float  lowBound = 0,
float  highbound = 100 
)
protectedvirtualinherited

Books a vector of histograms where each one corresponds to a secber of the CSC secbers.

Parameters
histTypeDirThe subdirectory where the histogram type should be stored (e.g "layerOverview")
parTypeDirThe subdirectory where the parameter type (e.g ped, noise,etc)
namePrefixSomething to put in front of the name. Rest is based on secber.
titlePrefixString to append to the front of the title. Rest is based on secber.
xaxisTitle for x-axis.
yaxisTitle for y-axis.
chanViewIf true, x-axis num-bins will be number of channels of a given layer. numbins, highBound, and lowBound will be ignored.
ignoreYDo not initialize histograms from the transverse direction.
numBinsnumber of bins for each histoto
lowBoundlower bound for histogram x-axis
highBoundhigher bound for histogram x-axis

Definition at line 546 of file CscCalibMonToolBase.cxx.

551 {
552  //When doing channel view (i.e. one value per channel, also refered to as SectorView)
553  //we use pre-defined nbins, lower bound, and upper bound for histograms for obvious reasons
554  static const int chanViewNBinsX = 800;
555  static const double chanViewLowBoundX = .5;
556  static const double chanViewHighBoundX = 800.5;
557 
558  static const int chanViewNBinsY = 200;
559  static const double chanViewLowBoundY = .5;
560  static const double chanViewHighBoundY = 200.5;
561 
562 
563  //Book a set of channel view histograms.
564  //unsigned int numStrips;
565  int stationSize, stationPhi, stationEta, sector;
566  std::string stationName;
567  std::string orientationName = "prec";
568  std::string orientationTitle = "Precision Direction";
569 
570  int numHists = (ignoreY) ? 32 : 64; //32 chambers, 2 orientations
571  histVector.resize(numHists,nullptr);
572 
573  const std::vector<Identifier> & ids = m_idHelperSvc->cscIdHelper().idVector();
574 
575  for(const auto & thisChamberId:ids)
576  {
577  IdentifierHash chamHash;
578  m_idHelperSvc->cscIdHelper().get_module_hash(thisChamberId,chamHash);
579  ATH_MSG_DEBUG( "Booking histograms for chamber with hash " << (int)chamHash );
580 
581  stationSize = m_idHelperSvc->cscIdHelper().stationName(thisChamberId); //50
582  stationPhi = m_idHelperSvc->cscIdHelper().stationPhi(thisChamberId);
583  stationEta = m_idHelperSvc->cscIdHelper().stationEta(thisChamberId);
584  sector = getSector(stationPhi,stationSize);
585 
586  for(unsigned int orientationItr = 0; orientationItr < 2; orientationItr++)
587  {
588  if(orientationItr ==1)
589  {
590  if(ignoreY)
591  continue; //skip non precision strips.
592  orientationName = "trans";
593  orientationTitle = "Transverse Direction";
594  if(chanView){
595  numBins = chanViewNBinsY;
596  lowBound = chanViewLowBoundY;
597  highBound = chanViewHighBoundY;
598  }
599  }
600  else
601  {
602  orientationName = "prec";
603  orientationTitle = "Precision Direction";
604  if(chanView){
605  numBins = chanViewNBinsX;
606  lowBound = chanViewLowBoundX;
607  highBound = chanViewHighBoundX;
608  }
609  }
610 
611  std::stringstream nameStream;
612  nameStream.setf(std::ios::right, std::ios::adjustfield);
613  nameStream << namePrefix << "_" << orientationName << "_eta_"
614  << ((stationEta == 1) ? "1" : "0") << "_sector_"
615  << std::setw(2) << std::setfill('0')
616  << sector ;
617 
618  std::stringstream titleStream;
619 
620  titleStream << titlePrefix << ", " << orientationTitle
621  << ", Eta " << stationEta
622  << ", Sector " << sector;
623 
624  TH1F* hist = new TH1F(nameStream.str().c_str(), titleStream.str().c_str()
625  ,numBins, lowBound, highBound);
626  hist->GetXaxis()->SetTitle(xaxis.c_str());
627  hist->GetYaxis()->SetTitle(yaxis.c_str());
628  hist->SetFillColor(m_histCol);
629 
630  int chamIndex = getChamIndex(orientationItr,stationEta,sector);
631 
632  ATH_MSG_DEBUG( "Registering histogram with name "
633  << hist->GetName() << " and chamIndex " << chamIndex );
634 
635  histVector[chamIndex] = hist;
636 
637  std::string path = getFullPath(getGeoPath(stationEta,sector), histTypeDir, parTypeDir);
638 
639  MonGroup monGroup( this, path ,run, ATTRIB_MANAGED);
640  if (!monGroup.regHist(hist).isSuccess())
641  {
642  ATH_MSG_WARNING("monGroup.regHist(hist) failed for "<< path );
643  }
644  }//End orientation loop
645  }//End chamber loop
646  ATH_MSG_DEBUG( "Exiting bookChamHists" );
647  return StatusCode::SUCCESS;
648 }//end bookChamHists

◆ bookHistCollection()

StatusCode CscCalibMonToolBase::bookHistCollection ( HistCollection histCollection,
std::string  dataTypeName,
std::string  dataTypeTitle,
std::string  categoryName,
std::string  categoryTitle,
std::string  axisLabel,
int  numBins,
float  lowBound,
float  highBound,
std::string  parDir = "",
uint16_t  toSkip = 0 
)
protectedvirtualinherited

Initializes the histograms in a histCollection and books them.

This and the other booking function are used to enforce a central naming convention to the histograms. The Name parameters are strings that will be input into the names of the historams, and the Title parameters into the titles.

Parameters
dataTypeNameindicates the dataType, like pedestal, noise, etc.
dataTypeTitleindicates the dataType, like pedestal,noise, etc.
categoryNameindicates a category. Useful to specify new or COOL data.
categoryTitleindicates a category. Useful to specify new or COOL data.
axisLabelWhat the axis corresponding to the data type should be named. The other axis is determined depending on histogram type.
numBinsFor those histograms whose x-axis is the datatype, and not channels or similar.
lowBoundFor those histograms whose x-axis is the datatype, and not channels or similar.
highBoundFor those histograms whose x-axis is the datatype, and not channels or similar.
parDiris a parDirectory to store the resulting histograms in.
toSkipis a bit word that specifies when to allow certain histograms

Definition at line 139 of file CscCalibMonToolBase.cxx.

143 {
144  //toSkip bitmask:
145  //00000000 do all
146  //00000001 skip all channels hash view
147  //00000010 skip chamberAverage
148  //00000100 skip layer overview
149  //00001000 skip sector summary
150  //00010000 skip layer summary
151  //00100000 skip AllChannels 1d view
152  //00100000 skip AllChannels 2d view
153  //01000000 skip csc spectra
154  //10000000 skip sector overview
155 
156  //Make sure last character isn't a "/"
157  std::string endDir = "";
158  if(parDir != "")
159  endDir = "/" + parDir;
160 
161  //Some universal directories
162  std::string allChambersDirectory = "/GeneralCscHists";
163 
164  //Set directory structure used by CscCalibMonToolBase
165  /*
166  m_hashPath = m_generic_path_csccalibmonitoring + allChambersDirectory + "/AllChanHash" + endDir;
167  m_allChan2dPath = m_generic_path_csccalibmonitoring + allChambersDirectory + "/AllChan2d" + endDir;
168  m_chamProfPath = m_generic_path_csccalibmonitoring + allChambersDirectory + "/SectorProfiles" + endDir;
169  m_layHistPath = m_generic_path_csccalibmonitoring + "/EXPERT/" + parDir + "Layers";
170  m_chamSummHistPath = m_generic_path_csccalibmonitoring + "/EXPERT/" + parDir + "ChamberValueSpectrum";
171  m_laySummHistPath = m_generic_path_csccalibmonitoring + "/EXPERT/" + parDir + "LayerValueSpectrum";
172  */
173  bool allGood = true;
174 
175 
176  std::string nameStart = std::move(dataTypeName) ;
177  if(categoryName != "" )
178  nameStart += "_" + categoryName;
179 
180  std::string titleStart = categoryTitle + " " + dataTypeTitle;
181  std::string yaxis= "", xaxis = "";
182 
183  ATH_MSG_DEBUG( "In bookHistCollection for " << nameStart << " series." );
184 
185  if(!((toSkip>>6) &0x1)){
186  histCollection->cscSpec.resize(2,nullptr);
187  for(int measuresPhi =0; measuresPhi <=1; measuresPhi++) {
188  std::string name = "h_" + nameStart+ "_" + (measuresPhi ? "phi" : "eta") + "_spectrum" ;
189  std::string title = titleStart +" " + (measuresPhi ? "Phi Strips" : "Eta Strips") + " spectrum";
190  TH1F * specHist = new TH1F(name.c_str(), title.c_str(), numBins, lowBound, highBound);
191  specHist->GetYaxis()->SetTitle("Counts");
192  specHist->GetXaxis()->SetTitle(axisLabel.c_str());
193  std::string specPath = getFullPath( getGeoPath(), "OverviewSpectra", parDir);
194  MonGroup monGroup( this, specPath, run, ATTRIB_MANAGED);
195  StatusCode sc = monGroup.regHist(specHist);
196 
197  specHist->SetFillColor(m_histCol);
198 
199  if(!sc.isSuccess())
200  {
201  ATH_MSG_ERROR( "failed to register " << name );
202  allGood = false;
203  }
204  else
205  histCollection->cscSpec[measuresPhi] = specHist;
206  }
207 
208 
209  }
210 
211  if(m_makeHashHists && !(toSkip & 0x1))
212  {
213  std::string name = "h_" + nameStart + "_" + m_hashName;
214  std::string title = categoryTitle + " " + dataTypeTitle + " " + m_hashTitle;
215  yaxis = axisLabel;
216  xaxis = "Channel Hash ID";
217  TH1F * hashHist = new TH1F(name.c_str(), title.c_str(), m_maxHashId+1,0,m_maxHashId+1);
218  hashHist->GetXaxis()->SetTitle(xaxis.c_str());
219  hashHist->GetYaxis()->SetTitle(yaxis.c_str());
220  hashHist->SetFillColor(m_histCol);
221 
222  std::string hashPath = getFullPath( getGeoPath(), "FullViewHash", parDir);
223  MonGroup monGroup( this, hashPath, run, ATTRIB_MANAGED);
224  ATH_MSG_DEBUG( "Registering " << name );
225  if (!monGroup.regHist(hashHist).isSuccess())
226  {
227  ATH_MSG_ERROR( "failed to register " << name );
228  allGood = false;
229  }
230  else
231  histCollection->hashHist = hashHist;
232 
233  }
234  //All channels 1d view
235  if(m_makeAllChan1dHists && !((toSkip>>6) & 0x1))
236  {
237 
238  std::string name = "h_" + nameStart + "_" + m_allChan1dName;
239  std::string title = categoryTitle + " " + dataTypeTitle + " " + m_allChan1dTitle;
240  yaxis = axisLabel;
241  xaxis = "Chamber";
242  int nxbins = 26146;// 4 layers, 192 channels each, with 32 chambers + 2 "extra" chambers"
243  float nxmin = -16; // -1 (for EC)
244  float nxmax = 16; // 1 (for EA)
245 
246  TH1F * allChan1dHistX = new TH1F((name+"X").c_str(), (title+ " - Precision strips").c_str(),
247  nxbins,nxmin,nxmax);
248  allChan1dHistX->GetXaxis()->SetTitle(xaxis.c_str());
249  allChan1dHistX->GetYaxis()->SetTitle(yaxis.c_str());
250 
251  std::string allChan1dPath = getFullPath( getGeoPath(), "FullView1d", parDir);
252  MonGroup monGroup( this, allChan1dPath, run, ATTRIB_MANAGED );
253  ATH_MSG_DEBUG( "Registering " << name );
254  if (!monGroup.regHist(allChan1dHistX).isSuccess())
255  {
256  ATH_MSG_ERROR( "failed to register " << name );
257  allGood = false;
258  }
259  else
260  histCollection->allChan1dHistX = allChan1dHistX;
261 
262  nxbins = 6562;
263 
264  TH1F * allChan1dHistY = new TH1F((name+"Y").c_str(), (title + " - Transverse strips").c_str(),
265  nxbins,nxmin,nxmax);
266  allChan1dHistY->GetXaxis()->SetTitle(xaxis.c_str());
267  allChan1dHistY->GetYaxis()->SetTitle(yaxis.c_str());
268 
269  ATH_MSG_DEBUG( "Registering " << name );
270  if (!monGroup.regHist(allChan1dHistY).isSuccess())
271  {
272  ATH_MSG_ERROR( "failed to register " << name );
273  allGood = false;
274  }
275  else
276  histCollection->allChan1dHistY = allChan1dHistY;
277 
278 
279  }
280 
281  //All channels 2d view
282  if(m_makeAllChan2dHists && !((toSkip>>6) & 0x1))
283  {
284 
285  std::string name = "h_" + nameStart + "_" + m_allChan2dName;
286  std::string title = categoryTitle + " " + dataTypeTitle + " " + m_allChan2dTitle;
287  //yaxis = "sector + 0.2 * (layer - 1) + 0.1";
288  yaxis = "Sector/Layer";
289  xaxis = "Strip Number (Negative for Transverse Strips)";
290 
291  int nxbins ;
292  float nxmin;
293  float nxmax;
294  int nybins ;
295  float nymin;
296  float nymax;
297  if(histCollection->ignoreY){
298  nxbins = 193; // 192 bins for precision + 1 extra
299  nxmin = 0.; // -1 -> -48 (for transverse)
300  nxmax = 193.; // 1 -> 192 (for precision)
301  nybins = 175; // 32 chambers (16 per side x 5 layers per chamber) + 5 extra
302  nymin = -17.; //
303  nymax = 18.; //
304  }
305  else{
306  nxbins = 242; // 192 bins for precision, 48 for transverse strips + 2 extra
307  nxmin = -49.; // -1 -> -48 (for transverse)
308  nxmax = 193.; // 1 -> 192 (for precision)
309  nybins = 175; // 32 chambers (16 per side x 5 layers per chamber) + 5 extra
310  nymin = -17.; //
311  nymax = 18.; //
312  }
313 
314  TH2F * allChan2dHist = new TH2F(name.c_str(), title.c_str(),
315  nxbins,nxmin,nxmax,nybins,nymin,nymax);
316  allChan2dHist->GetXaxis()->SetTitle(xaxis.c_str());
317  allChan2dHist->GetYaxis()->SetTitle(yaxis.c_str());
318 
319  std::string allChan2dPath = getFullPath( getGeoPath(), "FullView2d", parDir);
320  MonGroup monGroup( this, allChan2dPath, run, ATTRIB_MANAGED);
321  ATH_MSG_DEBUG( "Registering " << name );
322  if (!monGroup.regHist(allChan2dHist).isSuccess())
323  {
324  ATH_MSG_ERROR( "failed to register " << name );
325  allGood = false;
326  }
327  else
328  histCollection->allChan2dHist = allChan2dHist;
329 
330  }
331 
332  if(m_makeChamProfs && !((toSkip >> 1) & 0x1) )
333  {
334  std::string name = "h_" + nameStart + "_" + m_chamProfName;
335  std::string title = titleStart + " " + m_chamProfTitle;
336  yaxis = "Average " + axisLabel;
337  xaxis = "Sector * eta";
338  int numSectors = 16;
339  TProfile * chamProf= new TProfile(name.c_str(), title.c_str(),
340  numSectors + 1, -16, 17); //hard coding these because its annoying otherwise
341  chamProf->GetXaxis()->SetTitle(xaxis.c_str());
342  chamProf->GetYaxis()->SetTitle(yaxis.c_str());
343 
344  ATH_MSG_DEBUG( "Registering " << name );
345  std::string path = getFullPath( getGeoPath(), "Profiles", parDir);
346  MonGroup monGroup( this, path, run, ATTRIB_MANAGED);
347  if (!monGroup.regHist(chamProf).isSuccess())
348  {
349  ATH_MSG_ERROR( "failed to register " << name );
350  allGood = false;
351  }
352  else
353  histCollection->chamProf = chamProf;
354  }
355  if(m_makeLayHists && !((toSkip >> 2) & 0x1) )
356  {
357  std::string namePrefix = nameStart + "_" + m_layHistName;
358  std::string titlePrefix = titleStart + " " + m_layHistTitle;
359  yaxis = axisLabel;
360  xaxis = "Channel";
361 
362  ATH_MSG_DEBUG( "Registering set with prefix" << namePrefix );
363  histCollection->layHistVect = new std::vector<TH1F*>();
364  if (!bookLayHists("LayerView", parDir, *histCollection->layHistVect,namePrefix, titlePrefix, "Channel", xaxis
365  ,true, histCollection->ignoreY).isSuccess())
366  {
367  ATH_MSG_ERROR( "failed to register " << namePrefix << " (layer histograms) " );
368  allGood = false;
369  }
370  }
371 
372  if(m_makeChamSummHists && !((toSkip >> 3) & 0x1) )
373  {
374  std::string namePrefix = nameStart + "_" + m_chamSummHistName;
375  std::string titlePrefix = titleStart + " " + m_chamSummHistTitle;
376  yaxis = "";
377  xaxis = axisLabel;
378 
379  ATH_MSG_DEBUG( "Registering set with prefix" << namePrefix );
380  histCollection->chamSummVect = new std::vector<TH1F*>();
381  if (!bookChamHists("SecSpectrum", parDir,*histCollection->chamSummVect,namePrefix, titlePrefix, xaxis,yaxis,
382  false,histCollection->ignoreY,numBins,lowBound,highBound).isSuccess())
383  {
384  ATH_MSG_ERROR( "failed to register " << namePrefix
385  << " (chamber summary histograms) " );
386  allGood = false;
387  }
388  }
389 
390  if(m_makeChamHists && !((toSkip >> 7) & 0x1) )
391  {
392  std::string namePrefix = nameStart + "_" + m_chamHistName;
393  std::string titlePrefix = titleStart + " " + m_chamHistTitle;
394  yaxis = "";
395  xaxis = axisLabel;
396 
397  ATH_MSG_DEBUG( "Registering set with prefix" << namePrefix );
398  histCollection->chamHistVect = new std::vector<TH1F*>();
399  if (!bookChamHists("SectorView", parDir,*histCollection->chamHistVect,namePrefix, titlePrefix, xaxis,yaxis,
400  true,histCollection->ignoreY).isSuccess())
401  {
402  ATH_MSG_ERROR( "failed to register " << namePrefix
403  << " (chamber summary histograms) " );
404  allGood = false;
405  }
406  }
407 
408  if(m_makeLaySummHists && !((toSkip >> 4) & 0x1) )
409  {
410  std::string namePrefix = nameStart + "_" + m_laySummHistName;
411  std::string titlePrefix = titleStart + " " + m_laySummHistTitle;
412  yaxis = "";
413  xaxis = axisLabel;
414 
415  ATH_MSG_DEBUG( "Registering set with prefix" << namePrefix );
416  histCollection->laySummVect = new std::vector<TH1F*>();
417  if (!bookLayHists("LaySpectrum", parDir, *histCollection->laySummVect,
418  namePrefix, titlePrefix, xaxis,yaxis,
419  false,histCollection->ignoreY,numBins,lowBound,highBound).isSuccess())
420  {
421  ATH_MSG_ERROR( " Failed to register " << namePrefix << " (Layer summary hists) " );
422  allGood = false;
423  }
424  }
425  if(allGood)
426  return StatusCode::SUCCESS;
427  else
428  return StatusCode::FAILURE;
429 }//end bookHistCollection

◆ bookHistograms()

StatusCode CscCalibMonToolPed::bookHistograms ( )
virtual

Books all histograms not retrieved driectly from CscCalcPed.

Reimplemented from CscCalibMonToolBase.

Definition at line 108 of file CscCalibMonToolPed.cxx.

109 {
110  if (!CscCalibMonToolBase::bookHistograms().isSuccess())
111  {
112  ATH_MSG_WARNING( "CscCalibMonToolPed : in bookHistograms()" );
113  }
114  ATH_MSG_DEBUG( "CscCalibMonToolPed : in bookHistograms()" );
115 
116  //declare a group of histograms
117 
118  if (newRunFlag())
119  {
121 
122  std::string geoPath = getGeoPath();
123  std::string path = getFullPath(geoPath, "Misc", "");
124  MonGroup monGroup( this, path, run, ATTRIB_MANAGED );
125 
126  std::string name,title,xaxis,yaxis;
127  int highbound,lowbound,nbins;
128 
129  //num bad histograms
130  name = "h_csc_calib_numSignificant";
131  title = "Number of significant results.";
132  xaxis = "Catagory";
133  yaxis = "Num channels with bad value.";
134  lowbound = 1;
135  highbound = 8;
136  m_h_numBad = new TH1I(name.c_str(),title.c_str(),highbound-lowbound+1,lowbound,highbound+1);
137  m_h_numBad->GetYaxis()->SetTitle(yaxis.c_str());
138  m_h_numBad->GetXaxis()->SetTitle(xaxis.c_str());
139  std::stringstream pedBinTitle; pedBinTitle << "#Delta ped > " << m_pedMaxDiff;
140  m_h_numBad->GetXaxis()->SetBinLabel(m_pedBadBin, pedBinTitle.str().c_str());
141  std::stringstream noiseBinTitle; noiseBinTitle << "#Delta noise > "<< m_noiseMaxDiff;
142  m_h_numBad->GetXaxis()->SetBinLabel(m_noiseBadBin, noiseBinTitle.str().c_str());
143  std::stringstream rmsBinTitle; rmsBinTitle << "#Delta RMS > " << m_rmsMaxDiff;
144  m_h_numBad->GetXaxis()->SetBinLabel(m_rmsBadBin, rmsBinTitle.str().c_str());
145  std::stringstream f001BinTitle; f001BinTitle << "#Delta F001 > " << m_f001MaxDiff;
146  m_h_numBad->GetXaxis()->SetBinLabel(m_f001BadBin, f001BinTitle.str().c_str());
147  std::stringstream statisticsBinTitle; statisticsBinTitle << "N Entries < " << m_minAmpHistEntries;
148  m_h_numBad->GetXaxis()->SetBinLabel(m_nEntriesBadBin, statisticsBinTitle.str().c_str());
149  std::stringstream chiBinTitle; chiBinTitle << "#frac{#chi^{2}}{ndf} > " << m_chi2Max;
150  m_h_numBad->GetXaxis()->SetBinLabel(m_chi2BadBin,chiBinTitle.str().c_str());
151  m_h_numBad->GetXaxis()->SetBinLabel(m_missingBadBin,"Missing channels ");
152  m_h_numBad->GetXaxis()->SetBinLabel(m_onlTHoldBreachBadBin, "Onl THold Breaches");
153  m_h_numBad->SetFillColor(m_histColAlert);
154  monGroup.regHist(m_h_numBad).ignore();
155 
156 
157  name = "h_csc_calib_pedMissingChannels";
158  title = "Channels Missing Data From Pedestal Run.";
159  xaxis = "Channel (Hash ID)";
160  yaxis = "Number of Parameter Types Missing";
161  lowbound = 0;
162  highbound = m_maxHashId +1;
163  nbins = m_maxHashId +1;
164  m_h_pedMissingChannels = new TH1F(name.c_str(), title.c_str(), nbins,lowbound,highbound);
165  m_h_pedMissingChannels->GetXaxis()->SetTitle(xaxis.c_str());
166  m_h_pedMissingChannels->GetYaxis()->SetTitle(yaxis.c_str());
167  m_h_pedMissingChannels->SetFillColor(m_histColAlert);
168  monGroup.regHist(m_h_pedMissingChannels).ignore();
169 
170  //Set naming parameters for datatypes
171  std::string pedDataName = "ped";
172  std::string pedDataTitle = "Pedestals";
173  std::string pedSubDir = "Ped";
174 
175  std::string noiseDataName = "noise";
176  std::string noiseDataTitle = "Noise (ped sigma)";
177  std::string noiseSubDir = "Noise";
178 
179  std::string chi2DataName = "chi2";
180  std::string chi2DataTitle = "Chi^2/ndf for Pedestal Gaussian Fit";
181  std::string chi2SubDir = "Chi2";
182 
183  std::string rmsDataName = "rms";
184  std::string rmsDataTitle = "RMS from gaussian distribution";
185  std::string rmsSubDir = "RMS";
186 
187  std::string f001DataName = "f001";
188  std::string f001DataTitle = "F001";
189  std::string f001SubDir = "F001";
190 
191  std::string onlTHoldBreachDataName = "onlTHoldBreach";
192  std::string onlTHoldBreachDataTitle = "Online Threshold Breaches";
193  std::string onlTHoldBreachSubDir = "OnlTHoldBreaches";
194 
195  std::string nEntriesDataName = "nEntries";
196  std::string nEntriesDataTitle = "Number of Entries from Pedestal Amplitude Hist";
197  std::string nEntriesSubDir = "NumEntries";
198 
199  std::string maxBitCorrDataName = "maxBitCorr";
200  std::string maxBitCorrDataTitle = "Maximimum Bit Correlation";
201  std::string maxBitCorrSubDir = "MaxBitCorr";
202 
203 
204  //Set naming parameters for histogram category names
205  std::string newCatName = "new";
206  std::string newCatTitle = "New";
207 
208  std::string oldCatName = "old";
209  std::string oldCatTitle = "COOL";
210 
211  std::string diffCatName = "diff";
212  std::string diffCatTitle = "Change of ";
213 
214  //axis info
215  std::string pedAxisLabel = "Pedestal Mean (ADC counts)";
216  std::string pedDiffAxisLabel = "Pedestal Difference (ADC counts)";
217  int pedNumBins =300;
218  float pedLowBound = 1900;
219  float pedHighBound = 2200;
220 
221  std::string noiseAxisLabel = "Pedestal Noise (ADC counts)";
222  std::string noiseDiffAxisLabel = "Noise Difference (ADC counts)";
223  int noiseNumBins = 300;
224  float noiseLowBound = 0;
225  float noiseHighBound = 30;
226 
227  std::string chi2AxisLabel = "Chi^2/ndf";
228  int chi2NumBins = 500;
229  float chi2LowBound = 0;
230  float chi2HighBound = 500;
231 
232  std::string rmsAxisLabel = "RMS (ADC Counts)";
233  std::string rmsDiffAxisLabel = "RMS Difference (ADC Counts)";
234  int rmsNumBins = 300;
235  float rmsLowBound =0;
236  float rmsHighBound = 30;
237 
238  std::string f001AxisLabel = "F001 (ADC)";
239  std::string f001DiffAxisLabel = "F001 Difference (ADC)";
240  int f001NumBins = 350;
241  float f001LowBound =1950;
242  float f001HighBound = 2300;
243 
244  std::string nEntriesAxisLabel = "Number of Entries";
245  int nEntriesNumBins = 20;
246  float nEntriesLowBound = 0;
247  float nEntriesHighBound = 10000;
248  uint16_t nEntriesHistMask = 0x3F; //only do overall spectra and 2d view
249 
250  std::string maxBitCorrAxisLabel = "Correlation";
251  int maxBitCorrNumBins = 300;
252  float maxBitCorrLowBound = -3;
253  float maxBitCorrHighBound = 3;
254  //Subdirectory this will be stored in:
255 
256  //Initialize histogram collections
257  //Each colleciton contains all of the "views" for one particular set of data
258  m_pedNewColl = new HistCollection(m_maxHashId +1, m_maxHashId +1); //New Pedestals
259  m_pedOldColl = new HistCollection(m_maxHashId +1); //Last pedestals
260  m_pedDiffColl = new HistCollection(m_maxHashId +1); //Difference
261 
262  m_noiseNewColl = new HistCollection(m_maxHashId +1, m_maxHashId +1);
263  m_noiseOldColl = new HistCollection(m_maxHashId +1);
264  m_noiseDiffColl = new HistCollection(m_maxHashId +1);
265 
266  m_chi2Coll = new HistCollection(m_maxHashId +1);
267 
268  m_rmsNewColl = new HistCollection(m_maxHashId +1, m_maxHashId +1);
269  m_rmsOldColl = new HistCollection(m_maxHashId +1);
270  m_rmsDiffColl = new HistCollection(m_maxHashId +1);
271 
272  m_f001NewColl = new HistCollection(m_maxHashId +1);
273  m_f001OldColl = new HistCollection(m_maxHashId +1);
274  m_f001DiffColl = new HistCollection(m_maxHashId +1);
275 
276  m_onlTHoldBreachColl = new HistCollection(m_maxHashId +1);
277 
278  m_nEntriesColl = new HistCollection(m_maxHashId +1);
279 
280 
281  m_tholdDiffColl = new HistCollection(m_maxHashId +1);
282 
284  m_maxBitCorrColl = new HistCollection(m_maxHashId +1);
285 
286 
287  //initialize, name, and book histograms in histogram collections:
288 
289  ATH_MSG_DEBUG( "Registering pedNewColl" );
290  ATH_CHECK( bookHistCollection(m_pedNewColl, pedDataName, pedDataTitle, newCatName, newCatTitle,
291  pedAxisLabel, pedNumBins, pedLowBound, pedHighBound, pedSubDir) );
292 
293  ATH_MSG_DEBUG( "Registering pedOldColl" );
294  ATH_CHECK( bookHistCollection(m_pedOldColl, pedDataName, pedDataTitle, oldCatName, oldCatTitle,
295  pedAxisLabel, pedNumBins, pedLowBound, pedHighBound, pedSubDir) );
296 
297  ATH_MSG_DEBUG( "Registering pedDiffColl" );
298  ATH_CHECK( bookHistCollection(m_pedDiffColl, pedDataName, pedDataTitle, diffCatName, diffCatTitle,
299  pedDiffAxisLabel, 100, -2, 2, pedSubDir) );
300 
301  ATH_MSG_DEBUG( "Registering noiseNewColl" );
302  ATH_CHECK( bookHistCollection(m_noiseNewColl, noiseDataName, noiseDataTitle, newCatName,
303  newCatTitle, noiseAxisLabel, noiseNumBins, noiseLowBound, noiseHighBound, noiseSubDir) );
304 
305  ATH_MSG_DEBUG( "Registering noiseOldColl" );
306  ATH_CHECK( bookHistCollection(m_noiseOldColl, noiseDataName, noiseDataTitle, oldCatName,
307  oldCatTitle, noiseAxisLabel, 100, -2, 2, noiseSubDir) );
308 
309  ATH_MSG_DEBUG( "Registering noiseDiffColl" );
310  ATH_CHECK( bookHistCollection(m_noiseDiffColl, noiseDataName, noiseDataTitle, diffCatName,
311  diffCatTitle, noiseDiffAxisLabel, noiseNumBins, -1*noiseHighBound, noiseHighBound,noiseSubDir) );
312 
313  ATH_MSG_DEBUG( "Registering rmsNewColl" );
314  ATH_CHECK( bookHistCollection(m_rmsNewColl, rmsDataName, rmsDataTitle, newCatName,
315  newCatTitle, rmsAxisLabel, rmsNumBins, rmsLowBound, rmsHighBound, rmsSubDir) );
316 
317  ATH_MSG_DEBUG( "Registering rmsOldColl" );
318  ATH_CHECK( bookHistCollection(m_rmsOldColl, rmsDataName, rmsDataTitle, oldCatName,
319  oldCatTitle, rmsAxisLabel, rmsNumBins, rmsLowBound, rmsHighBound, rmsSubDir) );
320 
321  ATH_MSG_DEBUG( "Registering rmsDiffColl" );
322  ATH_CHECK( bookHistCollection(m_rmsDiffColl, rmsDataName, rmsDataTitle, diffCatName,
323  diffCatTitle, rmsDiffAxisLabel, rmsNumBins, -1*rmsHighBound, rmsHighBound,rmsSubDir) );
324 
325  ATH_MSG_DEBUG( "Registering f001NewColl" );
326  ATH_CHECK( bookHistCollection(m_f001NewColl, f001DataName, f001DataTitle, newCatName,
327  newCatTitle, f001AxisLabel, f001NumBins, f001LowBound, f001HighBound, f001SubDir) );
328 
329  ATH_MSG_DEBUG( "Registering f001OldColl" );
330  ATH_CHECK( bookHistCollection(m_f001OldColl, f001DataName, f001DataTitle, oldCatName,
331  oldCatTitle, f001AxisLabel, 100, -2, 2, f001SubDir) );
332 
333  ATH_MSG_DEBUG( "Registering f001DiffColl" );
334  ATH_CHECK( bookHistCollection(m_f001DiffColl, f001DataName, f001DataTitle, diffCatName,
335  diffCatTitle, f001DiffAxisLabel, 60, -30, 30, f001SubDir) );
336 
337  ATH_MSG_DEBUG( "Registering onlTHoldBreachColl" );
338  ATH_CHECK( bookHistCollection(m_onlTHoldBreachColl, onlTHoldBreachDataName, onlTHoldBreachDataTitle, "",
339  "" , "Number of Online THold Breachs", 100, 0, 1000, onlTHoldBreachSubDir) );
340 
341  ATH_MSG_DEBUG( "Registering Num Entries" );
342  ATH_CHECK( bookHistCollection(m_nEntriesColl, nEntriesDataName, nEntriesDataTitle, "",
343  "", nEntriesAxisLabel, nEntriesNumBins, nEntriesLowBound, nEntriesHighBound, nEntriesSubDir, nEntriesHistMask) );
344 
345  ATH_CHECK( bookHistCollection(m_chi2Coll, chi2DataName, chi2DataTitle, "", "",
346  chi2AxisLabel, chi2NumBins, chi2LowBound, chi2HighBound, chi2SubDir) );
347 
348  ATH_CHECK( bookHistCollection(m_tholdDiffColl, "thold", "Threshold", diffCatName, diffCatTitle, "#Delta{}Threshold", 500, -10, 10, "THold") );
349 
350  if(m_doBitCorrelations) {
351  ATH_CHECK( bookHistCollection(m_maxBitCorrColl, maxBitCorrDataName, maxBitCorrDataTitle,
352  "", "", maxBitCorrAxisLabel, maxBitCorrNumBins, maxBitCorrLowBound,
353  maxBitCorrHighBound, maxBitCorrSubDir) );
354  }
355  }//end if newRun
356 
357  return StatusCode::SUCCESS;
358 }//end bookHistograms

◆ bookHistogramsRecurrent()

StatusCode ManagedMonitorToolBase::bookHistogramsRecurrent ( )
virtualinherited

An inheriting class should either override this function, bookHists() or bookHistograms().

Reimplemented in MdtVsTgcRawDataValAlg, MdtVsRpcRawDataValAlg, and ManagedMonitorToolTest.

Definition at line 1286 of file ManagedMonitorToolBase.cxx.

1288 {
1289  if( m_newEventsBlock ) { }
1290  if( m_newLumiBlock ) { }
1291  if( m_newRun ) { }
1292 
1293  return StatusCode::SUCCESS;
1294 }

◆ bookHists()

StatusCode ManagedMonitorToolBase::bookHists ( )
virtualinherited

Calls bookHists( true, true, true ) and initializes lumiBlock and run numbers.

Implements IMonitorToolBase.

Reimplemented in TileRawChannelMonTool, and TileDigitsMonTool.

Definition at line 730 of file ManagedMonitorToolBase.cxx.

732 {
733  // The Run/LumiBlock numbers are not set when beginRun() is called. Therefore,
734  // book histograms on the first call to fillHists(), which is called from execute().
735  return StatusCode::SUCCESS;
736 }

◆ bookLayHists()

StatusCode CscCalibMonToolBase::bookLayHists ( std::string  histTypeDir,
std::string  parTypeDir,
std::vector< TH1F * > &  vector,
std::string  namePrefix,
std::string  titlePrefix,
std::string  xaxis,
std::string  yaxis,
bool  chanView = true,
bool  ignoreY = false,
unsigned int  numBins = 100,
float  lowBound = 0,
float  highbound = 100 
)
protectedvirtualinherited

Books a vector of histograms where each one corresponds to a layer of the CSC secbers.

Parameters
histTypeDirThe subdirectory where the histogram type should be stored (e.g "layerOverview")
parTypeDirThe subdirectory where the parameter type (e.g ped, noise,etc)
namePrefixSomething to put in front of the name. Rest is based on layer.
titlePrefixString to append to the front of the title. Rest is based on layer.
xaxisTitle for x-axis.
yaxisTitle for y-axis.
chanViewIf true, x-axis num-bins will be number of channels of a given layer. numbins, highBound, and lowBound will be ignored.
ignoreYDo not initialize histograms from the transverse direction.
numBinsnumber of bins for each histoto
lowBoundlower bound for histogram x-axis
highBoundhigher bound for histogram x-axis

Definition at line 431 of file CscCalibMonToolBase.cxx.

435 {
436  //Book a set of histograms, one for each layer.
437  //chanView = true ignores numBins and bounds and makes x-axis based on channel ids
438  //ignore Y = true skips transverse direction strips
439 
440  //unsigned int numStrips;
441  int stationSize, stationPhi, stationEta, sector;
442  std::string stationName;
443  std::string orientationName = "prec";
444  std::string orientationTitle = "Precision Direction";
445 
446  int numHists = 32 * ( (ignoreY) ? 4 : 8);
447  histVector.resize(numHists,nullptr);
448 
449  ATH_MSG_DEBUG( "Allocated space for " << numHists << " histograms" );
450 
451  const std::vector<Identifier> & ids = m_idHelperSvc->cscIdHelper().idVector();
452  for(const auto & thisChamberId:ids)
453  {
454  IdentifierHash chamHash;
455  m_idHelperSvc->cscIdHelper().get_module_hash(thisChamberId,chamHash);
456  ATH_MSG_DEBUG( "Booking histograms for chamber with hash " << (int)chamHash );
457 
458  stationSize = m_idHelperSvc->cscIdHelper().stationName(thisChamberId);
459  stationName = m_idHelperSvc->cscIdHelper().stationNameString(stationSize);
460  stationPhi = m_idHelperSvc->cscIdHelper().stationPhi(thisChamberId);
461  stationEta = m_idHelperSvc->cscIdHelper().stationEta(thisChamberId);
462  sector = getSector(stationPhi,stationSize);
463  for(unsigned int orientationItr = 0; orientationItr < 2; orientationItr++)
464  {
465  if(orientationItr ==1)
466  {
467  if(ignoreY) //skip non precision strips
468  continue;
469  if(chanView) //Base bin labels on orientation
470  {
471  numBins = 48;
472  highBound = 49;
473  lowBound = 1;
474  }
475  orientationName = "trans";
476  orientationTitle = "Transverse Direction";
477  }
478  else
479  {
480  if(chanView)
481  {
482  numBins = 192;
483  highBound = 193;
484  lowBound = 1;
485  }
486  orientationName = "prec";
487  orientationTitle = "Precision Direction";
488  }
489 
490  for(unsigned int layItr = 1; layItr <= 4; layItr++)
491  {
492  ATH_MSG_VERBOSE( "Storing a hist on orientation " << orientationItr
493  << " With highbound/lowbound/nbins "
494  << highBound << "/" << lowBound << "/" << numBins );
495 
496  std::stringstream nameStream;
497  nameStream.setf(std::ios::right, std::ios::adjustfield);
498  nameStream << namePrefix;
499  nameStream << "_" << orientationName << "_eta_";
500  nameStream << ((stationEta == 1) ? "1" : "0");
501  nameStream << "_sector_" << std::setw(2) << std::setfill('0') << sector;
502  nameStream << "_layer_" << layItr;
503 
504  std::stringstream titleStream;
505  titleStream << titlePrefix << ", " << orientationTitle;
506  titleStream << ", Sector " << sector;
507  titleStream <<", Eta " << stationEta;
508  titleStream << ", Layer " << layItr;
509 
510  ATH_MSG_VERBOSE( "Storing " << nameStream.str() << " with title "
511  << titleStream.str() << "On orientation " << orientationItr << " With highbound/lowbound/nbins " << highBound << "/" << lowBound << "/" << numBins );
512 
513  TH1F* hist = new TH1F(nameStream.str().c_str(), titleStream.str().c_str(),
514  numBins, lowBound, highBound);
515  hist->GetXaxis()->SetTitle(xaxis.c_str());
516  hist->GetYaxis()->SetTitle(yaxis.c_str());
517  hist->SetFillColor(m_histCol);
518 
519  int layIndex = getLayIndex(orientationItr,stationEta,sector,layItr);
520 
521  //Lets
522  std::string geoPath = getGeoPath(stationEta, sector, layItr, orientationItr);
523  std::string path = getFullPath(geoPath, histTypeDir, parDir);
524  MonGroup monGroup( this, path ,run, ATTRIB_MANAGED);
525 
526 
527  if(!monGroup.regHist(hist).isSuccess())
528  {
529  ATH_MSG_FATAL( "Failed to register " << nameStream.str()
530  << " with layIndex" << layIndex );
531  return StatusCode::FAILURE;
532  }
533  else
534  {
535  ATH_MSG_DEBUG( "Succesfully registered histogram with layIndex "
536  << layIndex <<" and name " << hist->GetName() );
537  histVector[layIndex] = hist;
538  }
539  }//end layer loop
540  }//End orientation loop
541  }//End chamber loop
542  return StatusCode::SUCCESS;
543 }//end bookLayHists

◆ checkHists()

StatusCode CscCalibMonToolBase::checkHists ( bool  fromFinalise)
virtualinherited

Standard function for a ManagedMonitorToolBase.

Not used. Just expected to be here

Reimplemented from ManagedMonitorToolBase.

Definition at line 744 of file CscCalibMonToolBase.cxx.

745 {
746 
747  ATH_MSG_DEBUG( "CscCalibMonToolBase : in checkHists()" );
748 
749  return StatusCode::SUCCESS;
750 }

◆ copyDataToHists()

StatusCode CscCalibMonToolBase::copyDataToHists ( HistCollection histCollection)
protectedvirtualinherited

Fills the histograms in the histCollection based on the data in the std::vector in the HistCollection.

Definition at line 889 of file CscCalibMonToolBase.cxx.

890 {
891 
892  //Determine what histograms we'll make:
893  bool doSpec = true; //(histCollection->cscSpec != NULL);
894  bool doHash = (histCollection->hashHist != nullptr && m_makeHashHists);
895  bool doAllChan1d = (histCollection->allChan1dHistX != nullptr && histCollection->allChan1dHistY != nullptr && m_makeAllChan1dHists);
896  bool doAllChan2d = (histCollection->allChan2dHist != nullptr && m_makeAllChan2dHists);
897  bool doLayChan = (histCollection->layHistVect != nullptr && m_makeLayHists);
898  bool doLaySummary = (histCollection->laySummVect != nullptr && m_makeLaySummHists);
899  bool doChamAvg = (histCollection->chamProf != nullptr && m_makeChamProfs);
900  bool doChamChan = (histCollection->chamSummVect != nullptr && m_makeChamHists);
901  bool doChamSummary = (histCollection->chamSummVect != nullptr && m_makeChamSummHists);
902  bool doErrors = (histCollection->errors.size() != 0); //Changed to a vector, so this
903  // is best way to check at moment
904 
905  ATH_MSG_DEBUG( "Copying data to hist collection, doing: All Channels (hash view):"
906  << (int)doHash
907  << "All Channels (1d view) " << (int)doHash
908  << "All Channels (2d view) " << (int)doHash
909  << " layer overview " << (int)doLayChan
910  << " layer spectrum " << (int)doLaySummary
911  << " sector prof " << (int)doChamAvg
912  << " chamber overview " << (int)doChamChan
913  << " chamber spectrum " << (int)doChamSummary
914  );
915 
916  //For shorter lines:
917  std::vector<float> & data = histCollection->data;
918  std::vector<float> & errors = histCollection->errors;
919 
920  //Loop through all channels, and copy relevant data from channel to histogram.
921  const std::vector<Identifier> & ids = m_idHelperSvc->cscIdHelper().idVector();
922  for(const auto & thisChamberId:ids)
923  {
924  IdentifierHash chamHash;
925  m_idHelperSvc->cscIdHelper().get_module_hash(thisChamberId,chamHash);
926  ATH_MSG_DEBUG( "Copying data to histograms for chamber with hash" << (int)chamHash );
927 
928  unsigned int stationSize = m_idHelperSvc->cscIdHelper().stationName(thisChamberId); //51 = large, 50 = small
929 
930  unsigned int stationPhi = m_idHelperSvc->cscIdHelper().stationPhi(thisChamberId);
931  int stationEta = m_idHelperSvc->cscIdHelper().stationEta(thisChamberId);
932  unsigned int sector = getSector(stationPhi,stationSize);
933  int sectorIndex = sector * stationEta; //Histogram will go from -16 to +16. Bin 0 ignored.
934 
935 
936 
937  std::vector<Identifier> stripVect;
938  m_idHelperSvc->cscIdHelper().idChannels(thisChamberId,stripVect);
939 
940  for(const auto & thisStrip:stripVect)
941  {
942  unsigned int chamberLayer = m_idHelperSvc->cscIdHelper().chamberLayer(thisStrip);
943  if(chamberLayer != 2)
944  continue;
945  int measuresPhi = m_idHelperSvc->cscIdHelper().measuresPhi(thisStrip);
946  if(histCollection->ignoreY && measuresPhi)
947  continue;
948 
949  IdentifierHash stripHash;
950  m_idHelperSvc->cscIdHelper().get_channel_hash(thisStrip,stripHash);
951  unsigned int layer = m_idHelperSvc->cscIdHelper().wireLayer(thisStrip);
952  unsigned int strip = m_idHelperSvc->cscIdHelper().strip(thisStrip);
953  float secLayer = (((float)stationEta*sector) + 0.2 * ((float)layer - 1) + 0.1);
954  float datum = data.at(stripHash);
955 
956  ATH_MSG_VERBOSE( "Filling all chan for sector: " << sector
957  << "\tlayer: " << layer << "\tstationEta: " << stationEta
958  << "\tsecLayer: " << secLayer
959  << "\tdata: " << datum );
960 
961  if(doSpec) {
962  histCollection->cscSpec[measuresPhi]->Fill(datum);
963  }
964  if(doHash)
965  {
966  //copy data array directly to hash histogram with all channels
967  histCollection->hashHist->Fill(stripHash,datum);
968  }
969 
970  if(doAllChan1d)
971  {
972  ATH_MSG_VERBOSE( "Filling 1d chan for sector: " << sector
973  << "\tlayer: " << layer << "\tstationEta: " << stationEta
974  << "\tsecLayer: " << secLayer
975  << "\tdata: " << datum );
976  if(measuresPhi){
977 
978  double modifiedStripNum =
979  (stationEta *sector)
980  + (layer-1)*.25
981  + ((strip-1) * .25 /(48))
982  ;
983 
984  ATH_MSG_VERBOSE( "Modified strip num: " << modifiedStripNum );
985  //copy data array directly to 1d histogram with all channels
986  histCollection->allChan1dHistY->Fill(
987  modifiedStripNum, datum);
988  } else {
989  double modifiedStripNum =
990  (stationEta *sector)
991  + (layer-1)*.25
992  + ((strip-1) * .25 /(192 ))
993  ;
994 
995  //copy data array directly to 1d histogram with all channels
996  histCollection->allChan1dHistX->Fill(
997  modifiedStripNum, datum);
998  }
999  }
1000 
1001  if(doAllChan2d)
1002  {
1003  ATH_MSG_VERBOSE( "Filling 2d chan for sector: " << sector
1004  << "\tlayer: " << layer << "\tstationEta: " << stationEta
1005  << "\tsecLayer: " << secLayer
1006  << "\tdata: " << datum );
1007 
1008  //copy data array directly to 2d histogram with all channels
1009  int modifiedStripNum = static_cast<int>(strip) * (measuresPhi ? -1 : 1);
1010  histCollection->allChan2dHist->Fill(
1011  modifiedStripNum, secLayer, std::abs(datum));
1012  }
1013 
1014  int layIndex = getLayIndex(measuresPhi,stationEta,sector,layer);
1015  int chamIndex = getChamIndex(measuresPhi,stationEta,sector);
1016  if(doLayChan)
1017  {
1018  //Copy values from data array for this layer to layer histogram
1019  (*(histCollection->layHistVect))[layIndex]->SetBinContent(strip,datum);
1020  if(doErrors)
1021  (*(histCollection->layHistVect))[layIndex]->SetBinError(strip,errors.at(stripHash));
1022  }
1023  if(doLaySummary)
1024  {
1025  //Histogram values for this layer
1026  (*(histCollection->laySummVect))[layIndex]->Fill(datum);
1027 
1028  }
1029  if(doChamAvg)
1030  {
1031  //Keeps track of average value for each chamber.
1032  histCollection->chamProf->Fill(sectorIndex,datum);
1033  }
1034  if(doChamSummary)
1035  {
1036  //histogram values for this chamber
1037  (*(histCollection->chamSummVect))[chamIndex]->Fill(datum);
1038  }
1039  if(doChamChan)
1040  {
1041  int shiftedStrip = strip + (layer-1)*( measuresPhi ? 50 : 200);
1042  //Copy values from data array for this chamber to chamber histogram
1043  (*(histCollection->chamHistVect))[chamIndex]->SetBinContent(shiftedStrip,datum);
1044  if(doErrors)
1045  (*(histCollection->chamHistVect))[chamIndex]->SetBinError(shiftedStrip,errors.at(stripHash));
1046  }
1047  }//end strip loop
1048  }//end chamber loop
1049 
1050  //probably should put this in its own function at some point
1051 
1052  return StatusCode::SUCCESS;
1053 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ deregGraph()

StatusCode ManagedMonitorToolBase::deregGraph ( TGraph *  g)
virtualinherited

De-registers a TGraph from the THistSvc, but does NOT delete the object.

Definition at line 1625 of file ManagedMonitorToolBase.cxx.

1627 {
1628  return m_THistSvc->deReg( g );
1629 }

◆ deregHist()

StatusCode ManagedMonitorToolBase::deregHist ( TH1 *  h)
virtualinherited

De-registers a TH1 from the THistSvc, but does NOT delete the object.

Definition at line 1617 of file ManagedMonitorToolBase.cxx.

1619 {
1620  return m_THistSvc->deReg( h );
1621 }

◆ deregObject() [1/2]

StatusCode ManagedMonitorToolBase::deregObject ( const std::string &  objName,
const MonGroup group 
)
virtualinherited

De-registers a TObject from the THistSvc, but does NOT delete the object.

(NB: LightWeight histograms are not even registered until readout).

Definition at line 1643 of file ManagedMonitorToolBase.cxx.

1645 {
1646  std::string streamName = streamNameFunction()->getStreamName( this, group, objName );
1647  return m_THistSvc->deReg( streamName );
1648 }

◆ deregObject() [2/2]

StatusCode ManagedMonitorToolBase::deregObject ( const std::string &  objName,
const std::string &  system,
Interval_t  interval 
)
virtualinherited

De-registers a TObject from the THistSvc, but does NOT delete the object.

(NB: LightWeight histograms are not even registered until readout).

Definition at line 1633 of file ManagedMonitorToolBase.cxx.

1636 {
1637  MonGroup group( this, system, interval );
1638  return deregObject( objName, group );
1639 }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ endOfEventsBlockFlag()

bool ManagedMonitorToolBase::endOfEventsBlockFlag ( ) const
inlineprotectedinherited

Definition at line 794 of file ManagedMonitorToolBase.h.

794 { return m_endOfEventsBlock; }

◆ endOfLowStatFlag()

bool ManagedMonitorToolBase::endOfLowStatFlag ( ) const
inlineprotectedinherited

Definition at line 795 of file ManagedMonitorToolBase.h.

795 { return m_endOfLowStat; }

◆ endOfLumiBlockFlag()

bool ManagedMonitorToolBase::endOfLumiBlockFlag ( ) const
inlineprotectedinherited

Definition at line 796 of file ManagedMonitorToolBase.h.

796 { return m_endOfLumiBlock; }

◆ endOfRunFlag()

bool ManagedMonitorToolBase::endOfRunFlag ( ) const
inlineprotectedinherited

Definition at line 797 of file ManagedMonitorToolBase.h.

797 { return m_endOfRun; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

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

◆ fillHistograms()

StatusCode CscCalibMonToolBase::fillHistograms ( )
virtualinherited

Standard function for a ManagedMonitorToolBase.

Not used. For most ManagedMonitorToolBase classes, this would do event-by-event filling of histograms. However we let algorithms in CscCalibAlgs do this for us.

Reimplemented from ManagedMonitorToolBase.

Definition at line 699 of file CscCalibMonToolBase.cxx.

700 {
701 
702  ATH_MSG_DEBUG( "CscCalibMonToolBase :: in fillHistograms()" );
703 
704  return StatusCode::SUCCESS;
705 }//end fillHistograms

◆ fillHists()

StatusCode ManagedMonitorToolBase::fillHists ( )
virtualinherited

Calls fillHists( bool, bool, bool ); if an eventBlock,lumiBlock, or run has turned over, calls procHists( bool, bool, bool ) and bookHists( bool, bool, bool ).

Implements IMonitorToolBase.

Reimplemented in TileRawChannelMonTool, and TileDigitsMonTool.

Definition at line 740 of file ManagedMonitorToolBase.cxx.

742 {
743 
746  msg(MSG::WARNING) << "ManagedMonitorToolBase::initialize() never called from reimplementation!" << endmsg;
747  }
748 
749 
750  bool isNewEventsBlock = ( m_procNEventsProp > 0 && ((m_nEvents % m_procNEventsProp) == 1) && m_haveClearedLastEventBlock );
751  if (isNewEventsBlock) m_haveClearedLastEventBlock = false;
752 
753  m_newLowStat = false;
754  m_newLumiBlock = false;
755  m_newRun = false;
756  newLowStat = false;
757  newLumiBlock = false;
758  newRun = false;
759 
760  m_newLowStatInterval = false;
761  m_newMedStatInterval = false;
762  m_newHigStatInterval = false;
763  newLowStatInterval = false;
764  newMedStatInterval = false;
765  newHigStatInterval = false;
766 
767  m_useTrigger = ( (m_triggerChainProp != "" || m_triggerGroupProp != "") && (!m_trigDecTool.empty()) );
768 
769  if( m_manager != 0 ) {
772  newLumiBlock = m_newLumiBlock;
773  newRun = m_newRun;
774 
775  if(m_newRun) {
776  m_newLumiBlock = true;
777  newLumiBlock = m_newLumiBlock;
778  isNewEventsBlock = true;
779  }
780 
781  m_newEventsBlock = isNewEventsBlock;
782  newEventsBlock = m_newEventsBlock;
783 
784  if( m_newLumiBlock ) {
785  // check if a new LB interval has started
786  // lowest lumiBlockNumber() is 1
787  // m_lastLowStatInterval is -1 initially
788  int currentLB = m_manager->lumiBlockNumber();
789  int LBsLowStat = m_manager->getLBsLowStat();
790  int LBsMedStat = m_manager->getLBsMedStat();
791  int LBsHigStat = m_manager->getLBsHigStat();
792 
793  if( LBsLowStat*LBsMedStat*LBsHigStat == 0) {
794  msg(MSG::WARNING) << "zero LBs requested for interval" << endmsg;
795  }
796  else {
797  if( ((currentLB-1)/LBsLowStat) != m_lastLowStatInterval ) m_newLowStatInterval = true;
798  if( ((currentLB-1)/LBsMedStat) != m_lastMedStatInterval ) m_newMedStatInterval = true;
799  if( ((currentLB-1)/LBsHigStat) != m_lastHigStatInterval ) m_newHigStatInterval = true;
800  newLowStatInterval = m_newLowStatInterval;
801  newMedStatInterval = m_newHigStatInterval;
802  newHigStatInterval = m_newHigStatInterval;
803  }
804  }
805 
806  // Allow inheriting classes the option of using the lastLumiBloc/lastRun values
807  // before updating them
808  }
809 
810 
811  StatusCode sc0( StatusCode::SUCCESS );
812  StatusCode sc1( StatusCode::SUCCESS );
813  StatusCode sc2( StatusCode::SUCCESS );
814  StatusCode sc3( StatusCode::SUCCESS );
815 
816  // Set end of LowStat, LumiBlock and Run variables
817  // These are needed to be used in procHistograms().
822  endOfEventsBlock = m_newEventsBlock;
823  endOfLowStat = m_newLowStatInterval;
824  endOfLumiBlock = m_newLumiBlock;
825  endOfRun = m_newRun;
826 
827  // just duplicates m_newLowStatInterval
829  newLowStat = m_newLowStatInterval;
830 
832  ATH_MSG_DEBUG("Interval transition processing");
833  // Process histograms from the previous lumiBlock/run
834  if( m_nEvents != 1 ) {
836  sc0 = procHistograms();
838  }
839  // Re-book new histograms
841 
843  sc1 = bookHistograms();
845  } else {
846  std::vector<Interval_t> intervals_to_process;
847  if (m_newEventsBlock) intervals_to_process.push_back(eventsBlock);
848  if (m_newLumiBlock) intervals_to_process.push_back(lumiBlock);
849  if (m_newLowStatInterval) intervals_to_process.push_back(lowStat);
850  if (m_newRun) intervals_to_process.push_back(run);
851  for (const auto interval: intervals_to_process) {
855  }
856  }
857  for (const auto& interval: std::vector<Interval_t>{ eventsBlock, lumiBlock, lowStat, run }) {
858  for (const auto& it: m_templateHistograms[interval]) {
859  // is histogram too small in x axis for LB range?
860  if (it.m_group.histo_mgmt() == ATTRIB_X_VS_LB) {
861  //ATH_MSG_WARNING("We are rebinning for " << it.m_templateHist->GetName());
862  while ( it.m_templateHist->GetXaxis()->GetXmax() <= AthenaMonManager::lumiBlockNumber() ) {
863  it.m_templateHist->LabelsInflate("X");
864  }
865  }
866  }
867  for (auto& it: m_templateEfficiencies[interval]) {
868  if (it.m_group.histo_mgmt() == ATTRIB_X_VS_LB) {
869  // get the underlying passed and total TH1's from the TEfficiency
870  TH1* passedHist = it.m_templateHist->GetCopyPassedHisto();
871  TH1* totalHist = it.m_templateHist->GetCopyTotalHisto();
872  // inflate them until they exceed the lumi-block number
873  while (passedHist->GetXaxis()->GetXmax() <= AthenaMonManager::lumiBlockNumber() ) {
874  passedHist->LabelsInflate("X");
875  totalHist->LabelsInflate("X");
876  }
877  // Replace them in the TEfficiency. First one has force ("f") option, since the
878  // histograms will not be consistent. This is corrected in the next line, so we
879  // do check for consistency then.
880  it.m_templateHist->SetPassedHistogram(*passedHist, "f");
881  it.m_templateHist->SetTotalHistogram(*totalHist, " ");
882  delete passedHist; // not owned by THistSvc, so need to be deleted.
883  delete totalHist;
884  }
885  }
886  }
887 
888  if (auto streamname = dynamic_cast<OfflineStream*>(streamNameFunction())) {
889  streamname->updateRunLB();
890  }
891 
892  sc3 = bookHistogramsRecurrent( );
893 
895 
896  }//end if new RUN/LB/Block
897 
898  // check filters
899  bool filterresult(true);
900  if (! m_DQFilterTools.empty()) {
901  ToolHandleArray<IDQFilterTool>::const_iterator ifilter(m_DQFilterTools.begin()), filterend(m_DQFilterTools.end());
902  for (; filterresult && (ifilter != filterend);
903  ++ifilter) {
904  filterresult = (filterresult && (*ifilter)->accept());
905  }
906  }
907 
908 
909  // ...and fill as normal
910  if(filterresult &&
911  (!m_useTrigger
914  ATH_MSG_DEBUG("Passed trigger, presumably");
916  fillHistograms().ignore();
919  ++m_nEvents;
920  } else { ATH_MSG_DEBUG("Failed trigger, presumably"); }
921 
923  if( m_newLumiBlock && (m_nEventsIgnoreTrigger != 1) ) {
924  ++m_nLumiBlocks;
925  }
926  if( m_manager != 0 ) {
928  if( m_newLumiBlock ) {
930 
931  int LBsLowStat = m_manager->getLBsLowStat();
932  int LBsMedStat = m_manager->getLBsMedStat();
933  int LBsHigStat = m_manager->getLBsHigStat();
934  if( LBsLowStat*LBsMedStat*LBsHigStat > 0) {
938  }
939  }
940  }
941 
942  return StatusCode::SUCCESS;
943 }

◆ finalHists()

StatusCode ManagedMonitorToolBase::finalHists ( )
virtualinherited

Calls procHists( true, true, true ).

Implements IMonitorToolBase.

Reimplemented in TileRawChannelMonTool, TileDigitsMonTool, and TileCellNoiseMonTool.

Definition at line 1256 of file ManagedMonitorToolBase.cxx.

1258 {
1259 
1260  // This assumes that the end of a file will naturally end a run, which is not always true.
1261  // A merging application run afterwards should be able to put parts of a run together.
1262  if( m_nEvents != 1 ) {
1264 
1265  // Set end flags for the LowStat, LumiBlock and Run variables.
1266  // This is needed to be used in the procHistograms method below.
1267  m_endOfEventsBlock = true;
1268  m_endOfLowStat = true;
1269  m_endOfLumiBlock = true;
1270  m_endOfRun = true;
1271  endOfEventsBlock = true;
1272  endOfLowStat = true;
1273  endOfLumiBlock = true;
1274  endOfRun = true;
1275 
1277 
1279  return sc;
1280  }
1281  return StatusCode::SUCCESS;
1282 }

◆ finalize()

StatusCode CscCalibMonToolPed::finalize ( )
virtual

finalize function.

Calls base class's finalize function.

Reimplemented from CscCalibMonToolBase.

Definition at line 89 of file CscCalibMonToolPed.cxx.

90 {
91  delete m_pedNewColl;
92  delete m_pedOldColl;
93  delete m_pedDiffColl;
94  delete m_noiseNewColl;
95  delete m_noiseOldColl;
96  delete m_noiseDiffColl;
97  delete m_rmsNewColl;
98  delete m_rmsOldColl;
99  delete m_rmsDiffColl;
100  delete m_f001NewColl;
101  delete m_f001OldColl;
102  delete m_f001DiffColl;
103  delete m_chi2Coll;
104 
106 }

◆ genThreshold()

void CscCalibMonToolPed::genThreshold ( HistCollection pedColl,
HistCollection noiseColl,
HistCollection tholdColl,
float  multiplier 
)
private

Definition at line 511 of file CscCalibMonToolPed.cxx.

511  {
512  for(unsigned int chanItr = 0 ; chanItr <= m_maxHashId; chanItr++) {
513  tholdColl->data[chanItr] = pedColl->data[chanItr] + multiplier*noiseColl->data[chanItr];
514  }
515 }

◆ get_nEvents()

unsigned int ManagedMonitorToolBase::get_nEvents ( ) const
inlineprotectedinherited

Definition at line 692 of file ManagedMonitorToolBase.h.

692  {
693  return m_nEvents;
694  }

◆ get_procNEventsProp()

long ManagedMonitorToolBase::get_procNEventsProp ( ) const
inlineprotectedinherited

Definition at line 696 of file ManagedMonitorToolBase.h.

696  {
697  return m_procNEventsProp;
698  }

◆ getChamIndex()

int CscCalibMonToolBase::getChamIndex ( int  measuresPhi,
int  stationEta,
int  sector 
)
protectedvirtualinherited

Produces a unique number for every secber in the detector.

Definition at line 1064 of file CscCalibMonToolBase.cxx.

1065 {
1066  int chamIndex = measuresPhi*32
1067  + ((stationEta ==1) ? 16 : 0)
1068  + (sector-1);
1069  return( chamIndex);
1070 }

◆ getEndCap()

std::string CscCalibMonToolBase::getEndCap ( int  eta)
protectedinherited

Gets the letter endcap (A or C) for a given eta index (1,-1)

Definition at line 1084 of file CscCalibMonToolBase.cxx.

1085 {
1086  if(eta ==1)
1087  return "A";
1088  if(eta == -1)
1089  return "C";
1090  return "ERROR";
1091 }

◆ getFullPath()

std::string CscCalibMonToolBase::getFullPath ( const std::string &  geoPath,
const std::string &  histTypeDir,
const std::string &  parTypeDir 
)
protectedinherited

Geo path creates a directory structure for a histogram based upon its geoPath, the hist type dir (spectrum of values, per-channel values, etc), and the parTypeDir (pedestal, etc).

This provides a centralized, consistent way of generating the paths

Definition at line 1184 of file CscCalibMonToolBase.cxx.

1185 {
1186  std::stringstream ss;
1187 
1188  ss << m_generic_path_csccalibmonitoring << geoPath;
1189 
1190  if(histTypeDir != "")
1191  ss << "/" << histTypeDir;
1192 
1193  if(parTypeDir != "")
1194  ss << "/" << parTypeDir;
1195 
1196  return ss.str();
1197 }

◆ getGeoPath()

std::string CscCalibMonToolBase::getGeoPath ( int  eta = -9999,
int  sector = -9999,
int  wireLayer = -9999,
int  measuresPhi = -9999,
int  channel = -9999 
)
protectedinherited

getGeoPath creates a directory structure for a histogram based upon where it is in the CSC geometry.

The user fills the data down as far as they like. For example, just filling in eta and sector will provide a path for a sector-wide histogram. This provides a centralized location to change the layout of the root output file.

Definition at line 1097 of file CscCalibMonToolBase.cxx.

1098 {
1099  std::stringstream ss;
1100 
1101  static const std::string histStr = "/_hists";
1102  static const std::string errorDir = "/ERROR";
1103 
1104  ss << std::setfill('0');//so we can have uniform numbers
1105 
1106 
1107  if( eta == -9999 ) //CSC Wide
1108  {
1109  ss << "/CscOverview";
1110  return ss.str();
1111  }
1112 
1113  std::string endCap = getEndCap(eta);
1114  if(endCap == "ERROR")
1115  {
1116  ATH_MSG_ERROR( "Eta " << eta << " is invalid. " );
1117  return errorDir;
1118  }
1119 
1120  ss << "/EndCap" << endCap;
1121 
1122  if(sector == -9999) //Endcap Histogram
1123  {
1124  ss << histStr;
1125  return ss.str();
1126  }
1127 
1128  if(sector <1 || sector > 16)
1129  {
1130  ATH_MSG_ERROR( "Sector " << sector << " is invalid. " );
1131  return errorDir;
1132  }
1133 
1134  ss << "/Sector" << std::setw(2) << sector;
1135 
1136  if(wireLayer == -9999)//Sector (chamber) wide histrogram
1137  {
1138  ss << histStr;
1139  return ss.str();
1140  }
1141 
1142  if(wireLayer < 1 || wireLayer > 4)
1143  {
1144  ATH_MSG_ERROR( "WireLayer " << wireLayer << " is invalid." );
1145  return errorDir;
1146  }
1147 
1148  ss << "/Layer" << wireLayer;
1149 
1150  if(measuresPhi == -9999)//Layer wide histrogram
1151  {
1152  ss << histStr;
1153  return ss.str();
1154  }
1155 
1156  if(measuresPhi < 0 || measuresPhi > 1)
1157  {
1158  ATH_MSG_ERROR( "MeasuresPhi " << measuresPhi << " is invalid." );
1159  return errorDir;
1160  }
1161 
1162  ss << (measuresPhi ? "/Phi" : "/Eta");
1163  if(channel == -9999) //LayerDirection wide histogram
1164  {
1165  /* Channel histograms don't work (too much memory used by meta data tree), so layer is now our most detailed channel. No need for histStr.
1166  ss << histStr;*/
1167  return ss.str();
1168  }
1169 
1170  if( channel < 1 || (measuresPhi && channel > 48) || (!measuresPhi && channel > 192))
1171  {
1172  ATH_MSG_ERROR( "Channel " << channel << " is invalid for a " << (measuresPhi ? "phi layers" : "eta layer") );
1173  return errorDir;
1174  }
1175 
1176 
1177  ss << "/Channel" << std::setw( measuresPhi ? 2 : 3 ) << channel;
1178 
1179  return ss.str();
1180 }//end getGeoPath

◆ getHist() [1/4]

StatusCode ManagedMonitorToolBase::getHist ( TH1 *&  h,
const std::string &  hName,
const MonGroup group 
)
virtualinherited

Returns a TH1 via the pointer passed as the first argument.

The histogram name, without the leading path or stream name, must be given as the second argument.

Definition at line 1419 of file ManagedMonitorToolBase.cxx.

1421 {
1422  std::string streamName = streamNameFunction()->getStreamName( this, group, hName );
1423  return m_THistSvc->getHist( streamName, h );
1424 }

◆ getHist() [2/4]

StatusCode ManagedMonitorToolBase::getHist ( TH1 *&  h,
const std::string &  hName,
const std::string &  system,
Interval_t  interval 
)
virtualinherited

Returns a TH1 via the pointer passed as the first argument.

The histogram name, without the leading path or stream name, must be given as the second argument.

Definition at line 1409 of file ManagedMonitorToolBase.cxx.

1412 {
1413  MonGroup group( this, system, interval );
1414  return getHist( h, hName, group );
1415 }

◆ getHist() [3/4]

StatusCode ManagedMonitorToolBase::getHist ( TH2 *&  h,
const std::string &  hName,
const MonGroup group 
)
virtualinherited

Returns a TH2 via the pointer passed as the first argument.

The histogram name, without the leading path or stream name, must be given as the second argument.

Definition at line 1438 of file ManagedMonitorToolBase.cxx.

1440 {
1441  std::string streamName = streamNameFunction()->getStreamName( this, group, hName );
1442  return m_THistSvc->getHist( streamName, h );
1443 }

◆ getHist() [4/4]

StatusCode ManagedMonitorToolBase::getHist ( TH2 *&  h,
const std::string &  hName,
const std::string &  system,
Interval_t  interval 
)
virtualinherited

Returns a TH2 via the pointer passed as the first argument.

The histogram name, without the leading path or stream name, must be given as the second argument.

Definition at line 1428 of file ManagedMonitorToolBase.cxx.

1431 {
1432  MonGroup group( this, system, interval );
1433  return getHist( h, hName, group );
1434 }

◆ getLayIndex()

int CscCalibMonToolBase::getLayIndex ( int  measuresPhi,
int  stationEta,
int  sector,
int  layer 
)
protectedvirtualinherited

produces a unique number for every layer in the detector

Definition at line 1055 of file CscCalibMonToolBase.cxx.

1056 {
1057  int layIndex = measuresPhi*32*4
1058  + ((stationEta ==1) ? 16*4 : 0)
1059  + (sector-1)*4
1060  + layer -1;
1061  return layIndex;
1062 }

◆ getNewStreamNameFcn()

ManagedMonitorToolBase::StreamNameFcn * ManagedMonitorToolBase::getNewStreamNameFcn ( ) const
protectedvirtualinherited

Definition at line 2157 of file ManagedMonitorToolBase.cxx.

2159 {
2160  StreamNameFcn* fcn(0);
2161 
2162  switch( m_environment ) {
2164  fcn = new NoOutputStream();
2165  break;
2167  fcn = new OnlineStream();
2168  break;
2170  fcn = new DefaultStream( m_fileKey );
2171  break;
2175  case AthenaMonManager::AOD:
2177  default:
2178  fcn = new OfflineStream( m_fileKey, m_dataType, m_environment );
2179  }
2180 
2181  return fcn;
2182 }

◆ getSector()

int CscCalibMonToolBase::getSector ( int  stationPhi,
int  stationSize 
)
protectedvirtualinherited

Produces a sector number from the phi and size of a station.

Definition at line 1072 of file CscCalibMonToolBase.cxx.

1073 {
1074  //stationSize : 50 = CSS, 51 = CSL
1075  //Sector 1 : large with athena's stationPhi = 1 (onlinePhi = 0)
1076  //Sector 2 : small with athenas stationPhi = 1 (onlinePhi = 0)
1077  //Sector 3 : large with athenas stationPhi = 2 (onlinePhi = 1)
1078  //etc...
1079  return(2*stationPhi + 50 - stationSize);
1080  //return(2*stationPhi + stationSize - 51);
1081 }

◆ handleParameter()

StatusCode CscCalibMonToolPed::handleParameter ( const CscCalibResultCollection parVals)
privatevirtual

handleParameter sets things up for the base class procParameter.

It makes decisions based on the parameter being passed in parVals on how to handle the data It then copies the arrays generated from procParameter to all the appropriate histograms

Parameters
parValsValues for a particular parameter

Reimplemented from CscCalibMonToolBase.

Definition at line 362 of file CscCalibMonToolPed.cxx.

363 {
364  ATH_MSG_DEBUG( "CscCalibMonToolPed : in procParameter()" );
365 
366  //The whole point of this funciton is to pass the correct histograms and setup info
367  //to CsccalibMonToolBase::procParameter. To organize this, we store the setup info into
368  //these structs:
369  ProcSetupInfo ProcParameterInput;
370 
371 
372  //--setup for this parameter
373  //We will specify :
374  //name of database parameter if we want to compare with datbase value
375  //otherwise we provide expeted value to compare with
376  //we also provide handles to all the arrays and values procParameter uses, such as the list
377  //of expected hash ids.
378  if(!parVals)
379  {
380  ATH_MSG_FATAL("Blank parval passed to handle parameter");
381  return StatusCode::FAILURE;
382  }
383  std::string parName = parVals->parName();
384  if(parName == "ped")
385  {
386  ProcParameterInput.dbName = parVals->parName();
387  ProcParameterInput.badHist = m_h_numBad;
388  ProcParameterInput.badBin = m_pedBadBin;
389  ProcParameterInput.maxDiff = m_pedMaxDiff;
390  ProcParameterInput.chi2BadBin = m_chi2BadBin;
391  ProcParameterInput.chi2Max = m_chi2Max;
392  ProcParameterInput.doChi2 = true;
393  ProcParameterInput.vals = &(m_pedNewColl->data);
394  ProcParameterInput.errors = &(m_pedNewColl->errors);
395  ProcParameterInput.oldVals =& (m_pedOldColl->data);
396  ProcParameterInput.diffs = &(m_pedDiffColl->data);
397  ProcParameterInput.chi2s = &(m_chi2Coll->data);
398  ProcParameterInput.expectedChannels = m_expectedHashIdsAll;
399  }
400  else if (parName == "noise")
401  {
402  ProcParameterInput.dbName = parVals->parName();
403  ProcParameterInput.badHist = m_h_numBad;
404  ProcParameterInput.badBin = m_noiseBadBin;
405  ProcParameterInput.maxDiff = m_noiseMaxDiff;
406  ProcParameterInput.missingBadBin = m_missingBadBin;
407  ProcParameterInput.missingChans = m_h_pedMissingChannels;
408  ProcParameterInput.doChi2 = false;
409  ProcParameterInput.vals = &(m_noiseNewColl->data);
410  ProcParameterInput.errors = &(m_noiseNewColl->errors);
411  ProcParameterInput.oldVals = &(m_noiseOldColl->data);
412  ProcParameterInput.diffs = &(m_noiseDiffColl->data);
413  ProcParameterInput.expectedChannels = m_expectedHashIdsAll;
414  }
415  else if (parName == "rms")
416  {
417  ProcParameterInput.dbName = parVals->parName();
418  ProcParameterInput.badHist = m_h_numBad;
419  ProcParameterInput.badBin = m_rmsBadBin;
420  ProcParameterInput.maxDiff = m_rmsMaxDiff;
421  ProcParameterInput.missingBadBin = m_missingBadBin;
422  ProcParameterInput.missingChans = m_h_pedMissingChannels;
423  ProcParameterInput.doChi2 = false;
424  ProcParameterInput.vals = &(m_rmsNewColl->data);
425  ProcParameterInput.errors = &(m_rmsNewColl->errors);
426  ProcParameterInput.oldVals = &(m_rmsOldColl->data);
427  ProcParameterInput.diffs = &(m_rmsDiffColl->data);
428  ProcParameterInput.expectedChannels = m_expectedHashIdsAll;
429  }
430  else if (parName == "f001")
431  {
432  ProcParameterInput.dbName = parVals->parName();
433  ProcParameterInput.badHist = m_h_numBad;
434  ProcParameterInput.badBin = m_f001BadBin;
435  ProcParameterInput.maxDiff = m_f001MaxDiff;
436  ProcParameterInput.missingBadBin = m_missingBadBin;
437  ProcParameterInput.missingChans = m_h_pedMissingChannels;
438  ProcParameterInput.doChi2 = false;
439  ProcParameterInput.vals = &(m_f001NewColl->data);
440  ProcParameterInput.errors = &(m_f001NewColl->errors);
441  ProcParameterInput.oldVals = &(m_f001OldColl->data);
442  ProcParameterInput.diffs = &(m_f001DiffColl->data);
443  ProcParameterInput.expectedChannels = m_expectedHashIdsAll;
444  }
445  else if (parName == "OnlTHoldBreaches"){
446  //How many samples failed the online threshold test of f001 +2*RMS
447  //(f001 and RMS read from a file from online configuration db)
448  //ProcParameterInput.dbName = parVals->parName();
449  ProcParameterInput.badHist = m_h_numBad;
450  ProcParameterInput.badBin = m_onlTHoldBreachBadBin;
451  ProcParameterInput.expectedVal = 0; //expect 0 f001
452  ProcParameterInput.maxDiff = m_onlTHoldBreachMax;
453  ProcParameterInput.missingBadBin = m_missingBadBin;
454  ProcParameterInput.missingChans = m_h_pedMissingChannels;
455  ProcParameterInput.doChi2 = false;
456  ProcParameterInput.vals = &(m_onlTHoldBreachColl->data);
457  ProcParameterInput.errors = &(m_onlTHoldBreachColl->errors);
458  //ProcParameterInput.oldVals = &(m_onlTHoldBreachColl->data);
459  //ProcParameterInput.diffs = &(m_onlTHoldBreachColl->data);
460  ProcParameterInput.expectedChannels = m_expectedHashIdsAll;
461  }
462  else
463  {
464  ATH_MSG_INFO( "CscCalibMonToolPed : Did not recognize parameter name "
465  << parName << ". This is usually ok." );
466  return StatusCode::SUCCESS;
467  }
468 
469  //Process data in parVals according to setting in ProcParameterInput. This includes:
470  // -Copying data from parVals to ProcParameterInput.vals (i.e. the HistCollection)
471  // -Checking for missing channels
472  // -Look for deviations from expected values for each channel
473  if(!procParameter(parVals,&ProcParameterInput).isSuccess())
474  {
475  ATH_MSG_FATAL( "CscCalibMonToolPed : Failed to process parameter "
476  << parName );
477  return StatusCode::FAILURE;
478  }
479 
480  if(parName == "ped")
481  {
486  }
487  if(parName == "noise")
488  {
492  }
493  if(parName == "rms")
494  {
498  }
499  if(parName == "f001")
500  {
504  }
505  if(parName == "OnlTHoldBreaches"){
507  }
508  return StatusCode::SUCCESS;
509 }

◆ initialize()

StatusCode CscCalibMonToolPed::initialize ( )
virtual

initialize function.

Calls base class's initialize function.

Reimplemented from CscCalibMonToolBase.

Definition at line 79 of file CscCalibMonToolPed.cxx.

80 {
82 
83  m_generic_path_csccalibmonitoring = "MUON_CSC_PED";
84 
85  return sc;
86 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

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

Definition at line 29 of file IMonitorToolBase.h.

29 { return IID_IMonitorToolBase; }

◆ intervalEnumToString()

std::string ManagedMonitorToolBase::intervalEnumToString ( Interval_t  interval)
staticinherited

Converts a LevelOfDetail_t to a string of the same name.

Converts a string to the corresponding LevelOfDetail_t. Converts a Interval_t to a string of the same name.

Definition at line 536 of file ManagedMonitorToolBase.cxx.

538 {
539  std::string str("file");
540 
541  switch( interval ) {
542  case all:
543  str = "all";
544  break;
545  case fill:
546  str = "fill";
547  break;
548  case run:
549  str = "run";
550  break;
551  case lowStat:
552  str = "lowStat";
553  break;
554  case medStat:
555  str = "medStat";
556  break;
557  case higStat:
558  str = "higStat";
559  break;
560  case lumiBlock:
561  str = "lumiBlock";
562  break;
563  case eventsBlock:
564  str = "eventsBlock";
565  break;
566  case file:
567  str = "file";
568  break;
569  default:
570  str = "unknown";
571  }
572 
573  return str;
574 }

◆ intervalStringToEnum()

ManagedMonitorToolBase::Interval_t ManagedMonitorToolBase::intervalStringToEnum ( const std::string &  str)
staticinherited

Converts a string to the corresponding Interval_t.

Definition at line 578 of file ManagedMonitorToolBase.cxx.

580 {
581  std::string lcstr( strToLower(str) );
582 
583  if( lcstr == "all" )
584  return all;
585  else if( lcstr == "fill" )
586  return fill;
587  else if( lcstr == "run" )
588  return run;
589  else if( lcstr == "lowStat" )
590  return lowStat;
591  else if( lcstr == "medStat" )
592  return medStat;
593  else if( lcstr == "higStat" )
594  return higStat;
595  else if( lcstr == "lumiBlock" )
596  return lumiBlock;
597  else if( lcstr == "eventsBlock" )
598  return eventsBlock;
599  else if( lcstr == "file" )
600  return file;
601 
602  if( Imp::s_svcLocator ) {
603  SmartIF<IMessageSvc> ms{Imp::s_svcLocator.load()->service( "MessageSvc" )};
604  if( ms.isValid() ) {
605  MsgStream log( ms, "ManagedMonitorToolBase::intervalStringToEnum()" );
606  log << MSG::WARNING << "Unknown ManagedMonitorToolBase::Interval_t \""
607  << str << "\", returning \"file\"" << endmsg;
608  }
609  }
610 
611  return file;
612 }

◆ lbAverageInteractionsPerCrossing()

float ManagedMonitorToolBase::lbAverageInteractionsPerCrossing ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtualinherited

Average mu, i.e.

<mu>

Definition at line 1693 of file ManagedMonitorToolBase.cxx.

1695 {
1696  if (!m_lumiDataKey.empty()) {
1698  return lumi->lbAverageInteractionsPerCrossing();
1699  } else {
1700  //ATH_MSG_FATAL("! Luminosity tool has been disabled ! lbAverageInteractionsPerCrossing() can't work properly! ");
1701  ATH_MSG_DEBUG("Warning: lbAverageInteractionsPerCrossing() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
1702  return -1.0;
1703  }
1704  // not reached
1705 }

◆ lbAverageLivefraction()

float ManagedMonitorToolBase::lbAverageLivefraction ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtualinherited

Average luminosity livefraction.

Definition at line 1762 of file ManagedMonitorToolBase.cxx.

1764 {
1766  return 1.0;
1767 
1770  return live->lbAverageLiveFraction();
1771  } else {
1772  //ATH_MSG_FATAL("! Luminosity tool has been disabled ! lbAverageLivefraction() can't work properly! ");
1773  ATH_MSG_DEBUG("Warning: lbAverageLivefraction() - luminosity not availble (i.e. EnableLumi = False)");
1774  return -1.0;
1775  }
1776  // not reached
1777 }

◆ lbAverageLuminosity()

float ManagedMonitorToolBase::lbAverageLuminosity ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtualinherited

Average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1)

Definition at line 1729 of file ManagedMonitorToolBase.cxx.

1731 {
1732  if (!m_lumiDataKey.empty()) {
1734  return lumi->lbAverageLuminosity();
1735  } else {
1736  //ATH_MSG_FATAL("! Luminosity tool has been disabled ! lbAverageLuminosity() can't work properly! ");
1737  ATH_MSG_DEBUG("Warning: lbAverageLuminosity() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
1738  return -1.0;
1739  }
1740  // not reached
1741 }

◆ lbDuration()

double ManagedMonitorToolBase::lbDuration ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtualinherited

Luminosity block time (in seconds)

Definition at line 1816 of file ManagedMonitorToolBase.cxx.

1818 {
1820  return m_defaultLBDuration;
1821  }
1822  if (!m_lbDurationDataKey.empty()) {
1824  return dur->lbDuration();
1825  } else {
1826  //ATH_MSG_FATAL("! Luminosity tool has been disabled ! lbDuration() can't work properly! ");
1827  ATH_MSG_DEBUG("Warning: lbDuration() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
1828  return m_defaultLBDuration;
1829  }
1830  // not reached
1831 }

◆ lbInteractionsPerCrossing()

float ManagedMonitorToolBase::lbInteractionsPerCrossing ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtualinherited

Instantaneous number of interactions, i.e.

mu

Definition at line 1709 of file ManagedMonitorToolBase.cxx.

1711 {
1712  if (!m_lumiDataKey.empty()) {
1714  float muToLumi = lumi->muToLumi();
1715  if (muToLumi > 0) {
1716  return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id()) / muToLumi;
1717  }
1718  return 0;
1719  } else {
1720  //ATH_MSG_FATAL("! Luminosity tool has been disabled ! lbInteractionsPerCrossing() can't work properly! ");
1721  ATH_MSG_DEBUG("Warning: lbInteractionsPerCrossing() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
1722  return -1.0;
1723  }
1724  // not reached
1725 }

◆ lbLuminosityPerBCID()

float ManagedMonitorToolBase::lbLuminosityPerBCID ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtualinherited

Instantaneous luminosity.

Definition at line 1745 of file ManagedMonitorToolBase.cxx.

1747 {
1748  if (!m_lumiDataKey.empty()) {
1750  return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id());
1751  } else {
1752  //ATH_MSG_FATAL("! Luminosity tool has been disabled ! lbLuminosityPerBCID() can't work properly! ");
1753  ATH_MSG_DEBUG("Warning: lbLuminosityPerBCID() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
1754  return -1.0;
1755  }
1756  // not reached
1757 }

◆ lbLumiWeight()

double ManagedMonitorToolBase::lbLumiWeight ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtualinherited

Average Integrated Luminosity Live Fraction.

Definition at line 1800 of file ManagedMonitorToolBase.cxx.

1802 {
1803  if (!m_lumiDataKey.empty()) {
1804  return (lbAverageLuminosity(ctx)*lbDuration(ctx))*lbAverageLivefraction(ctx);
1805  } else{
1806  //ATH_MSG_FATAL("! Luminosity tool has been disabled ! lbLumiWeight() can't work properly! ");
1807  ATH_MSG_DEBUG("Warning: lbLumiWeight() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
1808  return -1.0;
1809  }
1810  // not reached
1811 }

◆ livefractionPerBCID()

float ManagedMonitorToolBase::livefractionPerBCID ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtualinherited

Livefraction per bunch crossing ID.

Definition at line 1781 of file ManagedMonitorToolBase.cxx.

1783 {
1785  return 1.0;
1786 
1789  return live->l1LiveFractionVector().at (ctx.eventID().bunch_crossing_id());
1790  } else {
1791  //ATH_MSG_FATAL("! Luminosity tool has been disabled ! livefractionPerBCID() can't work properly! ");
1792  ATH_MSG_DEBUG("Warning: livefractionPerBCID() - luminosity retrieved available (i.e. EnableLumi = False)");
1793  return -1.0;
1794  }
1795  // not reached
1796 }

◆ makeErrorReport()

void CscCalibMonToolPed::makeErrorReport ( )
private

Definition at line 784 of file CscCalibMonToolPed.cxx.

784  {
785  std::stringstream report;
786 
787  double numBadPed = m_h_numBad->GetBinContent(m_pedBadBin);
788  report << "Num channels with Delta Ped > " << m_pedMaxDiff << " : " << numBadPed << std::endl ;
789 
790  double numBadRms = m_h_numBad->GetBinContent(m_rmsBadBin);
791  report << "Num channels with Delta RMS > " << m_rmsMaxDiff << " : " << numBadRms << std::endl ;
792 
793  double numBadF001 = m_h_numBad->GetBinContent(m_f001BadBin);
794  report << "Num channels with Delta f001 > " << m_f001MaxDiff << " : " << numBadF001 << std::endl ;
795 
796  double numBadNoise = m_h_numBad->GetBinContent(m_noiseBadBin);
797  report << "Num channels with Delta sigma > " << m_noiseMaxDiff << " : " << numBadNoise << std::endl ;
798 
799  double numBadNEntries = m_h_numBad->GetBinContent(m_nEntriesBadBin);
800  report << "Num channels with num pedestal amplitude entries < " << m_minAmpHistEntries
801  << ": " << numBadNEntries <<std::endl ;
802 
803  double numBreachEntries = m_h_numBad->GetBinContent(m_onlTHoldBreachBadBin);
804  report << "Num channels with too high an occupancy (> " << m_onlTHoldBreachMax << ")."
805  << ": " << numBreachEntries <<std::endl ;
806 
807  if(!(numBadPed >100 || numBadRms > 100 || numBadNEntries>0|| numBreachEntries > 0)){
808  std::ofstream allGoodFile(m_allGoodFileName.c_str());
809  allGoodFile << "All tests past.";
810  allGoodFile.close();
811  }
812 
813  std::ofstream reportFile(m_statusReportName.c_str());
814  reportFile << m_statusReportPrefix;
815  reportFile << "\n\n";
816  reportFile << report.str();
817  return;
818 
819 }

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

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ newEventsBlockFlag()

bool ManagedMonitorToolBase::newEventsBlockFlag ( ) const
inlineprotectedinherited

Definition at line 793 of file ManagedMonitorToolBase.h.

793 { return m_newEventsBlock; }

◆ newHigStatIntervalFlag()

bool ManagedMonitorToolBase::newHigStatIntervalFlag ( ) const
inlineprotectedinherited

Definition at line 789 of file ManagedMonitorToolBase.h.

789 { return m_newHigStatInterval; }

◆ newLowStatFlag()

bool ManagedMonitorToolBase::newLowStatFlag ( ) const
inlineprotectedinherited

Definition at line 790 of file ManagedMonitorToolBase.h.

790 { return m_newLowStat; }

◆ newLowStatIntervalFlag()

bool ManagedMonitorToolBase::newLowStatIntervalFlag ( ) const
inlineprotectedinherited

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.

Definition at line 787 of file ManagedMonitorToolBase.h.

787 { return m_newLowStatInterval; }

◆ newLumiBlockFlag()

bool ManagedMonitorToolBase::newLumiBlockFlag ( ) const
inlineprotectedinherited

Definition at line 791 of file ManagedMonitorToolBase.h.

791 { return m_newLumiBlock; }

◆ newMedStatIntervalFlag()

bool ManagedMonitorToolBase::newMedStatIntervalFlag ( ) const
inlineprotectedinherited

Definition at line 788 of file ManagedMonitorToolBase.h.

788 { return m_newMedStatInterval; }

◆ newRunFlag()

bool ManagedMonitorToolBase::newRunFlag ( ) const
inlineprotectedinherited

Definition at line 792 of file ManagedMonitorToolBase.h.

792 { return m_newRun; }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

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

Definition at line 2113 of file ManagedMonitorToolBase.cxx.

2114  {
2115  std::string item;
2116  std::stringstream ss(line);
2117 
2118  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "ManagedMonitorToolBase::parseList:";
2119 
2120  while ( std::getline(ss, item, ',') ) {
2121  std::stringstream iss(item); // remove
2122  iss >> item; // whitespace
2123  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " " << item;
2124  result.push_back(item);
2125  }
2126 
2127  msg(MSG::DEBUG) << endmsg;
2128  return StatusCode::SUCCESS;
2129 }

◆ postProc()

StatusCode CscCalibMonToolPed::postProc ( )
privatevirtual

postProc does some post processing work after the main parameter histograms are filled

Reimplemented from CscCalibMonToolBase.

Definition at line 518 of file CscCalibMonToolPed.cxx.

519 {
520  ATH_MSG_DEBUG( "CscCalibMonToolPed : in postProc()" );
521 
522  IdContext chanContext = m_idHelperSvc->cscIdHelper().channel_context();
523 
525 
527 
528  if(m_doRmsVNoise) {
529  std::string geoPath = getGeoPath();
530  std::string path = getFullPath(geoPath, "Misc", "");
531 
532  m_h2_rmsVnoiseEta = new TH2I("rmsVsigma_eta", "RMS versus sigma for #eta strips", 100, 0, 30, 100, 0,30) ;
533  m_h2_rmsVnoiseEta->GetXaxis()->SetTitle("Sigma");
534  m_h2_rmsVnoiseEta->GetYaxis()->SetTitle("RMS");
536 
537  m_h2_rmsVnoisePhi = new TH2I("rmsVsigma_phi", "RMS versus sigma for #phi strips", 100, 0, 30, 100, 0,30) ;
538  m_h2_rmsVnoisePhi->GetXaxis()->SetTitle("Sigma");
539  m_h2_rmsVnoisePhi->GetYaxis()->SetTitle("RMS");
541 
542  std::vector<float> & rmsVec = m_rmsNewColl->data;
543  std::vector<float> & noiseVec = m_noiseNewColl->data;
544  size_t nEntries = rmsVec.size();
545  if(nEntries != noiseVec.size()){
546  ATH_MSG_ERROR( "Number of noises != number of rmses" );
547  return StatusCode::FAILURE;
548  }
549  ATH_MSG_DEBUG( "Filling rmsVnoise " );
550 
551  for(unsigned int hashId = 0; hashId < nEntries; hashId++){
552  ATH_MSG_DEBUG( "Filling rmsVnoise for hash id " << hashId );
553  Identifier chanId;
554  m_idHelperSvc->cscIdHelper().get_id(IdentifierHash(hashId), chanId, &chanContext);
555  int measuresPhi = m_idHelperSvc->cscIdHelper().measuresPhi(chanId);
556 
557  if(m_expectedHashIdsAll.count(hashId)) {
558  if(measuresPhi)
559  m_h2_rmsVnoisePhi->Fill(noiseVec[hashId], rmsVec[hashId]);
560  else
561  m_h2_rmsVnoiseEta->Fill(noiseVec[hashId], rmsVec[hashId]);
562  }
563  }
564  ATH_MSG_DEBUG( "filled rmsVnoise " );
565 
566  }
567 
569  {
570  //Retrieve calibration report container from transient data store
571  const CscCalibReportContainer* repCont = nullptr;
572  if (!evtStore()->retrieve(repCont, m_histKey).isSuccess())
573  {
574  ATH_MSG_WARNING( " Cannot retrieve object from storegate with key "
575  << m_histKey << " aborting retrieving hists " );
576  return StatusCode::RECOVERABLE;
577  }
578 
579  if(repCont->size() != 1)
580  {
581  ATH_MSG_WARNING( "Container with key " << m_histKey
582  << " does not have a size of one. Do not know how to proceed, so aborting"
583  << " retrieving calibration histograms." );
584  return StatusCode::RECOVERABLE;
585  }
586 
587  //Retrieve DataVector of amplitude histograms
588  const CscCalibReportPed * pedReport = dynamic_cast<const CscCalibReportPed *>(repCont->front());
589  if(pedReport->getLabel() != "pedAmps")
590  {
591  ATH_MSG_WARNING( "Incorrect object retrieved from container."
592  << " Aborting hist retrieval." );
593  return StatusCode::RECOVERABLE;
594  }
595 
596  const DataVector<TH1I> * pedAmpHists = pedReport->getPedAmpHists();
597  if(!pedAmpHists)
598  ATH_MSG_WARNING( "No pedAmpHists vector found from calibration. "
599  << " Won't be in monitoring output file" );
600 
601  const DataVector<TH1I> * bitHists = pedReport->getBitHists();
602  if(!bitHists)
603  ATH_MSG_INFO( "No bit histogram vector found from calibration. "
604  << " Won't be in monitoring output file. " );
605 
606  const DataVector<TH2F> * bitCorrelations = nullptr;
607 
609  bitCorrelations = pedReport->getBitCorrelation();
610 
611  const DataVector< DataVector<TH1I> >* sampHists = pedReport->getSampHists();
612 
613  //These are the channels we will get detailed amplitude histograms for.
614  for(unsigned int idItr = 0; idItr <= m_maxHashId; idItr++)
615  {
616  if(m_expectedHashIdsAll.count(idItr))
617  {
618  ATH_MSG_VERBOSE( "Debug info for hash " << idItr
619  << " is being retrieved." );
620  TH1I * sourceHist;
621 
622  Identifier chanId;
623  m_idHelperSvc->cscIdHelper().get_id(IdentifierHash(idItr), chanId, &chanContext);
624  int stationSize = m_idHelperSvc->cscIdHelper().stationName(chanId);
625  int stationEta = m_idHelperSvc->cscIdHelper().stationEta(chanId);
626  int stationPhi = m_idHelperSvc->cscIdHelper().stationPhi(chanId);
627  int wireLayer = m_idHelperSvc->cscIdHelper().wireLayer(chanId);
628  int measuresPhi = m_idHelperSvc->cscIdHelper().measuresPhi(chanId);
629  int strip = m_idHelperSvc->cscIdHelper().strip(chanId);
630  int sector = getSector(stationPhi, stationSize);
631 
632  std::string geoPath = getGeoPath(stationEta, sector, wireLayer, measuresPhi);
633 
634  std::string pedAmpPath = getFullPath(geoPath, "PedAmpHists", "");
635  std::string sampPath = getFullPath(geoPath, "SampHists","");
636  std::string bitHistPath = getFullPath(geoPath, "BitHists", "");
637  std::string bitCorrelationPath("");
638  if(bitCorrelations)
639  bitCorrelationPath = getFullPath(geoPath, "BitCorrelations", "");
640 
641  ATH_MSG_DEBUG( "Hash Id: " << idItr << ". Booking channel histograms in paths : " << pedAmpPath << " and " << bitHistPath );
642  //MonGroup chanMonGroup( this, path , run, ATTRIB_MANAGED);
643 
644  //Pedestal amplitude histograms
645  //copy source histogram into new histogram, and store
646  if(pedAmpHists)
647  {
648  sourceHist = const_cast<TH1I*>((*pedAmpHists)[idItr]);
649  if(!sourceHist)
650  {
651  ATH_MSG_ERROR( "There is no pedestal amplitude histogram with hashId "
652  << idItr );
653  return StatusCode::RECOVERABLE;
654  }
655 
656  double nEntries = sourceHist->GetEntries();
657 
658  if(idItr >= m_nEntriesColl->data.size() ){
659 
660  ATH_MSG_ERROR( "idItr == " << idItr
661  << " but maximum m_nEntriesColl.data.size() == "
662  << m_nEntriesColl->data.size() );
663  return StatusCode::RECOVERABLE;
664  }
665  m_nEntriesColl->data[idItr] = nEntries;
666 
668  m_detailedHashIds[idItr] = true;
670  }
671 
672  if(m_detailedHashIds[idItr] || m_doAllDetailed){
673 
674 
675  std::stringstream name;
676  name << "h_pedAmp"
677  << "_EC" << getEndCap(stationEta)
678  << "_sector_" << sector
679  << "_layer_" << wireLayer
680  << "_" << (measuresPhi ? "trans" : "prec")
681  << "_strip_"
682  << std::setfill ('0') << std::setw (measuresPhi ? 2 : 3)
683  << strip;
684 
685  //Calibration is finished with histogram, so we can modify it a bit:
686 
687  sourceHist->SetName(name.str().c_str());
688  sourceHist->SetFillColor((m_detailedHashIds[idItr] ? m_histColAlert : m_histCol));
689  ATH_CHECK( regHist(sourceHist, pedAmpPath, run, ATTRIB_MANAGED) );
690  }
691  }
692 
693  if(sampHists) {
694  const DataVector<TH1I> * histVect = (*sampHists)[idItr];
695 
696  size_t hNum = histVect->size();
697  for(size_t hCnt = 0; hCnt < hNum; hCnt++) {
698  sourceHist = const_cast<TH1I*>((*histVect)[hCnt]);
699  std::stringstream name;
700  name << "h_samp"
701  << "_EC" << getEndCap(stationEta)
702  << "_sector_" << sector
703  << "_layer_" << wireLayer
704  << "_" << (measuresPhi ? "trans" : "prec")
705  << "_strip_"
706  << std::setfill ('0') << std::setw (measuresPhi ? 2 : 3)
707  << strip
708  <<"_samp_"
709  << hCnt;
710  sourceHist->SetName(name.str().c_str());
711  sourceHist->SetFillColor(m_histCol);
712  ATH_CHECK( regHist(sourceHist,sampPath,run, ATTRIB_MANAGED) );
713  }
714  }
715 
716  //Bit map histograms
717  //copy source histogram into new histogram, and store
718  if(bitHists)
719  {
720  sourceHist = const_cast<TH1I*>((*bitHists)[idItr]);
721  if(!sourceHist)
722  {
723  ATH_MSG_ERROR( "There is no bit histogram with hashId "
724  << idItr << " Quiting out of detailed histogram loop." );
725  return StatusCode::RECOVERABLE;
726  }
727 
728  std::stringstream name2;
729  name2 << "h_bitMap"
730  << "_EC" << getEndCap(stationEta)
731  << "_sector_" << sector
732  << "_layer_" << wireLayer
733  << "_" << (measuresPhi ? "trans" : "prec")
734  << "_strip_"
735  << std::setfill ('0') << std::setw (measuresPhi ? 2 : 3)
736  << strip;
737  sourceHist->SetName(name2.str().c_str());
738  sourceHist->SetFillColor((m_detailedHashIds[idItr] ? m_histColAlert : m_histCol));
739 
740  ATH_CHECK( regHist(sourceHist, bitHistPath, run, ATTRIB_MANAGED) );
741  }//end if bithists*/
742 
743  if(bitCorrelations)
744  {
745  TH2F* hist = const_cast<TH2F*>((*bitCorrelations)[idItr]);
746  ATH_CHECK( regHist(hist,bitCorrelationPath,run, ATTRIB_MANAGED) );
747 
748  float maxVal = -2;
749  //Now find the maximum correlation
750  size_t nx = hist->GetXaxis()->GetNbins();
751  size_t ny = hist->GetYaxis()->GetNbins();
752  size_t x_cut = nx -1; //skip last two bits, which can introduce fake
753  size_t y_cut = ny -1; //correlation
754  for(size_t xi = 1; xi < x_cut; xi++){
755  for(size_t yi = 1; yi < y_cut; yi++){
756  if(yi == xi) //Don't do diagonal
757  continue;
758  float val = hist->GetBinContent(xi,yi);
759  if(val > maxVal)
760  maxVal = val;
761  }
762  }//end x/y loops
763  m_maxBitCorrColl->data[idItr] = maxVal;
764 
765  }
766  }//if detailedHashInfo[stripHash] || do all hists.
767  }//end hash loop
768  }
769  else
770  ATH_MSG_DEBUG( "No channels flagged for debug info retrieval" );
771 
772  //Copy data from the num entries vector to all relevant histograms
774  //Copy data from the bit correlation vector to all relevant histograms
775  if(m_doBitCorrelations) {
777  }
778  makeErrorReport();
779 
780  return StatusCode::SUCCESS;
781 }

◆ preSelector()

bool ManagedMonitorToolBase::preSelector ( )
virtualinherited

Implements IMonitorToolBase.

Definition at line 1681 of file ManagedMonitorToolBase.cxx.

1683 {
1684  if( m_preScaleProp > 1 ) {
1685  return ( (m_nEvents % m_preScaleProp) == 1 );
1686  }
1687  return true;
1688 }

◆ procHistograms()

StatusCode CscCalibMonToolBase::procHistograms ( )
virtualinherited

At end of run this processes the calibration results and fills the histograms.

fillHistograms() retrieves a CscCalibResultContainer from the TDS, and loops through CscCalibResultCollection objects, each holding info for a calibration parameter.

It calls handleParameter() for each CscCalibResultCollection, which is used in a derived class to determine what is to be done with each parameter.

Reimplemented from ManagedMonitorToolBase.

Definition at line 708 of file CscCalibMonToolBase.cxx.

709 {
710 
711  ATH_MSG_DEBUG( "CscCalibMonToolBase : in procHistograms()" );
712 
713  if(endOfRunFlag())
714  {
715  const CscCalibResultContainer* calibContainer;
716  if (!evtStore()->retrieve(calibContainer, m_calibResultKey).isSuccess())
717  {
718  ATH_MSG_ERROR( " Cannot retrieve container with name " << m_calibResultKey );
719  return StatusCode::RECOVERABLE;
720  }
721 
722  ATH_MSG_DEBUG( "There are " << calibContainer->size() << " parameters to monitor" );
723 
724  for(const CscCalibResultCollection* thisParameter: *calibContainer) {
725  ATH_CHECK( handleParameter(thisParameter) );
726  }
727  ATH_CHECK( postProc() );
728  }
729  return StatusCode::SUCCESS;
730 }//end procHistograms

◆ procParameter()

StatusCode CscCalibMonToolBase::procParameter ( const CscCalibResultCollection parVals,
ProcSetupInfo simpleSet 
)
protectedvirtualinherited

Processors a parameter type.

Typically called by derived classes' handleParameter. It does several things

-Fills the histograms in simpleSet -Determines if a given channel deviates too much from an expected value (expected value is from COOL or specified in simpleSet). -Optionally tests the chi^2 value in parVals -Fills the std::vectors in simpleSet. These vectors contain info such as the per-channel values, difference from old COOL values, and the COOL values themselves. -Looks for any expected channels missing in parVals. If so, it mentions it.

Parameters
parValsCollection of values for a given parameter
simpleSetcontains a set of histograms and vectors to be filled.

Definition at line 770 of file CscCalibMonToolBase.cxx.

772 {
773  ATH_MSG_DEBUG( "Entering proc parameter for " << parVals->parName() << ". Max diff " << procParameterInput->maxDiff << "." );
774  if (procParameterInput->doChi2)
775  ATH_MSG_DEBUG( " Will retrieve chi2 with expected max of " << procParameterInput->chi2Max );
776 
777  //Start with expected channels, remove whenever one is found, leftover are
778  //missing channels
779  std::set<int> missingChannels = procParameterInput->expectedChannels;
780 
782  const CscCondDbData* readCdo{*readHandle};
783 
784  //--Cycle through values and fill histograms
785  int numFailures = 0, maxFailures = 10;
786  for(const CscCalibResult* chan: *parVals)
787  {
788  const int hashId = chan->hashId();
789  const float val = chan->value();
790  const float error = chan->error();
791  float oldVal = 0;
792 
793  //This channel isn't missing
794  missingChannels.erase(hashId);
795 
796  //--Compare measured value with an expected value---------------------
797  if(procParameterInput->dbName != "")
798  {
799  //Get expected value from database
800  if(!(readCdo->readChannelParam(hashId, oldVal, procParameterInput->dbName)).isSuccess())
801  {
802  numFailures++;
803  ATH_MSG_WARNING( "CscCalibMonToolBase : Failed to retrieve parameter"
804  << " for channel " << hashId
805  << " from COOL database. Continuing with COOL value = 0"
806  );
807  if(numFailures==maxFailures)
808  {
809  ATH_MSG_FATAL( "CscCalibMonToolBase : "
810  << maxFailures << " failed retrievals. Quiting. " );
811  return StatusCode::FAILURE;
812  }
813  }
814  }
815  else
816  {
817  //No value in database, compare to provided expected value
818  oldVal = procParameterInput->expectedVal;
819  }
820 
821  float diff = val - oldVal;
822 
823  bool isBad = false;
824  if( std::abs(diff) > procParameterInput->maxDiff)
825  {
826  ATH_MSG_INFO( "CscCalibMonToolBase : Possible problem! " << parVals->parName()
827  << " measurement of " << val << " varies by " << diff
828  << " from expected value of " << oldVal << " on channel with hash Id "
829  << hashId << ". Specified maximum variance is " << procParameterInput->maxDiff );
830  isBad = true;
831  procParameterInput->badHist->Fill(procParameterInput->badBin); //Too high a difference
832  }
833 
834  float chi2_ndf = 0;
835  if(procParameterInput->doChi2)
836  {
837  chi2_ndf = chan->chi2()/chan->ndf();
838  if(chi2_ndf > procParameterInput->chi2Max)
839  {
840  procParameterInput->badHist->Fill(procParameterInput->chi2BadBin);
841  isBad = true;
842  }
843  }
844 
845  //If there is a bad channel, specify that we want details about it.
846  if( isBad && ( (int)m_numBad <= m_maxDetailedChannels || m_maxDetailedChannels < 0 ) )
847  {
848  if(!m_detailedHashIds[hashId])
849  {
850  m_numBad++;
851  m_detailedHashIds[hashId] = true; //Look closer at this hash id (used in derived class)
852  }
853  }
854 
855  (*procParameterInput->vals)[hashId] = val;
856  if((procParameterInput->errors->size()))
857  (*procParameterInput->errors)[hashId] = error;
858  if(procParameterInput->oldVals)
859  (*procParameterInput->oldVals)[hashId] = oldVal;
860  if(procParameterInput->diffs)
861  (*procParameterInput->diffs)[hashId] = diff;
862  if(procParameterInput->doChi2)
863  (*procParameterInput->chi2s)[hashId] = chi2_ndf;
864  //--Print out values channel-by channel sorted by Hash Id-------------------
865  }//End chanItr loop
866 
867  if(missingChannels.size() !=0)
868  {
869  for(const auto & thisChan: missingChannels)
870  {
871  if(procParameterInput->missingChans != nullptr)
872  {
873  //If we haven't already noticed that this channel is missing,
874  //increment missing bad bin in badHist.
875  if(!procParameterInput->missingChans->GetBinContent(thisChan+1))
876  procParameterInput->badHist->Fill(procParameterInput->missingBadBin);
877  //Always fill missingChans histogram
878  procParameterInput->missingChans->Fill(thisChan);
879 
880  }
881  }
882  }
883  return StatusCode::SUCCESS;
884 }

◆ regEfficiency()

StatusCode ManagedMonitorToolBase::regEfficiency ( TEfficiency *  e,
const MonGroup group 
)
virtualinherited

Registers a TEfficiency to be included in the output stream using logical parameters that describe the plot.

Definition at line 1446 of file ManagedMonitorToolBase.cxx.

1446  {
1447  if (!e)
1448  return StatusCode::FAILURE;
1449 
1450  TGraph* g = reinterpret_cast<TGraph*>(e);
1451  std::string name = e->GetName();
1452 
1453  // MANAGED
1454  if ( group.histo_mgmt() != ATTRIB_UNMANAGED ) {
1455  // warn about not using merge algorithms
1456  if (group.histo_mgmt() == ATTRIB_X_VS_LB && group.merge().empty()) {
1457  ATH_MSG_WARNING("HEY! Attempting to register "<<name<<" as a per-LB histogram, but not setting the merge algorithm! Use \"merge\", at least.");
1458  }
1459  // add the efficiency to rebooking vector
1460  if (m_supportedIntervalsForRebooking.count(group.interval())) {
1461  m_templateEfficiencies[group.interval()].push_back( MgmtParams<TEfficiency>(e, group) );
1462  } else {
1463  ATH_MSG_ERROR("Attempt to book managed graph " << name << " with invalid interval type " << intervalEnumToString(group.interval()));
1464  return StatusCode::FAILURE;
1465  }
1466 
1467  MonGroup group_unmanaged( this, group.system(), group.interval(), ATTRIB_UNMANAGED, group.chain(), group.merge());
1468  std::string streamName = streamNameFunction()->getStreamName( this, group_unmanaged, name, false );
1469  registerMetadata(streamName, name, group).ignore();
1470  return m_THistSvc->regGraph( streamName, g );
1471  } else {
1472  // UNMANAGED
1473  if( m_manager != 0 ) {
1474  std::string genericName = NoOutputStream().getStreamName( this, group, name );
1475  m_manager->writeAndDelete( genericName );
1476  m_manager->passOwnership( e, genericName );
1477  }
1478 
1479  std::string streamName = streamNameFunction()->getStreamName( this, group, name, false );
1481  if (smd != StatusCode::SUCCESS)
1482  return StatusCode::FAILURE;
1483 
1484  return m_THistSvc->regGraph( streamName, g );
1485  }
1486 }

◆ regGraph() [1/2]

StatusCode ManagedMonitorToolBase::regGraph ( TGraph *  g,
const MonGroup group 
)
virtualinherited

Registers a TGraph to be included in the output stream using logical parameters that describe the graph.

Definition at line 1500 of file ManagedMonitorToolBase.cxx.

1502 {
1503  if (!g)
1504  return StatusCode::FAILURE;
1505 
1506  // This part of the code deals with MANAGED type
1507  if ( group.histo_mgmt() != ATTRIB_UNMANAGED ) {
1508  // Create an unmanaged group based on the original MonGroup instance passed
1509  // This is needed because managed graph is presented as a number of unmanaged
1510  // graphs (one per each interval)
1511  MonGroup group_unmanaged( this, group.system(), group.interval(), ATTRIB_UNMANAGED, group.chain(), group.merge());
1512 
1513  if (m_supportedIntervalsForRebooking.count(group.interval())) {
1514  m_templateGraphs[group.interval()].push_back( MgmtParams<TGraph>(g, group_unmanaged) );
1515  } else {
1516  ATH_MSG_ERROR("Attempt to book managed graph " << g->GetName() << " with invalid interval type " << intervalEnumToString(group.interval()));
1517  return StatusCode::FAILURE;
1518  }
1519 
1520  std::string name = g->GetName();
1521  std::string streamName = streamNameFunction()->getStreamName( this, group_unmanaged, name, false );
1522  registerMetadata(streamName, name, group).ignore();
1523  return m_THistSvc->regGraph( streamName, g );
1524  //return m_THistSvc->regGraph( streamName );
1525  }
1526 
1527  // This part of the code deals with UNMANAGED type
1528  std::string gName = g->GetName();
1529 
1530  if( m_manager != 0 ) {
1531  std::string genericName = NoOutputStream().getStreamName( this, group, gName );
1532  m_manager->writeAndDelete( genericName );
1533  m_manager->passOwnership( g, genericName );
1534  }
1535 
1536  std::string streamName = streamNameFunction()->getStreamName( this, group, gName, false );
1537 
1539  if (smd != StatusCode::SUCCESS) return StatusCode::FAILURE;
1540 
1541  return m_THistSvc->regGraph( streamName, g );
1542 }

◆ regGraph() [2/2]

StatusCode ManagedMonitorToolBase::regGraph ( TGraph *  g,
const std::string &  system,
Interval_t  interval,
MgmtAttr_t  histo_mgmt = ATTRIB_MANAGED,
const std::string &  chain = "",
const std::string &  merge = "" 
)
virtualinherited

Registers a TGraph to be included in the output stream using logical parameters that describe the graph.

Definition at line 1490 of file ManagedMonitorToolBase.cxx.

1493 {
1494  MonGroup group( this, system, interval, histo_mgmt, chain, merge );
1495  return regGraph( g, group );
1496 }

◆ regHist() [1/2]

StatusCode ManagedMonitorToolBase::regHist ( TH1 *  h,
const MonGroup group 
)
virtualinherited

Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical parameters that describe the histogram.

A histogram is passed via reference to a pointer.

Definition at line 1354 of file ManagedMonitorToolBase.cxx.

1356 {
1357 // ManagedMonitorToolBase_addHistStatistics(this,h);
1358 
1359  if (!h)
1360  return StatusCode::FAILURE;
1361 
1362  // This part of the code deals with MANAGED type
1363  if ( group.histo_mgmt() != ATTRIB_UNMANAGED ) {
1364  /*
1365  Create an unmanaged group based on the original MonGroup instance passed
1366  It is needed because managed histogram is presented as a number of unmanaged
1367  histograms (one per each interval)
1368  Update (PUEO) - I don't think it actually matters, and need to keep
1369  track of "proper" attribute for X_VS_LB
1370  */
1371 
1372  if (group.histo_mgmt() == ATTRIB_X_VS_LB && group.merge().empty()) {
1373  ATH_MSG_WARNING("HEY! You're attempting to register " << h->GetName() << " as a per-LB histogram, but you're not setting the merge algorithm! This is a SUPER-BAD idea! Use \"merge\", at least.");
1374  }
1375 
1376  if (m_supportedIntervalsForRebooking.count(group.interval())) {
1377  m_templateHistograms[group.interval()].push_back( MgmtParams<TH1>(h, group) );
1378  } else {
1379  ATH_MSG_ERROR("Attempt to book managed histogram " << h->GetName() << " with invalid interval type " << intervalEnumToString(group.interval()));
1380  return StatusCode::FAILURE;
1381  }
1382 
1383  std::string hName = h->GetName();
1384  MonGroup group_unmanaged( this, group.system(), group.interval(), ATTRIB_UNMANAGED, group.chain(), group.merge());
1385  std::string streamName = streamNameFunction()->getStreamName( this, group_unmanaged, hName, false );
1386  registerMetadata(streamName, hName, group).ignore();
1387  return m_THistSvc->regHist( streamName, h );
1388  }
1389 
1390  // This part of the code deals with UNMANAGED type
1391  std::string hName = h->GetName();
1392 
1393  if( m_manager != 0 ) {
1394  std::string genericName = NoOutputStream().getStreamName( this, group, hName );
1395  m_manager->writeAndDelete( genericName );
1396  m_manager->passOwnership( h, genericName );
1397  }
1398 
1399  std::string streamName = streamNameFunction()->getStreamName( this, group, hName, false );
1400 
1402  if (smd != StatusCode::SUCCESS) return StatusCode::FAILURE;
1403 
1404  return m_THistSvc->regHist( streamName, h );
1405 }

◆ regHist() [2/2]

StatusCode ManagedMonitorToolBase::regHist ( TH1 *  h,
const std::string &  system,
Interval_t  interval,
MgmtAttr_t  histo_mgmt = ATTRIB_MANAGED,
const std::string &  chain = "",
const std::string &  merge = "" 
)
virtualinherited

Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical parameters that describe the histogram.

Definition at line 1345 of file ManagedMonitorToolBase.cxx.

1348 {
1349  MonGroup group( this, system, interval, histo_mgmt, chain, merge );
1350  return regHist( h, group );
1351 }

◆ registerMetadata()

StatusCode ManagedMonitorToolBase::registerMetadata ( const std::string &  streamName,
const std::string &  hName,
const MonGroup group 
)
protectedinherited

Definition at line 946 of file ManagedMonitorToolBase.cxx.

948  {
950  TTree* metadata(0);
951  std::string mdStreamName( streamName );
952  size_t found=mdStreamName.rfind('/');
953 
954  if ( found != std::string::npos )
955  mdStreamName.replace( found, mdStreamName.length(), "/metadata" );
956 
957  MDMap_t::iterator i = m_metadataMap.find( mdStreamName );
958  if( i == m_metadataMap.end() ) {
959  metadata = new TTree( "metadata", "Monitoring Metadata" );
960  if (! metadata) return StatusCode::FAILURE;
961  StatusCode scmd = m_THistSvc->regTree( mdStreamName, metadata );
962  if (scmd == StatusCode::FAILURE) return StatusCode::FAILURE;
963  MDMap_t::value_type valToInsert( mdStreamName, new OutputMetadata(metadata) );
964  i = m_metadataMap.insert( valToInsert ).first;
965  }
966 
967  i->second->fill( hName, group.interval(), group.chain(), group.merge() );
968  }
969  return StatusCode::SUCCESS;
970 }

◆ regManagedEfficiencies()

StatusCode ManagedMonitorToolBase::regManagedEfficiencies ( std::vector< MgmtParams< TEfficiency > > &  templateEfficiencies)
protectedinherited

Definition at line 1141 of file ManagedMonitorToolBase.cxx.

1141  {
1142  bool allIsOk = true;
1143  for( auto& it : templateEfficiencies ) {
1144  // get components of MgmtParams and copy efficiency
1145  MonGroup group = it.m_group;
1146  TEfficiency* theEfficiency = it.m_templateHist;
1147  TEfficiency* e = static_cast<TEfficiency*>(theEfficiency->Clone());
1148  int nbins = theEfficiency->GetTotalHistogram()->GetNbinsX();
1149  int xlow = theEfficiency->GetTotalHistogram()->GetXaxis()->GetXmin();
1150  int xhigh = theEfficiency->GetTotalHistogram()->GetXaxis()->GetXmax();
1151  e->SetBins(nbins,xlow,xhigh); // reset histogram
1152  std::string name = e->GetName();
1153 
1154  // make TGraph casts of TEfficiencies
1155  TGraph* theGraph = reinterpret_cast<TGraph*>(theEfficiency);
1156  TGraph* g = reinterpret_cast<TGraph*>(e);
1157 
1158  // Get the streamName for the previous interval
1159  std::string streamName = streamNameFunction()->getStreamName( this, group, name, true );
1160 
1161  // RE-REGISTER
1162  // 1) De-register the original graph with the THistSvc
1163  StatusCode sc1 = m_THistSvc->deReg( theGraph );
1164  if (sc1 == StatusCode::FAILURE) allIsOk = false;
1165  // 2) Fix THistSvc->deReg for TGraphs
1166  bool doneCleaning = false;
1167  std::string directoryName = streamNameFunction()->getDirectoryName( this, group, name, true );
1168  TSeqCollection *filelist=gROOT->GetListOfFiles();
1169  for (int i=0; i<filelist->GetEntries(); i++) {
1170  ATH_MSG_DEBUG( "List of files: " << filelist->At(i)->GetName());
1171  TFile* file = static_cast<TFile*>(filelist->At(i));
1172  StatusCode sc2 = THistSvc_deReg_fixTGraph(file, theGraph, directoryName);
1173  if (sc2 == StatusCode::SUCCESS) doneCleaning = true;
1174  }
1175  // 3) Check if TGraph fix has been applied successfully
1176  if (!doneCleaning) {
1177  ATH_MSG_ERROR("THistSvc_deReg_fixTGraph: failed to apply TGraph fix for the THist Svc!");
1178  allIsOk = false;
1179  }
1180  // 4) Register cloned histogram under previous interval streamName
1181  StatusCode sc3 = m_THistSvc->regGraph( streamName, g );
1182  if (sc3 == StatusCode::FAILURE)
1183  allIsOk = false;
1184 
1185  // get streamname for interval
1186  streamName = streamNameFunction()->getStreamName( this, group, name, false );
1187  // store metadata
1189  if (smd != StatusCode::SUCCESS) allIsOk = false;
1190  // Re-register the original graph
1191  StatusCode sc4 = m_THistSvc->regGraph( streamName, theGraph );
1192  if (sc4 == StatusCode::FAILURE) allIsOk = false;
1193  }
1194 
1195  if (!allIsOk) return StatusCode::FAILURE;
1196  return StatusCode::SUCCESS;
1197 }

◆ regManagedGraphs()

StatusCode ManagedMonitorToolBase::regManagedGraphs ( std::vector< MgmtParams< TGraph > > &  templateGraphs)
protectedinherited

Definition at line 1070 of file ManagedMonitorToolBase.cxx.

1072 {
1073  // See the description for the regManagedHistograms method
1074  bool allIsOk = true;
1075 
1076  for( std::vector< MgmtParams<TGraph> >::iterator it = templateGraphs.begin(); it != templateGraphs.end(); ++it ) {
1077  MonGroup group = (*it).m_group;
1078 
1079  // Get a handle to the graph
1080  TGraph* theGraph = (*it).m_templateHist;
1081 
1082  // Clone the graph
1083  TGraph* g = static_cast<TGraph*>(theGraph->Clone());
1084  theGraph->Set(0); // equivalent to Reset() for TH1
1085 
1086  // Get name
1087  std::string gName = g->GetName();
1088 
1089  // Get the streamName for the previous interval
1090  std::string streamName = streamNameFunction()->getStreamName( this, group, gName, true );
1091 
1092  // De-register the original graph with the THistSvc
1093  StatusCode sc1 = m_THistSvc->deReg( theGraph );
1094  if (sc1 == StatusCode::FAILURE)
1095  allIsOk = false;
1096 
1097  // *** begin ***
1098  // Fix THistSvc->deReg for TGraphs
1099  bool doneCleaning = false;
1100  std::string directoryName = streamNameFunction()->getDirectoryName( this, group, gName, true );
1101  TSeqCollection *filelist=gROOT->GetListOfFiles();
1102  for (int i=0; i<filelist->GetEntries(); i++) {
1103  ATH_MSG_DEBUG( "List of files: " << filelist->At(i)->GetName());
1104  TFile* file = static_cast<TFile*>(filelist->At(i));
1105  StatusCode sc2 = THistSvc_deReg_fixTGraph(file, theGraph, directoryName);
1106  if (sc2 == StatusCode::SUCCESS)
1107  doneCleaning = true;
1108  }
1109 
1110  // Check if TGraph fix has been applied successfully
1111  if (!doneCleaning) {
1112  ATH_MSG_ERROR("THistSvc_deReg_fixTGraph: failed to apply TGraph fix for the THist Svc!");
1113  allIsOk = false;
1114  }
1115  // *** end ***
1116 
1117  // Register clonned histogram under previous interval streamName
1118  StatusCode sc3 = m_THistSvc->regGraph( streamName, g );
1119  if (sc3 == StatusCode::FAILURE)
1120  allIsOk = false;
1121 
1122  // Get streamName for the current interval
1123  streamName = streamNameFunction()->getStreamName( this, group, gName, false );
1124  // Register metadata information with the current interval streamname
1126  if (smd != StatusCode::SUCCESS)
1127  allIsOk = false;
1128 
1129  // Re-register the original graph with the current interval streamName
1130  StatusCode sc4 = m_THistSvc->regGraph( streamName, theGraph );
1131  if (sc4 == StatusCode::FAILURE)
1132  allIsOk = false;
1133 
1134  }
1135 
1136  if (!allIsOk) return StatusCode::FAILURE;
1137 
1138  return StatusCode::SUCCESS;
1139 }

◆ regManagedHistograms()

StatusCode ManagedMonitorToolBase::regManagedHistograms ( std::vector< MgmtParams< TH1 > > &  templateHistograms)
protectedinherited

Definition at line 973 of file ManagedMonitorToolBase.cxx.

975 {
976  // The method registers histograms with the THistSvc and saves them to file.
977 
978  // The funky business with registering and deregistering the histogram is needed
979  // to get the correct directory when saving histograms. THistSvc deals with ROOT
980  // to set up proper TDirectory, so we rely on it.
981  // E.g.
982  // m_THistSvc->regHist( streamName, h ): sets the correct TDirectory with streamName
983  // m_THistSvc->deReg( h ) - deregister from THistSvc otherwise THistSvc will try to save it
984  // at the end of execution
985  // use passownership of the histogram and save it to file
986  // m_manager->passOwnership( h, genericName );
987  // m_manager->writeAndDelete( genericName );
988  bool allIsOk = true;
989 
990  for( std::vector< MgmtParams<TH1> >::iterator it = templateHistograms.begin(); it != templateHistograms.end(); ++it ) {
991  MonGroup& group = (*it).m_group;
992 
993  // Get a handle to the histogram
994  TH1* theHist = (*it).m_templateHist;
995 
996  // Clone the histogram
997  TH1* h = static_cast<TH1*>(theHist->Clone());
998  theHist->Reset();
999 
1000  // Get name
1001  std::string hName = h->GetName();
1002 
1003  // Get the streamName for the previous interval
1004  std::string streamName = streamNameFunction()->getStreamName( this, group, hName, true );
1005 
1006  // Register the histogram with the THistSvc
1007  StatusCode sc1 = m_THistSvc->deReg( theHist );
1008  if (sc1 == StatusCode::FAILURE) allIsOk = false;
1009 
1010  // Register clonned histogram under previous interval streamName
1011  StatusCode sc2 = m_THistSvc->regHist( streamName, h );
1012  if (sc2 == StatusCode::FAILURE) allIsOk = false;
1013 
1014  if( m_manager != 0 ) {
1015  std::string genericName = NoOutputStream().getStreamName( this, group, hName );
1016  m_manager->passOwnership( h, genericName );
1017  m_manager->writeAndDelete( genericName );
1018  }
1019 
1020  // Get streamName for the current interval
1021  streamName = streamNameFunction()->getStreamName( this, group, hName, false );
1022  // Register metadata information with the current interval streamname
1024  if (smd != StatusCode::SUCCESS) allIsOk = false;
1025 
1026  // Re-register the original histogram with the current interval streamName
1027  StatusCode sc3 = m_THistSvc->regHist( streamName, theHist );
1028  if (sc3 == StatusCode::FAILURE) allIsOk = false;
1029 
1030  }
1031 
1032  if (!allIsOk) return StatusCode::FAILURE;
1033 
1034  return StatusCode::SUCCESS;
1035 }

◆ regManagedTrees()

StatusCode ManagedMonitorToolBase::regManagedTrees ( std::vector< MgmtParams< TTree > > &  templateTrees)
protectedinherited

Definition at line 1201 of file ManagedMonitorToolBase.cxx.

1203 {
1204  // See the description for the regManagedHistograms method
1205  bool allIsOk = true;
1206 
1207  for( std::vector< MgmtParams<TTree> >::iterator it = templateTrees.begin(); it != templateTrees.end(); ++it ) {
1208  MonGroup group = (*it).m_group;
1209 
1210  // Get a handle to the original tree
1211  TTree* theTree = (*it).m_templateHist;
1212 
1213  // Clone the tree
1214  TTree* t = static_cast<TTree*>(theTree->Clone());
1215  theTree->Reset();
1216 
1217  // Dumping the tree
1218  std::string name = t->GetName();
1219 
1220  // Get the streamName for the previous interval
1221  std::string streamName = streamNameFunction()->getStreamName( this, group, name, true );
1222 
1223  // De-register original tree with the THistSvc
1224  StatusCode sc1 = m_THistSvc->deReg( theTree );
1225  if (sc1 == StatusCode::FAILURE) allIsOk = false;
1226 
1227  // Register clonned tree under previous interval streamName
1228  StatusCode sc2 = m_THistSvc->regTree( streamName, t );
1229  if (sc2 == StatusCode::FAILURE) allIsOk = false;
1230 
1231  if( m_manager != 0 ) {
1232  std::string genericName = NoOutputStream().getStreamName( this, group, name );
1233  m_manager->passOwnership( t, genericName );
1234  m_manager->writeAndDelete( genericName );
1235  }
1236 
1237  // Get streamName for the current interval
1238  streamName = streamNameFunction()->getStreamName( this, group, name, false );
1239  // Register metadata information with the current interval streamname
1241  if (smd != StatusCode::SUCCESS) allIsOk = false;
1242 
1243  // Re-register the original graph with the current interval streamName
1244  StatusCode sc3 = m_THistSvc->regTree( streamName, theTree );
1245  if (sc3 == StatusCode::FAILURE) allIsOk = false;
1246 
1247  }
1248 
1249  if (!allIsOk) return StatusCode::FAILURE;
1250 
1251  return StatusCode::SUCCESS;
1252 }

◆ regTree() [1/2]

StatusCode ManagedMonitorToolBase::regTree ( TTree *  t,
const MonGroup group 
)
virtualinherited

Registers a TTree to be included in the output stream using logical parameters that describe it.

Definition at line 1556 of file ManagedMonitorToolBase.cxx.

1558 {
1559 
1560  // This part of the code deals with MANAGED type
1561  if ( group.histo_mgmt() != ATTRIB_UNMANAGED ) {
1562  // Create an unmanaged group based on the original MonGroup instance passed
1563  // This is needed because managed tree is presented as a number of unmanaged
1564  // trees (one per each interval)
1565  MonGroup group_unmanaged( this, group.system(), group.interval(), ATTRIB_UNMANAGED, group.chain(), group.merge());
1566 
1567  if (m_supportedIntervalsForRebooking.count(group.interval())) {
1568  m_templateTrees[group.interval()].push_back( MgmtParams<TTree>(t, group_unmanaged) );
1569  } else {
1570  ATH_MSG_ERROR("Attempt to book managed tree " << t->GetName() << " with invalid interval type " << intervalEnumToString(group.interval()));
1571  return StatusCode::FAILURE;
1572  }
1573 
1574  std::string name = t->GetName();
1575  std::string genericName = NoOutputStream().getStreamName( this, group_unmanaged, name );
1576  std::string streamName = streamNameFunction()->getStreamName( this, group_unmanaged, name, false );
1577  registerMetadata(streamName, name, group).ignore();
1578  return m_THistSvc->regTree( streamName, t );
1579  }
1580 
1581 
1582  // This part of the code deals with UNMANAGED type
1583  std::string tName = t->GetName();
1584 
1585  if( m_manager != 0 ) {
1586  std::string genericName = NoOutputStream().getStreamName( this, group, tName );
1587  m_manager->writeAndDelete( genericName );
1588  m_manager->passOwnership( t, genericName );
1589  }
1590 
1591  std::string streamName = streamNameFunction()->getStreamName( this, group, tName, false );
1592 
1594  if (smd != StatusCode::SUCCESS) return StatusCode::FAILURE;
1595 
1596  return m_THistSvc->regTree( streamName, t );
1597 }

◆ regTree() [2/2]

StatusCode ManagedMonitorToolBase::regTree ( TTree *  t,
const std::string &  system,
Interval_t  interval,
MgmtAttr_t  histo_mgmt = ATTRIB_MANAGED,
const std::string &  chain = "",
const std::string &  merge = "" 
)
virtualinherited

Registers a TTree to be included in the output stream using logical parameters that describe it.

Definition at line 1546 of file ManagedMonitorToolBase.cxx.

1549 {
1550  MonGroup group( this, system, interval, histo_mgmt, chain, merge );
1551  return regTree( t, group );
1552 }

◆ renounce()

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> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ runStat()

StatusCode ManagedMonitorToolBase::runStat ( )
virtualinherited

This implementation does nothing; equivalent functionality may be provided by procHists( true, true, true ).

Implements IMonitorToolBase.

Definition at line 1663 of file ManagedMonitorToolBase.cxx.

1665 {
1666  return StatusCode::SUCCESS;
1667 }

◆ setMonManager()

void ManagedMonitorToolBase::setMonManager ( AthenaMonManager manager)
virtualinherited

Takes a pointer to a managing object to get information from it when needed.

Definition at line 1327 of file ManagedMonitorToolBase.cxx.

1329 {
1330  ATH_MSG_DEBUG( "ManagedMonitorToolBase::setMonManager():");
1331  m_manager = manager;
1332  if( m_manager != 0 ) {
1333  ATH_MSG_DEBUG( " --> Setting manager");
1334  m_managerNameProp = m_manager->name();
1338  delete m_streamNameFcn;
1340  }
1341  ATH_MSG_DEBUG( " --> Exiting successfully");
1342 }

◆ setupOutputStreams()

StatusCode ManagedMonitorToolBase::setupOutputStreams ( std::vector< std::string >  Mapping = std::vector<std::string>())
virtualinherited

This implementation does nothing—streams in this class should be managed by the AthenaMonManager.

Consider using MonitorToolBase for user-managed streams.

Implements IMonitorToolBase.

Definition at line 1652 of file ManagedMonitorToolBase.cxx.

1654 {
1655  // All instances should write to the stream(s) defined by the
1656  // AthenaMonManager.
1657 
1658  return StatusCode::SUCCESS;
1659 }

◆ streamNameFunction()

ManagedMonitorToolBase::StreamNameFcn * ManagedMonitorToolBase::streamNameFunction ( )
virtualinherited

Returns the function object that converts logical paramters into a physical stream name.

Definition at line 451 of file ManagedMonitorToolBase.cxx.

453 {
454  if( m_streamNameFcn == 0 ) {
455  msg(MSG::ERROR) << "!! streamNameFunction() has not been initialized !!" << endmsg;
456  msg(MSG::ERROR) << " --> neither ManagedMonitorToolBase::initialize() nor" << endmsg;
457  msg(MSG::ERROR) << " --> ManagedMonitorToolBase::setMonManager() has been called." << endmsg;
458  msg(MSG::ERROR) << " --> Correct configuration cannot be guaranteed from this point." << endmsg;
460  }
461  return m_streamNameFcn;
462 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ THistSvc_deReg_fixTGraph()

StatusCode ManagedMonitorToolBase::THistSvc_deReg_fixTGraph ( TFile *  file,
TGraph *  theGraph,
std::string &  directoryName 
)
protectedinherited

Fixes THistSvc->deReg(obj) when obj is TGraph instance.

Read more in source file about this bug.

Definition at line 1038 of file ManagedMonitorToolBase.cxx.

1040 {
1041  // THistSvc employs TDirectory Append method when registering TGraph.
1042  // When deReg is used to de-register TGraph object, THistSvc only removes the object
1043  // from its internal management but forgets to delete from TDirectory.
1044  // The current method fixes this problem by removing the TGraph object manually
1045  // after THistSvc->deReg(TGraph* obj) is called.
1046 
1047  // Saves and restores gFile and gDirectory
1048  GlobalDirectoryRestore restore;
1049 
1050  // This check is true when TGraph object is removed successfully
1051  bool graphRemoved = false;
1052 
1053  file->cd("/");
1054  TDirectory* dir = file->GetDirectory(directoryName.c_str());
1055  if (dir != 0) {
1056  dir->cd();
1057  TObject* obj = dir->Remove(theGraph);
1058  if (obj != 0)
1059  graphRemoved = true;
1060  }
1061 
1062  if (!graphRemoved) {
1063  return StatusCode::FAILURE;
1064  }
1065 
1066  return StatusCode::SUCCESS;
1067 }

◆ trigChainsArePassed()

bool ManagedMonitorToolBase::trigChainsArePassed ( std::vector< std::string > &  vTrigNames)
protectedvirtualinherited

Definition at line 2094 of file ManagedMonitorToolBase.cxx.

2096 {
2097  ATH_MSG_DEBUG( "ManagedMonitorToolBase::trigChainsArePassed:");
2098 
2099  for(unsigned int i=0; i<vTrigNames.size(); i++) {
2100  if( m_trigDecTool->isPassed(vTrigNames[i]) ) {
2101  ATH_MSG_DEBUG( " + \"" << vTrigNames[i] << "\" passed, returning \'true\'");
2102  return true;
2103  }
2104  else {
2105  ATH_MSG_DEBUG( " - \"" << vTrigNames[i] << "\" did not pass");
2106  }
2107  }
2108 
2109  return false;
2110 }

◆ updateTriggersForGroups()

void ManagedMonitorToolBase::updateTriggersForGroups ( std::vector< std::string > &  vTrigChainNames)
protectedinherited

Definition at line 2132 of file ManagedMonitorToolBase.cxx.

2133  {
2134  for (size_t i = 0; i < vTrigChainNames.size(); ++i) {
2135  std::string& thisName = vTrigChainNames[i];
2136  if (thisName.compare(0, 9, "CATEGORY_") ==0) {
2137  ATH_MSG_DEBUG("Found a trigger category: " << thisName << ". We will unpack it.");
2138  std::vector<std::string> triggers = m_trigTranslator->translate(thisName.substr(9,std::string::npos));
2139  std::ostringstream oss;
2140  oss << "(";
2141  for (size_t itrig = 0; itrig < triggers.size(); ++itrig) {
2142  if (itrig != 0) {
2143  oss << "|";
2144  }
2145  oss << triggers[itrig];
2146  }
2147  oss << ")";
2148  // replace with new value
2149  std::string newval = oss.str();
2150  ATH_MSG_DEBUG("Replaced with " << newval);
2151  vTrigChainNames[i] = newval;
2152  }
2153  }
2154 }

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

◆ writeAndDelete()

StatusCode ManagedMonitorToolBase::writeAndDelete ( TH1 *  h,
const MonGroup group 
)
virtualinherited

Write out histogram and delete it.

Definition at line 1601 of file ManagedMonitorToolBase.cxx.

1602  {
1603  if (!h)
1604  return StatusCode::FAILURE;
1605 
1606  std::string hName = h->GetName();
1607 
1608  if( m_manager != 0 ) {
1609  std::string genericName = NoOutputStream().getStreamName( this, group, hName );
1610  m_manager->writeAndDelete( genericName );
1611  }
1612  return StatusCode::SUCCESS;
1613 }

Member Data Documentation

◆ m_allChan1dName

std::string CscCalibMonToolBase::m_allChan1dName
protectedinherited

Definition at line 138 of file CscCalibMonToolBase.h.

◆ m_allChan1dTitle

std::string CscCalibMonToolBase::m_allChan1dTitle
protectedinherited

Definition at line 139 of file CscCalibMonToolBase.h.

◆ m_allChan2dName

std::string CscCalibMonToolBase::m_allChan2dName
protectedinherited

Definition at line 140 of file CscCalibMonToolBase.h.

◆ m_allChan2dPath

std::string CscCalibMonToolBase::m_allChan2dPath
protectedinherited

Definition at line 158 of file CscCalibMonToolBase.h.

◆ m_allChan2dTitle

std::string CscCalibMonToolBase::m_allChan2dTitle
protectedinherited

Definition at line 141 of file CscCalibMonToolBase.h.

◆ m_allGoodFileName

std::string CscCalibMonToolPed::m_allGoodFileName
private

name of file indicating all is well

Definition at line 89 of file CscCalibMonToolPed.h.

◆ m_bookHistogramsInitial

bool ManagedMonitorToolBase::m_bookHistogramsInitial
privateinherited

Definition at line 893 of file ManagedMonitorToolBase.h.

◆ m_calibResultKey

std::string CscCalibMonToolBase::m_calibResultKey
protectedinherited

Calibration result storegate key.

Definition at line 166 of file CscCalibMonToolBase.h.

◆ m_chamHistName

std::string CscCalibMonToolBase::m_chamHistName
protectedinherited

Definition at line 148 of file CscCalibMonToolBase.h.

◆ m_chamHistTitle

std::string CscCalibMonToolBase::m_chamHistTitle
protectedinherited

Definition at line 149 of file CscCalibMonToolBase.h.

◆ m_chamProfName

std::string CscCalibMonToolBase::m_chamProfName
protectedinherited

Definition at line 142 of file CscCalibMonToolBase.h.

◆ m_chamProfPath

std::string CscCalibMonToolBase::m_chamProfPath
protectedinherited

Definition at line 158 of file CscCalibMonToolBase.h.

◆ m_chamProfTitle

std::string CscCalibMonToolBase::m_chamProfTitle
protectedinherited

Definition at line 143 of file CscCalibMonToolBase.h.

◆ m_chamSummHistName

std::string CscCalibMonToolBase::m_chamSummHistName
protectedinherited

Definition at line 146 of file CscCalibMonToolBase.h.

◆ m_chamSummHistPath

std::string CscCalibMonToolBase::m_chamSummHistPath
protectedinherited

Definition at line 159 of file CscCalibMonToolBase.h.

◆ m_chamSummHistTitle

std::string CscCalibMonToolBase::m_chamSummHistTitle
protectedinherited

Definition at line 147 of file CscCalibMonToolBase.h.

◆ m_chi2BadBin

int CscCalibMonToolPed::m_chi2BadBin
private

Definition at line 98 of file CscCalibMonToolPed.h.

◆ m_chi2Coll

HistCollection* CscCalibMonToolPed::m_chi2Coll
private

Definition at line 112 of file CscCalibMonToolPed.h.

◆ m_chi2Max

float CscCalibMonToolPed::m_chi2Max
private

Allowed maximum values.

Definition at line 83 of file CscCalibMonToolPed.h.

◆ m_d

Imp* ManagedMonitorToolBase::m_d
privateinherited

Definition at line 900 of file ManagedMonitorToolBase.h.

◆ m_dataType

AthenaMonManager::DataType_t ManagedMonitorToolBase::m_dataType
protectedinherited

Definition at line 838 of file ManagedMonitorToolBase.h.

◆ m_dataTypeStr

std::string ManagedMonitorToolBase::m_dataTypeStr
protectedinherited

Definition at line 834 of file ManagedMonitorToolBase.h.

◆ m_defaultLBDuration

float ManagedMonitorToolBase::m_defaultLBDuration
privateinherited

Definition at line 895 of file ManagedMonitorToolBase.h.

◆ m_detailedHashIds

bool* CscCalibMonToolBase::m_detailedHashIds {}
protectedinherited

Definition at line 129 of file CscCalibMonToolBase.h.

◆ m_detailLevel

unsigned int ManagedMonitorToolBase::m_detailLevel
protectedinherited

Definition at line 836 of file ManagedMonitorToolBase.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_doAllDetailed

bool CscCalibMonToolBase::m_doAllDetailed {}
protectedinherited

Definition at line 123 of file CscCalibMonToolBase.h.

◆ m_doBadDetailed

bool CscCalibMonToolBase::m_doBadDetailed {}
protectedinherited

Definition at line 123 of file CscCalibMonToolBase.h.

◆ m_doBitCorrelations

bool CscCalibMonToolPed::m_doBitCorrelations
private

DO bit correlation plots?".

Definition at line 95 of file CscCalibMonToolPed.h.

◆ m_doRmsVNoise

bool CscCalibMonToolPed::m_doRmsVNoise
private

Definition at line 128 of file CscCalibMonToolPed.h.

◆ m_doStatDb

bool CscCalibMonToolBase::m_doStatDb {}
protectedinherited

Definition at line 247 of file CscCalibMonToolBase.h.

◆ m_DQFilterTools

ToolHandleArray<IDQFilterTool> ManagedMonitorToolBase::m_DQFilterTools {this,"FilterTools",{}}
protectedinherited

Definition at line 849 of file ManagedMonitorToolBase.h.

◆ m_endOfEventsBlock

bool ManagedMonitorToolBase::m_endOfEventsBlock
privateinherited

Definition at line 823 of file ManagedMonitorToolBase.h.

◆ m_endOfLowStat

bool ManagedMonitorToolBase::m_endOfLowStat
privateinherited

Definition at line 823 of file ManagedMonitorToolBase.h.

◆ m_endOfLumiBlock

bool ManagedMonitorToolBase::m_endOfLumiBlock
privateinherited

Definition at line 823 of file ManagedMonitorToolBase.h.

◆ m_endOfRun

bool ManagedMonitorToolBase::m_endOfRun
privateinherited

Definition at line 823 of file ManagedMonitorToolBase.h.

◆ m_environment

AthenaMonManager::Environment_t ManagedMonitorToolBase::m_environment
protectedinherited

Definition at line 839 of file ManagedMonitorToolBase.h.

◆ m_environmentStr

std::string ManagedMonitorToolBase::m_environmentStr
protectedinherited

Definition at line 835 of file ManagedMonitorToolBase.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_expectedChamberLayer

unsigned int CscCalibMonToolBase::m_expectedChamberLayer {}
protectedinherited

Definition at line 116 of file CscCalibMonToolBase.h.

◆ m_expectedHashIdsAll

std::set<int> CscCalibMonToolBase::m_expectedHashIdsAll
protectedinherited

Definition at line 133 of file CscCalibMonToolBase.h.

◆ m_expectedHashIdsPrec

std::set<int> CscCalibMonToolBase::m_expectedHashIdsPrec
protectedinherited

Definition at line 133 of file CscCalibMonToolBase.h.

◆ m_f001BadBin

int CscCalibMonToolPed::m_f001BadBin
private

Definition at line 98 of file CscCalibMonToolPed.h.

◆ m_f001DiffColl

HistCollection * CscCalibMonToolPed::m_f001DiffColl
private

Definition at line 114 of file CscCalibMonToolPed.h.

◆ m_f001MaxDiff

float CscCalibMonToolPed::m_f001MaxDiff
private

Definition at line 80 of file CscCalibMonToolPed.h.

◆ m_f001NewColl

HistCollection* CscCalibMonToolPed::m_f001NewColl
private

Definition at line 114 of file CscCalibMonToolPed.h.

◆ m_f001OldColl

HistCollection * CscCalibMonToolPed::m_f001OldColl
private

Definition at line 114 of file CscCalibMonToolPed.h.

◆ m_fileKey

std::string ManagedMonitorToolBase::m_fileKey
protectedinherited

Definition at line 833 of file ManagedMonitorToolBase.h.

◆ m_generic_path_csccalibmonitoring

std::string CscCalibMonToolBase::m_generic_path_csccalibmonitoring
protectedinherited

Path of histograms.

Definition at line 157 of file CscCalibMonToolBase.h.

◆ m_h2_rmsVnoiseEta

TH2I* CscCalibMonToolPed::m_h2_rmsVnoiseEta
private

Definition at line 126 of file CscCalibMonToolPed.h.

◆ m_h2_rmsVnoisePhi

TH2I * CscCalibMonToolPed::m_h2_rmsVnoisePhi
private

Definition at line 126 of file CscCalibMonToolPed.h.

◆ m_h_numBad

TH1I* CscCalibMonToolPed::m_h_numBad
private

Stores number of channels that are bad in several categories.

Definition at line 107 of file CscCalibMonToolPed.h.

◆ m_h_pedMissingChannels

TH1F* CscCalibMonToolPed::m_h_pedMissingChannels
private

Histograms that simply histogram all entries for a value.

Definition at line 77 of file CscCalibMonToolPed.h.

◆ m_hashName

std::string CscCalibMonToolBase::m_hashName
protectedinherited

Naming info.

Definition at line 136 of file CscCalibMonToolBase.h.

◆ m_hashPath

std::string CscCalibMonToolBase::m_hashPath
protectedinherited

Definition at line 158 of file CscCalibMonToolBase.h.

◆ m_hashTitle

std::string CscCalibMonToolBase::m_hashTitle
protectedinherited

Definition at line 137 of file CscCalibMonToolBase.h.

◆ m_haveClearedLastEventBlock

bool ManagedMonitorToolBase::m_haveClearedLastEventBlock
protectedinherited

Definition at line 866 of file ManagedMonitorToolBase.h.

◆ m_histCol

int CscCalibMonToolBase::m_histCol {}
protectedinherited

Hist colors.

Definition at line 154 of file CscCalibMonToolBase.h.

◆ m_histColAlert

int CscCalibMonToolBase::m_histColAlert {}
protectedinherited

Definition at line 154 of file CscCalibMonToolBase.h.

◆ m_histKey

std::string CscCalibMonToolPed::m_histKey
private

Samples.

Storegate key for pedestal amplitude histograms

Definition at line 104 of file CscCalibMonToolPed.h.

◆ m_idHelperSvc

ServiceHandle<Muon::IMuonIdHelperSvc> CscCalibMonToolBase::m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
protectedinherited

Definition at line 168 of file CscCalibMonToolBase.h.

◆ m_lastHigStatInterval

int ManagedMonitorToolBase::m_lastHigStatInterval
protectedinherited

Definition at line 861 of file ManagedMonitorToolBase.h.

◆ m_lastLowStatInterval

int ManagedMonitorToolBase::m_lastLowStatInterval
protectedinherited

Definition at line 861 of file ManagedMonitorToolBase.h.

◆ m_lastLumiBlock

unsigned int ManagedMonitorToolBase::m_lastLumiBlock
protectedinherited

Definition at line 859 of file ManagedMonitorToolBase.h.

◆ m_lastMedStatInterval

int ManagedMonitorToolBase::m_lastMedStatInterval
protectedinherited

Definition at line 861 of file ManagedMonitorToolBase.h.

◆ m_lastRun

unsigned int ManagedMonitorToolBase::m_lastRun
protectedinherited

Definition at line 860 of file ManagedMonitorToolBase.h.

◆ m_layHistName

std::string CscCalibMonToolBase::m_layHistName
protectedinherited

Definition at line 144 of file CscCalibMonToolBase.h.

◆ m_layHistPath

std::string CscCalibMonToolBase::m_layHistPath
protectedinherited

Definition at line 158 of file CscCalibMonToolBase.h.

◆ m_layHistTitle

std::string CscCalibMonToolBase::m_layHistTitle
protectedinherited

Definition at line 145 of file CscCalibMonToolBase.h.

◆ m_laySummHistName

std::string CscCalibMonToolBase::m_laySummHistName
protectedinherited

Definition at line 150 of file CscCalibMonToolBase.h.

◆ m_laySummHistPath

std::string CscCalibMonToolBase::m_laySummHistPath
protectedinherited

Definition at line 159 of file CscCalibMonToolBase.h.

◆ m_laySummHistTitle

std::string CscCalibMonToolBase::m_laySummHistTitle
protectedinherited

Definition at line 151 of file CscCalibMonToolBase.h.

◆ m_lbDurationDataKey

SG::ReadCondHandleKey<LBDurationCondData> ManagedMonitorToolBase::m_lbDurationDataKey {this,"LBDurationCondDataKey","LBDurationCondData","SG Key of LBDurationCondData object"}
privateinherited

Definition at line 888 of file ManagedMonitorToolBase.h.

◆ m_lumiDataKey

SG::ReadCondHandleKey<LuminosityCondData> ManagedMonitorToolBase::m_lumiDataKey {this,"LuminosityCondDataKey","LuminosityCondData","SG Key of LuminosityCondData object"}
privateinherited

Definition at line 886 of file ManagedMonitorToolBase.h.

◆ m_makeAllChan1dHists

bool CscCalibMonToolBase::m_makeAllChan1dHists {}
protectedinherited

Definition at line 120 of file CscCalibMonToolBase.h.

◆ m_makeAllChan2dHists

bool CscCalibMonToolBase::m_makeAllChan2dHists {}
protectedinherited

Definition at line 120 of file CscCalibMonToolBase.h.

◆ m_makeChamHists

bool CscCalibMonToolBase::m_makeChamHists {}
protectedinherited

Definition at line 122 of file CscCalibMonToolBase.h.

◆ m_makeChamProfs

bool CscCalibMonToolBase::m_makeChamProfs {}
protectedinherited

Definition at line 121 of file CscCalibMonToolBase.h.

◆ m_makeChamSummHists

bool CscCalibMonToolBase::m_makeChamSummHists {}
protectedinherited

Definition at line 122 of file CscCalibMonToolBase.h.

◆ m_makeHashHists

bool CscCalibMonToolBase::m_makeHashHists {}
protectedinherited

Data output options.

Definition at line 120 of file CscCalibMonToolBase.h.

◆ m_makeLayHists

bool CscCalibMonToolBase::m_makeLayHists {}
protectedinherited

Definition at line 120 of file CscCalibMonToolBase.h.

◆ m_makeLaySummHists

bool CscCalibMonToolBase::m_makeLaySummHists {}
protectedinherited

Definition at line 121 of file CscCalibMonToolBase.h.

◆ m_manager

AthenaMonManager* ManagedMonitorToolBase::m_manager
protectedinherited

Definition at line 829 of file ManagedMonitorToolBase.h.

◆ m_managerNameProp

std::string ManagedMonitorToolBase::m_managerNameProp
protectedinherited

Definition at line 831 of file ManagedMonitorToolBase.h.

◆ m_maxBitCorrColl

HistCollection* CscCalibMonToolPed::m_maxBitCorrColl
private

Definition at line 122 of file CscCalibMonToolPed.h.

◆ m_maxChamId

unsigned int CscCalibMonToolBase::m_maxChamId {}
protectedinherited

Definition at line 114 of file CscCalibMonToolBase.h.

◆ m_maxDetailedChannels

int CscCalibMonToolBase::m_maxDetailedChannels {}
protectedinherited

To keep track of channels that should have more data printed to root file.

Definition at line 128 of file CscCalibMonToolBase.h.

◆ m_maxHashId

unsigned int CscCalibMonToolBase::m_maxHashId {}
protectedinherited

Definition at line 113 of file CscCalibMonToolBase.h.

◆ m_metadataMap

MDMap_t ManagedMonitorToolBase::m_metadataMap
protectedinherited

Definition at line 827 of file ManagedMonitorToolBase.h.

◆ m_minAmpHistEntries

int CscCalibMonToolPed::m_minAmpHistEntries
private

Allowed number of entries.

Definition at line 86 of file CscCalibMonToolPed.h.

◆ m_missingBadBin

int CscCalibMonToolPed::m_missingBadBin
private

Definition at line 98 of file CscCalibMonToolPed.h.

◆ m_monGroupMap

std::map<std::string, MonGroup*> CscCalibMonToolBase::m_monGroupMap
protectedinherited

Definition at line 163 of file CscCalibMonToolBase.h.

◆ m_monGroupVec

DataVector<MonGroup>* CscCalibMonToolBase::m_monGroupVec {}
protectedinherited

Keeps track of MonGroups.

Definition at line 162 of file CscCalibMonToolBase.h.

◆ m_nEntriesBadBin

int CscCalibMonToolPed::m_nEntriesBadBin
private

Definition at line 98 of file CscCalibMonToolPed.h.

◆ m_nEntriesColl

HistCollection* CscCalibMonToolPed::m_nEntriesColl
private

Definition at line 118 of file CscCalibMonToolPed.h.

◆ m_nEvents

unsigned int ManagedMonitorToolBase::m_nEvents
protectedinherited

Definition at line 863 of file ManagedMonitorToolBase.h.

◆ m_nEventsIgnoreTrigger

unsigned int ManagedMonitorToolBase::m_nEventsIgnoreTrigger
protectedinherited

Definition at line 864 of file ManagedMonitorToolBase.h.

◆ m_newEventsBlock

bool ManagedMonitorToolBase::m_newEventsBlock
privateinherited

Definition at line 822 of file ManagedMonitorToolBase.h.

◆ m_newHigStatInterval

bool ManagedMonitorToolBase::m_newHigStatInterval
privateinherited

Definition at line 820 of file ManagedMonitorToolBase.h.

◆ m_newLowStat

bool ManagedMonitorToolBase::m_newLowStat
privateinherited

Definition at line 821 of file ManagedMonitorToolBase.h.

◆ m_newLowStatInterval

bool ManagedMonitorToolBase::m_newLowStatInterval
privateinherited

Definition at line 820 of file ManagedMonitorToolBase.h.

◆ m_newLumiBlock

bool ManagedMonitorToolBase::m_newLumiBlock
privateinherited

Definition at line 821 of file ManagedMonitorToolBase.h.

◆ m_newMedStatInterval

bool ManagedMonitorToolBase::m_newMedStatInterval
privateinherited

Definition at line 820 of file ManagedMonitorToolBase.h.

◆ m_newRun

bool ManagedMonitorToolBase::m_newRun
privateinherited

Definition at line 821 of file ManagedMonitorToolBase.h.

◆ m_nLumiBlocks

unsigned int ManagedMonitorToolBase::m_nLumiBlocks
protectedinherited

Definition at line 865 of file ManagedMonitorToolBase.h.

◆ m_noiseBadBin

int CscCalibMonToolPed::m_noiseBadBin
private

Definition at line 98 of file CscCalibMonToolPed.h.

◆ m_noiseDiffColl

HistCollection * CscCalibMonToolPed::m_noiseDiffColl
private

Definition at line 111 of file CscCalibMonToolPed.h.

◆ m_noiseMaxDiff

float CscCalibMonToolPed::m_noiseMaxDiff
private

Definition at line 80 of file CscCalibMonToolPed.h.

◆ m_noiseNewColl

HistCollection* CscCalibMonToolPed::m_noiseNewColl
private

Definition at line 111 of file CscCalibMonToolPed.h.

◆ m_noiseOldColl

HistCollection * CscCalibMonToolPed::m_noiseOldColl
private

Definition at line 111 of file CscCalibMonToolPed.h.

◆ m_numBad

unsigned int CscCalibMonToolBase::m_numBad {}
protectedinherited

Definition at line 115 of file CscCalibMonToolBase.h.

◆ m_onlTHoldBreachBadBin

int CscCalibMonToolPed::m_onlTHoldBreachBadBin
private

Definition at line 98 of file CscCalibMonToolPed.h.

◆ m_onlTHoldBreachColl

HistCollection* CscCalibMonToolPed::m_onlTHoldBreachColl
private

Definition at line 115 of file CscCalibMonToolPed.h.

◆ m_onlTHoldBreachMax

float CscCalibMonToolPed::m_onlTHoldBreachMax
private

Definition at line 80 of file CscCalibMonToolPed.h.

◆ m_onlyExpectPrecisionHashIds

bool CscCalibMonToolBase::m_onlyExpectPrecisionHashIds {}
protectedinherited

Hash Ids one would expect to be in calibration data.

Definition at line 132 of file CscCalibMonToolBase.h.

◆ m_path

std::string ManagedMonitorToolBase::m_path
protectedinherited

Definition at line 852 of file ManagedMonitorToolBase.h.

◆ m_pedBadBin

int CscCalibMonToolPed::m_pedBadBin
private

Bin in m_h_numBen corresponding to each type of data.

Definition at line 98 of file CscCalibMonToolPed.h.

◆ m_pedDiffColl

HistCollection * CscCalibMonToolPed::m_pedDiffColl
private

Definition at line 110 of file CscCalibMonToolPed.h.

◆ m_pedMaxDiff

float CscCalibMonToolPed::m_pedMaxDiff
private

Allowed deviations from COOL data.

Definition at line 80 of file CscCalibMonToolPed.h.

◆ m_pedNewColl

HistCollection* CscCalibMonToolPed::m_pedNewColl
private

HistCollections.

See CscCalibMonToolBase for definition

Definition at line 110 of file CscCalibMonToolPed.h.

◆ m_pedOldColl

HistCollection * CscCalibMonToolPed::m_pedOldColl
private

Definition at line 110 of file CscCalibMonToolPed.h.

◆ m_preScaleProp

long ManagedMonitorToolBase::m_preScaleProp
protectedinherited

Definition at line 853 of file ManagedMonitorToolBase.h.

◆ m_procNEventsProp

long ManagedMonitorToolBase::m_procNEventsProp
protectedinherited

Definition at line 851 of file ManagedMonitorToolBase.h.

◆ m_readKey

SG::ReadCondHandleKey<CscCondDbData> CscCalibMonToolBase::m_readKey {this, "ReadKey", "CscCondDbData", "Key of CscCondDbData"}
protectedinherited

Access to COOL database.

Definition at line 171 of file CscCalibMonToolBase.h.

◆ m_rmsBadBin

int CscCalibMonToolPed::m_rmsBadBin
private

Definition at line 98 of file CscCalibMonToolPed.h.

◆ m_rmsDiffColl

HistCollection * CscCalibMonToolPed::m_rmsDiffColl
private

Definition at line 113 of file CscCalibMonToolPed.h.

◆ m_rmsMaxDiff

float CscCalibMonToolPed::m_rmsMaxDiff
private

Definition at line 80 of file CscCalibMonToolPed.h.

◆ m_rmsNewColl

HistCollection* CscCalibMonToolPed::m_rmsNewColl
private

Definition at line 113 of file CscCalibMonToolPed.h.

◆ m_rmsOldColl

HistCollection * CscCalibMonToolPed::m_rmsOldColl
private

Definition at line 113 of file CscCalibMonToolPed.h.

◆ m_statDbColl

HistCollection* CscCalibMonToolBase::m_statDbColl {}
protectedinherited

Definition at line 248 of file CscCalibMonToolBase.h.

◆ m_statusReportName

std::string CscCalibMonToolPed::m_statusReportName
private

Status report name.

Definition at line 91 of file CscCalibMonToolPed.h.

◆ m_statusReportPrefix

std::string CscCalibMonToolPed::m_statusReportPrefix
private

Status report prefix.

Definition at line 93 of file CscCalibMonToolPed.h.

◆ m_streamNameFcn

StreamNameFcn* ManagedMonitorToolBase::m_streamNameFcn
protectedinherited

Definition at line 841 of file ManagedMonitorToolBase.h.

◆ m_supportedIntervalsForRebooking

std::set<Interval_t> ManagedMonitorToolBase::m_supportedIntervalsForRebooking
privateinherited

Definition at line 896 of file ManagedMonitorToolBase.h.

◆ m_templateEfficiencies

std::map< Interval_t, std::vector< MgmtParams<TEfficiency> > > ManagedMonitorToolBase::m_templateEfficiencies
protectedinherited

Definition at line 676 of file ManagedMonitorToolBase.h.

◆ m_templateGraphs

std::map< Interval_t, std::vector< MgmtParams<TGraph> > > ManagedMonitorToolBase::m_templateGraphs
protectedinherited

Definition at line 668 of file ManagedMonitorToolBase.h.

◆ m_templateHistograms

std::map< Interval_t, std::vector< MgmtParams<TH1> > > ManagedMonitorToolBase::m_templateHistograms
protectedinherited

Definition at line 664 of file ManagedMonitorToolBase.h.

◆ m_templateTrees

std::map< Interval_t, std::vector< MgmtParams<TTree> > > ManagedMonitorToolBase::m_templateTrees
protectedinherited

Definition at line 672 of file ManagedMonitorToolBase.h.

◆ m_THistSvc

ServiceHandle<ITHistSvc> ManagedMonitorToolBase::m_THistSvc
protectedinherited

Definition at line 843 of file ManagedMonitorToolBase.h.

◆ m_tholdDiffColl

HistCollection* CscCalibMonToolPed::m_tholdDiffColl
private

Definition at line 120 of file CscCalibMonToolPed.h.

◆ m_trigDecTool

PublicToolHandle<Trig::ITrigDecisionTool> ManagedMonitorToolBase::m_trigDecTool {this, "TrigDecisionTool",""}
protectedinherited

Definition at line 845 of file ManagedMonitorToolBase.h.

◆ m_triggerChainProp

std::string ManagedMonitorToolBase::m_triggerChainProp
protectedinherited

Definition at line 854 of file ManagedMonitorToolBase.h.

◆ m_triggerGroupProp

std::string ManagedMonitorToolBase::m_triggerGroupProp
protectedinherited

Definition at line 855 of file ManagedMonitorToolBase.h.

◆ m_trigLiveFractionDataKey

SG::ReadCondHandleKey<TrigLiveFractionCondData> ManagedMonitorToolBase::m_trigLiveFractionDataKey {this,"TrigLiveFractionCondDataKey","TrigLiveFractionCondData","SG Key of TrigLiveFractionCondData object"}
privateinherited

Definition at line 890 of file ManagedMonitorToolBase.h.

◆ m_trigTranslator

PublicToolHandle<ITriggerTranslatorTool> ManagedMonitorToolBase::m_trigTranslator {this,"TriggerTranslatorTool",""}
protectedinherited

Definition at line 847 of file ManagedMonitorToolBase.h.

◆ m_useLumi

bool ManagedMonitorToolBase::m_useLumi
privateinherited

Definition at line 894 of file ManagedMonitorToolBase.h.

◆ m_useTrigger

bool ManagedMonitorToolBase::m_useTrigger
protectedinherited

Definition at line 857 of file ManagedMonitorToolBase.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ m_vTrigChainNames

std::vector<std::string> ManagedMonitorToolBase::m_vTrigChainNames
protectedinherited

Definition at line 680 of file ManagedMonitorToolBase.h.

◆ m_vTrigGroupNames

std::vector<std::string> ManagedMonitorToolBase::m_vTrigGroupNames
protectedinherited

Definition at line 680 of file ManagedMonitorToolBase.h.


The documentation for this class was generated from the following files:
ManagedMonitorToolBase::m_nEvents
unsigned int m_nEvents
Definition: ManagedMonitorToolBase.h:863
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
CscCalibMonToolBase::CscCalibMonToolBase
CscCalibMonToolBase(const std::string &type, const std::string &name, const IInterface *parent)
constructor
Definition: CscCalibMonToolBase.cxx:15
histCollection
Definition: LArQuickHistMerge.cxx:56
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
CscCalibMonToolPed::m_onlTHoldBreachMax
float m_onlTHoldBreachMax
Definition: CscCalibMonToolPed.h:80
ManagedMonitorToolBase::THistSvc_deReg_fixTGraph
StatusCode THistSvc_deReg_fixTGraph(TFile *file, TGraph *theGraph, std::string &directoryName)
Fixes THistSvc->deReg(obj) when obj is TGraph instance.
Definition: ManagedMonitorToolBase.cxx:1039
CscCalibMonToolPed::m_doRmsVNoise
bool m_doRmsVNoise
Definition: CscCalibMonToolPed.h:128
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:216
ManagedMonitorToolBase::m_templateEfficiencies
std::map< Interval_t, std::vector< MgmtParams< TEfficiency > > > m_templateEfficiencies
Definition: ManagedMonitorToolBase.h:676
ManagedMonitorToolBase::streamNameFunction
virtual StreamNameFcn * streamNameFunction()
Returns the function object that converts logical paramters into a physical stream name.
Definition: ManagedMonitorToolBase.cxx:452
python.TIDAMonTool.monGroup
def monGroup(analysis_chain)
Definition: TIDAMonTool.py:297
CscCalibMonToolBase::getSector
virtual int getSector(int stationPhi, int stationSize)
Produces a sector number from the phi and size of a station.
Definition: CscCalibMonToolBase.cxx:1072
CscCalibMonToolPed::genThreshold
void genThreshold(HistCollection *pedColl, HistCollection *noiseColl, HistCollection *tholdColl, float multiplier)
Definition: CscCalibMonToolPed.cxx:511
ManagedMonitorToolBase::m_newRun
bool m_newRun
Definition: ManagedMonitorToolBase.h:821
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
Muon::nsw::STGTPSegments::moduleIDBits::stationPhi
constexpr uint8_t stationPhi
station Phi 1 to 8
Definition: NSWSTGTPDecodeBitmaps.h:161
ManagedMonitorToolBase::m_supportedIntervalsForRebooking
std::set< Interval_t > m_supportedIntervalsForRebooking
Definition: ManagedMonitorToolBase.h:896
defineDB.smd
string smd
Definition: JetTagCalibration/share/defineDB.py:44
ManagedMonitorToolBase::bookHistograms
virtual StatusCode bookHistograms()
An inheriting class should either override this function or bookHists().
Definition: ManagedMonitorToolBase.cxx:1299
ManagedMonitorToolBase::m_DQFilterTools
ToolHandleArray< IDQFilterTool > m_DQFilterTools
Definition: ManagedMonitorToolBase.h:849
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
checkFileSG.line
line
Definition: checkFileSG.py:75
ChangeHistoRange.lowBound
lowBound
Definition: ChangeHistoRange.py:29
ManagedMonitorToolBase::getHist
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.
Definition: ManagedMonitorToolBase.cxx:1410
ManagedMonitorToolBase::m_newEventsBlock
bool m_newEventsBlock
Definition: ManagedMonitorToolBase.h:822
CscCalibMonToolBase::m_histCol
int m_histCol
Hist colors.
Definition: CscCalibMonToolBase.h:154
CscCalibMonToolBase::bookHistograms
virtual StatusCode bookHistograms()
Standard function for a ManagedMonitorToolBase.
Definition: CscCalibMonToolBase.cxx:650
ManagedMonitorToolBase::Imp::benchPreProcHistograms
void benchPreProcHistograms()
Definition: ManagedMonitorToolBase.cxx:119
CscCalibMonToolPed::m_h_pedMissingChannels
TH1F * m_h_pedMissingChannels
Histograms that simply histogram all entries for a value.
Definition: CscCalibMonToolPed.h:77
get_generator_info.result
result
Definition: get_generator_info.py:21
SiliconTech::strip
@ strip
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:128
runLayerRecalibration.chain
chain
Definition: runLayerRecalibration.py:175
CscCalibMonToolBase::handleParameter
virtual StatusCode handleParameter(const CscCalibResultCollection *parVals)
Should be written by user in derived class.
Definition: CscCalibMonToolBase.cxx:754
CscCalibMonToolPed::m_pedNewColl
HistCollection * m_pedNewColl
HistCollections.
Definition: CscCalibMonToolPed.h:110
CscCalibMonToolPed::m_pedMaxDiff
float m_pedMaxDiff
Allowed deviations from COOL data.
Definition: CscCalibMonToolPed.h:80
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
CscCalibMonToolBase::m_hashName
std::string m_hashName
Naming info.
Definition: CscCalibMonToolBase.h:136
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:24
CscCalibMonToolBase::postProc
virtual StatusCode postProc()
Run after handleParameter.
Definition: CscCalibMonToolBase.cxx:734
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
CscCalibMonToolPed::m_f001MaxDiff
float m_f001MaxDiff
Definition: CscCalibMonToolPed.h:80
ManagedMonitorToolBase::higStat
@ higStat
Definition: ManagedMonitorToolBase.h:114
ManagedMonitorToolBase::lumiBlock
@ lumiBlock
Definition: ManagedMonitorToolBase.h:113
ManagedMonitorToolBase::m_endOfLumiBlock
bool m_endOfLumiBlock
Definition: ManagedMonitorToolBase.h:823
dumpTgcDigiDeadChambers.stationName
dictionary stationName
Definition: dumpTgcDigiDeadChambers.py:30
CscCalibResult
Definition: CscCalibResult.h:19
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
ChangeHistoRange.highBound
highBound
Definition: ChangeHistoRange.py:30
CscCalibMonToolBase::HistCollection::data
std::vector< float > data
Definition: CscCalibMonToolBase.h:231
ManagedMonitorToolBase::m_THistSvc
ServiceHandle< ITHistSvc > m_THistSvc
Definition: ManagedMonitorToolBase.h:843
ManagedMonitorToolBase::m_procNEventsProp
long m_procNEventsProp
Definition: ManagedMonitorToolBase.h:851
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
ManagedMonitorToolBase::regTree
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.
Definition: ManagedMonitorToolBase.cxx:1547
CscCalibMonToolBase::bookHistCollection
virtual StatusCode bookHistCollection(HistCollection *histCollection, std::string dataTypeName, std::string dataTypeTitle, std::string categoryName, std::string categoryTitle, std::string axisLabel, int numBins, float lowBound, float highBound, std::string parDir="", uint16_t toSkip=0)
Initializes the histograms in a histCollection and books them.
Definition: CscCalibMonToolBase.cxx:139
AthenaMonManager::runNumber
static unsigned int runNumber()
Definition: AthenaMonManager.cxx:341
CscCalibMonToolPed::m_missingBadBin
int m_missingBadBin
Definition: CscCalibMonToolPed.h:98
plotmaker.hist
hist
Definition: plotmaker.py:148
CscCalibMonToolBase::m_readKey
SG::ReadCondHandleKey< CscCondDbData > m_readKey
Access to COOL database.
Definition: CscCalibMonToolBase.h:171
CscCalibMonToolBase::getGeoPath
std::string getGeoPath(int eta=-9999, int sector=-9999, int wireLayer=-9999, int measuresPhi=-9999, int channel=-9999)
getGeoPath creates a directory structure for a histogram based upon where it is in the CSC geometry.
Definition: CscCalibMonToolBase.cxx:1097
AthenaMonManager::fileKey
virtual std::string fileKey() const
Definition: AthenaMonManager.cxx:648
CscCalibMonToolPed::m_rmsDiffColl
HistCollection * m_rmsDiffColl
Definition: CscCalibMonToolPed.h:113
ManagedMonitorToolBase::Imp::benchPreFillHistograms
void benchPreFillHistograms()
Definition: ManagedMonitorToolBase.cxx:94
AthenaMonManager::AOD
@ AOD
Definition: AthenaMonManager.h:49
ManagedMonitorToolBase::regManagedGraphs
StatusCode regManagedGraphs(std::vector< MgmtParams< TGraph > > &templateGraphs)
Definition: ManagedMonitorToolBase.cxx:1071
AthenaMonManager::passOwnership
virtual void passOwnership(TObject *h, const std::string &key)
Pass ownership of a TObject to this manager so that it will be deleted appropriately.
Definition: AthenaMonManager.cxx:656
ManagedMonitorToolBase::Imp::benchPostFillHistograms
void benchPostFillHistograms()
Definition: ManagedMonitorToolBase.cxx:103
ManagedMonitorToolBase::regManagedHistograms
StatusCode regManagedHistograms(std::vector< MgmtParams< TH1 > > &templateHistograms)
Definition: ManagedMonitorToolBase.cxx:974
CscCalibMonToolPed::m_nEntriesColl
HistCollection * m_nEntriesColl
Definition: CscCalibMonToolPed.h:118
ManagedMonitorToolBase::lbDuration
virtual double lbDuration(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Luminosity block time (in seconds)
Definition: ManagedMonitorToolBase.cxx:1817
ManagedMonitorToolBase::m_trigDecTool
PublicToolHandle< Trig::ITrigDecisionTool > m_trigDecTool
Definition: ManagedMonitorToolBase.h:845
CscCalibMonToolPed::m_chi2BadBin
int m_chi2BadBin
Definition: CscCalibMonToolPed.h:98
CscCalibMonToolBase::getChamIndex
virtual int getChamIndex(int measuresPhi, int stationEta, int sector)
Produces a unique number for every secber in the detector.
Definition: CscCalibMonToolBase.cxx:1064
skel.it
it
Definition: skel.GENtoEVGEN.py:396
CscCalibMonToolBase::m_generic_path_csccalibmonitoring
std::string m_generic_path_csccalibmonitoring
Path of histograms.
Definition: CscCalibMonToolBase.h:157
CscCalibMonToolBase::m_chamHistTitle
std::string m_chamHistTitle
Definition: CscCalibMonToolBase.h:149
CscCalibMonToolBase::m_laySummHistTitle
std::string m_laySummHistTitle
Definition: CscCalibMonToolBase.h:151
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
checkTP.report
report
Definition: checkTP.py:127
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
mc.diff
diff
Definition: mc.SFGenPy8_MuMu_DD.py:14
ManagedMonitorToolBase::m_d
Imp * m_d
Definition: ManagedMonitorToolBase.h:899
ManagedMonitorToolBase::m_lastLowStatInterval
int m_lastLowStatInterval
Definition: ManagedMonitorToolBase.h:861
checkFileSG.toSkip
def toSkip(inpName)
Definition: checkFileSG.py:22
AthCommonMsg< AlgTool >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
ManagedMonitorToolBase::m_triggerGroupProp
std::string m_triggerGroupProp
Definition: ManagedMonitorToolBase.h:855
ManagedMonitorToolBase::Imp::benchPostProcHistograms
void benchPostProcHistograms()
Definition: ManagedMonitorToolBase.cxx:127
ManagedMonitorToolBase::m_dataType
AthenaMonManager::DataType_t m_dataType
Definition: ManagedMonitorToolBase.h:838
CscCalibMonToolBase::m_maxDetailedChannels
int m_maxDetailedChannels
To keep track of channels that should have more data printed to root file.
Definition: CscCalibMonToolBase.h:128
CscCalibReportContainer
Definition: CscCalibReportContainer.h:25
ManagedMonitorToolBase::regGraph
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 gra...
Definition: ManagedMonitorToolBase.cxx:1491
ManagedMonitorToolBase::m_newLowStatInterval
bool m_newLowStatInterval
Definition: ManagedMonitorToolBase.h:820
CscCalibMonToolBase::HistCollection::errors
std::vector< float > errors
Definition: CscCalibMonToolBase.h:232
ManagedMonitorToolBase::fill
@ fill
Definition: ManagedMonitorToolBase.h:115
CscCalibMonToolBase::getFullPath
std::string getFullPath(const std::string &geoPath, const std::string &histTypeDir, const std::string &parTypeDir)
Geo path creates a directory structure for a histogram based upon its geoPath, the hist type dir (spe...
Definition: CscCalibMonToolBase.cxx:1184
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
python.TrigTLAMonitorAlgorithm.triggers
triggers
Definition: TrigTLAMonitorAlgorithm.py:196
CscCalibReportPed::getBitCorrelation
const DataVector< TH2F > * getBitCorrelation() const
Definition: CscCalibReportPed.cxx:75
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
CscCalibReportPed::getPedAmpHists
const DataVector< TH1I > * getPedAmpHists() const
Retrieve pedestal amplitude histogram vector.
Definition: CscCalibReportPed.cxx:60
ManagedMonitorToolBase::procHistograms
virtual StatusCode procHistograms()
An inheriting class should either override this function or finalHists().
Definition: ManagedMonitorToolBase.cxx:1315
histCollection::size
size_t size()
Definition: LArQuickHistMerge.cxx:62
SG::VarHandleKey::empty
bool empty() const
Test if the key is blank.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:150
CscCalibMonToolBase::m_makeHashHists
bool m_makeHashHists
Data output options.
Definition: CscCalibMonToolBase.h:120
python.TrigEgammaMonitorHelper.TH2F
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:45
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
CscCalibMonToolPed::m_pedBadBin
int m_pedBadBin
Bin in m_h_numBen corresponding to each type of data.
Definition: CscCalibMonToolPed.h:98
CscCalibMonToolPed::m_noiseOldColl
HistCollection * m_noiseOldColl
Definition: CscCalibMonToolPed.h:111
CscCalibMonToolPed::m_noiseBadBin
int m_noiseBadBin
Definition: CscCalibMonToolPed.h:98
ManagedMonitorToolBase::regManagedTrees
StatusCode regManagedTrees(std::vector< MgmtParams< TTree > > &templateTrees)
Definition: ManagedMonitorToolBase.cxx:1202
ManagedMonitorToolBase::registerMetadata
StatusCode registerMetadata(const std::string &streamName, const std::string &hName, const MonGroup &group)
Definition: ManagedMonitorToolBase.cxx:947
AthenaMonManager::getLBsLowStat
static unsigned int getLBsLowStat()
Definition: AthenaMonManager.cxx:303
ManagedMonitorToolBase::m_newHigStatInterval
bool m_newHigStatInterval
Definition: ManagedMonitorToolBase.h:820
ManagedMonitorToolBase::m_newMedStatInterval
bool m_newMedStatInterval
Definition: ManagedMonitorToolBase.h:820
CscCalibMonToolBase::m_makeAllChan2dHists
bool m_makeAllChan2dHists
Definition: CscCalibMonToolBase.h:120
CscCalibMonToolBase::m_chamSummHistName
std::string m_chamSummHistName
Definition: CscCalibMonToolBase.h:146
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
CscCalibMonToolPed::m_h2_rmsVnoiseEta
TH2I * m_h2_rmsVnoiseEta
Definition: CscCalibMonToolPed.h:126
CscCalibMonToolBase::m_detailedHashIds
bool * m_detailedHashIds
Definition: CscCalibMonToolBase.h:129
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
CscCalibMonToolPed::m_doBitCorrelations
bool m_doBitCorrelations
DO bit correlation plots?".
Definition: CscCalibMonToolPed.h:95
AthenaMonManager::environment
static Environment_t environment()
Returns the running environment of the monitoring application to help ManagedMonitorToolBase objects ...
Definition: AthenaMonManager.cxx:298
CscCalibMonToolPed::m_onlTHoldBreachBadBin
int m_onlTHoldBreachBadBin
Definition: CscCalibMonToolPed.h:98
CscCalibMonToolBase::procParameter
virtual StatusCode procParameter(const CscCalibResultCollection *parVals, ProcSetupInfo *simpleSet)
Processors a parameter type.
Definition: CscCalibMonToolBase.cxx:770
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
CscCalibMonToolBase::m_makeLaySummHists
bool m_makeLaySummHists
Definition: CscCalibMonToolBase.h:121
CscCalibMonToolPed::m_statusReportName
std::string m_statusReportName
Status report name.
Definition: CscCalibMonToolPed.h:91
python.checkMetadata.metadata
metadata
Definition: checkMetadata.py:175
AthenaMonManager::getLBsMedStat
static unsigned int getLBsMedStat()
Definition: AthenaMonManager.cxx:306
ManagedMonitorToolBase::m_bookHistogramsInitial
bool m_bookHistogramsInitial
Definition: ManagedMonitorToolBase.h:893
ManagedMonitorToolBase::Imp::m_warnAboutMissingInitialize
bool m_warnAboutMissingInitialize
Definition: ManagedMonitorToolBase.cxx:48
PyPoolBrowser.item
item
Definition: PyPoolBrowser.py:129
ManagedMonitorToolBase::getNewStreamNameFcn
virtual StreamNameFcn * getNewStreamNameFcn() const
Definition: ManagedMonitorToolBase.cxx:2158
ManagedMonitorToolBase::m_preScaleProp
long m_preScaleProp
Definition: ManagedMonitorToolBase.h:853
ManagedMonitorToolBase::trigChainsArePassed
virtual bool trigChainsArePassed(std::vector< std::string > &)
Definition: ManagedMonitorToolBase.cxx:2095
AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
ManagedMonitorToolBase::m_fileKey
std::string m_fileKey
Definition: ManagedMonitorToolBase.h:833
ManagedMonitorToolBase::m_lastLumiBlock
unsigned int m_lastLumiBlock
Definition: ManagedMonitorToolBase.h:859
ManagedMonitorToolBase::m_vTrigGroupNames
std::vector< std::string > m_vTrigGroupNames
Definition: ManagedMonitorToolBase.h:680
AthenaMonManager::tier0ESD
@ tier0ESD
Definition: AthenaMonManager.h:49
ManagedMonitorToolBase::lbAverageLivefraction
virtual float lbAverageLivefraction(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Average luminosity livefraction.
Definition: ManagedMonitorToolBase.cxx:1763
CscCalibMonToolPed::m_h_numBad
TH1I * m_h_numBad
Stores number of channels that are bad in several categories.
Definition: CscCalibMonToolPed.h:107
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
ManagedMonitorToolBase::m_templateGraphs
std::map< Interval_t, std::vector< MgmtParams< TGraph > > > m_templateGraphs
Definition: ManagedMonitorToolBase.h:668
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthenaMonManager::dataType
static DataType_t dataType()
Returns the data type that the monitoring application is running over to help ManagedMonitorToolBase ...
Definition: AthenaMonManager.cxx:315
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
ManagedMonitorToolBase::m_manager
AthenaMonManager * m_manager
Definition: ManagedMonitorToolBase.h:829
ManagedMonitorToolBase::m_lumiDataKey
SG::ReadCondHandleKey< LuminosityCondData > m_lumiDataKey
Definition: ManagedMonitorToolBase.h:887
ManagedMonitorToolBase::m_streamNameFcn
StreamNameFcn * m_streamNameFcn
Definition: ManagedMonitorToolBase.h:841
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
CscCalibMonToolPed::m_maxBitCorrColl
HistCollection * m_maxBitCorrColl
Definition: CscCalibMonToolPed.h:122
CscCalibMonToolPed::m_f001DiffColl
HistCollection * m_f001DiffColl
Definition: CscCalibMonToolPed.h:114
lumiFormat.i
int i
Definition: lumiFormat.py:85
CscCalibMonToolBase::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: CscCalibMonToolBase.h:168
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
ReadCellNoiseFromCool.chan
chan
Definition: ReadCellNoiseFromCool.py:52
CscCalibMonToolBase::m_expectedHashIdsAll
std::set< int > m_expectedHashIdsAll
Definition: CscCalibMonToolBase.h:133
AthenaMonManager::tier0
@ tier0
Definition: AthenaMonManager.h:49
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
AthenaMonManager::online
@ online
Definition: AthenaMonManager.h:49
CscCalibMonToolBase::m_doAllDetailed
bool m_doAllDetailed
Definition: CscCalibMonToolBase.h:123
ManagedMonitorToolBase::file
@ file
Definition: ManagedMonitorToolBase.h:113
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
CscCalibMonToolBase::m_histColAlert
int m_histColAlert
Definition: CscCalibMonToolBase.h:154
AthenaMonManager::writeAndDelete
virtual void writeAndDelete(const std::string &key)
If the TObject is owned by this manager, its Write() method is called and it is deleted.
Definition: AthenaMonManager.cxx:665
CscCalibMonToolPed::m_rmsOldColl
HistCollection * m_rmsOldColl
Definition: CscCalibMonToolPed.h:113
covarianceTool.title
title
Definition: covarianceTool.py:542
getLatestRuns.interval
interval
Definition: getLatestRuns.py:24
CscCalibMonToolPed::m_f001NewColl
HistCollection * m_f001NewColl
Definition: CscCalibMonToolPed.h:114
ManagedMonitorToolBase::ATTRIB_UNMANAGED
@ ATTRIB_UNMANAGED
Definition: ManagedMonitorToolBase.h:130
DataVector::front
const T * front() const
Access the first element in the collection as an rvalue.
ManagedMonitorToolBase::Imp::benchPostBookHistograms
void benchPostBookHistograms()
Definition: ManagedMonitorToolBase.cxx:84
test_pyathena.parent
parent
Definition: test_pyathena.py:15
AthenaMonManager::tier0Raw
@ tier0Raw
Definition: AthenaMonManager.h:49
ManagedMonitorToolBase::m_triggerChainProp
std::string m_triggerChainProp
Definition: ManagedMonitorToolBase.h:854
beamspotnt.parName
list parName
Definition: bin/beamspotnt.py:1287
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
AthenaMonManager::user
@ user
Definition: AthenaMonManager.h:49
CscCalibMonToolBase::m_allChan2dTitle
std::string m_allChan2dTitle
Definition: CscCalibMonToolBase.h:141
CscCalibReportPed::getBitHists
const DataVector< TH1I > * getBitHists() const
Retrive bit histogram vector.
Definition: CscCalibReportPed.cxx:70
CscCalibMonToolBase::m_hashTitle
std::string m_hashTitle
Definition: CscCalibMonToolBase.h:137
CscCalibMonToolPed::m_f001OldColl
HistCollection * m_f001OldColl
Definition: CscCalibMonToolPed.h:114
CscCalibResultCollection::parName
const std::string & parName() const
the identify of this collection
Definition: CscCalibResultCollection.cxx:11
run
Definition: run.py:1
ManagedMonitorToolBase::ATTRIB_MANAGED
@ ATTRIB_MANAGED
Definition: ManagedMonitorToolBase.h:130
ManagedMonitorToolBase::StreamNameFcn::getStreamName
virtual std::string getStreamName(const ManagedMonitorToolBase *tool, const MonGroup &group, const std::string &objName, bool usePreviousInterval=false)=0
A function that converts a MonGroup of logical parameters into a physical output stream name.
CscCalibMonToolBase::m_layHistTitle
std::string m_layHistTitle
Definition: CscCalibMonToolBase.h:145
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
CscCalibMonToolBase::m_chamProfTitle
std::string m_chamProfTitle
Definition: CscCalibMonToolBase.h:143
ManagedMonitorToolBase::medStat
@ medStat
Definition: ManagedMonitorToolBase.h:114
ManagedMonitorToolBase::m_templateTrees
std::map< Interval_t, std::vector< MgmtParams< TTree > > > m_templateTrees
Definition: ManagedMonitorToolBase.h:672
ManagedMonitorToolBase::m_metadataMap
MDMap_t m_metadataMap
Definition: ManagedMonitorToolBase.h:827
DataVector< MonGroup >
CscCalibMonToolBase::m_layHistName
std::string m_layHistName
Definition: CscCalibMonToolBase.h:144
ManagedMonitorToolBase::m_endOfEventsBlock
bool m_endOfEventsBlock
Definition: ManagedMonitorToolBase.h:823
ManagedMonitorToolBase::m_trigLiveFractionDataKey
SG::ReadCondHandleKey< TrigLiveFractionCondData > m_trigLiveFractionDataKey
Definition: ManagedMonitorToolBase.h:891
checkRpcDigits.allGood
bool allGood
Loop over the SDOs & Digits.
Definition: checkRpcDigits.py:171
CscCalibResultContainer
Definition: CscCalibResultContainer.h:22
ManagedMonitorToolBase::m_environment
AthenaMonManager::Environment_t m_environment
Definition: ManagedMonitorToolBase.h:839
beamspotman.dir
string dir
Definition: beamspotman.py:623
CscCalibMonToolPed::m_allGoodFileName
std::string m_allGoodFileName
name of file indicating all is well
Definition: CscCalibMonToolPed.h:89
CscCalibMonToolBase::m_makeChamHists
bool m_makeChamHists
Definition: CscCalibMonToolBase.h:122
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
mergePhysValFiles.errors
list errors
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:43
CscCalibMonToolPed::m_onlTHoldBreachColl
HistCollection * m_onlTHoldBreachColl
Definition: CscCalibMonToolPed.h:115
ManagedMonitorToolBase::m_lastRun
unsigned int m_lastRun
Definition: ManagedMonitorToolBase.h:860
CscCalibMonToolPed::m_h2_rmsVnoisePhi
TH2I * m_h2_rmsVnoisePhi
Definition: CscCalibMonToolPed.h:126
ManagedMonitorToolBase::m_newLumiBlock
bool m_newLumiBlock
Definition: ManagedMonitorToolBase.h:821
ManagedMonitorToolBase::m_endOfLowStat
bool m_endOfLowStat
Definition: ManagedMonitorToolBase.h:823
CscCalibMonToolBase::bookLayHists
virtual StatusCode bookLayHists(std::string histTypeDir, std::string parTypeDir, std::vector< TH1F * > &vector, std::string namePrefix, std::string titlePrefix, std::string xaxis, std::string yaxis, bool chanView=true, bool ignoreY=false, unsigned int numBins=100, float lowBound=0, float highbound=100)
Books a vector of histograms where each one corresponds to a layer of the CSC secbers.
Definition: CscCalibMonToolBase.cxx:431
CscCalibMonToolPed::m_noiseMaxDiff
float m_noiseMaxDiff
Definition: CscCalibMonToolPed.h:80
CscCalibMonToolBase::initialize
virtual StatusCode initialize()
initializes services, tools, etc.
Definition: CscCalibMonToolBase.cxx:61
ManagedMonitorToolBase::m_lbDurationDataKey
SG::ReadCondHandleKey< LBDurationCondData > m_lbDurationDataKey
Definition: ManagedMonitorToolBase.h:889
CscCalibMonToolPed::m_rmsNewColl
HistCollection * m_rmsNewColl
Definition: CscCalibMonToolPed.h:113
CscCalibMonToolBase::m_allChan2dName
std::string m_allChan2dName
Definition: CscCalibMonToolBase.h:140
CscCalibMonToolPed::m_chi2Coll
HistCollection * m_chi2Coll
Definition: CscCalibMonToolPed.h:112
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
ManagedMonitorToolBase::bookHistogramsRecurrent
virtual StatusCode bookHistogramsRecurrent()
An inheriting class should either override this function, bookHists() or bookHistograms().
Definition: ManagedMonitorToolBase.cxx:1287
CscCalibMonToolBase::m_monGroupVec
DataVector< MonGroup > * m_monGroupVec
Keeps track of MonGroups.
Definition: CscCalibMonToolBase.h:162
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
python.subdetectors.mmg.ids
ids
Definition: mmg.py:8
CscCalibMonToolPed::m_rmsBadBin
int m_rmsBadBin
Definition: CscCalibMonToolPed.h:98
CscCalibMonToolPed::m_chi2Max
float m_chi2Max
Allowed maximum values.
Definition: CscCalibMonToolPed.h:83
AthenaMonManager::getLBsHigStat
static unsigned int getLBsHigStat()
Definition: AthenaMonManager.cxx:309
CscCalibMonToolBase::m_allChan1dTitle
std::string m_allChan1dTitle
Definition: CscCalibMonToolBase.h:139
ExtractEBRunDetails.endOfRun
endOfRun
Definition: ExtractEBRunDetails.py:245
item
Definition: ItemListSvc.h:43
CscCalibMonToolPed::m_minAmpHistEntries
int m_minAmpHistEntries
Allowed number of entries.
Definition: CscCalibMonToolPed.h:86
ManagedMonitorToolBase::lowStat
@ lowStat
Definition: ManagedMonitorToolBase.h:114
SCT_CalibAlgs::nbins
@ nbins
Definition: SCT_CalibNumbers.h:10
CscCalibReportBase::getLabel
const std::string & getLabel() const
Definition: CscCalibReportBase.cxx:23
CscCalibMonToolBase::m_makeLayHists
bool m_makeLayHists
Definition: CscCalibMonToolBase.h:120
CscCalibMonToolPed::m_f001BadBin
int m_f001BadBin
Definition: CscCalibMonToolPed.h:98
CscCalibMonToolBase::copyDataToHists
virtual StatusCode copyDataToHists(HistCollection *histCollection)
Fills the histograms in the histCollection based on the data in the std::vector in the HistCollection...
Definition: CscCalibMonToolBase.cxx:889
ManagedMonitorToolBase::m_managerNameProp
std::string m_managerNameProp
Definition: ManagedMonitorToolBase.h:831
ManagedMonitorToolBase::m_nEventsIgnoreTrigger
unsigned int m_nEventsIgnoreTrigger
Definition: ManagedMonitorToolBase.h:864
ManagedMonitorToolBase::run
@ run
Definition: ManagedMonitorToolBase.h:115
ManagedMonitorToolBase::m_endOfRun
bool m_endOfRun
Definition: ManagedMonitorToolBase.h:823
CscCalibMonToolPed::m_rmsMaxDiff
float m_rmsMaxDiff
Definition: CscCalibMonToolPed.h:80
ManagedMonitorToolBase::m_newLowStat
bool m_newLowStat
Definition: ManagedMonitorToolBase.h:821
AthenaPoolExample_Copy.streamName
string streamName
Definition: AthenaPoolExample_Copy.py:39
lumiFormat.lumi
lumi
Definition: lumiFormat.py:106
CscCalibMonToolPed::makeErrorReport
void makeErrorReport()
Definition: CscCalibMonToolPed.cxx:784
a
TList * a
Definition: liststreamerinfos.cxx:10
CscCalibMonToolBase::m_allChan1dName
std::string m_allChan1dName
Definition: CscCalibMonToolBase.h:138
CaloLCW_tf.group
group
Definition: CaloLCW_tf.py:28
h
AthenaMonManager::forkedProcess
bool forkedProcess()
Definition: AthenaMonManager.cxx:322
CscCalibMonToolBase::getLayIndex
virtual int getLayIndex(int measuresPhi, int stationEta, int sector, int layer)
produces a unique number for every layer in the detector
Definition: CscCalibMonToolBase.cxx:1055
CondAlgsOpts.found
int found
Definition: CondAlgsOpts.py:101
ManagedMonitorToolBase::m_lastHigStatInterval
int m_lastHigStatInterval
Definition: ManagedMonitorToolBase.h:861
python.CaloScaleNoiseConfig.str
str
Definition: CaloScaleNoiseConfig.py:78
CscCalibMonToolBase::m_makeChamSummHists
bool m_makeChamSummHists
Definition: CscCalibMonToolBase.h:122
CscCalibResultCollection
Definition: CscCalibResultCollection.h:24
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
CscCalibMonToolBase::m_chamHistName
std::string m_chamHistName
Definition: CscCalibMonToolBase.h:148
CscCalibMonToolBase::bookChamHists
virtual StatusCode bookChamHists(std::string histTypeDir, std::string parTypeDir, std::vector< TH1F * > &histVector, std::string namePrefix, std::string titlePrefix, std::string xaxis="", std::string yaxis="", bool chanView=true, bool ignoreY=false, unsigned int numBins=100, float lowBound=0, float highbound=100)
Books a vector of histograms where each one corresponds to a secber of the CSC secbers.
Definition: CscCalibMonToolBase.cxx:546
ManagedMonitorToolBase::Imp::benchPreBookHistograms
void benchPreBookHistograms()
Definition: ManagedMonitorToolBase.cxx:75
ManagedMonitorToolBase::endOfRunFlag
bool endOfRunFlag() const
Definition: ManagedMonitorToolBase.h:797
ManagedMonitorToolBase::m_nLumiBlocks
unsigned int m_nLumiBlocks
Definition: ManagedMonitorToolBase.h:865
AthenaMonManager::altprod
@ altprod
Definition: AthenaMonManager.h:49
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
ManagedMonitorToolBase::eventsBlock
@ eventsBlock
Definition: ManagedMonitorToolBase.h:113
CscCalibMonToolPed::m_statusReportPrefix
std::string m_statusReportPrefix
Status report prefix.
Definition: CscCalibMonToolPed.h:93
CscCalibMonToolBase::m_maxHashId
unsigned int m_maxHashId
Definition: CscCalibMonToolBase.h:113
CscCalibMonToolBase::m_makeChamProfs
bool m_makeChamProfs
Definition: CscCalibMonToolBase.h:121
python.envutil.filelist
filelist
print ("Checking files %s..." % fullfile)
Definition: envutil.py:133
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
DEBUG
#define DEBUG
Definition: page_access.h:11
CscCalibMonToolPed::m_noiseNewColl
HistCollection * m_noiseNewColl
Definition: CscCalibMonToolPed.h:111
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
ManagedMonitorToolBase::all
@ all
Definition: ManagedMonitorToolBase.h:115
ManagedMonitorToolBase::deregObject
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.
Definition: ManagedMonitorToolBase.cxx:1634
CscCalibMonToolPed::m_tholdDiffColl
HistCollection * m_tholdDiffColl
Definition: CscCalibMonToolPed.h:120
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
ManagedMonitorToolBase::StreamNameFcn::getDirectoryName
virtual std::string getDirectoryName(const ManagedMonitorToolBase *tool, const MonGroup &group, const std::string &objName, const bool usePreviousInterval)=0
A function that returns TDirectory path in a file that corresponds to a given MonGroup and object nam...
CscCalibMonToolBase::getEndCap
std::string getEndCap(int eta)
Gets the letter endcap (A or C) for a given eta index (1,-1)
Definition: CscCalibMonToolBase.cxx:1084
CscCalibMonToolBase::m_doBadDetailed
bool m_doBadDetailed
Definition: CscCalibMonToolBase.h:123
ManagedMonitorToolBase::fillHistograms
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
Definition: ManagedMonitorToolBase.cxx:1307
ManagedMonitorToolBase::lbAverageLuminosity
virtual float lbAverageLuminosity(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1)
Definition: ManagedMonitorToolBase.cxx:1730
str
Definition: BTagTrackIpAccessor.cxx:11
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
python.Logging.manager
manager
Definition: PhysicsAnalysis/D3PDTools/AnaAlgorithm/python/Logging.py:92
ManagedMonitorToolBase::m_useTrigger
bool m_useTrigger
Definition: ManagedMonitorToolBase.h:857
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
ManagedMonitorToolBase::m_haveClearedLastEventBlock
bool m_haveClearedLastEventBlock
Definition: ManagedMonitorToolBase.h:866
AthenaMonManager::lumiBlockNumber
static unsigned int lumiBlockNumber()
Definition: AthenaMonManager.cxx:329
CscCalibMonToolPed::m_nEntriesBadBin
int m_nEntriesBadBin
Definition: CscCalibMonToolPed.h:98
CscCalibMonToolPed::m_noiseDiffColl
HistCollection * m_noiseDiffColl
Definition: CscCalibMonToolPed.h:111
Muon::nsw::STGTPSegments::moduleIDBits::stationEta
constexpr uint8_t stationEta
1 to 3
Definition: NSWSTGTPDecodeBitmaps.h:159
CscCalibMonToolBase::m_calibResultKey
std::string m_calibResultKey
Calibration result storegate key.
Definition: CscCalibMonToolBase.h:166
ManagedMonitorToolBase::m_templateHistograms
std::map< Interval_t, std::vector< MgmtParams< TH1 > > > m_templateHistograms
Definition: ManagedMonitorToolBase.h:664
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
CscCalibMonToolPed::m_pedOldColl
HistCollection * m_pedOldColl
Definition: CscCalibMonToolPed.h:110
CscCalibMonToolBase::finalize
virtual StatusCode finalize()
deletes private members
Definition: CscCalibMonToolBase.cxx:130
get_generator_info.error
error
Definition: get_generator_info.py:40
ManagedMonitorToolBase::ATTRIB_X_VS_LB
@ ATTRIB_X_VS_LB
Definition: ManagedMonitorToolBase.h:130
ManagedMonitorToolBase::Imp::s_svcLocator
static std::atomic< ISvcLocator * > s_svcLocator
Definition: ManagedMonitorToolBase.cxx:38
python.PyAthena.obj
obj
Definition: PyAthena.py:132
dqBeamSpot.nEntries
int nEntries
Definition: dqBeamSpot.py:73
ManagedMonitorToolBase::m_trigTranslator
PublicToolHandle< ITriggerTranslatorTool > m_trigTranslator
Definition: ManagedMonitorToolBase.h:847
error
Definition: IImpactPoint3dEstimator.h:70
ManagedMonitorToolBase::m_lastMedStatInterval
int m_lastMedStatInterval
Definition: ManagedMonitorToolBase.h:861
CscCalibReportPed
Definition: CscCalibReportPed.h:25
ManagedMonitorToolBase::m_vTrigChainNames
std::vector< std::string > m_vTrigChainNames
Definition: ManagedMonitorToolBase.h:680
IdContext
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
Definition: IdContext.h:26
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
ManagedMonitorToolBase::regHist
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 ...
Definition: ManagedMonitorToolBase.cxx:1346
readCCLHist.float
float
Definition: readCCLHist.py:83
CscCalibMonToolBase::m_makeAllChan1dHists
bool m_makeAllChan1dHists
Definition: CscCalibMonToolBase.h:120
merge
Definition: merge.py:1
AthenaMonManager::noOutput
@ noOutput
Definition: AthenaMonManager.h:49
CscCalibMonToolBase::m_chamProfName
std::string m_chamProfName
Definition: CscCalibMonToolBase.h:142
ManagedMonitorToolBase::intervalEnumToString
static std::string intervalEnumToString(Interval_t interval)
Converts a LevelOfDetail_t to a string of the same name.
Definition: ManagedMonitorToolBase.cxx:537
CscCalibMonToolBase::m_laySummHistName
std::string m_laySummHistName
Definition: CscCalibMonToolBase.h:150
fitman.k
k
Definition: fitman.py:528
CscCondDbData
Definition: CscCondDbData.h:24
ManagedMonitorToolBase::m_defaultLBDuration
float m_defaultLBDuration
Definition: ManagedMonitorToolBase.h:895
ManagedMonitorToolBase::newRunFlag
bool newRunFlag() const
Definition: ManagedMonitorToolBase.h:792
CscCalibMonToolPed::m_histKey
std::string m_histKey
Samples.
Definition: CscCalibMonToolPed.h:104
CscCalibMonToolPed::m_pedDiffColl
HistCollection * m_pedDiffColl
Definition: CscCalibMonToolPed.h:110
CscCalibMonToolBase::m_chamSummHistTitle
std::string m_chamSummHistTitle
Definition: CscCalibMonToolBase.h:147
CscCalibMonToolBase::m_numBad
unsigned int m_numBad
Definition: CscCalibMonToolBase.h:115
CscCalibReportPed::getSampHists
const DataVector< DataVector< TH1I > > * getSampHists() const
Retrieve pedestal sample amplitude histogram vector.
Definition: CscCalibReportPed.cxx:65
Identifier
Definition: IdentifierFieldParser.cxx:14