|
ATLAS Offline Software
|
#include <LArRODMonAlg.h>
|
enum | Environment_t {
Environment_t::user = 0,
Environment_t::online,
Environment_t::tier0,
Environment_t::tier0Raw,
Environment_t::tier0ESD,
Environment_t::AOD,
Environment_t::altprod
} |
| Specifies the processing environment. More...
|
|
enum | DataType_t {
DataType_t::userDefined = 0,
DataType_t::monteCarlo,
DataType_t::collisions,
DataType_t::cosmics,
DataType_t::heavyIonCollisions
} |
| Specifies what type of input data is being monitored. More...
|
|
|
virtual | ~LArRODMonAlg () |
| Default destructor. More...
|
|
virtual StatusCode | initialize () override final |
| initialize More...
|
|
virtual StatusCode | finalize () override final |
|
virtual StatusCode | fillHistograms (const EventContext &ctx) const override final |
| adds event to the monitoring histograms More...
|
|
| AthMonitorAlgorithm (const std::string &name, ISvcLocator *pSvcLocator) |
| Constructor. More...
|
|
virtual StatusCode | execute (const EventContext &ctx) const override |
| Applies filters and trigger requirements. More...
|
|
void | fill (const ToolHandle< GenericMonitoringTool > &groupHandle, std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &&variables) const |
| Fills a vector of variables to a group by reference. More...
|
|
void | fill (const ToolHandle< GenericMonitoringTool > &groupHandle, const std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &variables) const |
| Fills a vector of variables to a group by reference. More...
|
|
template<typename... T> |
void | fill (const ToolHandle< GenericMonitoringTool > &groupHandle, T &&... variables) const |
| Fills a variadic list of variables to a group by reference. More...
|
|
void | fill (const std::string &groupName, std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &&variables) const |
| Fills a vector of variables to a group by name. More...
|
|
void | fill (const std::string &groupName, const std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &variables) const |
| Fills a vector of variables to a group by name. More...
|
|
template<typename... T> |
void | fill (const std::string &groupName, T &&... variables) const |
| Fills a variadic list of variables to a group by name. More...
|
|
Environment_t | environment () const |
| Accessor functions for the environment. More...
|
|
Environment_t | envStringToEnum (const std::string &str) const |
| Convert the environment string from the python configuration to an enum object. More...
|
|
DataType_t | dataType () const |
| Accessor functions for the data type. More...
|
|
DataType_t | dataTypeStringToEnum (const std::string &str) const |
| Convert the data type string from the python configuration to an enum object. More...
|
|
const ToolHandle< GenericMonitoringTool > & | getGroup (const std::string &name) const |
| Get a specific monitoring tool from the tool handle array. More...
|
|
const ToolHandle< Trig::TrigDecisionTool > & | getTrigDecisionTool () const |
| Get the trigger decision tool member. More...
|
|
bool | trigChainsArePassed (const std::vector< std::string > &vTrigNames) const |
| Check whether triggers are passed. More...
|
|
SG::ReadHandle< xAOD::EventInfo > | GetEventInfo (const EventContext &) const |
| Return a ReadHandle for an EventInfo object (get run/event numbers, etc.) More...
|
|
virtual float | lbAverageInteractionsPerCrossing (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate the average mu, i.e. More...
|
|
virtual float | lbInteractionsPerCrossing (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate instantaneous number of interactions, i.e. More...
|
|
virtual float | lbAverageLuminosity (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1). More...
|
|
virtual float | lbLuminosityPerBCID (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate the instantaneous luminosity per bunch crossing. More...
|
|
virtual double | lbDuration (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate the duration of the luminosity block (in seconds) More...
|
|
virtual float | lbAverageLivefraction (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate the average luminosity livefraction. More...
|
|
virtual float | livefractionPerBCID (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate the live fraction per bunch crossing ID. More...
|
|
virtual double | lbLumiWeight (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate the average integrated luminosity multiplied by the live fraction. More...
|
|
virtual StatusCode | parseList (const std::string &line, std::vector< std::string > &result) const |
| Parse a string into a vector. More...
|
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. More...
|
|
virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
|
virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
virtual bool | filterPassed (const EventContext &ctx) const |
|
virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
|
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 | 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 |
|
|
ToolHandleArray< GenericMonitoringTool > | m_tools {this,"GMTools",{}} |
| Array of Generic Monitoring Tools. More...
|
|
PublicToolHandle< Trig::TrigDecisionTool > | m_trigDecTool {this, "TrigDecisionTool",""} |
| Tool to tell whether a specific trigger is passed. More...
|
|
ToolHandleArray< IDQFilterTool > | m_DQFilterTools {this,"FilterTools",{}} |
| Array of Data Quality filter tools. More...
|
|
SG::ReadCondHandleKey< LuminosityCondData > | m_lumiDataKey {this,"LuminosityCondDataKey","LuminosityCondData","SG Key of LuminosityCondData object"} |
|
SG::ReadCondHandleKey< LBDurationCondData > | m_lbDurationDataKey {this,"LBDurationCondDataKey","LBDurationCondData","SG Key of LBDurationCondData object"} |
|
SG::ReadCondHandleKey< TrigLiveFractionCondData > | m_trigLiveFractionDataKey {this,"TrigLiveFractionCondDataKey","TrigLiveFractionCondData", "SG Key of TrigLiveFractionCondData object"} |
|
AthMonitorAlgorithm::Environment_t | m_environment |
| Instance of the Environment_t enum. More...
|
|
AthMonitorAlgorithm::DataType_t | m_dataType |
| Instance of the DataType_t enum. More...
|
|
Gaudi::Property< std::string > | m_environmentStr {this,"Environment","user"} |
| Environment string pulled from the job option and converted to enum. More...
|
|
Gaudi::Property< std::string > | m_dataTypeStr {this,"DataType","userDefined"} |
| DataType string pulled from the job option and converted to enum. More...
|
|
Gaudi::Property< std::string > | m_triggerChainString {this,"TriggerChain",""} |
| Trigger chain string pulled from the job option and parsed into a vector. More...
|
|
std::vector< std::string > | m_vTrigChainNames |
| Vector of trigger chain names parsed from trigger chain string. More...
|
|
Gaudi::Property< std::string > | m_fileKey {this,"FileKey",""} |
| Internal Athena name for file. More...
|
|
Gaudi::Property< bool > | m_useLumi {this,"EnableLumi",false} |
| Allows use of various luminosity functions. More...
|
|
Gaudi::Property< float > | m_defaultLBDuration {this,"DefaultLBDuration",60.} |
| Default duration of one lumi block. More...
|
|
Gaudi::Property< int > | m_detailLevel {this,"DetailLevel",0} |
| Sets the level of detail used in the monitoring. More...
|
|
SG::ReadHandleKey< xAOD::EventInfo > | m_EventInfoKey {this,"EventInfoKey","EventInfo"} |
| Key for retrieving EventInfo from StoreGate. More...
|
|
|
PARTITION | getPartition (const HWIdentifier chid) const |
|
const char * | getPartitionName (const HWIdentifier chid) const |
|
diff_t | compareChannel (const LArRawChannel &rcDig, const LArRawChannel &rcBS) const |
|
void | detailedOutput (const LArRODMonAlg::diff_t &, const LArDigit &dig, const EventContext &ctx) const |
|
void | dumpCellInfo (const HWIdentifier chid, const int gain, const EventContext &ctx, const diff_t &comp) const |
| Dump a cell's information and calculated energies into a txt file. More...
|
|
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...
|
|
|
const LArOnlineID * | m_LArOnlineIDHelper =nullptr |
|
SG::ReadHandleKey< LArRawChannelContainer > | m_channelKey_fromBytestream {this,"LArRawChannelKey_fromBytestream","LArRawChannels","SG key of LArRawChannels produced by teh DSP"} |
|
SG::ReadHandleKey< LArRawChannelContainer > | m_channelKey_fromDigits {this,"LArRawChannelKey_fromDigits","LArRawChannels_FromDigits","SG key of LArRawChannels produced offline"} |
|
SG::ReadHandleKey< LArDigitContainer > | m_digitContainerKey {this,"LArDigitContainerKey","FREE","SG key of LArDigitContainer read from Bytestream"} |
|
SG::ReadHandleKey< LArFebHeaderContainer > | m_headerContainerKey {this,"LArFebHeaderKey","LArFebHeader","SG key of LArFebHeader"} |
|
SG::ReadCondHandleKey< ILArOFC > | m_keyOFC {this,"KeyOFC","LArOFC","SG key of LArOFC CDO"} |
|
SG::ReadCondHandleKey< ILArShape > | m_keyShape {this,"KeyShape","LArShape","SG key of LArShape CDO"} |
|
SG::ReadCondHandleKey< ILArHVScaleCorr > | m_keyHVScaleCorr {this,"KeyHVScaleCorr","LArHVScaleCorr","SG key of LArHVScaleCorr CDO"} |
|
SG::ReadCondHandleKey< ILArPedestal > | m_keyPedestal {this,"LArPedestalKey","LArPedestal","SG key of LArPedestal CDO"} |
|
SG::ReadCondHandleKey< LArADC2MeV > | m_adc2mevKey {this,"LArADC2MeVKey","LArADC2MeV","SG Key of the LArADC2MeV CDO"} |
|
LArBadChannelMask | m_bcMask |
|
SG::ReadCondHandleKey< LArBadChannelCont > | m_bcContKey {this, "BadChanKey", "LArBadChannel", "SG key for LArBadChan object"} |
|
Gaudi::Property< std::vector< std::string > > | m_problemsToMask {this,"ProblemsToMask",{}, "Bad-Channel categories to mask"} |
|
SG::ReadCondHandleKey< CaloNoise > | m_noiseCDOKey {this,"CaloNoiseKey","totalNoise","SG Key of CaloNoise data object"} |
|
SG::ReadCondHandleKey< LArOnOffIdMapping > | m_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping CDO"} |
|
SG::ReadDecorHandleKey< xAOD::EventInfo > | m_eventInfoKey {this, "LArStatusFlag", "EventInfo.larFlags", "Key for EventInfo object"} |
|
Gaudi::Property< std::string > | m_MonGroupName {this, "MonGroup", "RODMon"} |
|
Gaudi::Property< std::vector< std::string > > | m_SubDetNames {this, "LArRODSubDetNames", {} } |
|
Gaudi::Property< std::vector< std::string > > | m_partitions {this, "LArRODPartitionNames", {} } |
|
Gaudi::Property< std::vector< int > > | m_Nslots {this, "LArRODNslots", {} } |
|
Gaudi::Property< std::string > | m_DigitsFileName {this, "DigitsFileName","digits.txt","Digits dump output filename"} |
|
Gaudi::Property< std::string > | m_EnergyFileName {this,"EnergyFileName","energy.txt"," Energies dump output filename"} |
|
Gaudi::Property< std::string > | m_AiFileName {this,"AiFileName","Calib_ai.dat","dump output filename"} |
|
Gaudi::Property< std::string > | m_DumpCellsFileName {this,"DumpCellsFileName","dumpCells.txt","Cells dump output filename"} |
|
Gaudi::Property< bool > | m_doDspTestDump {this, "DoDspTestDump", false, "dsp dump switch"} |
|
Gaudi::Property< bool > | m_doCellsDump {this, "DoCellsDump", false, "cell dump switch"} |
|
Gaudi::Property< bool > | m_doCheckSum {this, "DoCheckSum", true, "checksum test switch"} |
|
Gaudi::Property< bool > | m_doRodStatus {this, "DoRodStatus", true, "ROD status test switch"} |
|
Gaudi::Property< bool > | m_printEnergyErrors {this, "PrintEnergyErrors", true, "energy errors printing"} |
|
Gaudi::Property< bool > | m_removeNoiseBursts {this, "RemoveNoiseBursts", true, "removing events with noise bursts"} |
|
Gaudi::Property< bool > | m_skipKnownProblematicChannels {this, "SkipKnownProblematicChannels", false, "skipping known problems?"} |
|
Gaudi::Property< bool > | m_skipNullPed {this, "SkipNullPed", false, "skipping no pedestal channels ?"} |
|
Gaudi::Property< bool > | m_skipNullQT {this, "SkipNullQT", false, "skipping no quality channe4ls ?"} |
|
Gaudi::Property< float > | m_timeOffset {this, "TimeOffset", 0.} |
|
Gaudi::Property< short > | m_adc_th {this, "ADCthreshold", 50, "Minimal number of ADC amplitude among samples required to compare online/offline"} |
|
Gaudi::Property< float > | m_peakTime_cut {this, "peakTimeCut", 5., "Cut on abs(peak time) to compare online/offline (all quantities)"} |
|
Gaudi::Property< std::vector< std::pair< int, int > > > | m_E_precision |
|
Gaudi::Property< std::vector< std::pair< int, int > > > | m_T_precision |
|
Gaudi::Property< std::vector< std::pair< int, int > > > | m_Q_precision |
|
const float | m_BC =25000 |
|
std::map< std::string, int > | m_histoGroups |
|
Gaudi::Property< std::vector< std::string > > | m_streams {this, "Streams", {} } |
|
Gaudi::Property< unsigned > | m_max_dump {this, "MaxEvDump", 0, "max number of channels for detailed log-output"} |
|
std::atomic< unsigned > | m_ndump {0} |
|
std::ofstream m_fai | ATLAS_THREAD_SAFE |
|
std::ofstream m_fdig | ATLAS_THREAD_SAFE |
|
std::ofstream m_fen | ATLAS_THREAD_SAFE |
|
std::ofstream m_fdump | ATLAS_THREAD_SAFE |
|
std::string | m_name |
|
std::unordered_map< std::string, size_t > | m_toolLookupMap |
|
const ToolHandle< GenericMonitoringTool > | m_dummy |
|
Gaudi::Property< bool > | m_enforceExpressTriggers |
|
DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
|
|
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 |
|
Definition at line 32 of file LArRODMonAlg.h.
◆ MonVarVec_t
◆ StoreGateSvc_t
◆ DataType_t
Specifies what type of input data is being monitored.
An enumeration of the different types of data the monitoring application may be running over. This can be used to select which histograms to produce, e.g. to prevent the production of colliding-beam histograms when running on cosmic-ray data. Strings of the same names may be given as jobOptions.
Enumerator |
---|
userDefined | |
monteCarlo | |
collisions | |
cosmics | |
heavyIonCollisions | |
Definition at line 191 of file AthMonitorAlgorithm.h.
◆ Environment_t
Specifies the processing environment.
The running environment may be used to select which histograms are produced, and where they are located in the output. For example, the output paths of the histograms are different for the "user", "online" and the various offline flags. Strings of the same names may be given as jobOptions.
Enumerator |
---|
user | |
online | |
tier0 | |
tier0Raw | |
tier0ESD | |
AOD | |
altprod | |
Definition at line 172 of file AthMonitorAlgorithm.h.
◆ PARTITION
Enumerator |
---|
EMBC | |
EMBA | |
EMECC | |
EMECA | |
HECC | |
HECA | |
FCALC | |
FCALA | |
N_PARTITIONS | |
Definition at line 52 of file LArRODMonAlg.h.
◆ ~LArRODMonAlg()
LArRODMonAlg::~LArRODMonAlg |
( |
| ) |
|
|
virtual |
◆ AthMonitorAlgorithm()
AthMonitorAlgorithm::AthMonitorAlgorithm |
◆ cardinality()
unsigned int AthReentrantAlgorithm::cardinality |
( |
| ) |
const |
|
overridevirtualinherited |
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Override this to return 0 for reentrant algorithms.
Definition at line 55 of file AthReentrantAlgorithm.cxx.
◆ compareChannel()
Definition at line 374 of file LArRODMonAlg.cxx.
382 const float& en_fB=rcBS.
energy();
383 const float& en_fD=rcDig.
energy();
396 auto pairValueCmp = [](
const int&
a,
const std::pair<int,int>&
b){
return a<
b.first;};
409 if (std::abs(en_fD-en_fB) > e_Precision->second) {
417 const float q_fB=rcBS.
quality();
418 const float q_fD=rcDig.
quality();
419 const float t_fB=rcBS.
time();
421 if ((rcDig.
provenance() & 0x2000) == 0 || q_fD==0 || t_fB==0 || q_fB==0 || timeOffline==0) {
427 ATH_MSG_VERBOSE(
"Skip time/Quality comparison, not computed either online or offline");
439 if (fabs(DiffT) > t_Precision->second) {
448 float qdiff = 65535.0;
449 if (q_fD > 0.) qdiff = (q_fD - q_fB)/std::sqrt(q_fD);
460 if (fabs(DiffQ) > q_Precision->second) {
◆ dataType()
DataType_t AthMonitorAlgorithm::dataType |
( |
| ) |
const |
|
inlineinherited |
Accessor functions for the data type.
- Returns
- the current value of the class's DataType_t instance.
Definition at line 221 of file AthMonitorAlgorithm.h.
◆ dataTypeStringToEnum()
Convert the data type string from the python configuration to an enum object.
- Returns
- a value in the DataType_t enumeration which matches the input string.
Definition at line 140 of file AthMonitorAlgorithm.cxx.
142 std::string lowerCaseStr =
str;
146 if( lowerCaseStr ==
"userdefined" ) {
148 }
else if( lowerCaseStr ==
"montecarlo" ) {
150 }
else if( lowerCaseStr ==
"collisions" ) {
152 }
else if( lowerCaseStr ==
"cosmics" ) {
154 }
else if( lowerCaseStr ==
"heavyioncollisions" ) {
157 ATH_MSG_WARNING(
"AthMonitorAlgorithm::dataTypeStringToEnum(): Unknown data type "
158 <<
str<<
", returning userDefined.");
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detailedOutput()
Definition at line 469 of file LArRODMonAlg.cxx.
498 const auto& polynom_adc2mev=adc2mev->
ADC2MEV(chid,
gain);
499 const float escale = (polynom_adc2mev)[1];
500 float ramp0 = (polynom_adc2mev)[0];
504 const float hvscale = hvScaleCorrs->
HVScaleCorr(chid);
507 const std::vector<short>& samples=dig.
samples();
508 if (
gain == 0) ramp0 = 0.;
515 <<
", run " << ctx.eventID().run_number() <<
", evt " << ctx.eventID().event_number());
516 if (
cmp.e_on!=
cmp.e_off) {
519 <<
" , Eoff - Eonl = " <<
cmp.e_off-
cmp.e_on);
524 if(
cmp.t_off!=
cmp.t_on ) {
527 <<
" , Toff - Tonl = " <<
cmp.t_off -
cmp.t_on);
529 if (
cmp.q_off!=
cmp.q_on) {
532 <<
" (Qoff - Qnl)/sqrt(Qoff) = " << (
cmp.q_off -
cmp.q_on)/std::sqrt(
cmp.q_off));
557 ATH_MSG_INFO(
"Escale: "<<escale<<
" intercept: "<<ramp0<<
" pedestal: "<<
ped<<
" gain: "<<dig.
gain() );
563 const unsigned nOFCSamp=
std::min(samples.size(),OFCa.size());
564 for (
unsigned k=0;
k<nOFCSamp; ++
k) emon += (samples.at(
k)-
ped)*OFCa.at(
k);
567 ATH_MSG_INFO(
"intercept + Escale*Sum[(sample-ped)*OFCa] "<<emon);
572 for (
const float a : OFCa) {sumai +=
a;}
573 float pedplusoffset=0;
574 if (escale*sumai != 0) pedplusoffset =
ped - ramp0/(escale*sumai);
575 else pedplusoffset = 0;
576 const float inv_Escale = 1. / escale;
578 m_fai <<
channel<<
"\t"<<
ped<<
"\t"<< pedplusoffset<<
"\t"
579 << OFCa[0]*escale<<
"\t"<< OFCa[1]*escale<<
"\t"<< OFCa[2]*escale<<
"\t"<< OFCa[3]*escale<<
"\t"<< OFCa[4]*escale<<
"\t"
580 << OFCb[0]*escale<<
"\t"<< OFCb[1]*escale<<
"\t"<< OFCb[2]*escale<<
"\t"<< OFCb[3]*escale<<
"\t"<< OFCb[4]*escale<<
"\t"
581 << shape[0]*inv_Escale<<
"\t"<< shape[1]*inv_Escale<<
"\t"<< shape[2]*inv_Escale<<
"\t"<< shape[3]*inv_Escale<<
"\t"<< shape[4]*inv_Escale<<
"\t"
582 << shapeDer[0]*inv_Escale<<
"\t"<< shapeDer[1]*inv_Escale<<
"\t"<< shapeDer[2]*inv_Escale<<
"\t"<< shape[3]*inv_Escale<<
"\t"<< shapeDer[4]*inv_Escale << std::endl;
590 for (
const short d : samples) {
◆ detStore()
◆ dumpCellInfo()
Dump a cell's information and calculated energies into a txt file.
Definition at line 598 of file LArRODMonAlg.cxx.
612 <<std::dec << std::setw(3) << std::right << slot << std::setw(3) << std::right <<
FT << std::setw(3) << std::right << barrel_ec << std::setw(3) << std::right<< posneg << std::setw(6) << std::right <<
getPartitionName(chid)
613 <<
" " <<
gain <<
" " <<
" " <<
cmp.e_off <<
" "<<
cmp.e_on <<
" "<<
cmp.t_off <<
" "<<
cmp.t_on <<
" "<<
cmp.q_off <<
" "<<
cmp.q_on <<ctx.eventID().event_number()<<std::endl;
◆ environment()
Accessor functions for the environment.
- Returns
- the current value of the class's Environment_t instance.
Definition at line 205 of file AthMonitorAlgorithm.h.
◆ envStringToEnum()
Convert the environment string from the python configuration to an enum object.
- Returns
- a value in the Environment_t enumeration which matches the input string.
Definition at line 112 of file AthMonitorAlgorithm.cxx.
114 std::string lowerCaseStr =
str;
118 if( lowerCaseStr ==
"user" ) {
120 }
else if( lowerCaseStr ==
"online" ) {
122 }
else if( lowerCaseStr ==
"tier0" ) {
124 }
else if( lowerCaseStr ==
"tier0raw" ) {
126 }
else if( lowerCaseStr ==
"tier0esd" ) {
128 }
else if( lowerCaseStr ==
"aod" ) {
130 }
else if( lowerCaseStr ==
"altprod" ) {
133 ATH_MSG_WARNING(
"AthMonitorAlgorithm::envStringToEnum(): Unknown environment "
134 <<
str<<
", returning user.");
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode AthMonitorAlgorithm::execute |
( |
const EventContext & |
ctx | ) |
const |
|
overridevirtualinherited |
Applies filters and trigger requirements.
Then, calls fillHistograms().
- Parameters
-
ctx | event context for reentrant Athena call |
- Returns
- StatusCode
Definition at line 73 of file AthMonitorAlgorithm.cxx.
78 if (!filterItr->accept()) {
80 return StatusCode::SUCCESS;
87 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
const DataObjIDColl & AthReentrantAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 79 of file AthReentrantAlgorithm.cxx.
86 return Algorithm::extraOutputDeps();
◆ fillHistograms()
StatusCode LArRODMonAlg::fillHistograms |
( |
const EventContext & |
ctx | ) |
const |
|
finaloverridevirtual |
adds event to the monitoring histograms
User will overwrite this function. Histogram booking is no longer done in C++. This function is called in execute once the filters are all passed.
- Parameters
-
ctx | forwarded from execute |
- Returns
- StatusCode
Implements AthMonitorAlgorithm.
Definition at line 112 of file LArRODMonAlg.cxx.
137 bool isEventFlaggedByLArNoisyROAlg =
false;
138 bool isEventFlaggedByLArNoisyROAlgInTimeW =
false;
141 isEventFlaggedByLArNoisyROAlg =
true;
146 isEventFlaggedByLArNoisyROAlgInTimeW =
true;
147 ATH_MSG_DEBUG(
" !!! Noisy event found by LArNoisyROAlg in Time window of 500ms!!!" );
151 if (
m_removeNoiseBursts && (isEventFlaggedByLArNoisyROAlg || isEventFlaggedByLArNoisyROAlgInTimeW))
return StatusCode::SUCCESS;
157 lb = thisEventInfo->lumiBlock();
160 const int streamsize = nStreams + 1;
161 std::vector<int> hasStream(streamsize,0);
164 bool hasstrlist =
false;
165 const std::vector< xAOD::EventInfo::StreamTag >& evtStreamTags=thisEventInfo->streamTags();
166 for (
const auto& evtStreamTag : evtStreamTags) {
170 ATH_MSG_VERBOSE(
"Keeping Stream Tag: " << evtStreamTag.type() <<
"_" << evtStreamTag.name());
175 if (! hasstrlist) hasStream[nStreams] = 1;
184 std::set<HWIdentifier> ignoreFEBs;
191 for (
const auto* febH : *febCont) {
192 if (((
m_doCheckSum && febH->ChecksumVerification()==
false)) ||
194 ignoreFEBs.insert(febH->FEBId());
197 ATH_MSG_DEBUG(
"Found " << ignoreFEBs.size() <<
" FEBs with checksum errors or statatus errors. Will ignore these FEBs.");
203 std::vector<unsigned> errsPerFEB;
206 const bool ignoreFebs=(ignoreFEBs.size()>0);
207 std::set<HWIdentifier>::const_iterator ignoreFebsEnd=ignoreFEBs.end();
216 LArRawChannelContainer::const_iterator rcDigIt=rawColl_fromDigits->begin();
217 LArRawChannelContainer::const_iterator rcDigIt_e=rawColl_fromDigits->end();
218 LArRawChannelContainer::const_iterator rcBSIt=rawColl_fromBytestream->begin();
219 LArRawChannelContainer::const_iterator rcBSIt_e=rawColl_fromBytestream->end();
228 for (;rcDigIt!=rcDigIt_e;++rcDigIt) {
233 if (ignoreFEBs.find(febId)!=ignoreFebsEnd)
continue;
246 LArRawChannelContainer::const_iterator currIt=rcBSIt;
247 for (;rcBSIt!=rcBSIt_e && rcBSIt->hardwareID() != idDig; ++rcBSIt);
248 if (rcBSIt==rcBSIt_e) {
249 ATH_MSG_WARNING(
"LArDigitContainer not in the expected order. Change of LArByteStream format?" );
251 for (rcBSIt=rawColl_fromBytestream->begin();rcBSIt!=currIt && rcBSIt->hardwareID() != idDig; ++rcBSIt);
252 if (rcBSIt==currIt) {
254 return StatusCode::FAILURE;
262 for (;digIt!=digIt_e && (*digIt)->hardwareID() != idDig; ++digIt);
263 if (digIt==digIt_e) {
264 ATH_MSG_WARNING(
"LArRawChannelContainer not in the expected order. Change of LArRawChannelBuilder behavior?" );
266 for (digIt=pLArDigitContainer->begin();digIt!=currDigIt && (*digIt)->hardwareID() != idDig; ++digIt);
267 if (digIt==currDigIt) {
269 return StatusCode::FAILURE;
273 const std::vector<short>& samples=dig->
samples();
274 const auto [minSamplesIt, maxSamplesIt] = std::minmax_element(samples.begin(),samples.end());
277 if (compRes.e_on!=compRes.e_off || compRes.t_on!=compRes.t_off || compRes.q_on!=compRes.q_off) {
288 if (compRes.e_on!=compRes.e_off) {
289 ++(errcounters[
p].errors_E[
gain]);
290 ++(allEC.errors_E[
gain]);
293 ++(errsPerFEB[febHash]);
295 if (compRes.t_on!=compRes.t_off) {
296 ++(errcounters[
p].errors_T[
gain]);
297 ++(allEC.errors_T[
gain]);
300 if (compRes.q_on!=compRes.q_off) {
301 ++(errcounters[
p].errors_Q[
gain]);
302 ++(allEC.errors_Q[
gain]);
307 ATH_MSG_DEBUG(
"Samples : "<< *maxSamplesIt <<
" " << *minSamplesIt );
316 sweetc = errsPerFEB[
i];
335 unsigned allErrsPartE=0;
336 unsigned allErrsPartT=0;
337 unsigned allErrsPartQ=0;
339 for (
unsigned g=0;
g<3;++
g) {
341 weight_e = (
float)errcounters[
p].errors_E[
g];
342 weight_q = (
float)errcounters[
p].errors_Q[
g];
346 allErrsPartE+=errcounters[
p].errors_E[
g];
347 allErrsPartT+=errcounters[
p].errors_T[
g];
348 allErrsPartQ+=errcounters[
p].errors_Q[
g];
351 numE = (
float)allErrsPartE;
352 numT = (
float)allErrsPartT;
353 numQ = (
float)allErrsPartQ;
369 return StatusCode::SUCCESS;
◆ filterPassed()
virtual bool AthReentrantAlgorithm::filterPassed |
( |
const EventContext & |
ctx | ) |
const |
|
inlinevirtualinherited |
◆ finalize()
StatusCode LArRODMonAlg::finalize |
( |
| ) |
|
|
finaloverridevirtual |
◆ GetEventInfo()
Return a ReadHandle for an EventInfo object (get run/event numbers, etc.)
- Parameters
-
ctx | EventContext for the event |
- Returns
- a SG::ReadHandle<xAOD::EventInfo>
Definition at line 107 of file AthMonitorAlgorithm.cxx.
◆ getGroup()
Get a specific monitoring tool from the tool handle array.
Finds a specific GenericMonitoringTool instance from the list of monitoring tools (a ToolHandleArray). Throws a FATAL warning if the object found is empty.
- Parameters
-
name | string name of the desired tool |
- Returns
- reference to the desired monitoring tool
Definition at line 164 of file AthMonitorAlgorithm.cxx.
171 if (!isInitialized()) {
173 "It seems that the AthMonitorAlgorithm::initialize was not called "
174 "in derived class initialize method");
178 [](
const std::string&
s,
auto h) { return s +
"," + h.first; });
179 ATH_MSG_FATAL(
"The tool " <<
name <<
" could not be found in the tool array of the "
180 <<
"monitoring algorithm " <<
m_name <<
". This probably reflects a discrepancy between "
181 <<
"your python configuration and c++ filling code. Note: your available groups are {"
182 << available <<
"}.");
◆ getPartition()
◆ getPartitionName()
◆ getTrigDecisionTool()
Get the trigger decision tool member.
The trigger decision tool is used to check whether a specific trigger is passed by an event.
- Returns
- m_trigDecTool
Definition at line 189 of file AthMonitorAlgorithm.cxx.
◆ initialize()
StatusCode LArRODMonAlg::initialize |
( |
| ) |
|
|
finaloverridevirtual |
initialize
- Returns
- StatusCode
Reimplemented from AthMonitorAlgorithm.
Definition at line 35 of file LArRODMonAlg.cxx.
64 ATH_MSG_ERROR(
"Property 'DoDspTestDump' must not be true if nThreads>1");
65 return StatusCode::FAILURE;
68 ATH_MSG_ERROR(
"Property 'DoCellsDump' must not be true if nThreads>1");
69 return StatusCode::FAILURE;
74 auto pairCmp = [](
const std::pair<int,int>&
p1,
const std::pair<int,int>&
p2) {
return (
p1.first<
p2.first);};
76 ATH_MSG_ERROR(
"Configuration problem: Energy ranges not in ascending order!");
77 return StatusCode::FAILURE;
81 ATH_MSG_ERROR(
"Configuration problem: Time ranges not in ascending order!");
82 return StatusCode::FAILURE;
86 ATH_MSG_ERROR(
"Configuration problem: Quality ranges not in ascending order!");
87 return StatusCode::FAILURE;
101 m_fdump<<
"febid channel CellID slot FT barrel_ec posneg partition E_off E_on T_off T_on Q_off Q_on event "<<std::endl;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ isClonable()
bool AthReentrantAlgorithm::isClonable |
( |
| ) |
const |
|
overridevirtualinherited |
Specify if the algorithm is clonable.
Reentrant algorithms are clonable.
Reimplemented in Simulation::BeamEffectsAlg, InDet::SiTrackerSpacePointFinder, InDet::SCT_Clusterization, InDet::SiSPSeededTrackFinder, SCTRawDataProvider, InDet::GNNSeedingTrackMaker, SCT_PrepDataToxAOD, RoIBResultToxAOD, SCT_CablingCondAlgFromCoraCool, SCT_ReadCalibDataTestAlg, SCT_CablingCondAlgFromText, InDet::SiSPGNNTrackMaker, SCT_ReadCalibChipDataTestAlg, SCT_TestCablingAlg, SCT_ConfigurationConditionsTestAlg, ITkPixelCablingAlg, ITkStripCablingAlg, SCTEventFlagWriter, SCT_ConditionsSummaryTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_TdaqEnabledTestAlg, SCT_SiliconConditionsTestAlg, SCTSiLorentzAngleTestAlg, SCT_ByteStreamErrorsTestAlg, SCT_ConditionsParameterTestAlg, SCT_FlaggedConditionTestAlg, SCT_StripVetoTestAlg, SCT_RawDataToxAOD, and SCTSiPropertiesTestAlg.
Definition at line 44 of file AthReentrantAlgorithm.cxx.
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ parseList()
StatusCode AthMonitorAlgorithm::parseList |
( |
const std::string & |
line, |
|
|
std::vector< std::string > & |
result |
|
) |
| const |
|
virtualinherited |
Parse a string into a vector.
The input string is a single long string of all of the trigger names. It parses this string and turns it into a vector, where each element is one trigger or trigger category.
- Parameters
-
line | The input string. |
result | The parsed output vector of strings. |
- Returns
- StatusCode
Definition at line 336 of file AthMonitorAlgorithm.cxx.
338 std::stringstream
ss(
line);
342 while ( std::getline(
ss,
item,
',') ) {
343 std::stringstream iss(
item);
348 return StatusCode::SUCCESS;
◆ renounce()
◆ renounceArray()
◆ setFilterPassed()
virtual void AthReentrantAlgorithm::setFilterPassed |
( |
bool |
state, |
|
|
const EventContext & |
ctx |
|
) |
| const |
|
inlinevirtualinherited |
◆ sysExecute()
StatusCode AthReentrantAlgorithm::sysExecute |
( |
const EventContext & |
ctx | ) |
|
|
overridevirtualinherited |
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 67 of file AthReentrantAlgorithm.cxx.
69 return Gaudi::Algorithm::sysExecute (ctx);
◆ sysInitialize()
StatusCode AthReentrantAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in InputMakerBase, and HypoBase.
Definition at line 96 of file AthReentrantAlgorithm.cxx.
107 if ( cs.retrieve().isFailure() ) {
109 return StatusCode::SUCCESS;
111 if (cs->regHandle(
this,*
h).isFailure()) {
112 sc = StatusCode::FAILURE;
113 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ trigChainsArePassed()
bool AthMonitorAlgorithm::trigChainsArePassed |
( |
const std::vector< std::string > & |
vTrigNames | ) |
const |
|
inherited |
Check whether triggers are passed.
For the event, use the trigger decision tool to check that at least one of the triggers listed in the supplied vector is passed.
- Parameters
-
vTrigNames | List of trigger names. |
- Returns
- If empty input, default to true. If at least one trigger is specified, returns whether at least one trigger was passed.
Definition at line 194 of file AthMonitorAlgorithm.cxx.
198 if (vTrigNames.empty())
return true;
210 bool expressPass = passedBits & TrigDefs::Express_passed;
217 return group->isPassed();
◆ updateVHKA()
◆ aff_acc
◆ ATLAS_THREAD_SAFE [1/4]
std::ofstream m_fai LArRODMonAlg::ATLAS_THREAD_SAFE |
|
mutableprivate |
◆ ATLAS_THREAD_SAFE [2/4]
std::ofstream m_fdig LArRODMonAlg::ATLAS_THREAD_SAFE |
|
mutableprivate |
◆ ATLAS_THREAD_SAFE [3/4]
std::ofstream m_fen LArRODMonAlg::ATLAS_THREAD_SAFE |
|
mutableprivate |
◆ ATLAS_THREAD_SAFE [4/4]
std::ofstream m_fdump LArRODMonAlg::ATLAS_THREAD_SAFE |
|
mutableprivate |
◆ cfg
LArRODMonAlg.cfg = CaloRecoCfg(flags) |
◆ enableLumiAccess
LArRODMonAlg.enableLumiAccess |
LArRODMonAlg.f = open("LArRODMon.pkl","wb") |
◆ Files
◆ flags
LArRODMonAlg.flags = initConfigFlags() |
◆ HISTFileName
LArRODMonAlg.HISTFileName |
◆ m_adc2mevKey
◆ m_adc_th
Gaudi::Property<short> LArRODMonAlg::m_adc_th {this, "ADCthreshold", 50, "Minimal number of ADC amplitude among samples required to compare online/offline"} |
|
private |
◆ m_AiFileName
Gaudi::Property<std::string> LArRODMonAlg::m_AiFileName {this,"AiFileName","Calib_ai.dat","dump output filename"} |
|
private |
◆ m_BC
const float LArRODMonAlg::m_BC =25000 |
|
private |
◆ m_bcContKey
◆ m_bcMask
◆ m_cablingKey
◆ m_channelKey_fromBytestream
◆ m_channelKey_fromDigits
◆ m_dataType
◆ m_dataTypeStr
Gaudi::Property<std::string> AthMonitorAlgorithm::m_dataTypeStr {this,"DataType","userDefined"} |
|
protectedinherited |
◆ m_defaultLBDuration
Gaudi::Property<float> AthMonitorAlgorithm::m_defaultLBDuration {this,"DefaultLBDuration",60.} |
|
protectedinherited |
◆ m_detailLevel
Gaudi::Property<int> AthMonitorAlgorithm::m_detailLevel {this,"DetailLevel",0} |
|
protectedinherited |
◆ m_detStore
◆ m_digitContainerKey
◆ m_DigitsFileName
Gaudi::Property<std::string> LArRODMonAlg::m_DigitsFileName {this, "DigitsFileName","digits.txt","Digits dump output filename"} |
|
private |
◆ m_doCellsDump
Gaudi::Property<bool> LArRODMonAlg::m_doCellsDump {this, "DoCellsDump", false, "cell dump switch"} |
|
private |
◆ m_doCheckSum
Gaudi::Property<bool> LArRODMonAlg::m_doCheckSum {this, "DoCheckSum", true, "checksum test switch"} |
|
private |
◆ m_doDspTestDump
Gaudi::Property<bool> LArRODMonAlg::m_doDspTestDump {this, "DoDspTestDump", false, "dsp dump switch"} |
|
private |
◆ m_doRodStatus
Gaudi::Property<bool> LArRODMonAlg::m_doRodStatus {this, "DoRodStatus", true, "ROD status test switch"} |
|
private |
◆ m_DQFilterTools
ToolHandleArray<IDQFilterTool> AthMonitorAlgorithm::m_DQFilterTools {this,"FilterTools",{}} |
|
protectedinherited |
◆ m_dummy
◆ m_DumpCellsFileName
Gaudi::Property<std::string> LArRODMonAlg::m_DumpCellsFileName {this,"DumpCellsFileName","dumpCells.txt","Cells dump output filename"} |
|
private |
◆ m_E_precision
Gaudi::Property<std::vector<std::pair<int, int> > > LArRODMonAlg::m_E_precision |
|
private |
Initial value:{this,"EnergyPrecisionRanges",
{{8192,2},{65536,9},{524288,65},{4194304,513},{
std::numeric_limits<int>::max(),8193}},
"Energy precision ranges vector<pair<upperLimit,ExpectedPrecision>"}
Definition at line 157 of file LArRODMonAlg.h.
◆ m_EnergyFileName
Gaudi::Property<std::string> LArRODMonAlg::m_EnergyFileName {this,"EnergyFileName","energy.txt"," Energies dump output filename"} |
|
private |
◆ m_enforceExpressTriggers
Gaudi::Property<bool> AthMonitorAlgorithm::m_enforceExpressTriggers |
|
privateinherited |
Initial value:{this,
"EnforceExpressTriggers", false,
"Requires that matched triggers made the event enter the express stream"}
Definition at line 372 of file AthMonitorAlgorithm.h.
◆ m_environment
◆ m_environmentStr
Gaudi::Property<std::string> AthMonitorAlgorithm::m_environmentStr {this,"Environment","user"} |
|
protectedinherited |
Environment string pulled from the job option and converted to enum.
Definition at line 352 of file AthMonitorAlgorithm.h.
◆ m_eventInfoKey
◆ m_EventInfoKey
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthReentrantAlgorithm::m_extendedExtraObjects |
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 153 of file AthReentrantAlgorithm.h.
◆ m_fileKey
Gaudi::Property<std::string> AthMonitorAlgorithm::m_fileKey {this,"FileKey",""} |
|
protectedinherited |
◆ m_headerContainerKey
◆ m_histoGroups
std::map<std::string,int> LArRODMonAlg::m_histoGroups |
|
private |
◆ m_keyHVScaleCorr
◆ m_keyOFC
◆ m_keyPedestal
◆ m_keyShape
◆ m_LArOnlineIDHelper
◆ m_lbDurationDataKey
◆ m_lumiDataKey
◆ m_max_dump
Gaudi::Property<unsigned> LArRODMonAlg::m_max_dump {this, "MaxEvDump", 0, "max number of channels for detailed log-output"} |
|
private |
◆ m_MonGroupName
Gaudi::Property<std::string> LArRODMonAlg::m_MonGroupName {this, "MonGroup", "RODMon"} |
|
private |
◆ m_name
std::string AthMonitorAlgorithm::m_name |
|
privateinherited |
◆ m_ndump
std::atomic<unsigned> LArRODMonAlg::m_ndump {0} |
|
mutableprivate |
◆ m_noiseCDOKey
◆ m_Nslots
Gaudi::Property<std::vector<int> > LArRODMonAlg::m_Nslots {this, "LArRODNslots", {} } |
|
private |
◆ m_partitions
Gaudi::Property<std::vector<std::string> > LArRODMonAlg::m_partitions {this, "LArRODPartitionNames", {} } |
|
private |
◆ m_PARTNAMES
constexpr auto LArRODMonAlg::m_PARTNAMES =std::to_array<const char*>({"EMBC","EMBA","EMECC","EMECA","HECC","HECA","FCalC","FCalA","UNKNOWN"}) |
|
staticconstexprprivate |
◆ m_peakTime_cut
Gaudi::Property<float> LArRODMonAlg::m_peakTime_cut {this, "peakTimeCut", 5., "Cut on abs(peak time) to compare online/offline (all quantities)"} |
|
private |
◆ m_printEnergyErrors
Gaudi::Property<bool> LArRODMonAlg::m_printEnergyErrors {this, "PrintEnergyErrors", true, "energy errors printing"} |
|
private |
◆ m_problemsToMask
Gaudi::Property<std::vector<std::string> > LArRODMonAlg::m_problemsToMask {this,"ProblemsToMask",{}, "Bad-Channel categories to mask"} |
|
private |
◆ m_Q_precision
Gaudi::Property<std::vector<std::pair<int, int> > > LArRODMonAlg::m_Q_precision |
|
private |
Initial value:{this,"QualityPrecisionRanges",
"Quality precision ranges as vector<pair<upperLImit,ExpectedPrecision"}
Definition at line 163 of file LArRODMonAlg.h.
◆ m_removeNoiseBursts
Gaudi::Property<bool> LArRODMonAlg::m_removeNoiseBursts {this, "RemoveNoiseBursts", true, "removing events with noise bursts"} |
|
private |
◆ m_skipKnownProblematicChannels
Gaudi::Property<bool> LArRODMonAlg::m_skipKnownProblematicChannels {this, "SkipKnownProblematicChannels", false, "skipping known problems?"} |
|
private |
◆ m_skipNullPed
Gaudi::Property<bool> LArRODMonAlg::m_skipNullPed {this, "SkipNullPed", false, "skipping no pedestal channels ?"} |
|
private |
◆ m_skipNullQT
Gaudi::Property<bool> LArRODMonAlg::m_skipNullQT {this, "SkipNullQT", false, "skipping no quality channe4ls ?"} |
|
private |
◆ m_streams
Gaudi::Property<std::vector<std::string> > LArRODMonAlg::m_streams {this, "Streams", {} } |
|
private |
◆ m_SubDetNames
Gaudi::Property<std::vector<std::string> > LArRODMonAlg::m_SubDetNames {this, "LArRODSubDetNames", {} } |
|
private |
◆ m_T_precision
Gaudi::Property<std::vector<std::pair<int, int> > > LArRODMonAlg::m_T_precision |
|
private |
Initial value:{this,"TimePrecisionRanges",
{{1000,340},{5000,340},{25000,340},{50000,340},{
std::numeric_limits<int>::max(),340}},
"Time precision ranges as vector<pair<upperLImit,ExpectedPrecision"}
Definition at line 160 of file LArRODMonAlg.h.
◆ m_timeOffset
Gaudi::Property<float> LArRODMonAlg::m_timeOffset {this, "TimeOffset", 0.} |
|
private |
◆ m_toolLookupMap
std::unordered_map<std::string, size_t> AthMonitorAlgorithm::m_toolLookupMap |
|
privateinherited |
◆ m_tools
◆ m_trigDecTool
◆ m_triggerChainString
Gaudi::Property<std::string> AthMonitorAlgorithm::m_triggerChainString {this,"TriggerChain",""} |
|
protectedinherited |
Trigger chain string pulled from the job option and parsed into a vector.
Definition at line 355 of file AthMonitorAlgorithm.h.
◆ m_trigLiveFractionDataKey
◆ m_useLumi
Gaudi::Property<bool> AthMonitorAlgorithm::m_useLumi {this,"EnableLumi",false} |
|
protectedinherited |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_vTrigChainNames
std::vector<std::string> AthMonitorAlgorithm::m_vTrigChainNames |
|
protectedinherited |
◆ useTrigger
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
virtual float pedestal(const HWIdentifier &id, int gain) const =0
SG::ReadCondHandleKey< LArADC2MeV > m_adc2mevKey
const LArVectorProxy ADC2MEV(const HWIdentifier &id, int gain) const
Const iterator class for DataVector/DataList.
Gaudi::Property< std::vector< std::pair< int, int > > > m_E_precision
Gaudi::Property< std::vector< std::pair< int, int > > > m_Q_precision
size_type febHashMax(void) const
define feb hash tables max size
LArBadChannelMask m_bcMask
HWIdentifier channelID() const
Gaudi::Property< bool > m_doCellsDump
PublicToolHandle< Trig::TrigDecisionTool > m_trigDecTool
Tool to tell whether a specific trigger is passed.
std::string find(const std::string &s)
return a remapped string
SG::ReadCondHandleKey< ILArPedestal > m_keyPedestal
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
bool accumulate(AccumulateMap &map, std::vector< module_t > const &modules, FPGATrackSimMatrixAccumulator const &acc)
Accumulates an accumulator (e.g.
Gaudi::Property< std::string > m_EnergyFileName
std::vector< std::string > m_vTrigChainNames
Vector of trigger chain names parsed from trigger chain string.
Gaudi::Property< std::string > m_AiFileName
virtual OFCRef_t OFC_b(const HWIdentifier &id, int gain, int tbin=0) const =0
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)
SG::ReadHandleKey< xAOD::EventInfo > m_EventInfoKey
Key for retrieving EventInfo from StoreGate.
virtual ShapeRef_t ShapeDer(const HWIdentifier &id, int gain, int tbin=0, int mode=0) const =0
const std::vector< short > & samples() const
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
int slot(const HWIdentifier id) const
Return the slot number of a hardware cell identifier: slot = [1,15] Slot-ID in top part of the crat...
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
SG::ReadCondHandleKey< LArBadChannelCont > m_bcContKey
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
std::vector< SG::VarHandleKeyArray * > m_vhka
StatusCode buildBitMask(const std::vector< std::string > &problemsToMask, MsgStream &msg)
std::unordered_map< std::string, size_t > m_toolLookupMap
AthMonitorAlgorithm::Environment_t m_environment
Instance of the Environment_t enum.
Gaudi::Property< bool > m_printEnergyErrors
Gaudi::Property< bool > m_removeNoiseBursts
#define ATH_MSG_VERBOSE(x)
float getNoise(const IdentifierHash h, const int gain) const
Accessor by IdentifierHash and gain.
bool cellShouldBeMasked(const LArBadChannelCont *bcCont, const HWIdentifier &hardwareId) const
int barrel_ec(const HWIdentifier id) const
Return the position barrel or endcap of a hardware cell identifier: barrel_ec = [0,...
@ LAr
The LAr calorimeter.
Gaudi::Property< bool > m_skipNullPed
value_type get_compact() const
Get the compact id.
bool trigChainsArePassed(const std::vector< std::string > &vTrigNames) const
Check whether triggers are passed.
Gaudi::Property< bool > m_doCheckSum
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
const ToolHandle< GenericMonitoringTool > m_dummy
static constexpr auto m_PARTNAMES
xAOD::MissingETComponent_v1::Weight weight_t
Type for kinematic weight.
Gaudi::Property< std::string > m_DumpCellsFileName
Gaudi::Property< bool > m_doDspTestDump
bool isFCALchannel(const HWIdentifier id) const
SG::ReadHandleKey< LArFebHeaderContainer > m_headerContainerKey
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.
bool isEMECchannel(const HWIdentifier id) const override final
ToolHandleArray< IDQFilterTool > m_DQFilterTools
Array of Data Quality filter tools.
AthReentrantAlgorithm()
Default constructor:
Gaudi::Property< bool > m_skipKnownProblematicChannels
Gaudi::Property< std::vector< std::pair< int, int > > > m_T_precision
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
Liquid Argon digit base class.
std::atomic< unsigned > m_ndump
::StatusCode StatusCode
StatusCode definition for legacy code.
PARTITION getPartition(const HWIdentifier chid) const
void tolower(std::string &s)
virtual StatusCode fillHistograms(const EventContext &ctx) const =0
adds event to the monitoring histograms
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Gaudi::Property< std::string > m_MonGroupName
int pos_neg(const HWIdentifier id) const
Return the side of a hardware cell identifier pos_neg = [0,1] positive-side or negative-side Barrel...
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
void fill(const ToolHandle< GenericMonitoringTool > &groupHandle, std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &&variables) const
Fills a vector of variables to a group by reference.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Gaudi::Property< float > m_timeOffset
Gaudi::Property< std::vector< std::string > > m_partitions
SG::ReadHandle< xAOD::EventInfo > GetEventInfo(const EventContext &) const
Return a ReadHandle for an EventInfo object (get run/event numbers, etc.)
AthMonitorAlgorithm::DataType_t m_dataType
Instance of the DataType_t enum.
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
HWIdentifier feb_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Create feb_Id from fields.
const char * getPartitionName(const HWIdentifier chid) const
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
void dumpCellInfo(const HWIdentifier chid, const int gain, const EventContext &ctx, const diff_t &comp) const
Dump a cell's information and calculated energies into a txt file.
ToolHandleArray< GenericMonitoringTool > m_tools
Array of Generic Monitoring Tools.
std::string to_string(const DetectorType &type)
virtual StatusCode sysInitialize() override
Override sysInitialize.
Gaudi::Property< bool > m_enforceExpressTriggers
StatusCode initialize(bool used=true)
Gaudi::Property< short > m_adc_th
Gaudi::Property< unsigned > m_max_dump
Gaudi::Property< bool > m_doRodStatus
bool isEMBchannel(const HWIdentifier id) const
void detailedOutput(const LArRODMonAlg::diff_t &, const LArDigit &dig, const EventContext &ctx) const
virtual StatusCode initialize() override
initialize
std::string getString() const
Provide a string form of the identifier - hexadecimal.
int feedthrough(const HWIdentifier id) const
Return the feedthrough of a hardware cell identifier : feedthrough = [0,31] Barrel - A/C side or H/...
CaloGain::CaloGain gain() const
SG::ReadCondHandleKey< ILArOFC > m_keyOFC
diff_t compareChannel(const LArRawChannel &rcDig, const LArRawChannel &rcBS) const
#define ATH_MSG_WARNING(x)
Gaudi::Property< float > m_peakTime_cut
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
SG::ReadHandleKey< LArRawChannelContainer > m_channelKey_fromBytestream
virtual OFCRef_t OFC_a(const HWIdentifier &id, int gain, int tbin=0) const =0
access to OFCs by online ID, gain, and tbin (!=0 for testbeam)
const LArOnlineID * m_LArOnlineIDHelper
const HWIdentifier & channelID() const
Gaudi::Property< std::vector< std::string > > m_problemsToMask
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
virtual const float & HVScaleCorr(const HWIdentifier &id) const =0
Gaudi::Property< std::string > m_DigitsFileName
bool isHECchannel(const HWIdentifier id) const override final
Declare a monitored scalar variable.
SG::ReadCondHandleKey< ILArShape > m_keyShape
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
std::map< std::string, int > m_histoGroups
std::string channel_name(const HWIdentifier id) const
Return a string corresponding to a feedthrough name given an identifier.
const T * get(const ReadHandleKey< T > &key)
Convenience function to retrieve an object given a ReadHandleKey.
SG::ReadDecorHandleKey< xAOD::EventInfo > m_eventInfoKey
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Gaudi::Property< std::vector< std::string > > m_streams
IdentifierHash feb_Hash(HWIdentifier febId) const
Create feb hash identifiers from feb identifiers.
SG::ReadCondHandleKey< ILArHVScaleCorr > m_keyHVScaleCorr
uint16_t provenance() const
SG::ReadHandleKey< LArDigitContainer > m_digitContainerKey
Proxy for accessing a range of float values like a vector.
SG::ReadHandleKey< LArRawChannelContainer > m_channelKey_fromDigits
virtual ShapeRef_t Shape(const HWIdentifier &id, int gain, int tbin=0, int mode=0) const =0