diff --git a/Event/EventOverlay/OverlayCommonAlgs/python/OverlayFlags.py b/Event/EventOverlay/OverlayCommonAlgs/python/OverlayFlags.py index a7d119dbe3049f825750caad4cc6f6cf852da46c..ffb07a67924b4dd41a7f06f5c03d88f624ad4a05 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/python/OverlayFlags.py +++ b/Event/EventOverlay/OverlayCommonAlgs/python/OverlayFlags.py @@ -15,6 +15,12 @@ from AthenaCommon.Logging import logging overlayflaglog = logging.getLogger('Overlay_Flags') +class isOverlayMT(JobProperty): + """Flag to separate the new MT-ready overlay from the old one""" + statusOn=True + allowedTypes=['bool'] + StoredValue = False + class isDataOverlay(JobProperty): """Flag to separate data vs MC overlay""" statusOn=True @@ -51,6 +57,18 @@ class outputStore(JobProperty): allowedTypes=['str'] StoredValue = 'StoreGateSvc' +class bkgPrefix(JobProperty): + """Overlay background StoreGate key prefix""" + statusOn=True + allowedTypes=['str'] + StoredValue = 'Bkg_' + +class sigPrefix(JobProperty): + """Overlay signal StoreGate key prefix""" + statusOn=True + allowedTypes=['str'] + StoredValue = 'Sig_' + class extraTagInfoPairs(JobProperty): """ workaround to correctly populate the /TagInfo metadata container """ diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py index d0c8fadde07d6d4d9d30fbad60c68183a217e5fd..b78f88d810cdea3623e8daa4275c68764967916d 100644 --- a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py +++ b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py @@ -207,8 +207,15 @@ def commonSCT_DigitizationConfig(name,**kwargs): ###################################################################################### def SCT_DigitizationTool(name="SCT_DigitizationTool", **kwargs): - kwargs.setdefault("OutputObjectName", "SCT_RDOs") - kwargs.setdefault("OutputSDOName", "SCT_SDO_Map") + from Digitization.DigitizationFlags import digitizationFlags + if digitizationFlags.PileUpPremixing and 'OverlayMT' in digitizationFlags.experimentalDigi(): + from OverlayCommonAlgs.OverlayFlags import overlayFlags + kwargs.setdefault("OutputObjectName", overlayFlags.bkgPrefix() + "SCT_RDOs") + kwargs.setdefault("OutputSDOName", overlayFlags.bkgPrefix() + "SCT_SDO_Map") + else: + kwargs.setdefault("OutputObjectName", "SCT_RDOs") + kwargs.setdefault("OutputSDOName", "SCT_SDO_Map") + kwargs.setdefault("HardScatterSplittingMode", 0) return commonSCT_DigitizationConfig(name,**kwargs) diff --git a/LArCalorimeter/LArDigitization/python/LArDigitizationConfig.py b/LArCalorimeter/LArDigitization/python/LArDigitizationConfig.py index 3d6e9b778508f231d59bdc194a0458d7ee31bb77..5fc80db22d07b5232ed4f6843f668793044b3d8c 100644 --- a/LArCalorimeter/LArDigitization/python/LArDigitizationConfig.py +++ b/LArCalorimeter/LArDigitization/python/LArDigitizationConfig.py @@ -103,7 +103,12 @@ def getLArPileUpTool(name='LArPileUpTool', **kwargs): ## useLArFloat()=True,isOv kwargs.setdefault('HighGainThreshEMECIW',0) kwargs.setdefault('RndmEvtOverlay', isOverlay() ) - kwargs.setdefault('DigitContainer', 'LArDigitContainer_MC' ) ##FIXME - should not be hard-coded + + if digitizationFlags.PileUpPremixing and 'OverlayMT' in digitizationFlags.experimentalDigi(): + from OverlayCommonAlgs.OverlayFlags import overlayFlags + kwargs.setdefault('DigitContainer', overlayFlags.bkgPrefix() + 'LArDigitContainer_MC') + else: + kwargs.setdefault('DigitContainer', 'LArDigitContainer_MC') ##FIXME - should not be hard-coded # if doing MC+MC overlay from AthenaCommon.GlobalFlags import globalflags diff --git a/LArCalorimeter/LArL1Sim/share/LArL1Sim_G4_jobOptions.py b/LArCalorimeter/LArL1Sim/share/LArL1Sim_G4_jobOptions.py index 0522217fdef92dca10d6255cf0fcc00134bd24d0..850fe68f1c9b0dd0170ecb54e43b973733993166 100755 --- a/LArCalorimeter/LArL1Sim/share/LArL1Sim_G4_jobOptions.py +++ b/LArCalorimeter/LArL1Sim/share/LArL1Sim_G4_jobOptions.py @@ -10,3 +10,7 @@ digitizationFlags.rndmSeedList.addSeed("LArTTL1Maker", 335242, 7306589 ) #include( "CaloConditions/CaloConditions_jobOptions.py" ) +if digitizationFlags.PileUpPremixing and 'OverlayMT' in digitizationFlags.experimentalDigi(): + from OverlayCommonAlgs.OverlayFlags import overlayFlags + theLArTTL1Maker.EmTTL1ContainerName = overlayFlags.bkgPrefix() + "LArTTL1EM" + theLArTTL1Maker.HadTTL1ContainerName = overlayFlags.bkgPrefix() + "LArTTL1HAD" diff --git a/LArCalorimeter/LArROD/python/LArRODConfig.py b/LArCalorimeter/LArROD/python/LArRODConfig.py index fd7166810b94123b6168b81e0aba2088ec7ca322..e9c1999802e30db369cbdfbb013158f3baf3f4ab 100644 --- a/LArCalorimeter/LArROD/python/LArRODConfig.py +++ b/LArCalorimeter/LArROD/python/LArRODConfig.py @@ -7,7 +7,13 @@ def getLArRawChannelBuilder(name="LArRawChannelBuilder" , **kwargs): from AthenaCommon.AppMgr import ToolSvc kwargs.setdefault('LArRawChannelKey', "LArRawChannels") - kwargs.setdefault('LArDigitKey', 'LArDigitContainer_MC') + + from Digitization.DigitizationFlags import digitizationFlags + if digitizationFlags.PileUpPremixing and 'OverlayMT' in digitizationFlags.experimentalDigi(): + from OverlayCommonAlgs.OverlayFlags import overlayFlags + kwargs.setdefault('LArDigitKey', overlayFlags.bkgPrefix() + 'LArDigitContainer_MC') + else: + kwargs.setdefault('LArDigitKey', 'LArDigitContainer_MC') #Call required Cond-Algos: from LArRecUtils.LArAutoCorrTotalCondAlgDefault import LArAutoCorrTotalCondAlgDefault diff --git a/Simulation/Digitization/python/DigiOutput.py b/Simulation/Digitization/python/DigiOutput.py index 87c6dc6d3fe55c21c0fee66979eda3c8a40c559e..e342b08971217f03da526d20351ece3670674a0a 100644 --- a/Simulation/Digitization/python/DigiOutput.py +++ b/Simulation/Digitization/python/DigiOutput.py @@ -136,7 +136,7 @@ def getStreamRDO_ItemList(log): if 'AddCaloDigi' in digitizationFlags.experimentalDigi(): StreamRDO_ItemList+=["LArDigitContainer#*"] elif digitizationFlags.PileUpPremixing: - StreamRDO_ItemList+=["LArDigitContainer#LArDigitContainer_MC"] + StreamRDO_ItemList+=["LArDigitContainer#*LArDigitContainer_MC"] else: StreamRDO_ItemList+=["LArDigitContainer#LArDigitContainer_MC_Thinned"] if hasattr(DetFlags.digitize, 'HGTD_on') and DetFlags.digitize.HGTD_on(): @@ -206,8 +206,8 @@ def getStreamRDO_ItemList(log): if DetFlags.writeRDOPool.any_on(): ## TimingAlg - StreamRDO_ItemList +=["RecoTimingObj#EVNTtoHITS_timings"] - StreamRDO_ItemList +=["RecoTimingObj#HITStoRDO_timings"] + StreamRDO_ItemList +=["RecoTimingObj#*EVNTtoHITS_timings"] + StreamRDO_ItemList +=["RecoTimingObj#*HITStoRDO_timings"] if DetFlags.writeRDOPool.any_on(): # Pool Output diff --git a/Simulation/Digitization/share/CaloDigitization.py b/Simulation/Digitization/share/CaloDigitization.py index 8380913629178db3adc06af09798d9ea63c2ab8a..fbdc42b0f627f83205ceba8cf0d331086d985aef 100755 --- a/Simulation/Digitization/share/CaloDigitization.py +++ b/Simulation/Digitization/share/CaloDigitization.py @@ -16,8 +16,11 @@ from AthenaCommon.AppMgr import ServiceMgr if DetFlags.LAr_on(): if DetFlags.digitize.LAr_on(): job += CfgGetter.getAlgorithm("LArRawChannelBuilder", tryDefaultConfigurable=True) - from LArROD.LArDigits import DefaultLArDigitThinner - LArDigitThinner = DefaultLArDigitThinner('LArDigitThinner') # automatically added to topSequence + + if not digitizationFlags.PileUpPremixing: + from LArROD.LArDigits import DefaultLArDigitThinner + LArDigitThinner = DefaultLArDigitThinner('LArDigitThinner') # automatically added to topSequence + if digitizationFlags.doDigiTruth(): from LArROD.LArRawChannelGetter_DigiHSTruth import LArRawChannelGetter_DigiHSTruth LArRawChannelGetter_DigiHSTruth() diff --git a/Simulation/Digitization/test/test_MC16a_Digi_tf_configuration.py b/Simulation/Digitization/test/test_MC16a_Digi_tf_configuration.py index adde2f181f0527dfee939588ccb2ca46d8f574d7..57a81735ff312c5520170d9dc802d5468ba1dc01 100755 --- a/Simulation/Digitization/test/test_MC16a_Digi_tf_configuration.py +++ b/Simulation/Digitization/test/test_MC16a_Digi_tf_configuration.py @@ -223,9 +223,9 @@ class TestDigitizationMC16a(unittest.TestCase): def test___SignalOnlyMcEventCollTool_properties(self): tested_configurable_name = 'ToolSvc.SignalOnlyMcEventCollTool' - expected_property_list = ['KeepUnstable', 'SaveInTimeMinBias', 'AddBackgroundCollisionVertices', 'zRange', 'TruthCollKey', 'OnlySaveSignalTruth', 'OutOfTimeAbsEtaMax', 'rRange', 'CompressOutputCollection', 'ExtraOutputs', 'AbsEtaMax', 'LastXing', 'SaveOutOfTimeMinBias', 'ExtraInputs', 'DetStore', 'SaveCavernBackground', 'FirstXing', 'SaveRestOfMinBias', 'EvtStore', 'HighTimeToKeep', 'LowTimeToKeep'] + expected_property_list = ['KeepUnstable', 'SaveInTimeMinBias', 'AddBackgroundCollisionVertices', 'zRange', 'TruthCollInputKey', 'TruthCollOutputKey', 'OnlySaveSignalTruth', 'OutOfTimeAbsEtaMax', 'rRange', 'CompressOutputCollection', 'ExtraOutputs', 'AbsEtaMax', 'LastXing', 'SaveOutOfTimeMinBias', 'ExtraInputs', 'DetStore', 'SaveCavernBackground', 'FirstXing', 'SaveRestOfMinBias', 'EvtStore', 'HighTimeToKeep', 'LowTimeToKeep'] expected_nonstring_properties = {'KeepUnstable': 'False', 'SaveInTimeMinBias': 'True', 'AddBackgroundCollisionVertices': 'True', 'zRange': '200.0', 'OnlySaveSignalTruth': 'True', 'OutOfTimeAbsEtaMax': '3.0', 'rRange': '20.0', 'CompressOutputCollection': 'False', 'ExtraOutputs': '[]', 'AbsEtaMax': '5.0', 'LastXing': '0', 'SaveOutOfTimeMinBias': 'True', 'ExtraInputs': '[]', 'SaveCavernBackground': 'True', 'FirstXing': '0', 'SaveRestOfMinBias': 'False', 'HighTimeToKeep': '50.5', 'LowTimeToKeep': '-50.5'} - expected_string_properties = {'TruthCollKey': 'TruthEvent'} + expected_string_properties = {'TruthCollInputKey': 'TruthEvent', 'TruthCollOutputKey': 'TruthEvent'} self._detailed_ConfigurablePropertiesCheck( tested_configurable_name, expected_property_list, diff --git a/Simulation/G4Utilities/MCTruthSimAlgs/python/MCTruthSimAlgsConfig.py b/Simulation/G4Utilities/MCTruthSimAlgs/python/MCTruthSimAlgsConfig.py index 418193216c3f3245fda6a05ca4397372c844bfaf..3a212e7483e9d144446a0d6deb193bd5c3e9b83a 100644 --- a/Simulation/G4Utilities/MCTruthSimAlgs/python/MCTruthSimAlgsConfig.py +++ b/Simulation/G4Utilities/MCTruthSimAlgs/python/MCTruthSimAlgsConfig.py @@ -6,7 +6,13 @@ from AthenaCommon import CfgMgr ############################################################################ def genericMergeMcEventCollTool(name="MergeMcEventCollTool", **kwargs): - kwargs.setdefault("TruthCollKey", "TruthEvent") + if 'OverlayMT' in digitizationFlags.experimentalDigi(): + from OverlayCommonAlgs.OverlayFlags import overlayFlags + kwargs.setdefault("TruthCollOutputKey", overlayFlags.bkgPrefix() + "TruthEvent") + else: + kwargs.setdefault("TruthCollOutputKey", "TruthEvent") + kwargs.setdefault("TruthCollInputKey", "TruthEvent") + kwargs.setdefault("LowTimeToKeep", -50.5) kwargs.setdefault("HighTimeToKeep", 50.5) kwargs.setdefault("KeepUnstable", False) @@ -197,6 +203,13 @@ def MergeRecoTimingObjTool(name="MergeRecoTimingObjTool", **kwargs): kwargs.setdefault("FirstXing", TimingObj_FirstXing() ) kwargs.setdefault("LastXing", TimingObj_LastXing() ) + kwargs.setdefault("RecoTimingObjInputKey", "EVNTtoHITS_timings") + if 'OverlayMT' in digitizationFlags.experimentalDigi(): + from OverlayCommonAlgs.OverlayFlags import overlayFlags + kwargs.setdefault("RecoTimingObjOutputKey", overlayFlags.bkgPrefix() + "EVNTtoHITS_timings") + else: + kwargs.setdefault("RecoTimingObjOutputKey", "EVNTtoHITS_timings") + return CfgMgr.MergeRecoTimingObjTool(name, **kwargs) diff --git a/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeMcEventCollTool.cxx b/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeMcEventCollTool.cxx index 2f3150cfce8f9f3a6cb0ae0f1ba52874c349e930..88454c01922f45561eaced7b59cc9e36b0357453 100644 --- a/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeMcEventCollTool.cxx +++ b/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeMcEventCollTool.cxx @@ -136,7 +136,8 @@ MergeMcEventCollTool::MergeMcEventCollTool(const std::string& type, m_addBackgroundCollisionVertices(true), m_signal_event_number(0) { - declareProperty("TruthCollKey", m_truthCollKey=std::string("TruthEvent")); + declareProperty("TruthCollInputKey", m_truthCollInputKey=std::string("TruthEvent")); + declareProperty("TruthCollOutputKey", m_truthCollOutputKey=std::string("TruthEvent")); declareProperty("KeepUnstable", m_keepUnstable=false, "do not cut unstable particles"); declareProperty("AbsEtaMax", m_absEtaMax=5.0); declareProperty("OutOfTimeAbsEtaMax", m_absEtaMax_outOfTime=3.0); @@ -188,7 +189,7 @@ StatusCode MergeMcEventCollTool::prepareEvent(unsigned int nInputEvents) { if (0 == m_nInputMcEventColls) { msg(MSG::ERROR) << "prepareEvent: TimedTruthList with key " - << m_truthCollKey.value() + << m_truthCollInputKey.value() << " is empty" << endmsg; return StatusCode::RECOVERABLE; } @@ -210,10 +211,10 @@ StatusCode MergeMcEventCollTool::processAllSubEvents() { //first get the list of McEventCollections typedef PileUpMergeSvc::TimedList<McEventCollection>::type TimedTruthList; TimedTruthList truthList; - if (!m_pMergeSvc->retrieveSubEvtsData(m_truthCollKey.value(), truthList).isSuccess() ) { + if (!m_pMergeSvc->retrieveSubEvtsData(m_truthCollInputKey.value(), truthList).isSuccess() ) { msg(MSG::ERROR) << "execute: Can not find TimedTruthList with key " - << m_truthCollKey.value() << endmsg; + << m_truthCollInputKey.value() << endmsg; return StatusCode::RECOVERABLE; } @@ -225,7 +226,7 @@ StatusCode MergeMcEventCollTool::processAllSubEvents() { if (0 == m_nInputMcEventColls) { msg(MSG::ERROR) << "execute: TimedTruthList with key " - << m_truthCollKey.value() + << m_truthCollInputKey.value() << " is empty" << endmsg; return StatusCode::RECOVERABLE; } @@ -281,9 +282,9 @@ StatusCode MergeMcEventCollTool::processBunchXing(int bunchXing, //loop over the McEventCollections (each one assumed to containing exactly one GenEvent) of the various input events while (iEvt != eSubEvents) { const McEventCollection *pMEC(NULL); - if (!m_pMergeSvc->retrieveSingleSubEvtData(m_truthCollKey.value(), pMEC, + if (!m_pMergeSvc->retrieveSingleSubEvtData(m_truthCollInputKey.value(), pMEC, bunchXing, iEvt).isSuccess()){ - ATH_MSG_ERROR("McEventCollection not found for event key " << m_truthCollKey.value()); + ATH_MSG_ERROR("McEventCollection not found for event key " << m_truthCollInputKey.value()); return StatusCode::FAILURE; } @@ -396,7 +397,7 @@ StatusCode MergeMcEventCollTool::processFirstSubEvent(const McEventCollection *p } m_startingIndexForBackground=currentMcEventCollectionIndex; m_nBkgEventsReadSoFar=0; //number of input events/eventcolls read so far. Used to build index of output GenEvent in ovrl McEvColl - sc = evtStore()->record(m_pOvrlMcEvColl, m_truthCollKey);//**BIG TEST**//sc=StatusCode::SUCCESS; + sc = evtStore()->record(m_pOvrlMcEvColl, m_truthCollOutputKey);//**BIG TEST**//sc=StatusCode::SUCCESS; ATH_MSG_DEBUG( "Starting loop on Background events ... " ); return sc; diff --git a/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeMcEventCollTool.h b/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeMcEventCollTool.h index c919cb63046eb8d85343c65d7afdb267ea4858e4..feb2f44dd4055c792bfb5ab8d3ea140562923c2b 100755 --- a/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeMcEventCollTool.h +++ b/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeMcEventCollTool.h @@ -72,7 +72,9 @@ private: //** New McEventCollection to be written out to file McEventCollection* m_pOvrlMcEvColl; //** Name of input McEventCollection - StringProperty m_truthCollKey; + StringProperty m_truthCollInputKey; + //** Name of output McEventCollection + StringProperty m_truthCollOutputKey; //** Should unstable particles should be kept? BooleanProperty m_keepUnstable; //** Eta cut-off for INTIME GenParticles diff --git a/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeRecoTimingObjTool.cxx b/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeRecoTimingObjTool.cxx index 70781b11eff69773d2bfd0035601dbaf8a063327..4c14335f21ffa82c5371e563ea8b27237b11e47e 100644 --- a/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeRecoTimingObjTool.cxx +++ b/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeRecoTimingObjTool.cxx @@ -14,10 +14,12 @@ MergeRecoTimingObjTool::MergeRecoTimingObjTool(const std::string& type, const IInterface* parent) : PileUpToolBase(type, name, parent), m_pMergeSvc("PileUpMergeSvc", name), - m_recTimingObjKey("EVNTtoHITS_timings"), + m_recTimingObjInputKey("EVNTtoHITS_timings"), + m_recTimingObjOutputKey("EVNTtoHITS_timings"), m_firstSubEvent(true) { - declareProperty("RecoTimingObjKey", m_recTimingObjKey);//=std::string("EVNTtoHITS_timings")); + declareProperty("RecoTimingObjInputKey", m_recTimingObjInputKey); + declareProperty("RecoTimingObjOutputKey", m_recTimingObjOutputKey); } StatusCode MergeRecoTimingObjTool::prepareEvent(unsigned int nInputEvents) @@ -38,7 +40,7 @@ StatusCode MergeRecoTimingObjTool::processBunchXing(int bunchXing, if (bSubEvents != eSubEvents) { const RecoTimingObj *oldColl(0); - if (m_pMergeSvc->retrieveSingleSubEvtData(m_recTimingObjKey.value(), oldColl, + if (m_pMergeSvc->retrieveSingleSubEvtData(m_recTimingObjInputKey.value(), oldColl, bunchXing, bSubEvents).isSuccess()) { CHECK(processRecoTimingObj(oldColl)); @@ -79,7 +81,7 @@ StatusCode MergeRecoTimingObjTool::processAllSubEvents() } const RecoTimingObj *oldColl(NULL); - if( !m_pMergeSvc->retrieveOriginal(m_recTimingObjKey.value(), oldColl).isSuccess() || !oldColl) + if( !m_pMergeSvc->retrieveOriginal(m_recTimingObjInputKey.value(), oldColl).isSuccess() || !oldColl) { ATH_MSG_DEBUG ( "processAllSubEventss: Cannot find RecoTimingObj in input HITS file" ); return StatusCode::SUCCESS; @@ -91,7 +93,7 @@ StatusCode MergeRecoTimingObjTool::processAllSubEvents() StatusCode MergeRecoTimingObjTool::processRecoTimingObj(const RecoTimingObj* inputObj) { RecoTimingObj *outputRecoTimingObj = new RecoTimingObj(*inputObj); //CHECK copy constructor is OK!! - CHECK(evtStore()->record(outputRecoTimingObj, m_recTimingObjKey.value())); + CHECK(evtStore()->record(outputRecoTimingObj, m_recTimingObjOutputKey.value())); ATH_MSG_DEBUG( "processRecoTimingObj: copied original event RecoTimingObj" ); return StatusCode::SUCCESS; } diff --git a/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeRecoTimingObjTool.h b/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeRecoTimingObjTool.h index 5b8172f69f65bd3b05243d5d133b63c2942ac05e..d4d4671c9eb6d84cd01589f4900ef0553ef26dd7 100644 --- a/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeRecoTimingObjTool.h +++ b/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeRecoTimingObjTool.h @@ -46,7 +46,8 @@ private: /// share code between two approaches virtual StatusCode processRecoTimingObj(const RecoTimingObj *inputObj); ServiceHandle<PileUpMergeSvc> m_pMergeSvc; - StringProperty m_recTimingObjKey; + StringProperty m_recTimingObjInputKey; + StringProperty m_recTimingObjOutputKey; bool m_firstSubEvent; }; #endif diff --git a/Simulation/SimuJobTransforms/share/skeleton.HITtoRDO.py b/Simulation/SimuJobTransforms/share/skeleton.HITtoRDO.py index d9818a640a885aea0af8b760f6aba60aa511209d..e284c64766333c2f1ce7112db550e4deb4dd0725 100644 --- a/Simulation/SimuJobTransforms/share/skeleton.HITtoRDO.py +++ b/Simulation/SimuJobTransforms/share/skeleton.HITtoRDO.py @@ -401,8 +401,13 @@ topSeq = AlgSequence() topSeq.TimeOut = 43200 * Units.s try: + timingOutput = "HITStoRDO_timings" + if 'OverlayMT' in digitizationFlags.experimentalDigi(): + from OverlayCommonAlgs.OverlayFlags import overlayFlags + timingOutput = overlayFlags.bkgPrefix() + timingOutput + from RecAlgs.RecAlgsConf import TimingAlg - topSeq+=TimingAlg("DigiTimerBegin", TimingObjOutputName = "HITStoRDO_timings") + topSeq += TimingAlg("DigiTimerBegin", TimingObjOutputName = timingOutput) except: digilog.warning('Could not add TimingAlg, no timing info will be written out.') diff --git a/Simulation/SimulationJobOptions/share/digitization/postInclude.ReadFromEvgen.py b/Simulation/SimulationJobOptions/share/digitization/postInclude.ReadFromEvgen.py index d3a7f4427424c6066ef8b6f1a39258be4cc2a5d9..171a91be2d090bfa565eff142ef7d22e0f8651eb 100644 --- a/Simulation/SimulationJobOptions/share/digitization/postInclude.ReadFromEvgen.py +++ b/Simulation/SimulationJobOptions/share/digitization/postInclude.ReadFromEvgen.py @@ -35,7 +35,8 @@ PileUpEventLoopMgr.bkgCaches += [ minBiasCache ] MergeMcEventCollection = Algorithm( "MergeMcEventCollection" ) if hasattr(MergeMcEventCollection, 'MergeMcEventCollTool'): - MergeMcEventCollection.MergeMcEventCollTool.TruthCollKey = "GEN_EVENT" + MergeMcEventCollection.MergeMcEventCollTool.TruthCollInputKey = "GEN_EVENT" + MergeMcEventCollection.MergeMcEventCollTool.TruthCollOutputKey = "GEN_EVENT" else: MergeMcEventCollection.TruthCollKey = "GEN_EVENT" @@ -52,5 +53,3 @@ print 'ZLM container thingy:',itemlist itemlist += [ "IOVMetaDataContainer#_Digitization_Parameters" ] print StreamRDO.MetaDataItemList - -