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

#include <LArCaliWaveValidationAlg.h>

Inheritance diagram for LArCaliWaveValidationAlg:
Collaboration diagram for LArCaliWaveValidationAlg:

Classes

class  DataPerFEB
 

Public Member Functions

 LArCaliWaveValidationAlg (const std::string &name, ISvcLocator *pSvcLocator)
 Regular algorithm constructor. 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

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

Private Member Functions

bool validateChannel (const LArCondObj &ref, const LArCondObj &val, const HWIdentifier chid, const int gain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont) override final
 Method to validate the pedestal single readout channels. More...
 
LArCondObj getRefObj (const HWIdentifier chid, const int gain) const override final
 Method implmented in derived class to get the reference object from ref-container. More...
 
virtual StatusCode summary (const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont) override
 Summary method executed after the loop over all channels. More...
 
virtual StatusCode preLoop () override
 Executed before the loop over all channels to reset global sums. More...
 
bool febSummary (const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
 Method to compare FEB averages. More...
 
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_ampToleranceInit
 Amplitude tolerance (in permills) (job-Property) More...
 
CaloCellGroupList m_ampTolerance
 
std::vector< std::string > m_ampToleranceFEBInit
 Tolerance for the average amplitude of one FEB (in permills) (job-Property) More...
 
CaloCellGroupList m_ampToleranceFEB
 
std::vector< std::string > m_fwhmToleranceInit
 FWHM tolerance (in permills) (job-Property) More...
 
CaloCellGroupList m_fwhmTolerance
 
std::vector< std::string > m_fwhmToleranceFEBInit
 Tolerance for the average FWHM of one FEB (in permills) (job-Property) More...
 
CaloCellGroupList m_fwhmToleranceFEB
 
bool m_timeShift
 
std::vector< DataPerFEBm_vDataPerFEB
 
double m_ampGlobalVal =0
 
double m_fwhmGlobalVal =0
 
double m_ampGlobalRef =0
 
double m_fwhmGlobalRef =0
 
unsigned m_nEntriesGlobal =0
 
LArWaveHelper m_waveHelper
 
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
 

Detailed Description

Definition at line 36 of file LArCaliWaveValidationAlg.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
privateinherited

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
protectedinherited

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
protectedinherited

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
privateinherited

Definition at line 135 of file LArCalibValidationAlg.h.

◆ LArCondObj

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

Definition at line 80 of file LArCalibValidationAlg.h.

◆ MULTICHANCOLL

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

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

◆ LArCaliWaveValidationAlg()

LArCaliWaveValidationAlg::LArCaliWaveValidationAlg ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Regular algorithm constructor.

Definition at line 8 of file LArCaliWaveValidationAlg.cxx.

8  :
9  LArCaliWaveValidationBase(name,pSvcLocator) {
10 
11  declareProperty("TimeShiftDetection",m_timeShift=false,
12  "Enable detection of Pulse timeShift");
13  declareProperty("AmplitudeTolerance",m_ampToleranceInit,
14  "CaloCellGroup of allowed deviation of the amplitude (in permills)");
15  declareProperty("CaliWaveFWHMTolerance",m_fwhmToleranceInit,
16  "CaloCellGroup of llowed deviation of the FWHM (in permills)");
17  declareProperty("AmplitudeToleranceFEB",m_ampToleranceFEBInit,
18  "CaloCellGroup of llowed deviation of the amplitude (average over one FEB, in permills)");
19  declareProperty("CaliWaveFWHMToleranceFEB",m_fwhmToleranceFEBInit,
20  "CaloCellGroup of allowed deviation of the FWHM (average over one FEB, in permills)");
21 }

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
protectedinherited

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 
)
privateinherited

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() [1/4]

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

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

Definition at line 170 of file AthCommonDataStore.h.

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

◆ declareGaudiProperty() [2/4]

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

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

Definition at line 156 of file AthCommonDataStore.h.

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

◆ declareGaudiProperty() [3/4]

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

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

Definition at line 184 of file AthCommonDataStore.h.

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

◆ declareGaudiProperty() [4/4]

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

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

Definition at line 199 of file AthCommonDataStore.h.

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

◆ declareProperty() [1/6]

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

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

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

◆ declareProperty() [2/6]

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

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

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

◆ declareProperty() [3/6]

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

Definition at line 259 of file AthCommonDataStore.h.

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

◆ declareProperty() [4/6]

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

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

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

◆ declareProperty() [5/6]

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

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

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

◆ declareProperty() [6/6]

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

Definition at line 145 of file AthCommonDataStore.h.

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

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

95 { return m_detStore; }

◆ evtStore() [1/2]

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.

85 { return m_evtStore; }

◆ evtStore() [2/2]

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

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

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

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

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;}

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

◆ febOutput()

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

◆ febSummary()

bool LArCaliWaveValidationAlg::febSummary ( const LArOnOffIdMapping cabling,
const LArBadChannelCont bcCont 
)
private

Method to compare FEB averages.

Definition at line 181 of file LArCaliWaveValidationAlg.cxx.

181  {
182 
183  unsigned nBadFebs=0;
184 
185  msg().precision(3);
186  msg().setf(std::ios::fixed,std::ios::floatfield);
187 
188  for (DataPerFEB& dataPerFeb : m_vDataPerFEB) {
189  dataPerFeb.ampVal/=dataPerFeb.nEntries;
190  dataPerFeb.ampRef/=dataPerFeb.nEntries;
191  dataPerFeb.fwhmVal/=dataPerFeb.nEntries;
192  dataPerFeb.fwhmRef/=dataPerFeb.nEntries;
193 
194  const Identifier id=cabling->cnvToIdentifier(dataPerFeb.chid);
195  const float& ampToleranceFEB=m_ampToleranceFEB.valuesForCell(id)[dataPerFeb.gain];
196  const float& fwhmToleranceFEB=m_fwhmToleranceFEB.valuesForCell(id)[dataPerFeb.gain];
197 
198  if (fabs(dataPerFeb.ampVal-dataPerFeb.ampRef)/dataPerFeb.ampRef*1000>ampToleranceFEB ||
199  fabs(dataPerFeb.fwhmVal-dataPerFeb.fwhmRef)/dataPerFeb.fwhmRef*1000>fwhmToleranceFEB) {
200  msg() << m_myMsgLvl << "Deviating! " <<channelDescription(dataPerFeb.febid,cabling,bcCont,dataPerFeb.gain,true)<< "Average Amp: " << dataPerFeb.ampVal << " (" << dataPerFeb.ampRef << ")"
201  << " FWHM: " << dataPerFeb.fwhmVal << " (" << dataPerFeb.fwhmRef << ")" << endmsg;
202  ++nBadFebs;
203  ATH_MSG_DEBUG ( "Amplitude FEB tolerance: " << ampToleranceFEB << ", FWHM FEB tolerance: " << fwhmToleranceFEB ) ;
204  }
205  }
206 
207  if (nBadFebs) {
208  ATH_MSG_ERROR ( "Found " << nBadFebs << " out of " << m_vDataPerFEB.size() << " FEBs deviating from reference" ) ;
209  return false;
210  }
211  else {
212  ATH_MSG_INFO ( "All " << m_vDataPerFEB.size() << " FEBs withing given tolerance." ) ;
213  return true;
214  }
215 }

◆ finalize()

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

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 
)
privateinherited

◆ getRefObj()

LArCondObj LArCaliWaveValidationAlg::getRefObj ( const HWIdentifier  chid,
const int  gain 
) const
inlinefinaloverrideprivatevirtual

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

Implements LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >.

Definition at line 49 of file LArCaliWaveValidationAlg.h.

49  {
50  return m_reference->get(chid,gain);
51  }

◆ initialize()

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

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() [1/2]

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

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

Definition at line 27 of file AthCommonMsg.h.

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

◆ msgLvl()

bool AthCommonMsg< 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 
)
privateinherited

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 
)
privateinherited

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()

StatusCode LArCaliWaveValidationAlg::preLoop ( )
overrideprivatevirtual

Executed before the loop over all channels to reset global sums.

Reimplemented from LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >.

Definition at line 24 of file LArCaliWaveValidationAlg.cxx.

24  {
25  m_ampGlobalRef=0.;
26  m_fwhmGlobalRef=0.;
27  m_ampGlobalVal=0.;
28  m_fwhmGlobalVal=0.;
30  bool stat;
31 
32  //Initialize CaloCellGroups:
33 
34  ATH_MSG_INFO ( "Initialize Amplitude Tolerances (CaloCellGroup)" ) ;
36  if (!stat) {
37  ATH_MSG_ERROR ( "Failed to initialize CaloCellGroup of amplitude tolerances!" ) ;
38  return StatusCode::FAILURE;
39  }
40  if (m_ampTolerance.getDefaults().size()!=3) {
41  ATH_MSG_ERROR ( "Configuration error: Expected three amplitude tolerance values (one per gain), got "
42  << m_ampTolerance.getDefaults().size() ) ;
43  return StatusCode::FAILURE;
44  }
45  if (this->msgLvl(MSG::DEBUG)) m_ampTolerance.printDef();//for debugging....
46 
47 
48 
49  ATH_MSG_INFO ( "Initialize FWHM Tolerances (CaloCellGroup)" ) ;
51  if (!stat) {
52  ATH_MSG_ERROR ( "Failed to initialize CaloCellGroup of FWHM tolerances!" ) ;
53  return StatusCode::FAILURE;
54  }
55  if (m_fwhmTolerance.getDefaults().size()!=3) {
56  ATH_MSG_ERROR ( "Configuration error: Expected three FWHM tolerance values (one per gain), got "
57  << m_fwhmTolerance.getDefaults().size() ) ;
58  return StatusCode::FAILURE;
59  }
60  if (this->msgLvl(MSG::DEBUG)) m_fwhmTolerance.printDef();//for debugging....
61 
62 
63 
64  ATH_MSG_INFO ( "Initialize FEB Amplitude Tolerances (CaloCellGroup)" ) ;
66  if (!stat) {
67  ATH_MSG_ERROR ( "Failed to initialize CaloCellGroup of FEB amplitude tolerances!" ) ;
68  return StatusCode::FAILURE;
69  }
70  if (m_ampToleranceFEB.getDefaults().size()!=3) {
71  ATH_MSG_ERROR ( "Configuration error: Expected three FEB amplitude tolerance values (one per gain), got "
72  << m_ampToleranceFEB.getDefaults().size() ) ;
73  return StatusCode::FAILURE;
74  }
75  if (this->msgLvl(MSG::DEBUG)) m_ampToleranceFEB.printDef();//for debugging....
76 
77 
78 
79  ATH_MSG_INFO ( "Initialize FEB FWHM Tolerances (CaloCellGroup)" ) ;
81  if (!stat) {
82  ATH_MSG_ERROR ( "Failed to initialize CaloCellGroup of FEB FWHM tolerances!" ) ;
83  return StatusCode::FAILURE;
84  }
85  if (m_fwhmToleranceFEB.getDefaults().size()!=3) {
86  ATH_MSG_ERROR ( "Configuration error: Expected three FEB FWHM tolerance values (one per gain), got "
87  << m_fwhmToleranceFEB.getDefaults().size() ) ;
88  return StatusCode::FAILURE;
89  }
90  if (this->msgLvl(MSG::DEBUG)) m_fwhmToleranceFEB.printDef();//for debugging....
91 
92  return StatusCode::SUCCESS;
93 }

◆ 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();
383  PBASE::renounce (h);
384  }

◆ 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  {
365  handlesArray.renounce();
366  }

◆ stop()

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

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

◆ summary()

StatusCode LArCaliWaveValidationAlg::summary ( const LArOnOffIdMapping cabling,
const LArBadChannelCont bcCont 
)
overrideprivatevirtual

Summary method executed after the loop over all channels.

Reimplemented from LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >.

Definition at line 216 of file LArCaliWaveValidationAlg.cxx.

216  {
217  StatusCode sc=StatusCode::SUCCESS;
218  //1nd step: Check the FEB-averages:
219  if (m_doFebAverages && !febSummary(cabling, bcCont))
220  sc=StatusCode::RECOVERABLE;
221  //2st step: Call the summary method from base-class (single-channel summary)
222  if (!LArCaliWaveValidationBase::summary(cabling, bcCont).isSuccess())
223  sc=StatusCode::RECOVERABLE;
224  //3rd step: Check the gobal averages:
225  if (m_nEntriesGlobal) {
230  }
231  ATH_MSG_INFO ( "Global amplitude average: " << m_ampGlobalVal << " Reference:" << m_ampGlobalRef
232  << " Deviation:" << (m_ampGlobalVal-m_ampGlobalRef)/m_ampGlobalRef*1000 <<" permille" ) ;
233  ATH_MSG_INFO ( "Gobal FWHM average: " << m_fwhmGlobalVal << " Reference:" << m_fwhmGlobalRef
234  << " Deviation:" << (m_fwhmGlobalVal-m_fwhmGlobalRef)/m_fwhmGlobalRef*1000 <<" permille" ) ;
235  return sc;
236 }

◆ 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, PyAthena::Alg, and AthHistogramAlgorithm.

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 }

◆ 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) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

◆ validateChannel()

bool LArCaliWaveValidationAlg::validateChannel ( const LArCondObj ref,
const LArCondObj val,
const HWIdentifier  chid,
const int  gain,
const LArOnOffIdMapping cabling,
const LArBadChannelCont bcCont 
)
finaloverrideprivatevirtual

Method to validate the pedestal single readout channels.

Implements LArCalibValidationAlg< CONDITIONSCONTAINER, REFCONTAINER >.

Definition at line 95 of file LArCaliWaveValidationAlg.cxx.

95  {
96 
97  if (gain<0 || gain>2) {
98  ATH_MSG_ERROR ( "Unexpected gain value " << gain ) ;
99  return false;
100  }
101 
102  double ampVal=0;
103  double ampRef=0;
104 
105  float fwhmVal=0;
106  float fwhmRef=0;
107 
108  float TmaxVal=0;
109  float TmaxRef=0;
110 
111  float TMaxshift=5.;
112 
113 
114  const Identifier id=cabling->cnvToIdentifier(chid);
115 
116  const float ampTolerance=m_ampTolerance.valuesForCell(id)[gain];
117  const float fwhmTolerance=m_fwhmTolerance.valuesForCell(id)[gain];
118 
119  if (val.size()>0 && ref.size()>0){
120 
121  //We assume that the caliwavevec has only one entry.
122  const LArWave& wave=val[0];
123  const LArWave& waver=ref[0];
124  TmaxVal=m_waveHelper.getMax(wave);
125  TmaxRef=m_waveHelper.getMax(waver);
126  ampVal=m_waveHelper.getMaxAmp(wave);
127  ampRef=m_waveHelper.getMaxAmp(waver);
128  fwhmVal=wave.getDt()*m_waveHelper.getWidth(wave);
129  fwhmRef=waver.getDt()*m_waveHelper.getWidth(waver);
130  }
131 
132  const HWIdentifier febid=m_onlineHelper->feb_Id(chid);
133 
134 
135  DataPerFEB* dataPerFEB = m_vDataPerFEB.empty() ? nullptr : &(m_vDataPerFEB.back());
136  if (!dataPerFEB || dataPerFEB->febid!=febid) {//Got to new FEB
137  m_vDataPerFEB.push_back(DataPerFEB(chid,febid,gain));
138  dataPerFEB=&(m_vDataPerFEB.back());
139  }
140 
141  dataPerFEB->ampVal+=ampVal;
142  dataPerFEB->ampRef+=ampRef;
143  dataPerFEB->fwhmVal+=fwhmVal;
144  dataPerFEB->fwhmRef+=fwhmRef;
145  ++(dataPerFEB->nEntries);
146 
147 
148  m_ampGlobalVal+=ampVal;
149  m_fwhmGlobalVal+=fwhmVal;
150  m_ampGlobalRef+=ampRef;
151  m_fwhmGlobalRef+=fwhmRef;
153 
154  bool retval=true;
155  if (fabs(TmaxVal-TmaxRef)> TMaxshift && m_timeShift==true) {
156  retval=false;
158  msg() << m_myMsgLvl << "Shifted! " << channelDescription(chid,cabling,bcCont,gain) << " Tmax: " << TmaxVal << " ( " << TmaxRef << " ) " << endmsg;
159 
160  }
161 
162 
163  if (1000*fabs(ampVal-ampRef)/ampRef > ampTolerance || 1000*fabs(fwhmVal-fwhmRef)/fwhmRef > fwhmTolerance) {
164  retval=false;
166  msg().precision(2);
167  msg().setf(std::ios::fixed,std::ios::floatfield);
168  msg() << this->m_myMsgLvl << "Deviating! " << channelDescription(chid,cabling,bcCont,gain) << " Amp: " << ampVal << "( " << ampRef
169  << ", " << 100.*(ampVal-ampRef)/ampRef << " %)"
170  << " FWHM: " << fwhmVal << " ( " << fwhmRef << ", " << 100*(fwhmVal-fwhmRef)/fwhmVal << " %)" << endmsg;
171  ATH_MSG_DEBUG ( "Amplitude FEB tolerance: " << ampTolerance << ", FWHM FEB tolerance: " << fwhmTolerance ) ;
172  }
173  }
175  msg() << this->m_myMsgLvl << "Channel deviation message has already been printed " << m_maxmessages << " times. Now silent..." << endmsg;
176 
177  return retval;
178 }

Member Data Documentation

◆ m_ampGlobalRef

double LArCaliWaveValidationAlg::m_ampGlobalRef =0
private

Definition at line 104 of file LArCaliWaveValidationAlg.h.

◆ m_ampGlobalVal

double LArCaliWaveValidationAlg::m_ampGlobalVal =0
private

Definition at line 102 of file LArCaliWaveValidationAlg.h.

◆ m_ampTolerance

CaloCellGroupList LArCaliWaveValidationAlg::m_ampTolerance
private

Definition at line 63 of file LArCaliWaveValidationAlg.h.

◆ m_ampToleranceFEB

CaloCellGroupList LArCaliWaveValidationAlg::m_ampToleranceFEB
private

Definition at line 67 of file LArCaliWaveValidationAlg.h.

◆ m_ampToleranceFEBInit

std::vector<std::string> LArCaliWaveValidationAlg::m_ampToleranceFEBInit
private

Tolerance for the average amplitude of one FEB (in permills) (job-Property)

Definition at line 66 of file LArCaliWaveValidationAlg.h.

◆ m_ampToleranceInit

std::vector<std::string> LArCaliWaveValidationAlg::m_ampToleranceInit
private

Amplitude tolerance (in permills) (job-Property)

Definition at line 62 of file LArCaliWaveValidationAlg.h.

◆ m_BCKey

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

Definition at line 168 of file LArCalibValidationAlg.h.

◆ m_bcMask

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

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"}
protectedinherited

Definition at line 167 of file LArCalibValidationAlg.h.

◆ m_caloId

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

Definition at line 178 of file LArCalibValidationAlg.h.

◆ m_chanFile

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

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
protectedinherited

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
protectedinherited

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
protectedinherited

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"}
protectedinherited

Definition at line 169 of file LArCalibValidationAlg.h.

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

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
protectedinherited

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
protectedinherited

File name to store list of FEBs with deviating channels.

Definition at line 243 of file LArCalibValidationAlg.h.

◆ m_fwhmGlobalRef

double LArCaliWaveValidationAlg::m_fwhmGlobalRef =0
private

Definition at line 105 of file LArCaliWaveValidationAlg.h.

◆ m_fwhmGlobalVal

double LArCaliWaveValidationAlg::m_fwhmGlobalVal =0
private

Definition at line 103 of file LArCaliWaveValidationAlg.h.

◆ m_fwhmTolerance

CaloCellGroupList LArCaliWaveValidationAlg::m_fwhmTolerance
private

Definition at line 71 of file LArCaliWaveValidationAlg.h.

◆ m_fwhmToleranceFEB

CaloCellGroupList LArCaliWaveValidationAlg::m_fwhmToleranceFEB
private

Definition at line 75 of file LArCaliWaveValidationAlg.h.

◆ m_fwhmToleranceFEBInit

std::vector<std::string> LArCaliWaveValidationAlg::m_fwhmToleranceFEBInit
private

Tolerance for the average FWHM of one FEB (in permills) (job-Property)

Definition at line 74 of file LArCaliWaveValidationAlg.h.

◆ m_fwhmToleranceInit

std::vector<std::string> LArCaliWaveValidationAlg::m_fwhmToleranceInit
private

FWHM tolerance (in permills) (job-Property)

Definition at line 70 of file LArCaliWaveValidationAlg.h.

◆ m_gainMap

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

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 ?"}
protectedinherited

Definition at line 173 of file LArCalibValidationAlg.h.

◆ m_maxmessages

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

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
protectedinherited

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
protectedinherited

Definition at line 164 of file LArCalibValidationAlg.h.

◆ m_nBad

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

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
protectedinherited

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
protectedinherited

Number of channels that where checked (grand-total)

Definition at line 218 of file LArCalibValidationAlg.h.

◆ m_nEntriesGlobal

unsigned LArCaliWaveValidationAlg::m_nEntriesGlobal =0
private

Definition at line 106 of file LArCaliWaveValidationAlg.h.

◆ m_nFailedValidation

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

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
protectedinherited

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
protectedinherited

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
protectedinherited

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."}
protectedinherited

Definition at line 172 of file LArCalibValidationAlg.h.

◆ m_patchMissingFEBs

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

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
protectedinherited

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"}
protectedinherited

Definition at line 171 of file LArCalibValidationAlg.h.

◆ m_reference

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

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"}
protectedinherited

SG key of the reference container (job-property)

Definition at line 194 of file LArCalibValidationAlg.h.

◆ m_timeShift

bool LArCaliWaveValidationAlg::m_timeShift
private

Definition at line 77 of file LArCaliWaveValidationAlg.h.

◆ m_useBCInfo

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

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
protectedinherited

Definition at line 248 of file LArCalibValidationAlg.h.

◆ m_validation

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

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
protectedinherited

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_vDataPerFEB

std::vector<DataPerFEB> LArCaliWaveValidationAlg::m_vDataPerFEB
private

Definition at line 99 of file LArCaliWaveValidationAlg.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.

◆ m_waveHelper

LArWaveHelper LArCaliWaveValidationAlg::m_waveHelper
private

Definition at line 108 of file LArCaliWaveValidationAlg.h.


The documentation for this class was generated from the following files:
LArWave
Definition: LArWave.h:31
LArCaliWaveValidationAlg::m_fwhmTolerance
CaloCellGroupList m_fwhmTolerance
Definition: LArCaliWaveValidationAlg.h:71
LArCaliWaveValidationAlg::m_ampToleranceFEB
CaloCellGroupList m_ampToleranceFEB
Definition: LArCaliWaveValidationAlg.h:67
LArCaliWaveValidationAlg::m_nEntriesGlobal
unsigned m_nEntriesGlobal
Definition: LArCaliWaveValidationAlg.h:106
LArCalibValidationAlg::m_onlineHelper
const LArOnlineID_Base * m_onlineHelper
Definition: LArCalibValidationAlg.h:177
LArCaliWaveValidationAlg::m_ampToleranceInit
std::vector< std::string > m_ampToleranceInit
Amplitude tolerance (in permills) (job-Property)
Definition: LArCaliWaveValidationAlg.h:62
LArCalibValidationAlg::m_nFailedValidation
unsigned m_nFailedValidation
Number of channels for which vaildateChannel returned false.
Definition: LArCalibValidationAlg.h:221
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
LArCalibValidationAlg::m_reference
const REFCONTAINER * m_reference
Pointer to container with reference values.
Definition: LArCalibValidationAlg.h:182
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
LArWaveHelper::getWidth
double getWidth(const LArWave &theWave) const
Definition: LArWaveHelper.cxx:209
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
CaloCellGroupList::getDefaults
const std::vector< float > & getDefaults() const
Definition: CaloCellGroup.h:72
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
LArWave::getDt
const double & getDt() const
delta time
Definition: LArWave.h:50
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
AthCommonMsg< Algorithm >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
LArCaliWaveValidationAlg::m_ampTolerance
CaloCellGroupList m_ampTolerance
Definition: LArCaliWaveValidationAlg.h:63
LArWaveHelper::getMaxAmp
double getMaxAmp(const LArWave &theWave) const
Definition: LArWaveHelper.cxx:129
LArCaliWaveValidationAlg::m_ampGlobalRef
double m_ampGlobalRef
Definition: LArCaliWaveValidationAlg.h:104
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
LArWaveHelper::getMax
unsigned int getMax(const LArWave &theWave) const
return index of maximum sample
Definition: LArWaveHelper.cxx:89
HWIdentifier
Definition: HWIdentifier.h:13
LArCaliWaveValidationAlg::febSummary
bool febSummary(const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
Method to compare FEB averages.
Definition: LArCaliWaveValidationAlg.cxx:181
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
LArCellBinning_test.retval
def retval
Definition: LArCellBinning_test.py:112
LArCaliWaveValidationBase
LArCalibValidationAlg< LArCaliWaveContainer, LArCaliWaveContainer > LArCaliWaveValidationBase
Definition: LArCaliWaveValidationAlg.h:25
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
LArCaliWaveValidationAlg::m_fwhmToleranceFEB
CaloCellGroupList m_fwhmToleranceFEB
Definition: LArCaliWaveValidationAlg.h:75
LArCalibValidationAlg::summary
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...
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
LArCalibValidationAlg::m_caloId
const CaloCell_Base_ID * m_caloId
Definition: LArCalibValidationAlg.h:178
LArCaliWaveValidationAlg::m_fwhmToleranceFEBInit
std::vector< std::string > m_fwhmToleranceFEBInit
Tolerance for the average FWHM of one FEB (in permills) (job-Property)
Definition: LArCaliWaveValidationAlg.h:74
beamspotman.stat
stat
Definition: beamspotman.py:266
LArOnlineID_Base::feb_Id
HWIdentifier feb_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Create feb_Id from fields.
Definition: LArOnlineID_Base.cxx:1483
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArCaliWaveValidationAlg::m_timeShift
bool m_timeShift
Definition: LArCaliWaveValidationAlg.h:77
LArCalibValidationAlg::m_myMsgLvl
MSG::Level m_myMsgLvl
Message level for reporting deviations.
Definition: LArCalibValidationAlg.h:163
LArCaliWaveValidationAlg::m_fwhmGlobalRef
double m_fwhmGlobalRef
Definition: LArCaliWaveValidationAlg.h:105
LArCaliWaveValidationAlg::m_fwhmToleranceInit
std::vector< std::string > m_fwhmToleranceInit
FWHM tolerance (in permills) (job-Property)
Definition: LArCaliWaveValidationAlg.h:70
LArCaliWaveValidationAlg::m_waveHelper
LArWaveHelper m_waveHelper
Definition: LArCaliWaveValidationAlg.h:108
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
a
TList * a
Definition: liststreamerinfos.cxx:10
h
LArCaliWaveValidationAlg::m_fwhmGlobalVal
double m_fwhmGlobalVal
Definition: LArCaliWaveValidationAlg.h:103
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
ref
const boost::regex ref(r_ef)
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
DEBUG
#define DEBUG
Definition: page_access.h:11
LArCaliWaveValidationAlg::m_vDataPerFEB
std::vector< DataPerFEB > m_vDataPerFEB
Definition: LArCaliWaveValidationAlg.h:99
AthCommonMsg< Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
LArCalibValidationAlg::m_maxmessages
unsigned m_maxmessages
Limit for the number of messages about indiviual deviating channels (usd only by derived class)
Definition: LArCalibValidationAlg.h:213
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
CaloCellGroupList::printDef
void printDef() const
Definition: CaloCellGroup.cxx:301
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
LArCalibValidationAlg::channelDescription
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.
CaloCellGroupList::valuesForCell
const std::vector< float > & valuesForCell(const Identifier id)
Definition: CaloCellGroup.cxx:266
CaloCellGroupList::setDefinition
bool setDefinition(const CaloCell_Base_ID *caloCellId, const std::vector< std::string > &definitions, MsgStream &logStr)
Definition: CaloCellGroup.cxx:225
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
LArCaliWaveValidationAlg::m_ampGlobalVal
double m_ampGlobalVal
Definition: LArCaliWaveValidationAlg.h:102
LArCalibValidationAlg::m_doFebAverages
bool m_doFebAverages
wether to compare feb-averages (used only by derived class)
Definition: LArCalibValidationAlg.h:210
LArCaliWaveValidationAlg::m_ampToleranceFEBInit
std::vector< std::string > m_ampToleranceFEBInit
Tolerance for the average amplitude of one FEB (in permills) (job-Property)
Definition: LArCaliWaveValidationAlg.h:66
fitman.k
k
Definition: fitman.py:528
ServiceHandle< ICondSvc >