ATLAS Offline Software
Loading...
Searching...
No Matches
LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER > Class Template Referenceabstract

Algorithm to validate LAr Autocorr;. More...

#include <LArCalibValidationAlg.h>

Inheritance diagram for LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >:

Public Member Functions

 LArCalibValidationAlg (const std::string &name, ISvcLocator *pSvcLocator)
 Regular algorithm constructor.
 ~LArCalibValidationAlg ()
 Destructor.
StatusCode initialize ()
 Standard initialization method.
StatusCode execute ()
 Standard execute method This method has to be emtpy since all the job is done in stop()
StatusCode stop ()
 Standard finalize method Loops over all channels and all gains and calls the validateChannel method.
StatusCode finalize ()
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Protected Types

typedef CONDITIONSCONTAINER::ConstConditionsMapIterator CONTIT
typedef CONDITIONSCONTAINER::LArCondObj LArCondObj
typedef CONDITIONSCONTAINER::MultChanCollection MULTICHANCOLL
typedef std::vector< std::pair< HWIdentifier, bool > > CHECKEDID_t
 Keeping track of channels failing the validation criteria (per gain)

Protected Member Functions

virtual StatusCode preLoop ()
 Method executed before the loop over all channels This method can be implemented by the deriving algorithm.
virtual bool validateChannel (const LArCondObj &ref, const LArCondObj &val, const HWIdentifier chid, const int gain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)=0
 Abstract method to validate a single readout channels.
virtual LArCondObj getRefObj (const HWIdentifier chid, const int gain) const =0
 Method implmented in derived class to get the reference object from ref-container.
virtual StatusCode summary (const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
 Method executed after the loop over all channels The implementation in the base class writes out only the number of problematic channels.
const std::string channelDescription (const HWIdentifier &chid, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont, const unsigned gain=99, bool isFeb=false) const
 Textual representation of gain and location of a certain cell or FEB.
void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
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.

Protected Attributes

MSG::Level m_myMsgLvl
 Message level for reporting deviations.
int m_myMsgLvlProp
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
SG::ReadCondHandleKey< LArBadChannelContm_BCKey {this, "BadChanKey", "LArBadChannel", "SG bad channels key"}
SG::ReadCondHandleKey< LArCalibLineMappingm_CLKey {this, "CalibLineKey", "LArCalibLineMap", "SG calib line key"}
LArBadChannelMask m_bcMask
Gaudi::Property< std::vector< std::string > > m_problemsToMask {this,"ProblemsToMask",{}, "Bad-Channel categories to mask"}
Gaudi::Property< std::vector< unsigned int > > m_patchCBs {this, "PatchCBs", {}, "List of missing CalibBoards to patch using values from reference container."}
BooleanProperty m_isSC {this, "SuperCells", false, "Working on SuperCells ?"}
const LArOnlineID_Basem_onlineHelper =nullptr
const CaloCell_Base_IDm_caloId =nullptr
const REFCONTAINER * m_reference =nullptr
 Pointer to container with reference values.
const CONDITIONSCONTAINER * m_validation =nullptr
 Pointer to container to be validated.
CONDITIONSCONTAINER * m_nc_validation =nullptr
 Non-const pointer to container to be validated (for FEB patching)
std::string m_validationKey
 SG key of the container to be validated (job-property)
SG::ReadCondHandleKey< REFCONTAINER > m_referenceKey {this,"ReferenceKey","", "SG key of the LArConditionsContainer used as reference"}
 SG key of the reference container (job-property)
bool m_useBCInfo
 Flag set to true in order to use bad-channel info for the channel description as well as to ingore some types of bad-channels via the masking tool.
bool m_checkCompleteness
 wether completeness shall be checked or not (job-property)
bool m_patchMissingFEBs
 wether missing FEBS (incomplete COOL channels) should be patched
bool m_printFailedPattern
 wether to check for FEBs and Calib-lines with many deviating channels
bool m_doFebAverages
 wether to compare feb-averages (used only by derived class)
unsigned m_maxmessages
 Limit for the number of messages about indiviual deviating channels (usd only by derived class)
unsigned m_nChecked =0
 Number of channels that where checked (grand-total)
unsigned m_nFailedValidation =0
 Number of channels for which vaildateChannel returned false.
unsigned m_nValidated =0
 Number of channels for which vaildateChannel returned true.
unsigned m_nBad =0
 Number of channels known to be bad according to the bad-channel tool.
unsigned m_nNoReference =0
 Number of channels for which not reference channel could be found.
std::vector< CHECKEDID_tm_checkedIds
std::string m_chanFileName
 File name to store list of deviating channels.
std::ofstream m_chanFile
 File name to store list of deviating channels.
std::string m_febFileName
 File name to store list of FEBs with deviating channels.
std::ofstream m_febFile
 File name to store list of FEBs with deviating channels.
bool m_useCorrChannel

Private Types

typedef std::vector< std::pair< HWIdentifier, unsigned > > FEBANDGAIN_t
typedef std::vector< std::pair< std::pair< HWIdentifier, unsigned >, unsigned > > CBANDCHANANDGAIN_t
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

bool checkCoolChannelCompleteness (const LArOnOffIdMapping *cabling, const LArCalibLineMapping *clCont, const LArBadChannelCont *bcCont)
 Verify if all FEBs of each Cool-Channel is present.
bool patchMissingFEBs (const FEBANDGAIN_t &febAndGain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
 Fills channels of missing FEBs.
bool patchMissingCalibBoards (const CBANDCHANANDGAIN_t &CBAndGain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
 Fills channels of missing calib boards.
void febOutput (const HWIdentifier &febid, const unsigned gain, const unsigned nGood, const unsigned nBad)
void findFailedPatterns (const LArOnOffIdMapping *cabling, const LArCalibLineMapping *clCont, const LArBadChannelCont *bcCont)
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

std::vector< std::string > m_gainMap
DataObjIDColl m_extendedExtraObjects
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

template<class CONDITIONSCONTAINER, class REFCONTAINER>
class LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >

Algorithm to validate LAr Autocorr;.

Algorithm to patch LAr elec.

Algorithm to copy LAr elec.

Algorithm to validate LAr Ramp Algorithm to validate LAr Ramp runs by comparing them channel-by-channel with a reference run.

Algorithm to validate LAr Pedestal Algorithm to validate LAr Pedestal runs by comparing them channel-by-channel with a reference run.

Algorithm to validate LAr CaliWaves Algorithm to validate LAr Delay runs by comparing them channel-by-channel with a reference run.

Base class for algorithms validating LAr Calibration Constants Base class to validate Liquid Argon Calibration Constants by comparing them channel-by-channel with a set reference constants.

Any specific validation algorithm (eg. for Pedestals) should derive from this class and implement a @validateChannel method specific to the data type.

This is the first implementation, more inteded as test-case for the base-class. Needs certainly some refinement.

calibration constants to a different conatiner (different grouping)

calibration constants for channels with broken calibration line

Loops over all channels in an LArConditionsContainer and checks their status in the bad-channel database. Constants for 'bad' channels are patched,by one of the follwoing methods (steered by jobOptions):

  • Neighboring FEB channel
  • Neighbor in Phi
  • Average over all channels with the same phi
    The LArBadChannelMask is used to determine what types of problems should be patched. The patched value is added to the LArConditionsContainer as correction. The neighbor-patching is templated, and works for any kind of payload object while the averaging needs knowledge about the payload object and is implemented a specialized method getAverage.

Definition at line 47 of file LArCalibValidationAlg.h.

Member Typedef Documentation

◆ CBANDCHANANDGAIN_t

template<class CONDITIONSCONTAINER, class REFCONTAINER>
typedef std::vector<std::pair<std::pair<HWIdentifier,unsigned>, unsigned > > LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::CBANDCHANANDGAIN_t
private

Definition at line 145 of file LArCalibValidationAlg.h.

◆ CHECKEDID_t

template<class CONDITIONSCONTAINER, class REFCONTAINER>
typedef std::vector<std::pair<HWIdentifier, bool > > LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::CHECKEDID_t
protected

Keeping track of channels failing the validation criteria (per gain)

Definition at line 233 of file LArCalibValidationAlg.h.

◆ CONTIT

template<class CONDITIONSCONTAINER, class REFCONTAINER>
typedef CONDITIONSCONTAINER::ConstConditionsMapIterator LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::CONTIT
protected

Definition at line 79 of file LArCalibValidationAlg.h.

◆ FEBANDGAIN_t

template<class CONDITIONSCONTAINER, class REFCONTAINER>
typedef std::vector<std::pair<HWIdentifier,unsigned> > LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::FEBANDGAIN_t
private

Definition at line 135 of file LArCalibValidationAlg.h.

◆ LArCondObj

template<class CONDITIONSCONTAINER, class REFCONTAINER>
typedef CONDITIONSCONTAINER::LArCondObj LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::LArCondObj
protected

Definition at line 80 of file LArCalibValidationAlg.h.

◆ MULTICHANCOLL

template<class CONDITIONSCONTAINER, class REFCONTAINER>
typedef CONDITIONSCONTAINER::MultChanCollection LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::MULTICHANCOLL
protected

Definition at line 81 of file LArCalibValidationAlg.h.

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ LArCalibValidationAlg()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::LArCalibValidationAlg ( const std::string & name,
ISvcLocator * pSvcLocator )

Regular algorithm constructor.

◆ ~LArCalibValidationAlg()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::~LArCalibValidationAlg ( )

Destructor.

Member Function Documentation

◆ channelDescription()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
const std::string LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::channelDescription ( const HWIdentifier & chid,
const LArOnOffIdMapping * cabling,
const LArBadChannelCont * bcCont,
const unsigned gain = 99,
bool isFeb = false ) const
protected

Textual representation of gain and location of a certain cell or FEB.

Parameters
chidOnline identifier of the cell or FEB
gainGain in question, a value >2 won't be printed
iFebIf chid should be interpreted as FEB identifer
Returns
string Creates a string containing the Side, Barrel-EC, FT, Slot, FEB-Channel in human-readable form

◆ checkCoolChannelCompleteness()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
bool LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::checkCoolChannelCompleteness ( const LArOnOffIdMapping * cabling,
const LArCalibLineMapping * clCont,
const LArBadChannelCont * bcCont )
private

Verify if all FEBs of each Cool-Channel is present.

Returns
False if at least one incomplete COOL channel is found, true otherwise Calls patchMissingFEBs if m_patchMissingFebs is true

◆ declareGaudiProperty()

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

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

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

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

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

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

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

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

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
StatusCode LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::execute ( )
inline

Standard execute method This method has to be emtpy since all the job is done in stop()

Definition at line 69 of file LArCalibValidationAlg.h.

69{return StatusCode::SUCCESS;}
Algorithm to validate LAr Autocorr;.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::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

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51{
52 // If we didn't find any symlinks to add, just return the collection
53 // from the base class. Otherwise, return the extended collection.
54 if (!m_extendedExtraObjects.empty()) {
56 }
57 return Algorithm::extraOutputDeps();
58}
DataObjIDColl m_extendedExtraObjects

◆ febOutput()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
void LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::febOutput ( const HWIdentifier & febid,
const unsigned gain,
const unsigned nGood,
const unsigned nBad )
private

◆ finalize()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
StatusCode LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::finalize ( )
inline

Definition at line 76 of file LArCalibValidationAlg.h.

76{return StatusCode::SUCCESS;}

◆ findFailedPatterns()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
void LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::findFailedPatterns ( const LArOnOffIdMapping * cabling,
const LArCalibLineMapping * clCont,
const LArBadChannelCont * bcCont )
private

◆ getRefObj()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
virtual LArCondObj LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::getRefObj ( const HWIdentifier chid,
const int gain ) const
protectedpure virtual

Method implmented in derived class to get the reference object from ref-container.

Implemented in LArAutoCorrValidationAlg, LArCaliWaveValidationAlg, LArPedestalValidationAlg, and LArRampValidationAlg.

◆ initialize()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
StatusCode LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::initialize ( )

Standard initialization method.

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::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.

◆ msg()

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msgLvl()

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

Definition at line 30 of file AthCommonMsg.h.

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

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::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.

◆ patchMissingCalibBoards()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
bool LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::patchMissingCalibBoards ( const CBANDCHANANDGAIN_t & CBAndGain,
const LArOnOffIdMapping * cabling,
const LArBadChannelCont * bcCont )
private

Fills channels of missing calib boards.

Parameters
febAndGainA vector of (CalibId,gain) pairs
Returns
True on success, false otherwise Inserts the corresponding channel from the reference container as correction channel to the validation container

◆ patchMissingFEBs()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
bool LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::patchMissingFEBs ( const FEBANDGAIN_t & febAndGain,
const LArOnOffIdMapping * cabling,
const LArBadChannelCont * bcCont )
private

Fills channels of missing FEBs.

Parameters
febAndGainA vector of (febId,gain) pairs
Returns
True on success, false otherwise Inserts the corresponding channel from the reference container as correction channel to the validation container

◆ preLoop()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
virtual StatusCode LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::preLoop ( )
protectedvirtual

Method executed before the loop over all channels This method can be implemented by the deriving algorithm.

Reimplemented in LArAutoCorrValidationAlg, LArCaliWaveValidationAlg, LArPedestalValidationAlg, and LArRampValidationAlg.

◆ 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< Algorithm > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
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)

◆ renounceArray()

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

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ stop()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
StatusCode LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::stop ( )

Standard finalize method Loops over all channels and all gains and calls the validateChannel method.

◆ summary()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
virtual StatusCode LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::summary ( const LArOnOffIdMapping * cabling,
const LArBadChannelCont * bcCont )
protectedvirtual

Method executed after the loop over all channels The implementation in the base class writes out only the number of problematic channels.

Could be overloaded in the derived class for more specific about information about newly found bad channels. The return value of this method is also the return value of the finalize method.

Reimplemented in LArAutoCorrValidationAlg, LArCaliWaveValidationAlg, LArPedestalValidationAlg, and LArRampValidationAlg.

◆ sysInitialize()

StatusCode AthAlgorithm::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< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.

Definition at line 66 of file AthAlgorithm.cxx.

66 {
68
69 if (sc.isFailure()) {
70 return sc;
71 }
72 ServiceHandle<ICondSvc> cs("CondSvc",name());
73 for (auto h : outputHandles()) {
74 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75 // do this inside the loop so we don't create the CondSvc until needed
76 if ( cs.retrieve().isFailure() ) {
77 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78 return StatusCode::SUCCESS;
79 }
80 if (cs->regHandle(this,*h).isFailure()) {
81 sc = StatusCode::FAILURE;
82 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83 << " with CondSvc");
84 }
85 }
86 }
87 return sc;
88}
#define ATH_MSG_ERROR(x)
#define ATH_MSG_WARNING(x)
static Double_t sc
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::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.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::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) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

◆ validateChannel()

template<class CONDITIONSCONTAINER, class REFCONTAINER>
virtual bool LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::validateChannel ( const LArCondObj & ref,
const LArCondObj & val,
const HWIdentifier chid,
const int gain,
const LArOnOffIdMapping * cabling,
const LArBadChannelCont * bcCont )
protectedpure virtual

Abstract method to validate a single readout channels.

Parameters
refThe reference object
valThe object to be validated
chidOnline identifier of the channel in question.
gainGain in question This method needs to be implemeted by the deriving algorithm

Implemented in LArAutoCorrValidationAlg, LArCaliWaveValidationAlg, LArPedestalValidationAlg, and LArRampValidationAlg.

Member Data Documentation

◆ m_BCKey

template<class CONDITIONSCONTAINER, class REFCONTAINER>
SG::ReadCondHandleKey<LArBadChannelCont> LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_BCKey {this, "BadChanKey", "LArBadChannel", "SG bad channels key"}
protected

Definition at line 168 of file LArCalibValidationAlg.h.

168{this, "BadChanKey", "LArBadChannel", "SG bad channels key"};

◆ m_bcMask

template<class CONDITIONSCONTAINER, class REFCONTAINER>
LArBadChannelMask LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_bcMask
protected

Definition at line 170 of file LArCalibValidationAlg.h.

◆ m_cablingKey

template<class CONDITIONSCONTAINER, class REFCONTAINER>
SG::ReadCondHandleKey<LArOnOffIdMapping> LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
protected

Definition at line 167 of file LArCalibValidationAlg.h.

167{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};

◆ m_caloId

template<class CONDITIONSCONTAINER, class REFCONTAINER>
const CaloCell_Base_ID* LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_caloId =nullptr
protected

Definition at line 178 of file LArCalibValidationAlg.h.

◆ m_chanFile

template<class CONDITIONSCONTAINER, class REFCONTAINER>
std::ofstream LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_chanFile
protected

File name to store list of deviating channels.

Definition at line 240 of file LArCalibValidationAlg.h.

◆ m_chanFileName

template<class CONDITIONSCONTAINER, class REFCONTAINER>
std::string LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_chanFileName
protected

File name to store list of deviating channels.

Definition at line 237 of file LArCalibValidationAlg.h.

◆ m_checkCompleteness

template<class CONDITIONSCONTAINER, class REFCONTAINER>
bool LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_checkCompleteness
protected

wether completeness shall be checked or not (job-property)

Definition at line 201 of file LArCalibValidationAlg.h.

◆ m_checkedIds

template<class CONDITIONSCONTAINER, class REFCONTAINER>
std::vector<CHECKEDID_t> LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_checkedIds
protected

Definition at line 234 of file LArCalibValidationAlg.h.

◆ m_CLKey

template<class CONDITIONSCONTAINER, class REFCONTAINER>
SG::ReadCondHandleKey<LArCalibLineMapping> LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_CLKey {this, "CalibLineKey", "LArCalibLineMap", "SG calib line key"}
protected

Definition at line 169 of file LArCalibValidationAlg.h.

169{this, "CalibLineKey", "LArCalibLineMap", "SG calib line key"};

◆ m_detStore

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

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_doFebAverages

template<class CONDITIONSCONTAINER, class REFCONTAINER>
bool LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_doFebAverages
protected

wether to compare feb-averages (used only by derived class)

Definition at line 210 of file LArCalibValidationAlg.h.

◆ m_evtStore

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

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_febFile

template<class CONDITIONSCONTAINER, class REFCONTAINER>
std::ofstream LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_febFile
protected

File name to store list of FEBs with deviating channels.

Definition at line 246 of file LArCalibValidationAlg.h.

◆ m_febFileName

template<class CONDITIONSCONTAINER, class REFCONTAINER>
std::string LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_febFileName
protected

File name to store list of FEBs with deviating channels.

Definition at line 243 of file LArCalibValidationAlg.h.

◆ m_gainMap

template<class CONDITIONSCONTAINER, class REFCONTAINER>
std::vector<std::string> LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_gainMap
private

Definition at line 159 of file LArCalibValidationAlg.h.

◆ m_isSC

template<class CONDITIONSCONTAINER, class REFCONTAINER>
BooleanProperty LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_isSC {this, "SuperCells", false, "Working on SuperCells ?"}
protected

Definition at line 173 of file LArCalibValidationAlg.h.

173{this, "SuperCells", false, "Working on SuperCells ?"};

◆ m_maxmessages

template<class CONDITIONSCONTAINER, class REFCONTAINER>
unsigned LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_maxmessages
protected

Limit for the number of messages about indiviual deviating channels (usd only by derived class)

Definition at line 213 of file LArCalibValidationAlg.h.

◆ m_myMsgLvl

template<class CONDITIONSCONTAINER, class REFCONTAINER>
MSG::Level LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_myMsgLvl
protected

Message level for reporting deviations.

Definition at line 163 of file LArCalibValidationAlg.h.

◆ m_myMsgLvlProp

template<class CONDITIONSCONTAINER, class REFCONTAINER>
int LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_myMsgLvlProp
protected

Definition at line 164 of file LArCalibValidationAlg.h.

◆ m_nBad

template<class CONDITIONSCONTAINER, class REFCONTAINER>
unsigned LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_nBad =0
protected

Number of channels known to be bad according to the bad-channel tool.

Definition at line 227 of file LArCalibValidationAlg.h.

◆ m_nc_validation

template<class CONDITIONSCONTAINER, class REFCONTAINER>
CONDITIONSCONTAINER* LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_nc_validation =nullptr
protected

Non-const pointer to container to be validated (for FEB patching)

Definition at line 188 of file LArCalibValidationAlg.h.

◆ m_nChecked

template<class CONDITIONSCONTAINER, class REFCONTAINER>
unsigned LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_nChecked =0
protected

Number of channels that where checked (grand-total)

Definition at line 218 of file LArCalibValidationAlg.h.

◆ m_nFailedValidation

template<class CONDITIONSCONTAINER, class REFCONTAINER>
unsigned LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_nFailedValidation =0
protected

Number of channels for which vaildateChannel returned false.

Definition at line 221 of file LArCalibValidationAlg.h.

◆ m_nNoReference

template<class CONDITIONSCONTAINER, class REFCONTAINER>
unsigned LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_nNoReference =0
protected

Number of channels for which not reference channel could be found.

Definition at line 230 of file LArCalibValidationAlg.h.

◆ m_nValidated

template<class CONDITIONSCONTAINER, class REFCONTAINER>
unsigned LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_nValidated =0
protected

Number of channels for which vaildateChannel returned true.

Definition at line 224 of file LArCalibValidationAlg.h.

◆ m_onlineHelper

template<class CONDITIONSCONTAINER, class REFCONTAINER>
const LArOnlineID_Base* LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_onlineHelper =nullptr
protected

Definition at line 177 of file LArCalibValidationAlg.h.

◆ m_patchCBs

template<class CONDITIONSCONTAINER, class REFCONTAINER>
Gaudi::Property<std::vector<unsigned int> > LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_patchCBs {this, "PatchCBs", {}, "List of missing CalibBoards to patch using values from reference container."}
protected

Definition at line 172 of file LArCalibValidationAlg.h.

172{this, "PatchCBs", {}, "List of missing CalibBoards to patch using values from reference container."};

◆ m_patchMissingFEBs

template<class CONDITIONSCONTAINER, class REFCONTAINER>
bool LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_patchMissingFEBs
protected

wether missing FEBS (incomplete COOL channels) should be patched

Definition at line 204 of file LArCalibValidationAlg.h.

◆ m_printFailedPattern

template<class CONDITIONSCONTAINER, class REFCONTAINER>
bool LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_printFailedPattern
protected

wether to check for FEBs and Calib-lines with many deviating channels

Definition at line 207 of file LArCalibValidationAlg.h.

◆ m_problemsToMask

template<class CONDITIONSCONTAINER, class REFCONTAINER>
Gaudi::Property<std::vector<std::string> > LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_problemsToMask {this,"ProblemsToMask",{}, "Bad-Channel categories to mask"}
protected

Definition at line 171 of file LArCalibValidationAlg.h.

171{this,"ProblemsToMask",{}, "Bad-Channel categories to mask"};

◆ m_reference

template<class CONDITIONSCONTAINER, class REFCONTAINER>
const REFCONTAINER* LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_reference =nullptr
protected

Pointer to container with reference values.

Definition at line 182 of file LArCalibValidationAlg.h.

◆ m_referenceKey

template<class CONDITIONSCONTAINER, class REFCONTAINER>
SG::ReadCondHandleKey<REFCONTAINER> LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_referenceKey {this,"ReferenceKey","", "SG key of the LArConditionsContainer used as reference"}
protected

SG key of the reference container (job-property)

Definition at line 194 of file LArCalibValidationAlg.h.

194{this,"ReferenceKey","", "SG key of the LArConditionsContainer used as reference"};

◆ m_useBCInfo

template<class CONDITIONSCONTAINER, class REFCONTAINER>
bool LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_useBCInfo
protected

Flag set to true in order to use bad-channel info for the channel description as well as to ingore some types of bad-channels via the masking tool.

Definition at line 198 of file LArCalibValidationAlg.h.

◆ m_useCorrChannel

template<class CONDITIONSCONTAINER, class REFCONTAINER>
bool LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_useCorrChannel
protected

Definition at line 248 of file LArCalibValidationAlg.h.

◆ m_validation

template<class CONDITIONSCONTAINER, class REFCONTAINER>
const CONDITIONSCONTAINER* LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_validation =nullptr
protected

Pointer to container to be validated.

Definition at line 185 of file LArCalibValidationAlg.h.

◆ m_validationKey

template<class CONDITIONSCONTAINER, class REFCONTAINER>
std::string LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::m_validationKey
protected

SG key of the container to be validated (job-property)

Definition at line 191 of file LArCalibValidationAlg.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following file: