ATLAS Offline Software
|
Algorithm to validate LAr Autocorr;. More...
#include <LArCalibValidationAlg.h>
Public Member Functions | |
LArCalibValidationAlg (const std::string &name, ISvcLocator *pSvcLocator) | |
Regular algorithm constructor. More... | |
~LArCalibValidationAlg () | |
Destructor. More... | |
StatusCode | initialize () |
Standard initialization method. More... | |
StatusCode | execute () |
Standard execute method This method has to be emtpy since all the job is done in stop() More... | |
StatusCode | stop () |
Standard finalize method Loops over all channels and all gains and calls the validateChannel method. More... | |
StatusCode | finalize () |
virtual StatusCode | sysInitialize () override |
Override sysInitialize. More... | |
virtual const DataObjIDColl & | extraOutputDeps () const override |
Return the list of extra output dependencies. More... | |
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 |
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) More... | |
Protected Member Functions | |
virtual StatusCode | preLoop () |
Method executed before the loop over all channels This method can be implemented by the deriving algorithm. More... | |
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. More... | |
virtual LArCondObj | getRefObj (const HWIdentifier chid, const int gain) const =0 |
Method implmented in derived class to get the reference object from ref-container. More... | |
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. More... | |
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. More... | |
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 | |
MSG::Level | m_myMsgLvl |
Message level for reporting deviations. More... | |
int | m_myMsgLvlProp |
SG::ReadCondHandleKey< LArOnOffIdMapping > | m_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"} |
SG::ReadCondHandleKey< LArBadChannelCont > | m_BCKey {this, "BadChanKey", "LArBadChannel", "SG bad channels key"} |
SG::ReadCondHandleKey< LArCalibLineMapping > | m_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_Base * | m_onlineHelper =nullptr |
const CaloCell_Base_ID * | m_caloId =nullptr |
const REFCONTAINER * | m_reference =nullptr |
Pointer to container with reference values. More... | |
const CONDITIONSCONTAINER * | m_validation =nullptr |
Pointer to container to be validated. More... | |
CONDITIONSCONTAINER * | m_nc_validation =nullptr |
Non-const pointer to container to be validated (for FEB patching) More... | |
std::string | m_validationKey |
SG key of the container to be validated (job-property) More... | |
SG::ReadCondHandleKey< REFCONTAINER > | m_referenceKey {this,"ReferenceKey","", "SG key of the LArConditionsContainer used as reference"} |
SG key of the reference container (job-property) More... | |
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. More... | |
bool | m_checkCompleteness |
wether completeness shall be checked or not (job-property) More... | |
bool | m_patchMissingFEBs |
wether missing FEBS (incomplete COOL channels) should be patched More... | |
bool | m_printFailedPattern |
wether to check for FEBs and Calib-lines with many deviating channels More... | |
bool | m_doFebAverages |
wether to compare feb-averages (used only by derived class) More... | |
unsigned | m_maxmessages |
Limit for the number of messages about indiviual deviating channels (usd only by derived class) More... | |
unsigned | m_nChecked =0 |
Number of channels that where checked (grand-total) More... | |
unsigned | m_nFailedValidation =0 |
Number of channels for which vaildateChannel returned false. More... | |
unsigned | m_nValidated =0 |
Number of channels for which vaildateChannel returned true. More... | |
unsigned | m_nBad =0 |
Number of channels known to be bad according to the bad-channel tool. More... | |
unsigned | m_nNoReference =0 |
Number of channels for which not reference channel could be found. More... | |
std::vector< CHECKEDID_t > | m_checkedIds |
std::string | m_chanFileName |
File name to store list of deviating channels. More... | |
std::ofstream | m_chanFile |
File name to store list of deviating channels. More... | |
std::string | m_febFileName |
File name to store list of FEBs with deviating channels. More... | |
std::ofstream | m_febFile |
File name to store list of FEBs with deviating channels. More... | |
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< StoreGateSvc > | StoreGateSvc_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. More... | |
bool | patchMissingFEBs (const FEBANDGAIN_t &febAndGain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont) |
Fills channels of missing FEBs. More... | |
bool | patchMissingCalibBoards (const CBANDCHANANDGAIN_t &CBAndGain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont) |
Fills channels of missing calib boards. More... | |
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 > &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 | |
std::vector< std::string > | m_gainMap |
DataObjIDColl | m_extendedExtraObjects |
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 |
Algorithm to validate LAr Autocorr;.
Algorithm to patch LAr elec. calibration constants for channels with broken calibration line.
Algorithm to copy LAr elec. calibration constants to a different conatiner (different grouping)
Algorithm to validate LAr Ramp Algorithm to validate LAr Ramp runs by comparing them channel-by-channel with a reference run. This is the first implementation, more inteded as test-case for the base-class. Needs certainly some refinement.
Algorithm to validate LAr Pedestal Algorithm to validate LAr Pedestal runs by comparing them channel-by-channel with a reference run. This is the first implementation, more inteded as test-case for the base-class. Needs certainly some refinement.
Algorithm to validate LAr CaliWaves Algorithm to validate LAr Delay runs by comparing them channel-by-channel with a reference run. This is the first implementation, more inteded as test-case for the base-class. Needs certainly some refinement.
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.
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):
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.
|
private |
Definition at line 145 of file LArCalibValidationAlg.h.
|
protected |
Keeping track of channels failing the validation criteria (per gain)
Definition at line 233 of file LArCalibValidationAlg.h.
|
protected |
Definition at line 79 of file LArCalibValidationAlg.h.
|
private |
Definition at line 135 of file LArCalibValidationAlg.h.
|
protected |
Definition at line 80 of file LArCalibValidationAlg.h.
|
protected |
Definition at line 81 of file LArCalibValidationAlg.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::LArCalibValidationAlg | ( | const std::string & | name, |
ISvcLocator * | pSvcLocator | ||
) |
Regular algorithm constructor.
LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::~LArCalibValidationAlg | ( | ) |
Destructor.
|
protected |
Textual representation of gain and location of a certain cell or FEB.
chid | Online identifier of the cell or FEB |
gain | Gain in question, a value >2 won't be printed |
iFeb | If chid should be interpreted as FEB identifer |
|
private |
Verify if all FEBs of each Cool-Channel is present.
patchMissingFEBs
if m_patchMissingFebs
is true
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
|
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.
|
inlineinherited |
Declare a new Gaudi property.
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.
|
inlineinherited |
Declare a new Gaudi property.
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.
|
inlineinherited |
Definition at line 259 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
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.
|
inlineinherited |
Declare a new Gaudi property.
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.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore
Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 85 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 90 of file AthCommonDataStore.h.
|
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.
|
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
|
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.
|
private |
|
inline |
Definition at line 76 of file LArCalibValidationAlg.h.
|
private |
|
protectedpure virtual |
Method implmented in derived class to get the reference object from ref-container.
Implemented in LArPedestalValidationAlg, LArRampValidationAlg, LArCaliWaveValidationAlg, and LArAutoCorrValidationAlg.
StatusCode LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::initialize | ( | ) |
Standard initialization method.
|
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.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 27 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
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.
|
private |
Fills channels of missing calib boards.
febAndGain | A vector of (CalibId,gain) pairs |
|
private |
Fills channels of missing FEBs.
febAndGain | A vector of (febId,gain) pairs |
|
protectedvirtual |
Method executed before the loop over all channels This method can be implemented by the deriving algorithm.
Reimplemented in LArPedestalValidationAlg, LArRampValidationAlg, LArCaliWaveValidationAlg, and LArAutoCorrValidationAlg.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
StatusCode LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >::stop | ( | ) |
Standard finalize method Loops over all channels and all gains and calls the validateChannel
method.
|
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 LArPedestalValidationAlg, LArRampValidationAlg, LArCaliWaveValidationAlg, and LArAutoCorrValidationAlg.
|
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, PyAthena::Alg, and AthHistogramAlgorithm.
Definition at line 66 of file AthAlgorithm.cxx.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
protectedpure virtual |
Abstract method to validate a single readout channels.
ref | The reference object |
val | The object to be validated |
chid | Online identifier of the channel in question. |
gain | Gain in question This method needs to be implemeted by the deriving algorithm |
Implemented in LArPedestalValidationAlg, LArRampValidationAlg, LArCaliWaveValidationAlg, and LArAutoCorrValidationAlg.
|
protected |
Definition at line 168 of file LArCalibValidationAlg.h.
|
protected |
Definition at line 170 of file LArCalibValidationAlg.h.
|
protected |
Definition at line 167 of file LArCalibValidationAlg.h.
|
protected |
Definition at line 178 of file LArCalibValidationAlg.h.
|
protected |
File name to store list of deviating channels.
Definition at line 240 of file LArCalibValidationAlg.h.
|
protected |
File name to store list of deviating channels.
Definition at line 237 of file LArCalibValidationAlg.h.
|
protected |
wether completeness shall be checked or not (job-property)
Definition at line 201 of file LArCalibValidationAlg.h.
|
protected |
Definition at line 234 of file LArCalibValidationAlg.h.
|
protected |
Definition at line 169 of file LArCalibValidationAlg.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
protected |
wether to compare feb-averages (used only by derived class)
Definition at line 210 of file LArCalibValidationAlg.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 79 of file AthAlgorithm.h.
|
protected |
File name to store list of FEBs with deviating channels.
Definition at line 246 of file LArCalibValidationAlg.h.
|
protected |
File name to store list of FEBs with deviating channels.
Definition at line 243 of file LArCalibValidationAlg.h.
|
private |
Definition at line 159 of file LArCalibValidationAlg.h.
|
protected |
Definition at line 173 of file LArCalibValidationAlg.h.
|
protected |
Limit for the number of messages about indiviual deviating channels (usd only by derived class)
Definition at line 213 of file LArCalibValidationAlg.h.
|
protected |
Message level for reporting deviations.
Definition at line 163 of file LArCalibValidationAlg.h.
|
protected |
Definition at line 164 of file LArCalibValidationAlg.h.
|
protected |
Number of channels known to be bad according to the bad-channel tool.
Definition at line 227 of file LArCalibValidationAlg.h.
|
protected |
Non-const pointer to container to be validated (for FEB patching)
Definition at line 188 of file LArCalibValidationAlg.h.
|
protected |
Number of channels that where checked (grand-total)
Definition at line 218 of file LArCalibValidationAlg.h.
|
protected |
Number of channels for which vaildateChannel returned false.
Definition at line 221 of file LArCalibValidationAlg.h.
|
protected |
Number of channels for which not reference channel could be found.
Definition at line 230 of file LArCalibValidationAlg.h.
|
protected |
Number of channels for which vaildateChannel returned true.
Definition at line 224 of file LArCalibValidationAlg.h.
|
protected |
Definition at line 177 of file LArCalibValidationAlg.h.
|
protected |
Definition at line 172 of file LArCalibValidationAlg.h.
|
protected |
wether missing FEBS (incomplete COOL channels) should be patched
Definition at line 204 of file LArCalibValidationAlg.h.
|
protected |
wether to check for FEBs and Calib-lines with many deviating channels
Definition at line 207 of file LArCalibValidationAlg.h.
|
protected |
Definition at line 171 of file LArCalibValidationAlg.h.
|
protected |
Pointer to container with reference values.
Definition at line 182 of file LArCalibValidationAlg.h.
|
protected |
SG key of the reference container (job-property)
Definition at line 194 of file LArCalibValidationAlg.h.
|
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.
|
protected |
Definition at line 248 of file LArCalibValidationAlg.h.
|
protected |
Pointer to container to be validated.
Definition at line 185 of file LArCalibValidationAlg.h.
|
protected |
SG key of the container to be validated (job-property)
Definition at line 191 of file LArCalibValidationAlg.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.