16#ifndef LARCALIBVALIDATIONALG_H
17#define LARCALIBVALIDATIONALG_H
25#include "GaudiKernel/ToolHandle.h"
46template<
class CONDITIONSCONTAINER,
class REFCONTAINER>
69 StatusCode
execute() {
return StatusCode::SUCCESS;}
76 StatusCode
finalize(){
return StatusCode::SUCCESS;}
79 typedef typename CONDITIONSCONTAINER::ConstConditionsMapIterator
CONTIT;
80 typedef typename CONDITIONSCONTAINER::LArCondObj
LArCondObj;
171 Gaudi::Property<std::vector<std::string> >
m_problemsToMask{
this,
"ProblemsToMask",{},
"Bad-Channel categories to mask"};
172 Gaudi::Property<std::vector<unsigned int> >
m_patchCBs{
this,
"PatchCBs", {},
"List of missing CalibBoards to patch using values from reference container."};
173 BooleanProperty
m_isSC{
this,
"SuperCells",
false,
"Working on SuperCells ?"};
const boost::regex ref(r_ef)
LArBadXCont< LArBadChannel > LArBadChannelCont
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Helper base class for offline cell identifiers.
LArAutoCorrComplete::LArCondObj LArCondObj
std::string m_validationKey
Gaudi::Property< std::vector< unsigned int > > m_patchCBs
const LArOnlineID_Base * m_onlineHelper
const CaloCell_Base_ID * m_caloId
SG::ReadCondHandleKey< LArAutoCorrComplete > m_referenceKey
virtual StatusCode preLoop()
Method executed before the loop over all channels This method can be implemented by the deriving algo...
std::vector< std::pair< HWIdentifier, unsigned > > FEBANDGAIN_t
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
std::vector< std::pair< std::pair< HWIdentifier, unsigned >, unsigned > > CBANDCHANANDGAIN_t
LArBadChannelMask m_bcMask
void febOutput(const HWIdentifier &febid, const unsigned gain, const unsigned nGood, const unsigned nBad)
std::string m_chanFileName
std::vector< CHECKEDID_t > m_checkedIds
LArCalibValidationAlg(const std::string &name, ISvcLocator *pSvcLocator)
Regular algorithm constructor.
LArAutoCorrComplete::ConstConditionsMapIterator CONTIT
bool checkCoolChannelCompleteness(const LArOnOffIdMapping *cabling, const LArCalibLineMapping *clCont, const LArBadChannelCont *bcCont)
Verify if all FEBs of each Cool-Channel is present.
StatusCode execute()
Standard execute method This method has to be emtpy since all the job is done in stop()
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.
StatusCode initialize()
Standard initialization method.
std::vector< std::string > m_gainMap
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...
LArAutoCorrComplete * m_nc_validation
bool patchMissingFEBs(const FEBANDGAIN_t &febAndGain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
Fills channels of missing FEBs.
const LArAutoCorrComplete * m_reference
const LArAutoCorrComplete * m_validation
StatusCode stop()
Standard finalize method Loops over all channels and all gains and calls the validateChannel method.
Gaudi::Property< std::vector< std::string > > m_problemsToMask
bool patchMissingCalibBoards(const CBANDCHANANDGAIN_t &CBAndGain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
Fills channels of missing calib boards.
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.
std::vector< std::pair< HWIdentifier, bool > > CHECKEDID_t
SG::ReadCondHandleKey< LArCalibLineMapping > m_CLKey
std::string m_febFileName
~LArCalibValidationAlg()
Destructor.
virtual LArCondObj getRefObj(const HWIdentifier chid, const int gain) const =0
Method implmented in derived class to get the reference object from ref-container.
void findFailedPatterns(const LArOnOffIdMapping *cabling, const LArCalibLineMapping *clCont, const LArBadChannelCont *bcCont)
LArAutoCorrComplete::MultChanCollection MULTICHANCOLL
unsigned m_nFailedValidation
bool m_printFailedPattern
Helper for the Liquid Argon Calorimeter cell identifiers.