Skip to content
Snippets Groups Projects
Commit c2c9b4f0 authored by Frank Winklmeier's avatar Frank Winklmeier
Browse files

Merge branch 'LArRawDataNoRawChannels_jo' into 'master'

LArRawDataReadingAlg: AutoConfigure for runs in transparent mode and be more graceful with corruption

See merge request atlas/athena!46873
parents 95efdf56 3464274d
No related branches found
No related tags found
No related merge requests found
......@@ -14,14 +14,11 @@ def LArRawDataReadingCfg(configFlags, **kwargs):
if configFlags.Overlay.DataOverlay:
kwargs.setdefault("LArDigitKey", configFlags.Overlay.BkgPrefix + "FREE")
kwargs.setdefault("LArRawChannelKey", "")
print('LArRawDataReadingCfg configFlags.LAr.RawChannelSource ',configFlags.LAr.RawChannelSource)
if configFlags.LAr.RawChannelSource=="calculated":
if configFlags.LAr.RawChannelSource=="calculated" or configFlags.Overlay.DataOverlay:
kwargs.setdefault("LArRawChannelKey", "")
kwargs.setdefault("FailOnCorruption",False)
print('LArRawDataReadingCfg configFlags.LAr.RawChannelSource ',configFlags.LAr.RawChannelSource)
acc.addEventAlgo(LArRawDataReadingAlg(**kwargs))
return acc
......
......@@ -118,7 +118,7 @@ StatusCode LArRawDataReadingAlg::execute(const EventContext& ctx) const {
rodBlock.reset(new LArRodBlockPhysicsV5);
break;
default:
ATH_MSG_ERROR("Found unsupported ROD Block version " << rodMinorVersion
ATH_MSG_WARNING("Found unsupported ROD Block version " << rodMinorVersion
<< " of ROD block type " << rodBlockType);
return m_failOnCorruption ? StatusCode::FAILURE : StatusCode::SUCCESS;
}// end switch(rodMinorVersion)
......@@ -132,7 +132,7 @@ StatusCode LArRawDataReadingAlg::execute(const EventContext& ctx) const {
rodBlock.reset(new LArRodBlockCalibrationV3);
break;
default:
ATH_MSG_ERROR("Found unsupported ROD Block version " << rodMinorVersion
ATH_MSG_WARNING("Found unsupported ROD Block version " << rodMinorVersion
<< " of ROD block type " << rodBlockType);
return m_failOnCorruption ? StatusCode::FAILURE : StatusCode::SUCCESS;
}
......
......@@ -43,7 +43,7 @@ class LArRawDataReadingAlg : public AthReentrantAlgorithm {
//Other properties:
BooleanProperty m_verifyChecksum{this,"VerifyChecksum",true,"Calculate and compare checksums to detect data transmission errors"};
BooleanProperty m_failOnCorruption{this,"FailOnCorruption",true,"Return FAILURE if data corruption is found"};
BooleanProperty m_failOnCorruption{this,"FailOnCorruption",false,"Return FAILURE if data corruption is found"};
//Identifier helper
const LArOnlineID* m_onlineId=nullptr;
......
......@@ -9,25 +9,34 @@ def LArRawChannelBuilderDefault(forceIter=False):
topSequence = AlgSequence()
if larRODFlags.readDigits() and globalflags.InputFormat() == 'bytestream':
if LArRawDataReadingAlg() not in topSequence:
print ("Adding LArRawDataReaderAlg")
topSequence+=LArRawDataReadingAlg()
from LArRecUtils.LArADC2MeVCondAlgDefault import LArADC2MeVCondAlgDefault
LArADC2MeVCondAlgDefault()
from LArConditionsCommon.LArRunFormat import getLArFormatForRun
from RecExConfig.AutoConfiguration import GetRunNumber
runNum = GetRunNumber()
if runNum is not None:
lri=getLArFormatForRun(runNum)
else:
lri=None
if not forceIter:
from LArConditionsCommon.LArRunFormat import getLArFormatForRun
from RecExConfig.AutoConfiguration import GetRunNumber
runNum = GetRunNumber()
if runNum is not None:
lri=getLArFormatForRun(runNum)
else:
lri=None
if lri is not None and lri.runType() is not None and lri.runType()==0:
forceIter=True
if LArRawDataReadingAlg() not in topSequence:
print ("Adding LArRawDataReaderAlg")
topSequence+=LArRawDataReadingAlg()
if (lri and lri.runType()==0): topSequence.LArRawDataReadingAlg.LArRawChannelKey=""
if forceIter:
from LArROD.LArRODConf import LArRawChannelBuilderIterAlg
theLArRawChannelBuilder=LArRawChannelBuilderIterAlg()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment