  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
Go to the documentation of this file.
   16 #ifndef LARCALIBVALIDATIONALG_H 
   17 #define LARCALIBVALIDATIONALG_H 
   25 #include "GaudiKernel/ToolHandle.h" 
   46 template<
class CONDITIONSCONTAINER, 
class REFCONTAINER>
 
   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 ?"};
 
  
bool m_patchMissingFEBs
wether missing FEBS (incomplete COOL channels) should be patched
 
SG::ReadCondHandleKey< REFCONTAINER > m_referenceKey
SG key of the reference container (job-property)
 
const CONDITIONSCONTAINER * m_validation
Pointer to container to be validated.
 
const LArOnlineID_Base * m_onlineHelper
 
unsigned m_nFailedValidation
Number of channels for which vaildateChannel returned false.
 
std::vector< std::string > m_gainMap
 
const REFCONTAINER * m_reference
Pointer to container with reference values.
 
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
 
SG::ReadCondHandleKey< LArCalibLineMapping > m_CLKey
 
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
 
std::vector< std::pair< std::pair< HWIdentifier, unsigned >, unsigned > > CBANDCHANANDGAIN_t
 
StatusCode stop()
Standard finalize method Loops over all channels and all gains and calls the validateChannel method.
 
Gaudi::Property< std::vector< unsigned int > > m_patchCBs
 
bool patchMissingFEBs(const FEBANDGAIN_t &febAndGain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
Fills channels of missing FEBs.
 
std::vector< std::pair< HWIdentifier, unsigned > > FEBANDGAIN_t
 
bool m_printFailedPattern
wether to check for FEBs and Calib-lines with many deviating channels
 
std::vector< std::pair< HWIdentifier, bool > > CHECKEDID_t
Keeping track of channels failing the validation criteria (per gain)
 
CONDITIONSCONTAINER::MultChanCollection MULTICHANCOLL
 
std::ofstream m_chanFile
File name to store list of deviating channels.
 
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
 
unsigned m_nValidated
Number of channels for which vaildateChannel returned true.
 
void findFailedPatterns(const LArOnOffIdMapping *cabling, const LArCalibLineMapping *clCont, const LArBadChannelCont *bcCont)
 
::StatusCode StatusCode
StatusCode definition for legacy code.
 
virtual LArCondObj getRefObj(const HWIdentifier chid, const int gain) const =0
Method implmented in derived class to get the reference object from ref-container.
 
StatusCode execute()
Standard execute method This method has to be emtpy since all the job is done in stop()
 
CONDITIONSCONTAINER * m_nc_validation
Non-const pointer to container to be validated (for FEB patching)
 
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.
 
std::string m_febFileName
File name to store list of FEBs with deviating channels.
 
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...
 
LArCalibValidationAlg(const std::string &name, ISvcLocator *pSvcLocator)
Regular algorithm constructor.
 
std::ofstream m_febFile
File name to store list of FEBs with deviating channels.
 
const CaloCell_Base_ID * m_caloId
 
CONDITIONSCONTAINER::LArCondObj LArCondObj
 
std::string m_chanFileName
File name to store list of deviating channels.
 
unsigned m_nNoReference
Number of channels for which not reference channel could be found.
 
Helper for the Liquid Argon Calorimeter cell identifiers.
 
std::vector< CHECKEDID_t > m_checkedIds
 
unsigned m_nChecked
Number of channels that where checked (grand-total)
 
MSG::Level m_myMsgLvl
Message level for reporting deviations.
 
bool m_checkCompleteness
wether completeness shall be checked or not (job-property)
 
bool patchMissingCalibBoards(const CBANDCHANANDGAIN_t &CBAndGain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont)
Fills channels of missing calib boards.
 
StatusCode initialize()
Standard initialization method.
 
void febOutput(const HWIdentifier &febid, const unsigned gain, const unsigned nGood, const unsigned nBad)
 
const boost::regex ref(r_ef)
 
bool checkCoolChannelCompleteness(const LArOnOffIdMapping *cabling, const LArCalibLineMapping *clCont, const LArBadChannelCont *bcCont)
Verify if all FEBs of each Cool-Channel is present.
 
bool m_useBCInfo
Flag set to true in order to use bad-channel info for the channel description as well as to ingore so...
 
unsigned m_maxmessages
Limit for the number of messages about indiviual deviating channels (usd only by derived class)
 
Algorithm to validate LAr Autocorr;.
 
std::string m_validationKey
SG key of the container to be validated (job-property)
 
virtual StatusCode preLoop()
Method executed before the loop over all channels This method can be implemented by the deriving algo...
 
CONDITIONSCONTAINER::ConstConditionsMapIterator CONTIT
 
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.
 
unsigned m_nBad
Number of channels known to be bad according to the bad-channel tool.
 
Helper base class for offline cell identifiers.
 
bool m_doFebAverages
wether to compare feb-averages (used only by derived class)
 
~LArCalibValidationAlg()
Destructor.
 
Gaudi::Property< std::vector< std::string > > m_problemsToMask
 
LArBadChannelMask m_bcMask