diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py index c142fc898fe358d3f677276498a5a60b789f747e..c8cd1fa1f7d3ac0ae7eb25292e58b4ef1ca63231 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py @@ -136,16 +136,14 @@ def FTAG1CoreCfg(flags, name_tag='FTAG1', extra_SmartCollections=None, extra_All "JetAssociatedSCTClusters", ] - if flags.BTagging.RunNewVrtSecInclusive: - FTAG1SlimmingHelper.AppendToDictionary.update({'NVSI_SecVrt_Tight' : 'xAOD::VertexContainer','NVSI_SecVrt_TightAux' : 'xAOD::VertexAuxContainer', - 'NVSI_SecVrt_Medium' : 'xAOD::VertexContainer','NVSI_SecVrt_MediumAux' : 'xAOD::VertexAuxContainer', - 'NVSI_SecVrt_Loose' : 'xAOD::VertexContainer','NVSI_SecVrt_LooseAux' : 'xAOD::VertexAuxContainer'}) - # Append to dictionary from DerivationFrameworkFlavourTag import FtagBaseContent + # update AppendToDictionary + extra_AppendToDictionary = {} #only add those items specifically for FTAG1 here! + FtagBaseContent.update_AppendToDictionary_in_SlimmingHelper(FTAG1SlimmingHelper, flags, extra_AppendToDictionary) # Static content - StaticContent = [] + StaticContent = [] #only add extra static content for FTAG1 here! if flags.BTagging.AddV0Finder: FTAGV0ContainerName = "FTAGRecoV0Candidates" FTAGKshortContainerName = "FTAGRecoKshortCandidates" @@ -167,18 +165,9 @@ def FTAG1CoreCfg(flags, name_tag='FTAG1', extra_SmartCollections=None, extra_All StaticContent += ["xAOD::VertexContainer#%s" % cascades] StaticContent += ["xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % cascades] - FtagBaseContent.add_static_content_to_SlimmingHelper(FTAG1SlimmingHelper, StaticContent) - if flags.BTagging.RunNewVrtSecInclusive: - excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV" - FTAG1SlimmingHelper.StaticContent += ["xAOD::VertexContainer#NVSI_SecVrt_Loose", "xAOD::VertexContainer#NVSI_SecVrt_Medium", "xAOD::VertexContainer#NVSI_SecVrt_Tight"] - FTAG1SlimmingHelper.StaticContent += ["xAOD::VertexAuxContainer#NVSI_SecVrt_LooseAux."+excludedVertexAuxData] - FTAG1SlimmingHelper.StaticContent += ["xAOD::VertexAuxContainer#NVSI_SecVrt_MediumAux."+excludedVertexAuxData ] - FTAG1SlimmingHelper.StaticContent += ["xAOD::VertexAuxContainer#NVSI_SecVrt_TightAux."+excludedVertexAuxData] + FtagBaseContent.add_static_content_to_SlimmingHelper(FTAG1SlimmingHelper, flags, StaticContent) - excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV" - FTAG1SlimmingHelper.StaticContent += ["xAOD::VertexContainer#GNNVertices"] - FTAG1SlimmingHelper.StaticContent += ["xAOD::VertexAuxContainer#GNNVerticesAux."+excludedVertexAuxData] # Add truth containers if flags.Input.isMC: @@ -190,7 +179,6 @@ def FTAG1CoreCfg(flags, name_tag='FTAG1', extra_SmartCollections=None, extra_All # Add ExtraVariables FtagBaseContent.add_ExtraVariables_to_SlimmingHelper(FTAG1SlimmingHelper) - FTAG1SlimmingHelper.ExtraVariables += ["AntiKt4EMPFlowJets.GNNVerticesLink"] # Trigger content FtagBaseContent.trigger_setup(FTAG1SlimmingHelper, trigger_option) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py index 2794e4f062a36495ae81f5e3fb179701c6e68133..77c80a3fd79e2f7e115a1ea1255aab4f668adf78 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py @@ -113,24 +113,15 @@ def FTAG2Cfg(flags): "TruthBottom", "TruthElectrons","TruthMuons","TruthTaus", ] - if flags.BTagging.RunNewVrtSecInclusive: - FTAG2SlimmingHelper.AppendToDictionary.update({'NVSI_SecVrt_Tight' : 'xAOD::VertexContainer','NVSI_SecVrt_TightAux' : 'xAOD::VertexAuxContainer', - 'NVSI_SecVrt_Medium' : 'xAOD::VertexContainer','NVSI_SecVrt_MediumAux' : 'xAOD::VertexAuxContainer', - 'NVSI_SecVrt_Loose' : 'xAOD::VertexContainer','NVSI_SecVrt_LooseAux' : 'xAOD::VertexAuxContainer'}) from DerivationFrameworkFlavourTag import FtagBaseContent + # update AppendToDictionary + extra_AppendToDictionary = {} #only add those items specifically for FTAG2 here! + FtagBaseContent.update_AppendToDictionary_in_SlimmingHelper(FTAG2SlimmingHelper, flags, extra_AppendToDictionary) # Static content - FtagBaseContent.add_static_content_to_SlimmingHelper(FTAG2SlimmingHelper) - - if flags.BTagging.RunNewVrtSecInclusive: - excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV" - FTAG2SlimmingHelper.StaticContent += ["xAOD::VertexContainer#NVSI_SecVrt_Loose", - "xAOD::VertexContainer#NVSI_SecVrt_Medium", - "xAOD::VertexContainer#NVSI_SecVrt_Tight"] - FTAG2SlimmingHelper.StaticContent += ["xAOD::VertexAuxContainer#NVSI_SecVrt_LooseAux."+excludedVertexAuxData] - FTAG2SlimmingHelper.StaticContent += ["xAOD::VertexAuxContainer#NVSI_SecVrt_MediumAux."+excludedVertexAuxData ] - FTAG2SlimmingHelper.StaticContent += ["xAOD::VertexAuxContainer#NVSI_SecVrt_TightAux."+excludedVertexAuxData] + extra_StaticContent = [] #only add those items specifically for FTAG2 here! + FtagBaseContent.add_static_content_to_SlimmingHelper(FTAG2SlimmingHelper, flags, extra_StaticContent) # Add truth containers if flags.Input.isMC: diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagBaseContent.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagBaseContent.py index 263cb56a3631e17717d2101b458713a100a36794..925ad61ffcb834b6991c4e374e98192e349059a6 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagBaseContent.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagBaseContent.py @@ -19,7 +19,7 @@ PHYSVAL_FTAG1_FTAG2_ExtraVariables = [ "Photons.TruthLink", "AntiKt2PV0TrackJets.pt.eta.phi.m", "AntiKt4EMTopoJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.PartonTruthLabelID.GhostBHadronsFinalPt", - "AntiKt4EMPFlowJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.DFCommonJets_fJvt.GhostBHadronsFinalPt.SumPtChargedPFOPt1000.SumPtTrkPt1000.TrackSumMass.TrackSumPt.TrackWidthPt500.TracksForBTagging.TruthLabelDeltaR_B.TruthLabelDeltaR_C.TruthLabelDeltaR_T.JetEMScaleMomentum_pt.JetEMScaleMomentum_eta.HECQuality.GhostHBosonsPt", + "AntiKt4EMPFlowJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.DFCommonJets_fJvt.GhostBHadronsFinalPt.SumPtChargedPFOPt1000.SumPtTrkPt1000.TrackSumMass.TrackSumPt.TrackWidthPt500.TracksForBTagging.TruthLabelDeltaR_B.TruthLabelDeltaR_C.TruthLabelDeltaR_T.JetEMScaleMomentum_pt.JetEMScaleMomentum_eta.HECQuality.GhostHBosonsPt.GNNVerticesLink", "TruthPrimaryVertices.t.x.y.z", "TauNeutralParticleFlowObjects.pt.eta.phi.m.bdtPi0Score.nPi0Proto", "TauChargedParticleFlowObjects.pt.eta.phi.m.bdtPi0Score", @@ -36,10 +36,27 @@ PHYSVAL_FTAG1_FTAG2_StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool PHYSVAL_FTAG1_FTAG2_StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Loose_VerticesAux." + excludedVertexAuxData] PHYSVAL_FTAG1_FTAG2_StaticContent += ["xAOD::VertexAuxContainer#BTagging_AntiKt4EMPFlowSecVtxAux.-vxTrackAtVertex"] - ## Common functions used in PHYSVAL, FTAG1 and FTAG2 -def add_static_content_to_SlimmingHelper(SlimmingHelper, extra_StaticContent=[]): +def update_AppendToDictionary_in_SlimmingHelper(SlimmingHelper, flags, extra_AppendToDictionary={}): + if flags.BTagging.RunNewVrtSecInclusive: + SlimmingHelper.AppendToDictionary.update({'NVSI_SecVrt_Tight' : 'xAOD::VertexContainer','NVSI_SecVrt_TightAux' : 'xAOD::VertexAuxContainer', + 'NVSI_SecVrt_Medium' : 'xAOD::VertexContainer','NVSI_SecVrt_MediumAux' : 'xAOD::VertexAuxContainer', + 'NVSI_SecVrt_Loose' : 'xAOD::VertexContainer','NVSI_SecVrt_LooseAux' : 'xAOD::VertexAuxContainer'}) + + if len(extra_AppendToDictionary)>0: + SlimmingHelper.AppendToDictionary.update(extra_AppendToDictionary) + +def add_static_content_to_SlimmingHelper(SlimmingHelper, flags, extra_StaticContent=[]): all_StaticContent = PHYSVAL_FTAG1_FTAG2_StaticContent + excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV" + all_StaticContent += ["xAOD::VertexContainer#GNNVertices"] + all_StaticContent += ["xAOD::VertexAuxContainer#GNNVerticesAux."+excludedVertexAuxData] + if flags.BTagging.RunNewVrtSecInclusive: + excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV" + all_StaticContent += ["xAOD::VertexContainer#NVSI_SecVrt_Loose", "xAOD::VertexContainer#NVSI_SecVrt_Medium", "xAOD::VertexContainer#NVSI_SecVrt_Tight"] + all_StaticContent += ["xAOD::VertexAuxContainer#NVSI_SecVrt_LooseAux."+excludedVertexAuxData] + all_StaticContent += ["xAOD::VertexAuxContainer#NVSI_SecVrt_MediumAux."+excludedVertexAuxData ] + all_StaticContent += ["xAOD::VertexAuxContainer#NVSI_SecVrt_TightAux."+excludedVertexAuxData] if len(extra_StaticContent) > 0: all_StaticContent += extra_StaticContent SlimmingHelper.StaticContent = all_StaticContent