From 11ae4dd3b02844a6da32f90ad9b036e4af229bd3 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Delsart Date: Sun, 27 Mar 2022 16:26:21 +0200 Subject: [PATCH 1/4] fix issues from switching jet & isolation steering to run3 style --- .../DerivationFrameworkEGamma/python/EGammaCommon.py | 10 +++++----- .../Jet/JetRecConfig/python/StandardJetConstits.py | 2 +- .../RecExCommon/share/RecExCommon_topOptions.py | 4 +++- .../IsolationAlgs/python/IsolationSteeringConfig.py | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkEGamma/python/EGammaCommon.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkEGamma/python/EGammaCommon.py index f53ba5d5266..23e1fa45fa6 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkEGamma/python/EGammaCommon.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkEGamma/python/EGammaCommon.py @@ -549,15 +549,15 @@ def makeEGammaDFCommon(): EGAugmentationTools.append(TruthEgptIsolationTool) # Compute the truth-particle-level energy density in the central eta region - from EventShapeTools.EventDensityConfig import ( - configEventDensityTool, EventDensityAthAlg) + from EventShapeTools.EventDensityConfig import configEventDensityTool + from AthenaConfiguration.ComponentFactory import CompFactory - # Schedule PseudoJetTruth from JetRecConfig.JetRecConfig import getInputAlgs,getConstitPJGAlg,reOrderAlgs from JetRecConfig.StandardJetConstits import stdConstitDic as cst from AthenaConfiguration.ComponentAccumulator import conf2toConfigurable from AthenaConfiguration.AllConfigFlags import ConfigFlags + # Schedule PseudoJetTruth constit_algs = getInputAlgs(cst.Truth, configFlags=ConfigFlags) constit_algs = reOrderAlgs( [a for a in constit_algs if a is not None]) @@ -588,8 +588,8 @@ def makeEGammaDFCommon(): ) ToolSvc += tf - DerivationFrameworkJob += EventDensityAthAlg("EDTruthCentralAlg", EventDensityTool=tc) - DerivationFrameworkJob += EventDensityAthAlg("EDTruthForwardAlg", EventDensityTool=tf) + DerivationFrameworkJob += CompFactory.EventDensityAthAlg("EDTruthCentralAlg", EventDensityTool=tc) + DerivationFrameworkJob += CompFactory.EventDensityAthAlg("EDTruthForwardAlg", EventDensityTool=tf) # ======================================= # CREATE THE DERIVATION KERNEL ALGORITHM diff --git a/Reconstruction/Jet/JetRecConfig/python/StandardJetConstits.py b/Reconstruction/Jet/JetRecConfig/python/StandardJetConstits.py index cccc260c15a..04ffa09936c 100644 --- a/Reconstruction/Jet/JetRecConfig/python/StandardJetConstits.py +++ b/Reconstruction/Jet/JetRecConfig/python/StandardJetConstits.py @@ -112,7 +112,7 @@ _stdInputList = [ JetInputExternal("PrimaryVertices", xAODType.Vertex, prereqs = ["input:InDetTrackParticles"], - filterfn = lambda flags : (flags.Beam.Type == BeamType.Collisions, f"No vertexing with {BeamType.Collisions}"), # should be changed when a reliable "EnableVertexing" flag exists + filterfn = lambda flags : (flags.Beam.Type == BeamType.Collisions, f"No vertexing with {flags.Beam.Type}"), # should be changed when a reliable "EnableVertexing" flag exists ), # No quality criteria are applied to the tracks, used for ghosts for example JetInputExternal("JetSelectedTracks", xAODType.TrackParticle, diff --git a/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py b/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py index 09abb574caa..e8876139684 100644 --- a/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py +++ b/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py @@ -432,7 +432,9 @@ if recAlgs.doEFlow(): if False == jobproperties.eflowRecFlags.usePFFlowElementAssoc: ConfigFlags.PF.useElPhotLinks = False ConfigFlags.PF.useMuLinks = False - +else: + ConfigFlags.Reco.EnablePFlow = False + HIDict = {} if rec.doHeavyIon(): # This is copy from the old style to the new diff --git a/Reconstruction/RecoAlgs/IsolationAlgs/python/IsolationSteeringConfig.py b/Reconstruction/RecoAlgs/IsolationAlgs/python/IsolationSteeringConfig.py index d1b12d40fe9..ff07ae8c1c8 100644 --- a/Reconstruction/RecoAlgs/IsolationAlgs/python/IsolationSteeringConfig.py +++ b/Reconstruction/RecoAlgs/IsolationAlgs/python/IsolationSteeringConfig.py @@ -25,7 +25,7 @@ def IsolationSteeringCfg(flags, name = 'IsolationSteering'): acc.merge(NFlowInputAlgCfg(flags)) acc.merge(DensityForIsoAlgCfg(flags,name='CentralDensityForNFlowIso')) acc.merge(DensityForIsoAlgCfg(flags,name='ForwardDensityForNFlowIso')) - + from IsolationAlgs.IsolationBuilderConfig import egIsolationCfg, muIsolationCfg if flags.Reco.EnableEgamma: acc.merge(egIsolationCfg(flags,name = 'photonIsolation')) -- GitLab From a53b12cb68b7064f9da1aa5d8fef1b6cf13cb61d Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Delsart Date: Sun, 27 Mar 2022 23:57:07 +0200 Subject: [PATCH 2/4] update new_jo_raw_reco_aod_digest.ref to match the correct pT cut settings for AntiKt4LCTopoJets --- .../share/new_jo_raw_reco_aod_digest.ref | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Reconstruction/RecJobTransforms/share/new_jo_raw_reco_aod_digest.ref b/Reconstruction/RecJobTransforms/share/new_jo_raw_reco_aod_digest.ref index f5a9d9a0887..241347639ca 100644 --- a/Reconstruction/RecJobTransforms/share/new_jo_raw_reco_aod_digest.ref +++ b/Reconstruction/RecJobTransforms/share/new_jo_raw_reco_aod_digest.ref @@ -1,6 +1,6 @@ run event nTopo nIdTracks nTauTracks nTaus nMuons nElec nTrueElec nFakeElec nPhot nTruePhot nFakePhot - 327265 186524665 510 420 84 10 1 2 0 2 16 0 16 - 327265 186525031 522 439 69 8 1 2 0 2 8 0 8 - 327265 186542447 419 296 24 5 0 2 0 2 7 0 7 - 327265 186543405 511 319 42 7 0 2 0 2 11 0 11 - 327265 186548387 653 514 112 11 0 4 0 4 20 0 20 + 327265 186524665 510 420 233 35 1 2 0 2 16 0 16 + 327265 186525031 522 439 287 42 1 2 0 2 8 0 8 + 327265 186542447 419 296 117 25 0 2 0 2 7 0 7 + 327265 186543405 511 319 176 35 0 2 0 2 11 0 11 + 327265 186548387 653 514 380 48 0 4 0 4 20 0 20 -- GitLab From 8e2a03fcba6818bb6c1b2b1ffa1060efd90c9f13 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Delsart Date: Mon, 28 Mar 2022 09:45:23 +0200 Subject: [PATCH 3/4] remove jet component failing composant based on internal flag --- .../Jet/JetRecConfig/python/JetRecConfig.py | 9 +++++---- .../JetRecConfig/python/StandardSmallRJets.py | 16 +--------------- 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/Reconstruction/Jet/JetRecConfig/python/JetRecConfig.py b/Reconstruction/Jet/JetRecConfig/python/JetRecConfig.py index 04204a9bafe..cdf68d4c4a8 100644 --- a/Reconstruction/Jet/JetRecConfig/python/JetRecConfig.py +++ b/Reconstruction/Jet/JetRecConfig/python/JetRecConfig.py @@ -25,6 +25,7 @@ from AthenaConfiguration.ComponentFactory import CompFactory from JetRecConfig.JetDefinition import JetDefinition, JetInputConstitSeq, JetInputConstit, JetInputExternal from JetRecConfig.JetGrooming import GroomingDefinition from JetRecConfig.DependencyHelper import solveDependencies, solveGroomingDependencies, aliasToModDef +from JetRecConfig.JetConfigFlags import jetInternalFlags __all__ = ["JetRecCfg", "JetInputCfg"] @@ -142,9 +143,9 @@ def getJetDefAlgs(configFlags, jetdef , returnConfiguredDef=False, monTool=None # check if the conditions are compatible with the inputs & modifiers of this jetdef_i. - # if in standardRecoMode we will remove whatever is incompatible and still try to run + # if in reco job we will remove whatever is incompatible and still try to run # if not, we raise an exception - canrun = removeComponentFailingConditions(jetdef_i, raiseOnFailure= not jetdef_i.standardRecoMode) + canrun = removeComponentFailingConditions(jetdef_i, raiseOnFailure= not jetInternalFlags.isRecoJob) if not canrun : if returnConfiguredDef: return [], jetdef_i @@ -205,7 +206,7 @@ def getJetGroomAlgs(configFlags, groomdef, returnConfiguredDef=False, monTool=No groomdef_i._ungroomeddef = ungroomeddef_i # set directly the internal members to avoid complication. This is fine, since we've been cloning definitions. #Filter the modifiers based on the configFlags - removeGroomModifFailingConditions(groomdef_i, configFlags, raiseOnFailure = not groomdef_i.ungroomeddef.standardRecoMode) + removeGroomModifFailingConditions(groomdef_i, configFlags, raiseOnFailure = not jetInternalFlags.isRecoJob) algs += [ getJetRecGroomAlg(groomdef_i, monTool=monTool) ] @@ -300,7 +301,7 @@ def getInputAlgs(jetOrConstitdef, configFlags=None, context="default", monTool=N jetlog.info("Setting up jet inputs from JetInputConstit : "+jetOrConstitdef.name) jetdef = solveDependencies( JetDefinition('Kt', 0., jetOrConstitdef, context=context) ) jetdef._cflags = configFlags - canrun = removeComponentFailingConditions(jetdef, raiseOnFailure= not jetdef.standardRecoMode) + canrun = removeComponentFailingConditions(jetdef, raiseOnFailure = not jetInternalFlags.isRecoJob) if not canrun: return [] else: diff --git a/Reconstruction/Jet/JetRecConfig/python/StandardSmallRJets.py b/Reconstruction/Jet/JetRecConfig/python/StandardSmallRJets.py index a66f7eb60da..8a37a42be52 100644 --- a/Reconstruction/Jet/JetRecConfig/python/StandardSmallRJets.py +++ b/Reconstruction/Jet/JetRecConfig/python/StandardSmallRJets.py @@ -54,7 +54,6 @@ pflowmods = () AntiKtVR30Rmax4Rmin02PV0Track = JetDefinition("AntiKt", 0.4, cst.PV0Track, modifiers = ("Sort","JetDeltaRLabel:4500","JetGhostLabel","vr"), ptmin=4000, - standardRecoMode = True, VRMinR = 0.02, VRMassSc = 30000, lock = True) @@ -66,8 +65,7 @@ registerAsInputConstit(AntiKtVR30Rmax4Rmin02PV0Track) AntiKt4PV0Track = JetDefinition("AntiKt", 0.4, cst.PV0Track, modifiers = ("Sort",)+truthmods, ptmin=2000, - standardRecoMode = True, - lock = True) + lock = True) # ********************************************************* @@ -78,7 +76,6 @@ AntiKt4PV0Track = JetDefinition("AntiKt", 0.4, cst.PV0Track, AntiKt4EMPFlow = JetDefinition("AntiKt",0.4,cst.GPFlow, ghostdefs = standardghosts+flavourghosts, modifiers = calibmods+("Filter:10000",)+truthmods+standardmods, - standardRecoMode = True, lock = True ) @@ -88,7 +85,6 @@ AntiKt4EMPFlow = JetDefinition("AntiKt",0.4,cst.GPFlow, AntiKt4LCTopo = JetDefinition("AntiKt",0.4,cst.LCTopoOrigin, ghostdefs = standardghosts+flavourghosts, modifiers = calibmods+("Filter_ifnotESD:15000","OriginSetPV")+standardmods+clustermods, - standardRecoMode = True, lock = True, ) @@ -97,7 +93,6 @@ AntiKt4LCTopo = JetDefinition("AntiKt",0.4,cst.LCTopoOrigin, AntiKt4EMTopo = JetDefinition("AntiKt",0.4,cst.EMTopoOrigin, ghostdefs = standardghosts+["TrackLRT"]+flavourghosts, modifiers = calibmods+("Filter:15000",)+truthmods+standardmods+clustermods, - standardRecoMode = True, lock = True, ) @@ -108,7 +103,6 @@ AntiKt4EMPFlowCSSK = JetDefinition("AntiKt",0.4,cst.GPFlowCSSK, ghostdefs = standardghosts+flavourghosts, modifiers = ("ConstitFourMom","CaloEnergies","Sort","Filter:1","JetPtAssociation")+truthmods+standardmods, ptmin = 2000, - standardRecoMode = True, lock = True ) @@ -120,7 +114,6 @@ AntiKt4EMPFlowNoPtCut = JetDefinition("AntiKt",0.4,cst.GPFlow, ghostdefs = standardghosts+flavourghosts, modifiers = calibmods_lowCut+("Filter:2000",)+truthmods+standardmods+("JetPtAssociation",), ptmin = 1, - standardRecoMode = True, lock = True ) @@ -130,7 +123,6 @@ AntiKt4EMTopoNoPtCut = JetDefinition("AntiKt",0.4,cst.EMTopoOrigin, ghostdefs = standardghosts+flavourghosts, modifiers = calibmods_lowCut+("Filter:1",)+truthmods+standardmods+clustermods+("JetPtAssociation",), ptmin = 1, - standardRecoMode = True, lock = True ) @@ -139,7 +131,6 @@ AntiKt4EMPFlowLowPt = JetDefinition("AntiKt",0.4,cst.GPFlow, ghostdefs = standardghosts+flavourghosts, modifiers = calibmods_lowCut+("Filter:2000",)+truthmods+standardmods+("JetPtAssociation",), ptmin = 2000, - standardRecoMode = True, lock = True ) @@ -148,7 +139,6 @@ AntiKt4EMTopoLowPt = JetDefinition("AntiKt",0.4,cst.EMTopoOrigin, ghostdefs = standardghosts+flavourghosts, modifiers = calibmods_lowCut+("Filter:2000",)+truthmods+standardmods+clustermods+("JetPtAssociation",), ptmin = 2000, - standardRecoMode = True, lock = True ) @@ -159,21 +149,18 @@ AntiKt4EMTopoLowPt = JetDefinition("AntiKt",0.4,cst.EMTopoOrigin, AntiKt4Truth = JetDefinition("AntiKt",0.4, cst.Truth, ghostdefs = flavourghosts, modifiers = ("Sort", "Width")+truthmods, - standardRecoMode = True, lock = True, ) AntiKt4TruthWZ = JetDefinition("AntiKt",0.4, cst.TruthWZ, ghostdefs = flavourghosts, modifiers = ("Sort", "Width")+truthmods, - standardRecoMode = True, lock = True, ) AntiKt4TruthDressedWZ = JetDefinition("AntiKt",0.4, cst.TruthDressedWZ, ghostdefs = flavourghosts, modifiers = ("Sort", "Width")+truthmods, - standardRecoMode = True, lock = True, ) @@ -182,7 +169,6 @@ AntiKtVRTruthCharged = JetDefinition("AntiKt",0.4, cst.TruthCharged, modifiers = ("Sort",)+truthmods, VRMinR = 0.02, VRMassSc = 30000, - standardRecoMode = True, lock = True ) -- GitLab From c6596e5e8c1693e2a475b84cce72b45c1df3820d Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Delsart Date: Mon, 28 Mar 2022 10:35:22 +0200 Subject: [PATCH 4/4] remove jet component failing composant based on internal flag --- .../DerivationFrameworkJetEtMiss/python/JetCommon.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/JetCommon.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/JetCommon.py index 0b3043ef113..3a77eea619c 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/JetCommon.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/JetCommon.py @@ -153,6 +153,10 @@ def addDAODJets(jetlist,sequence): from AthenaConfiguration.ComponentAccumulator import conf2toConfigurable from AthenaConfiguration.AllConfigFlags import ConfigFlags + from JetRecConfig.JetConfigFlags import jetInternalFlags + # This setting implies that jet components failing job condition (ex: truth-related calculation in data job) are automatically removed + jetInternalFlags.isRecoJob = True + for jd in jetlist: algs, jetdef_i = getJetAlgs(ConfigFlags, jd, True) algs = reOrderAlgs( [a for a in algs if a is not None]) -- GitLab