|
ATLAS Offline Software
|
Go to the documentation of this file.
15 #ifndef LARCALIBPATCHINGALG_H
16 #define LARCALIBPATCHINGALG_H
52 template<
class CONDITIONSCONTAINER>
88 typedef typename CONDITIONSCONTAINER::ConstConditionsMapIterator
CONTIT;
89 typedef typename CONDITIONSCONTAINER::LArCondObj
LArCondObj;
135 #ifdef LARRAWCONDITIONS_LARMPHYSOVERMCALP
148 #ifdef LARRAWCONDITIONS_LARSINGLEFLOATP
180 {
return StatusCode::SUCCESS;};
195 Gaudi::Property<std::vector<std::string> > m_problemsToPatch{
this,
"ProblemsToPatch",{},
"Bad-Channel categories to patch"};
196 Gaudi::Property<std::vector<unsigned int> > m_doNotPatchCBs{
this,
"DoNotPatchCBs", {},
"Do not patch channels from this CalibBoard"};
199 BooleanProperty m_useCorrChannel{
this,
"UseCorrChannels",
true,
"True: Use separate correction COOL channel, False: Correction + data in the same channel"};
200 BooleanProperty m_patchAllMissing{
this,
"PatchAllMissing",
false,
"True: Patch missing calibration constants regardless of their bad-channel status"};
201 BooleanProperty m_unlock{
this,
"Unlock",
false,
"Modify input container"};
202 BooleanProperty m_isSC{
this,
"SuperCells",
false,
"Working on the SuperCells ?"};
211 StringProperty m_containerKey{
this,
"ContainerKey",
"",
"SG key of the LArConditionsContainer to be patched"};
212 StringProperty m_newContainerKey{
this,
"NewContainerKey",
"",
"If the corrections go in a separate container put SG key here"};
213 StringProperty m_patchMethodProp{
this,
"PatchMethod",
"FEBNeighbor",
"Method to patch conditions for channels with broken calibration line"};
bool getAverage(const HWIdentifier chid, const int gain, LArAutoCorrP1 &patch, const LArBadChannelCont *bcCont, const LArOnOffIdMapping *cabling, bool isphi=false)
Specialized method to average LArAutoCorr over a FEB.
patchMethod m_patchMethod
StatusCode setSymlink(const LArOFCComplete *ofc) const
bool setZero(const HWIdentifier chid, const int gain, LArOFCP1 &patch)
LArCalibPatchingAlg(const std::string &name, ISvcLocator *pSvcLocator)
regular Algorithm constructor
bool getAverage(const HWIdentifier, const int, LArCaliWaveVec &, const LArBadChannelCont *bcCont, const LArOnOffIdMapping *cabling, bool isphi=true)
c-struct reproducing the structure of the persistent data
bool setZero(const HWIdentifier chid, const int gain, LArCaliWaveVec &patch)
bool getAverage(const HWIdentifier chid, const int gain, LArRampP1 &patch, const LArBadChannelCont *bcCont, const LArOnOffIdMapping *cabling, bool isphi=true)
Specialized method to average Ramps over a phi-ring.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
LArBadChannelMask m_bcMask
c-struct reproducing the structure of the persistent data
StatusCode setSymlink(const LArAutoCorrComplete *) const
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
const LArOnlineID_Base * m_onlineHelper
Persistent data for LArRamp Copied from LAr.
c-struct reproducing the structure of the persistent data
CONDITIONSCONTAINER * m_contOut
std::vector< HWIdentifier > & getFEBChans(const HWIdentifier chid, const LArBadChannelCont *bcCont)
StatusCode stop()
Finalize method.
bool setZero(const HWIdentifier chid, const int gain, LArAutoCorrP1 &patch)
const CaloCell_Base_ID * m_caloId
Liquid Argon Cumulative Wave Container.
std::vector< HWIdentifier > & getPhiRing(const HWIdentifier chid, const LArBadChannelCont *bcCont, const LArOnOffIdMapping *cabling, unsigned distance=1)
Helper method to get a phi-ring.
This class implements the ILArAutoCorr interface.
This class implements the ILArMphysOverMcal interface.
::StatusCode StatusCode
StatusCode definition for legacy code.
bool getAverage(const HWIdentifier chid, const int gain, LArOFCP1 &patch, const LArBadChannelCont *bcCont, const LArOnOffIdMapping *cabling, bool isphi=true)
Specialized method to average OFCs over a phi-ring.
const CONDITIONSCONTAINER * m_contIn
std::vector< HWIdentifier > m_idList
Helper class for offline supercell identifiers.
StatusCode execute()
Empty Execute method.
StatusCode setSymlink(const LArCaliWaveContainer *) const
~LArCalibPatchingAlg()
Destructor.
StatusCode setSymlink(const LArRampComplete *ramp) const
CONDITIONSCONTAINER::ConstConditionsMapIterator CONTIT
Helper for the Liquid Argon Calorimeter cell identifiers.
bool patch(const HWIdentifier chid, const int gain, const LArBadChannelCont *bcCont, const LArOnOffIdMapping *cabling, const LArCalibLineMapping *clCont)
patch method
StatusCode initialize()
Initialize method.
bool setZero(const HWIdentifier chid, const int gain, LArRampP1 &patch)
CONDITIONSCONTAINER::LArCondObj LArCondObj
StatusCode setSymlink(const LArMphysOverMcalComplete *ramp) const
Helper base class for offline cell identifiers.
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
This class implements the ILArOFC interface.