diff --git a/Reconstruction/eflowRec/share/PFlowHiveExOpts.py b/Reconstruction/eflowRec/share/PFlowHiveExOpts.py index 7be8fb9571acf9dc69ed9044a4b96ad57fce9e7a..f2285e080a88c04316ba9a97a6fd35405ef5cd34 100644 --- a/Reconstruction/eflowRec/share/PFlowHiveExOpts.py +++ b/Reconstruction/eflowRec/share/PFlowHiveExOpts.py @@ -146,205 +146,7 @@ include( "CaloRec/CaloTopoCluster_jobOptions.py" ) #PFlow -from eflowRec.eflowRecConf import PFLeptonSelector -PFLeptonSelector=PFLeptonSelector("PFLeptonSelector") -topSequence += PFLeptonSelector - -from eflowRec.eflowRecConf import PFTrackSelector -PFTrackSelector=PFTrackSelector("PFTrackSelector") - -from eflowRec.eflowRecConf import eflowTrackCaloDummyExtensionTool -TrackCaloExtensionTool=eflowTrackCaloDummyExtensionTool() - -PFTrackSelector.trackExtrapolatorTool = TrackCaloExtensionTool - -from InDetTrackSelectionTool.InDetTrackSelectionToolConf import InDet__InDetTrackSelectionTool -TrackSelectionTool = InDet__InDetTrackSelectionTool() - -from AthenaCommon.AppMgr import ToolSvc -ToolSvc += TrackSelectionTool - -TrackSelectionTool.CutLevel = "TightPrimary" -TrackSelectionTool.minPt = 500.0 - -PFTrackSelector.trackSelectionTool = TrackSelectionTool - -topSequence += PFTrackSelector - -from eflowRec.eflowRecConf import PFClusterSelector -PFClusterSelector=PFClusterSelector("PFClusterSelector") - -topSequence += PFClusterSelector - -from eflowRec.eflowRecConf import PFAlgorithm -PFAlgorithm = PFAlgorithm("PFAlgorithm") - -PFAlgorithm.SubtractionToolList = [] - -from eflowRec.eflowRecConf import PFCellLevelSubtractionTool -PFCellLevelSubtractionTool = PFCellLevelSubtractionTool("PFCellLevelSubtractionTool") - -from eflowRec.eflowRecConf import eflowCellEOverPTool_mc12_JetETMiss -CellEOverPTool=eflowCellEOverPTool_mc12_JetETMiss() - -PFCellLevelSubtractionTool.eflowCellEOverPTool=CellEOverPTool - -from eflowRec.eflowRecFlags import jobproperties -if jobproperties.eflowRecFlags.eflowAlgType == "EOverP": - PFCellLevelSubtractionTool.nMatchesInCellLevelSubtraction = -1 -else: - PFCellLevelSubtractionTool.nMatchesInCellLevelSubtraction = 1 - -from eflowRec.eflowRecConf import PFTrackClusterMatchingTool -MatchingTool = PFTrackClusterMatchingTool("CalObjBldMatchingTool") -MatchingTool_Pull_02 = PFTrackClusterMatchingTool("MatchingTool_Pull_02") -MatchingTool_Pull_015 = PFTrackClusterMatchingTool("MatchingTool_Pull_015") - -MatchingTool_Pull_015.TrackPositionType = 'EM2EtaPhi' # str -MatchingTool_Pull_015.ClusterPositionType = 'PlainEtaPhi' # str -MatchingTool_Pull_015.DistanceType = 'EtaPhiSquareDistance' # str -MatchingTool_Pull_015.MatchCut = 0.15*0.15 # float -PFCellLevelSubtractionTool.PFTrackClusterMatchingTool_015 = MatchingTool_Pull_015 - -MatchingTool_Pull_02.TrackPositionType = 'EM2EtaPhi' # str -MatchingTool_Pull_02.ClusterPositionType = 'PlainEtaPhi' # str -MatchingTool_Pull_02.DistanceType = 'EtaPhiSquareDistance' # str -MatchingTool_Pull_02.MatchCut = 0.2*0.2 # float -PFCellLevelSubtractionTool.PFTrackClusterMatchingTool_02 = MatchingTool_Pull_02 - -PFCellLevelSubtractionTool.PFTrackClusterMatchingTool = MatchingTool - -if jobproperties.eflowRecFlags.eflowAlgType == "EOverP": - MatchingTool.ClusterPositionType = 'PlainEtaPhi' # str - MatchingTool.DistanceType = 'EtaPhiSquareDistance' - MatchingTool.MatchCut = 0.2*0.2 # float - -PFAlgorithm.SubtractionToolList += [PFCellLevelSubtractionTool] - -from eflowRec.eflowRecConf import PFRecoverSplitShowersTool -PFRecoverSplitShowersTool = PFRecoverSplitShowersTool("PFRecoverSplitShowersTool") - -CellEOverPTool_Recover=eflowCellEOverPTool_mc12_JetETMiss("eflowCellEOverPTool_mc12_JetETMiss_Recover") - -PFRecoverSplitShowersTool.eflowCellEOverPTool=CellEOverPTool_Recover - -if jobproperties.eflowRecFlags.recoverIsolatedTracks == True: - PFRecoverSplitShowersTool.RecoverIsolatedTracks = True - -if jobproperties.eflowRecFlags.useUpdated2015ChargedShowerSubtraction == False: - PFRecoverSplitShowersTool.useUpdated2015ChargedShowerSubtraction = False - -MatchingTool_Recover = PFTrackClusterMatchingTool() -MatchingTool_Recover.TrackPositionType = 'EM2EtaPhi' # str -MatchingTool_Recover.ClusterPositionType = 'PlainEtaPhi' # str -MatchingTool_Recover.DistanceType = 'EtaPhiSquareDistance' # str -MatchingTool_Recover.MatchCut = 0.2*0.2 # float -PFRecoverSplitShowersTool.PFTrackClusterMatchingTool = MatchingTool - -PFAlgorithm.SubtractionToolList += [PFRecoverSplitShowersTool] - -from eflowRec.eflowRecConf import PFMomentCalculatorTool -PFMomentCalculatorTool = PFMomentCalculatorTool("PFMomentCalculatorTool") - -from CaloRec.CaloRecConf import CaloClusterMomentsMaker -PFClusterMomentsMaker = CaloClusterMomentsMaker("PFClusterMomentsMaker") - -from CaloRec.CaloTopoClusterFlags import jobproperties - -from CaloTools.CaloNoiseToolDefault import CaloNoiseToolDefault -theCaloNoiseTool = CaloNoiseToolDefault() -from AthenaCommon.AppMgr import ToolSvc -ToolSvc += theCaloNoiseTool - -PFClusterMomentsMaker.MaxAxisAngle = 20*deg -PFClusterMomentsMaker.WeightingOfNegClusters = jobproperties.CaloTopoClusterFlags.doTreatEnergyCutAsAbsolute() -PFClusterMomentsMaker.MinBadLArQuality = 4000 -PFClusterMomentsMaker.CaloNoiseTool = theCaloNoiseTool -PFClusterMomentsMaker.UsePileUpNoise = True -PFClusterMomentsMaker.TwoGaussianNoise = jobproperties.CaloTopoClusterFlags.doTwoGaussianNoise() -PFClusterMomentsMaker.OutputLevel = INFO -PFClusterMomentsMaker.MomentsNames = [ - "FIRST_PHI" - ,"FIRST_ETA" - ,"SECOND_R" - ,"SECOND_LAMBDA" - ,"DELTA_PHI" - ,"DELTA_THETA" - ,"DELTA_ALPHA" - ,"CENTER_X" - ,"CENTER_Y" - ,"CENTER_Z" - ,"CENTER_MAG" - ,"CENTER_LAMBDA" - ,"LATERAL" - ,"LONGITUDINAL" - ,"FIRST_ENG_DENS" - ,"ENG_FRAC_EM" - ,"ENG_FRAC_MAX" - ,"ENG_FRAC_CORE" - ,"FIRST_ENG_DENS" - ,"SECOND_ENG_DENS" - ,"ISOLATION" - ,"EM_PROBABILITY" - ,"ENG_POS" - ,"ENG_BAD_CELLS" - ,"N_BAD_CELLS" - ,"BADLARQ_FRAC" - ,"AVG_LAR_Q" - ,"AVG_TILE_Q" - ,"SIGNIFICANCE" -] - -PFMomentCalculatorTool.CaloClusterMomentsMaker = PFClusterMomentsMaker - -from eflowRec.eflowRecConf import PFClusterCollectionTool -PFClusterCollectionTool_default = PFClusterCollectionTool("PFClusterCollectionTool") - -PFMomentCalculatorTool.PFClusterCollectionTool = PFClusterCollectionTool_default - -PFAlgorithm.BaseToolList = [PFMomentCalculatorTool] - -from eflowRec.eflowRecConf import PFLCCalibTool -PFLCCalibTool = PFLCCalibTool("PFLCCalibTool") - -from eflowRec.eflowLocalHadCal import eflowLocalHadCal -LocalHadCal = eflowLocalHadCal() -Calib = LocalHadCal.eflowCaloClusterLocalCalib("PFLCCalibTool") -CalibOO = LocalHadCal.eflowCaloClusterLocalCalibOO("PFLCCalibTool") -CalibOOPi0 = LocalHadCal.eflowCaloClusterLocalCalibOOPi0("PFLCCalibTool") -CalibDM = LocalHadCal.eflowCaloClusterLocalCalibDM("PFLCCalibTool") - -from CaloRec.CaloTopoClusterFlags import jobproperties -if not (jobproperties.CaloTopoClusterFlags.doTopoClusterLocalCalib()): - #load local hadron calibration database, if not done so by CaloRec already - from CaloRec import CaloClusterTopoCoolFolder - -PFLCCalibTool.CaloClusterLocalCalib=Calib -PFLCCalibTool.CaloClusterLocalCalibOOCC=CalibOO -PFLCCalibTool.CaloClusterLocalCalibOOCCPi0=CalibOOPi0 -PFLCCalibTool.CaloClusterLocalCalibDM=CalibDM - -PFClusterCollectionTool_LCCalib = PFClusterCollectionTool("PFClusterCollectionTool_LCCalib") -PFLCCalibTool.eflowRecClusterCollectionTool=PFClusterCollectionTool_LCCalib -PFLCCalibTool.UseLocalWeight = False - -PFAlgorithm.BaseToolList += [PFLCCalibTool] - -topSequence += PFAlgorithm - -from eflowRec.eflowRecConf import PFOChargedCreatorAlgorithm -PFOChargedCreatorAlgorithm = PFOChargedCreatorAlgorithm("PFOChargedCreatorAlgorithm") - -from TrackVertexAssociationTool.TrackVertexAssociationToolConf import CP__TightTrackVertexAssociationTool -PFlowTrackVertexAssociationTool = CP__TightTrackVertexAssociationTool(name="PFlowTightCPTool", dzSinTheta_cut=2.0, doPV=True) -PFOChargedCreatorAlgorithm.TrackVertexAssociationTool = PFlowTrackVertexAssociationTool - -topSequence += PFOChargedCreatorAlgorithm - -from eflowRec.eflowRecConf import PFONeutralCreatorAlgorithm -PFONeutralCreatorAlgorithm = PFONeutralCreatorAlgorithm("PFONeutralCreatorAlgorithm") - -topSequence += PFONeutralCreatorAlgorithm +include("eflowRec/PFlowMTConfig.py") import AthenaPoolCnvSvc.WriteAthenaPool logRecoOutputItemList_jobOptions = logging.getLogger( 'py:RecoOutputItemList_jobOptions' ) @@ -365,7 +167,7 @@ print StreamESD.ItemList #---------------------------------------------------------------------------------# # MT-specific code if nThreads >=1 : - include ( "PFlowHiveDeps.py" ) + include ( "eflowRec/PFlowHiveDeps.py" ) print "==========================================================================================\n" diff --git a/Reconstruction/eflowRec/share/PFlowMTConfig.py b/Reconstruction/eflowRec/share/PFlowMTConfig.py new file mode 100644 index 0000000000000000000000000000000000000000..06d50a810351f3411c8958f2a98eaa220aeffba4 --- /dev/null +++ b/Reconstruction/eflowRec/share/PFlowMTConfig.py @@ -0,0 +1,199 @@ +from eflowRec.eflowRecConf import PFLeptonSelector +PFLeptonSelector=PFLeptonSelector("PFLeptonSelector") +topSequence += PFLeptonSelector + +from eflowRec.eflowRecConf import PFTrackSelector +PFTrackSelector=PFTrackSelector("PFTrackSelector") + +from eflowRec.eflowRecConf import eflowTrackCaloExtensionTool +TrackCaloExtensionTool=eflowTrackCaloExtensionTool() + +PFTrackSelector.trackExtrapolatorTool = TrackCaloExtensionTool + +from InDetTrackSelectionTool.InDetTrackSelectionToolConf import InDet__InDetTrackSelectionTool +TrackSelectionTool = InDet__InDetTrackSelectionTool() + +from AthenaCommon.AppMgr import ToolSvc +ToolSvc += TrackSelectionTool + +TrackSelectionTool.CutLevel = "TightPrimary" +TrackSelectionTool.minPt = 500.0 + +PFTrackSelector.trackSelectionTool = TrackSelectionTool + +topSequence += PFTrackSelector + +from eflowRec.eflowRecConf import PFClusterSelector +PFClusterSelector=PFClusterSelector("PFClusterSelector") + +topSequence += PFClusterSelector + +from eflowRec.eflowRecConf import PFAlgorithm +PFAlgorithm = PFAlgorithm("PFAlgorithm") + +PFAlgorithm.SubtractionToolList = [] + +from eflowRec.eflowRecConf import PFCellLevelSubtractionTool +PFCellLevelSubtractionTool = PFCellLevelSubtractionTool("PFCellLevelSubtractionTool") + +from eflowRec.eflowRecConf import eflowCellEOverPTool_mc12_JetETMiss +CellEOverPTool=eflowCellEOverPTool_mc12_JetETMiss() + +PFCellLevelSubtractionTool.eflowCellEOverPTool=CellEOverPTool + +from eflowRec.eflowRecFlags import jobproperties +if jobproperties.eflowRecFlags.eflowAlgType == "EOverP": + PFCellLevelSubtractionTool.nMatchesInCellLevelSubtraction = -1 +else: + PFCellLevelSubtractionTool.nMatchesInCellLevelSubtraction = 1 + +from eflowRec.eflowRecConf import PFTrackClusterMatchingTool +MatchingTool = PFTrackClusterMatchingTool("CalObjBldMatchingTool") +MatchingTool_Pull_02 = PFTrackClusterMatchingTool("MatchingTool_Pull_02") +MatchingTool_Pull_015 = PFTrackClusterMatchingTool("MatchingTool_Pull_015") + +MatchingTool_Pull_015.TrackPositionType = 'EM2EtaPhi' # str +MatchingTool_Pull_015.ClusterPositionType = 'PlainEtaPhi' # str +MatchingTool_Pull_015.DistanceType = 'EtaPhiSquareDistance' # str +MatchingTool_Pull_015.MatchCut = 0.15*0.15 # float +PFCellLevelSubtractionTool.PFTrackClusterMatchingTool_015 = MatchingTool_Pull_015 + +MatchingTool_Pull_02.TrackPositionType = 'EM2EtaPhi' # str +MatchingTool_Pull_02.ClusterPositionType = 'PlainEtaPhi' # str +MatchingTool_Pull_02.DistanceType = 'EtaPhiSquareDistance' # str +MatchingTool_Pull_02.MatchCut = 0.2*0.2 # float +PFCellLevelSubtractionTool.PFTrackClusterMatchingTool_02 = MatchingTool_Pull_02 + +PFCellLevelSubtractionTool.PFTrackClusterMatchingTool = MatchingTool + +if jobproperties.eflowRecFlags.eflowAlgType == "EOverP": + MatchingTool.ClusterPositionType = 'PlainEtaPhi' # str + MatchingTool.DistanceType = 'EtaPhiSquareDistance' + MatchingTool.MatchCut = 0.2*0.2 # float + +PFAlgorithm.SubtractionToolList += [PFCellLevelSubtractionTool] + +from eflowRec.eflowRecConf import PFRecoverSplitShowersTool +PFRecoverSplitShowersTool = PFRecoverSplitShowersTool("PFRecoverSplitShowersTool") + +CellEOverPTool_Recover=eflowCellEOverPTool_mc12_JetETMiss("eflowCellEOverPTool_mc12_JetETMiss_Recover") + +PFRecoverSplitShowersTool.eflowCellEOverPTool=CellEOverPTool_Recover + +if jobproperties.eflowRecFlags.recoverIsolatedTracks == True: + PFRecoverSplitShowersTool.RecoverIsolatedTracks = True + +if jobproperties.eflowRecFlags.useUpdated2015ChargedShowerSubtraction == False: + PFRecoverSplitShowersTool.useUpdated2015ChargedShowerSubtraction = False + +MatchingTool_Recover = PFTrackClusterMatchingTool() +MatchingTool_Recover.TrackPositionType = 'EM2EtaPhi' # str +MatchingTool_Recover.ClusterPositionType = 'PlainEtaPhi' # str +MatchingTool_Recover.DistanceType = 'EtaPhiSquareDistance' # str +MatchingTool_Recover.MatchCut = 0.2*0.2 # float +PFRecoverSplitShowersTool.PFTrackClusterMatchingTool = MatchingTool + +PFAlgorithm.SubtractionToolList += [PFRecoverSplitShowersTool] + +from eflowRec.eflowRecConf import PFMomentCalculatorTool +PFMomentCalculatorTool = PFMomentCalculatorTool("PFMomentCalculatorTool") + +from CaloRec.CaloRecConf import CaloClusterMomentsMaker +PFClusterMomentsMaker = CaloClusterMomentsMaker("PFClusterMomentsMaker") + +from CaloRec.CaloTopoClusterFlags import jobproperties + +from CaloTools.CaloNoiseToolDefault import CaloNoiseToolDefault +theCaloNoiseTool = CaloNoiseToolDefault() +from AthenaCommon.AppMgr import ToolSvc +ToolSvc += theCaloNoiseTool + +PFClusterMomentsMaker.MaxAxisAngle = 20*deg +PFClusterMomentsMaker.WeightingOfNegClusters = jobproperties.CaloTopoClusterFlags.doTreatEnergyCutAsAbsolute() +PFClusterMomentsMaker.MinBadLArQuality = 4000 +PFClusterMomentsMaker.CaloNoiseTool = theCaloNoiseTool +PFClusterMomentsMaker.UsePileUpNoise = True +PFClusterMomentsMaker.TwoGaussianNoise = jobproperties.CaloTopoClusterFlags.doTwoGaussianNoise() +PFClusterMomentsMaker.OutputLevel = INFO +PFClusterMomentsMaker.MomentsNames = [ + "FIRST_PHI" + ,"FIRST_ETA" + ,"SECOND_R" + ,"SECOND_LAMBDA" + ,"DELTA_PHI" + ,"DELTA_THETA" + ,"DELTA_ALPHA" + ,"CENTER_X" + ,"CENTER_Y" + ,"CENTER_Z" + ,"CENTER_MAG" + ,"CENTER_LAMBDA" + ,"LATERAL" + ,"LONGITUDINAL" + ,"FIRST_ENG_DENS" + ,"ENG_FRAC_EM" + ,"ENG_FRAC_MAX" + ,"ENG_FRAC_CORE" + ,"FIRST_ENG_DENS" + ,"SECOND_ENG_DENS" + ,"ISOLATION" + ,"EM_PROBABILITY" + ,"ENG_POS" + ,"ENG_BAD_CELLS" + ,"N_BAD_CELLS" + ,"BADLARQ_FRAC" + ,"AVG_LAR_Q" + ,"AVG_TILE_Q" + ,"SIGNIFICANCE" +] + +PFMomentCalculatorTool.CaloClusterMomentsMaker = PFClusterMomentsMaker + +from eflowRec.eflowRecConf import PFClusterCollectionTool +PFClusterCollectionTool_default = PFClusterCollectionTool("PFClusterCollectionTool") + +PFMomentCalculatorTool.PFClusterCollectionTool = PFClusterCollectionTool_default + +PFAlgorithm.BaseToolList = [PFMomentCalculatorTool] + +from eflowRec.eflowRecConf import PFLCCalibTool +PFLCCalibTool = PFLCCalibTool("PFLCCalibTool") + +from eflowRec.eflowLocalHadCal import eflowLocalHadCal +LocalHadCal = eflowLocalHadCal() +Calib = LocalHadCal.eflowCaloClusterLocalCalib("PFLCCalibTool") +CalibOO = LocalHadCal.eflowCaloClusterLocalCalibOO("PFLCCalibTool") +CalibOOPi0 = LocalHadCal.eflowCaloClusterLocalCalibOOPi0("PFLCCalibTool") +CalibDM = LocalHadCal.eflowCaloClusterLocalCalibDM("PFLCCalibTool") + +from CaloRec.CaloTopoClusterFlags import jobproperties +if not (jobproperties.CaloTopoClusterFlags.doTopoClusterLocalCalib()): + #load local hadron calibration database, if not done so by CaloRec already + from CaloRec import CaloClusterTopoCoolFolder + +PFLCCalibTool.CaloClusterLocalCalib=Calib +PFLCCalibTool.CaloClusterLocalCalibOOCC=CalibOO +PFLCCalibTool.CaloClusterLocalCalibOOCCPi0=CalibOOPi0 +PFLCCalibTool.CaloClusterLocalCalibDM=CalibDM + +PFClusterCollectionTool_LCCalib = PFClusterCollectionTool("PFClusterCollectionTool_LCCalib") +PFLCCalibTool.eflowRecClusterCollectionTool=PFClusterCollectionTool_LCCalib +PFLCCalibTool.UseLocalWeight = False + +PFAlgorithm.BaseToolList += [PFLCCalibTool] + +topSequence += PFAlgorithm + +from eflowRec.eflowRecConf import PFOChargedCreatorAlgorithm +PFOChargedCreatorAlgorithm = PFOChargedCreatorAlgorithm("PFOChargedCreatorAlgorithm") + +from TrackVertexAssociationTool.TrackVertexAssociationToolConf import CP__TightTrackVertexAssociationTool +PFlowTrackVertexAssociationTool = CP__TightTrackVertexAssociationTool(name="PFlowTightCPTool", dzSinTheta_cut=2.0, doPV=True) +PFOChargedCreatorAlgorithm.TrackVertexAssociationTool = PFlowTrackVertexAssociationTool + +topSequence += PFOChargedCreatorAlgorithm + +from eflowRec.eflowRecConf import PFONeutralCreatorAlgorithm +PFONeutralCreatorAlgorithm = PFONeutralCreatorAlgorithm("PFONeutralCreatorAlgorithm") + +topSequence += PFONeutralCreatorAlgorithm diff --git a/Reconstruction/eflowRec/src/PFAlgorithm.cxx b/Reconstruction/eflowRec/src/PFAlgorithm.cxx index be9927f67b9fff368e56fb8cd1835fd87745d388..1064e0ef8b73584df9bb0b41f81feb1d619c9941 100644 --- a/Reconstruction/eflowRec/src/PFAlgorithm.cxx +++ b/Reconstruction/eflowRec/src/PFAlgorithm.cxx @@ -34,18 +34,20 @@ StatusCode PFAlgorithm::execute(){ ATH_CHECK(m_caloClustersWriteHandle.record(std::make_unique<xAOD::CaloClusterContainer>(),std::make_unique<xAOD::CaloClusterAuxContainer>())); ATH_MSG_DEBUG("CaloClusterWriteHandle has container of size" << m_caloClustersWriteHandle->size()); + + eflowRecTrackContainer localEFlowRecTrackContainer(*m_eflowRecTracksReadHandle.ptr()); + eflowRecClusterContainer localEFlowRecClusterContainer(*m_eflowRecClustersReadHandle.ptr()); /* Run the SubtractionTools */ for (auto thisIPFSubtractionTool : m_IPFSubtractionTools){ - thisIPFSubtractionTool->execute(theElowCaloObjectContainer,const_cast<eflowRecTrackContainer*>(m_eflowRecTracksReadHandle.ptr()),const_cast<eflowRecClusterContainer*>(m_eflowRecClustersReadHandle.ptr()),*(m_caloClustersWriteHandle.ptr())); + thisIPFSubtractionTool->execute(theElowCaloObjectContainer,&localEFlowRecTrackContainer,&localEFlowRecClusterContainer,*(m_caloClustersWriteHandle.ptr())); } /* Run the other AglTools */ for (auto thisIPFBaseTool : m_IPFBaseTools){ thisIPFBaseTool->execute(theElowCaloObjectContainer,*(m_caloClustersWriteHandle.ptr())); } - - + return StatusCode::SUCCESS; } diff --git a/Reconstruction/eflowRec/src/PFOChargedCreatorAlgorithm.cxx b/Reconstruction/eflowRec/src/PFOChargedCreatorAlgorithm.cxx index 56cd35bfa376c9ce11e636c2d94e2ccfe96d0100..0a9fddf6ea0157f167ad5203059f39111b4045e3 100644 --- a/Reconstruction/eflowRec/src/PFOChargedCreatorAlgorithm.cxx +++ b/Reconstruction/eflowRec/src/PFOChargedCreatorAlgorithm.cxx @@ -48,7 +48,7 @@ StatusCode PFOChargedCreatorAlgorithm::execute(){ ATH_MSG_DEBUG("Processing eflowCaloObjectContainer"); - m_chargedPFOContainerWriteHandle.record(std::make_unique<xAOD::PFOContainer>(),std::make_unique<xAOD::PFOAuxContainer>()); + ATH_CHECK(m_chargedPFOContainerWriteHandle.record(std::make_unique<xAOD::PFOContainer>(),std::make_unique<xAOD::PFOAuxContainer>())); /* Create Charged PFOs from all eflowCaloObjects */ unsigned int nEFCaloObs = m_eflowCaloObjectContainerReadHandle->size(); diff --git a/Reconstruction/eflowRec/src/PFONeutralCreatorAlgorithm.cxx b/Reconstruction/eflowRec/src/PFONeutralCreatorAlgorithm.cxx index a2e9d60c80644a72489cbe9bd554ab70a4da7850..9b8e445a04c5f36005a9053847226751df99480c 100644 --- a/Reconstruction/eflowRec/src/PFONeutralCreatorAlgorithm.cxx +++ b/Reconstruction/eflowRec/src/PFONeutralCreatorAlgorithm.cxx @@ -32,8 +32,8 @@ StatusCode PFONeutralCreatorAlgorithm::execute(){ ATH_MSG_DEBUG("Executing"); - m_neutralPFOContainerWriteHandle.record(std::make_unique<xAOD::PFOContainer>(),std::make_unique<xAOD::PFOAuxContainer>()); - if (m_LCMode) m_neutralPFOContainerWriteHandle_nonModified.record(std::make_unique<xAOD::PFOContainer>(),std::make_unique<xAOD::PFOAuxContainer>()); + ATH_CHECK(m_neutralPFOContainerWriteHandle.record(std::make_unique<xAOD::PFOContainer>(),std::make_unique<xAOD::PFOAuxContainer>())); + if (m_LCMode) ATH_CHECK(m_neutralPFOContainerWriteHandle_nonModified.record(std::make_unique<xAOD::PFOContainer>(),std::make_unique<xAOD::PFOAuxContainer>())); /* Create Neutral PFOs from all eflowCaloObjects */ unsigned int nEFCaloObs = m_eflowCaloObjectContainerReadHandle->size();