From 27839c9e2210d56c295652e851d665e363f098e7 Mon Sep 17 00:00:00 2001 From: ligang Date: Fri, 16 Sep 2022 05:10:13 +0200 Subject: [PATCH 1/9] ca migration --- .../python/DerivationConfigList.py | 5 + .../python/FTAG1.py | 114 ++++++++++++++ .../python/FTAG2.py | 148 ++++++++++++++++++ .../python/FtagCommonCA.py | 131 ++++++++++++++++ .../share/FTAG1.py | 4 - .../python/InDetToolsConfig.py | 9 ++ 6 files changed, 407 insertions(+), 4 deletions(-) create mode 100644 PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py create mode 100644 PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py create mode 100644 PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommonCA.py diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkConfiguration/python/DerivationConfigList.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkConfiguration/python/DerivationConfigList.py index a881fcb9034..536d75b9cff 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkConfiguration/python/DerivationConfigList.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkConfiguration/python/DerivationConfigList.py @@ -35,9 +35,14 @@ from DerivationFrameworkPhysicsValidation.PHYSVAL import PHYSVALCfg # HIGG1D1 Higgs->gammagamma derivation from DerivationFrameworkHiggs.HIGG1D1 import HIGG1D1Cfg +# FTAG derivations +from DerivationFrameworkFlavourTag.FTAG1 import FTAG1Cfg +from DerivationFrameworkFlavourTag.FTAG2 import FTAG2Cfg + # Avoids compilation warnings from Flake8 __all__ = ['TEST1Cfg','TEST2Cfg','TEST3Cfg','TEST4Cfg','TEST5Cfg','TEST6Cfg', 'TRUTH0Cfg','TRUTH1Cfg','TRUTH3Cfg', 'PHYSCfg', 'PHYSVALCfg', + 'FTAG1Cfg', 'FTAG2Cfg', 'HIGG1D1Cfg'] diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py new file mode 100644 index 00000000000..b4596b55585 --- /dev/null +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py @@ -0,0 +1,114 @@ +# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration +#!/usr/bin/env python +#==================================================================== +# DAOD_FTAG1.py +# This defines DAOD_FTAG1, an unskimmed DAOD format for Run 3. +# It contains the variables and objects needed for the large majority +# of physics analyses in ATLAS. +# It requires the flag FTAG1 in Derivation_tf.py +#==================================================================== + +from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator +from AthenaConfiguration.ComponentFactory import CompFactory +#from DerivationFrameworkPhys import PhysCommon +#from DerivationFrameworkPhys import PhysCommonTrigger + +# Main algorithm config +def FTAG1KernelCfg(ConfigFlags, name='FTAG1Kernel', **kwargs): + """Configure the derivation framework driving algorithm (kernel) for FTAG1""" + acc = ComponentAccumulator() + + # Common augmentations + from DerivationFrameworkPhys.PhysCommonConfig import PhysCommonAugmentationsCfg + acc.merge(PhysCommonAugmentationsCfg(ConfigFlags, TriggerListsHelper = kwargs['TriggerListsHelper'])) + + # Thinning tools... + #from DerivationFrameworkInDet.InDetToolsConfig import TrackParticleThinningCfg, MuonTrackParticleThinningCfg, TauTrackParticleThinningCfg, DiTauTrackParticleThinningCfg, TauJetLepRMParticleThinningCfg + #from DerivationFrameworkTools.DerivationFrameworkToolsConfig import GenericObjectThinningCfg + + # Finally the kernel itself + thinningTools = [] + + DerivationKernel = CompFactory.DerivationFramework.DerivationKernel + acc.addEventAlgo(DerivationKernel(name, ThinningTools = thinningTools)) + return acc + + +def FTAG1Cfg(ConfigFlags): + + acc = ComponentAccumulator() + + # Get the lists of triggers needed for trigger matching. + # This is needed at this scope (for the slimming) and further down in the config chain + # for actually configuring the matching, so we create it here and pass it down + # TODO: this should ideally be called higher up to avoid it being run multiple times in a train + from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper + FTAG1TriggerListsHelper = TriggerListsHelper() + + # Common augmentations + acc.merge(FTAG1KernelCfg(ConfigFlags, name="FTAG1Kernel", StreamName = 'StreamDAOD_FTAG1', TriggerListsHelper = FTAG1TriggerListsHelper)) + + # ============================ + # Define contents of the format + # ============================= + from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg + from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper + + FTAG1SlimmingHelper = SlimmingHelper("FTAG1SlimmingHelper", NamesAndTypes = ConfigFlags.Input.TypedCollections) + + FTAG1SlimmingHelper.SmartCollections = [ + "Electrons", + "Muons", + "PrimaryVertices", + "InDetTrackParticles", + "AntiKt4EMPFlowJets", + "BTagging_AntiKt4EMPFlow", + "AntiKtVR30Rmax4Rmin02PV0TrackJets", + "BTagging_AntiKtVR30Rmax4Rmin02Track", + "MET_Baseline_AntiKt4EMPFlow", + ] + FTAG1SlimmingHelper.AllVariables = [ + "EventInfo", + "PrimaryVertices", + "InDetTrackParticles", + "InDetLargeD0TrackParticles", + "BTagging_AntiKt4EMPFlow", + "BTagging_AntiKtVR30Rmax4Rmin02Track", + "BTagging_AntiKt4EMPFlowJFVtx", + "BTagging_AntiKt4EMPFlowSecVtx", + "TruthParticles", + "TruthVertices", + "TruthBottom", "TruthElectrons","TruthMuons","TruthTaus", + ] + + if ConfigFlags.BTagging.Pseudotrack: + FTAG1SlimmingHelper.AllVariables += [ "InDetPseudoTrackParticles" ] + + if ConfigFlags.BTagging.Trackless: + FTAG1SlimmingHelper.AllVariables += [ + "JetAssociatedPixelClusters", + "JetAssociatedSCTClusters", + ] + + from DerivationFrameworkFlavourTag import FtagCommonCA + + # Static content + FtagCommonCA.add_static_content_to_SlimmingHelper(FTAG1SlimmingHelper) + + # Add truth containers + if ConfigFlags.Input.isMC: + FtagCommonCA.add_truth_to_SlimmingHelper(FTAG1SlimmingHelper) + + # Add ExtraVariables + FtagCommonCA.add_ExtraVariables_to_SlimmingHelper(FTAG1SlimmingHelper) + + # Trigger content + FtagCommonCA.trigger_setup(FTAG1SlimmingHelper) + + + # Output stream + FTAG1ItemList = FTAG1SlimmingHelper.GetItemList() + acc.merge(OutputStreamCfg(ConfigFlags, "DAOD_FTAG1", ItemList=FTAG1ItemList, AcceptAlgs=["FTAG1Kernel"])) + + return acc + diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py new file mode 100644 index 00000000000..d5602129968 --- /dev/null +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py @@ -0,0 +1,148 @@ +# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration +#!/usr/bin/env python +#==================================================================== +# DAOD_FTAG2.py +# This defines DAOD_FTAG2, an unskimmed DAOD format for Run 3. +# It contains the variables and objects needed for the large majority +# of physics analyses in ATLAS. +# It requires the flag FTAG2 in Derivation_tf.py +#==================================================================== + +from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator +from AthenaConfiguration.ComponentFactory import CompFactory +#from DerivationFrameworkPhys import PhysCommon +#from DerivationFrameworkPhys import PhysCommonTrigger + +# Main algorithm config +def FTAG2KernelCfg(ConfigFlags, name='FTAG2Kernel', **kwargs): + """Configure the derivation framework driving algorithm (kernel) for FTAG2""" + acc = ComponentAccumulator() + + # Common augmentations + from DerivationFrameworkPhys.PhysCommonConfig import PhysCommonAugmentationsCfg + acc.merge(PhysCommonAugmentationsCfg(ConfigFlags, TriggerListsHelper = kwargs['TriggerListsHelper'])) + + # Thinning tools... + #from DerivationFrameworkInDet.InDetToolsConfig import TrackParticleThinningCfg, MuonTrackParticleThinningCfg + #from DerivationFrameworkTools.DerivationFrameworkToolsConfig import GenericObjectThinningCfg + from DerivationFrameworkInDet.InDetToolsConfig import JetTrackParticleThinningCfg, MuonTrackParticleThinningCfg + + + # filter leptons + lepton_skimming_expression = 'count( (Muons.pt > 18*GeV) && (0 == Muons.muonType || 1 == Muons.muonType || 4 == Muons.muonType) ) + count(( Electrons.pt > 18*GeV) && ((Electrons.Loose) || (Electrons.DFCommonElectronsLHLoose))) >= 2 && count( (Muons.pt > 25*GeV) && (0 == Muons.muonType || 1 == Muons.muonType || 4 == Muons.muonType) ) + count(( Electrons.pt > 25*GeV) && ((Electrons.Loose) || (Electrons.DFCommonElectronsLHLoose))) >= 1' + FTAG2LeptonSkimmingTool = CompFactory.DerivationFramework.xAODStringSkimmingTool( + name = "FTAG2LeptonSkimmingTool", + expression = lepton_skimming_expression ) + acc.addPublicTool(FTAG2LeptonSkimmingTool) + + + # TrackParticles associated with small-R jets + track_selection_string = "InDetTrackParticles.numberOfSCTHits + InDetTrackParticles.numberOfPixelHits > 1" + + FTAG2Akt4PFlowJetTPThinningTool = acc.getPrimaryAndMerge(JetTrackParticleThinningCfg(ConfigFlags, + name = "FTAG2Akt4PFlowJetTPThinningTool", + StreamName = kwargs['StreamName'], + JetKey = "AntiKt4EMPFlowJets", + SelectionString = 'AntiKt4EMPFlowJets.pt > 15*GeV', + TrackSelectionString = track_selection_string, + InDetTrackParticlesKey = "InDetTrackParticles")) + + FTAG2AktVRJetTPThinningTool = acc.getPrimaryAndMerge(JetTrackParticleThinningCfg(ConfigFlags, + name = "FTAG2AktVRJetTPThinningTool", + StreamName = kwargs['StreamName'], + JetKey = "AntiKtVR30Rmax4Rmin02PV0TrackJets", + SelectionString = 'AntiKtVR30Rmax4Rmin02PV0TrackJets.pt > 7*GeV', + TrackSelectionString = track_selection_string, + InDetTrackParticlesKey = "InDetTrackParticles")) + + # Include inner detector tracks associated with muons + FTAG2MuonTPThinningTool = acc.getPrimaryAndMerge(MuonTrackParticleThinningCfg( + ConfigFlags, + name = "FTAG2MuonTPThinningTool", + StreamName = kwargs['StreamName'], + MuonKey = "Muons", + InDetTrackParticlesKey = "InDetTrackParticles")) + + # Finally the kernel itself + thinningTools = [ + FTAG2MuonTPThinningTool, + FTAG2Akt4PFlowJetTPThinningTool, + FTAG2AktVRJetTPThinningTool, + ] + skimmingTools = [ + FTAG2LeptonSkimmingTool, + ] + + DerivationKernel = CompFactory.DerivationFramework.DerivationKernel + acc.addEventAlgo(DerivationKernel(name, SkimmingTools = skimmingTools, ThinningTools = thinningTools)) + return acc + + +def FTAG2Cfg(ConfigFlags): + + acc = ComponentAccumulator() + + # Get the lists of triggers needed for trigger matching. + # This is needed at this scope (for the slimming) and further down in the config chain + # for actually configuring the matching, so we create it here and pass it down + # TODO: this should ideally be called higher up to avoid it being run multiple times in a train + from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper + FTAG2TriggerListsHelper = TriggerListsHelper() + + # Common augmentations + acc.merge(FTAG2KernelCfg(ConfigFlags, name="FTAG2Kernel", StreamName = 'StreamDAOD_FTAG2', TriggerListsHelper = FTAG2TriggerListsHelper)) + + # ============================ + # Define contents of the format + # ============================= + from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg + from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper + + FTAG2SlimmingHelper = SlimmingHelper("FTAG2SlimmingHelper", NamesAndTypes = ConfigFlags.Input.TypedCollections) + + FTAG2SlimmingHelper.SmartCollections = [ + "Electrons", + "Muons", + "PrimaryVertices", + "InDetTrackParticles", + "AntiKt4EMPFlowJets", + "BTagging_AntiKt4EMPFlow", + "AntiKtVR30Rmax4Rmin02PV0TrackJets", + "BTagging_AntiKtVR30Rmax4Rmin02Track", + "MET_Baseline_AntiKt4EMPFlow", + ] + + FTAG2SlimmingHelper.AllVariables = [ + "EventInfo", + "PrimaryVertices", + "InDetTrackParticles", + "BTagging_AntiKt4EMPFlow", + "BTagging_AntiKtVR30Rmax4Rmin02Track", + "BTagging_AntiKt4EMPFlowJFVtx", + "BTagging_AntiKt4EMPFlowSecVtx", + "TruthBottom", "TruthElectrons","TruthMuons","TruthTaus", + ] + + from DerivationFrameworkFlavourTag import FtagCommonCA + + # Static content + FtagCommonCA.add_static_content_to_SlimmingHelper(FTAG2SlimmingHelper) + + # Add truth containers + if ConfigFlags.Input.isMC: + FtagCommonCA.add_truth_to_SlimmingHelper(FTAG2SlimmingHelper) + + # Add ExtraVariables + FtagCommonCA.add_ExtraVariables_to_SlimmingHelper(FTAG2SlimmingHelper) + + # Trigger content + FtagCommonCA.trigger_setup(FTAG2SlimmingHelper, 'FTAG2') + FtagCommonCA.trigger_matching(FTAG2SlimmingHelper, FTAG2TriggerListsHelper, ConfigFlags) + + + # Output stream + FTAG2ItemList = FTAG2SlimmingHelper.GetItemList() + acc.merge(OutputStreamCfg(ConfigFlags, "DAOD_FTAG2", ItemList=FTAG2ItemList, AcceptAlgs=["FTAG2Kernel"])) + + return acc + diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommonCA.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommonCA.py new file mode 100644 index 00000000000..34a4f293909 --- /dev/null +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommonCA.py @@ -0,0 +1,131 @@ +# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + +#==================================================================== +# FtagCommon.py +# This is to define common objects used by PHYSVAL, FTAG1 and FTAG2. +#==================================================================== + +#from DerivationFrameworkCore.DerivationFrameworkMaster import DerivationFrameworkIsMonteCarlo +#from DerivationFrameworkMCTruth.MCTruthCommon import addTruth3ContentToSlimmerTool +#from DerivationFrameworkEGamma.ElectronsCPDetailedContent import GSFTracksCPDetailedContent + +## Common items used in PHYSVAL, FTAG1 and FTAG2 +PHYSVAL_FTAG1_FTAG2_mc_AppendToDictionary = { + 'TruthEvents':'xAOD::TruthEventContainer','TruthEventsAux':'xAOD::TruthEventAuxContainer', + 'MET_Truth':'xAOD::MissingETContainer','MET_TruthAux':'xAOD::MissingETAuxContainer', + 'TruthElectrons':'xAOD::TruthParticleContainer','TruthElectronsAux':'xAOD::TruthParticleAuxContainer', + 'TruthMuons':'xAOD::TruthParticleContainer','TruthMuonsAux':'xAOD::TruthParticleAuxContainer', + 'TruthPhotons':'xAOD::TruthParticleContainer','TruthPhotonsAux':'xAOD::TruthParticleAuxContainer', + 'TruthTaus':'xAOD::TruthParticleContainer','TruthTausAux':'xAOD::TruthParticleAuxContainer', + 'TruthNeutrinos':'xAOD::TruthParticleContainer','TruthNeutrinosAux':'xAOD::TruthParticleAuxContainer', + 'TruthBSM':'xAOD::TruthParticleContainer','TruthBSMAux':'xAOD::TruthParticleAuxContainer', + 'TruthBoson':'xAOD::TruthParticleContainer','TruthBosonAux':'xAOD::TruthParticleAuxContainer', + 'TruthTop':'xAOD::TruthParticleContainer','TruthTopAux':'xAOD::TruthParticleAuxContainer', + 'TruthForwardProtons':'xAOD::TruthParticleContainer','TruthForwardProtonsAux':'xAOD::TruthParticleAuxContainer', + 'BornLeptons':'xAOD::TruthParticleContainer','BornLeptonsAux':'xAOD::TruthParticleAuxContainer', + 'TruthBosonsWithDecayParticles':'xAOD::TruthParticleContainer','TruthBosonsWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer', + 'TruthBosonsWithDecayVertices':'xAOD::TruthVertexContainer','TruthBosonsWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer', + 'TruthBSMWithDecayParticles':'xAOD::TruthParticleContainer','TruthBSMWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer', + 'TruthBSMWithDecayVertices':'xAOD::TruthVertexContainer','TruthBSMWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer', + 'HardScatterParticles':'xAOD::TruthParticleContainer','HardScatterParticlesAux':'xAOD::TruthParticleAuxContainer', + 'HardScatterVertices':'xAOD::TruthVertexContainer','HardScatterVerticesAux':'xAOD::TruthVertexAuxContainer', + 'TruthHFWithDecayParticles':'xAOD::TruthParticleContainer','TruthHFWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer', + 'TruthHFWithDecayVertices':'xAOD::TruthVertexContainer','TruthHFWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer', + 'TruthCharm':'xAOD::TruthParticleContainer','TruthCharmAux':'xAOD::TruthParticleAuxContainer', + 'TruthPrimaryVertices':'xAOD::TruthVertexContainer','TruthPrimaryVerticesAux':'xAOD::TruthVertexAuxContainer', + 'AntiKt10TruthTrimmedPtFrac5SmallR20Jets':'xAOD::JetContainer', 'AntiKt10TruthTrimmedPtFrac5SmallR20JetsAux':'xAOD::JetAuxContainer', + 'AntiKt10LCTopoJets':'xAOD::JetContainer', 'AntiKt10LCTopoJetsAux':'xAOD::JetAuxContainer', + 'AntiKt10PV0TrackJets':'xAOD::JetContainer','AntiKt10PV0TrackJetsAux':'xAOD::JetAuxContainer', + 'BTagging_AntiKtVR30Rmax4Rmin02Track':'xAOD::BTaggingContainer','BTagging_AntiKtVR30Rmax4Rmin02TrackAux':'xAOD::BTaggingAuxContainer', + 'EMOriginTopoClusters':'xAOD::CaloClusterContainer', 'EMOriginTopoClustersAux':'xAOD::ShallowAuxContainer', + 'LCOriginTopoClusters':'xAOD::CaloClusterContainer', 'LCOriginTopoClustersAux':'xAOD::ShallowAuxContainer', + 'BTagging_AntiKt4EMPFlowJFVtx':'xAOD::BTagVertexContainer','BTagging_AntiKt4EMPFlowJFVtxAux':'xAOD::BTagVertexAuxContainer', + 'BTagging_AntiKt4EMPFlowSecVtx':'xAOD::VertexContainer','BTagging_AntiKt4EMPFlowSecVtxAux':'xAOD::VertexAuxContainer', + 'CHSGChargedParticleFlowObjects': 'xAOD::FlowElementContainer', 'CHSGChargedParticleFlowObjectsAux':'xAOD::ShallowAuxContainer', + 'CHSGNeutralParticleFlowObjects': 'xAOD::FlowElementContainer', 'CHSGNeutralParticleFlowObjectsAux':'xAOD::ShallowAuxContainer', + } + +PHYSVAL_FTAG1_FTAG2_ExtraVariables = ["AntiKt10TruthTrimmedPtFrac5SmallR20Jets.Tau1_wta.Tau2_wta.Tau3_wta.D2.GhostBHadronsFinalCount", + "Electrons.TruthLink", + "Muons.TruthLink","Muons.segmentDeltaPhi","Muons.segmentDeltaEta","Muons.ParamEnergyLoss","Muons.ParamEnergyLossSigmaPlus","Muons.ParamEnergyLossSigmaMinus","Muons.MeasEnergyLoss","Muons.MeasEnergyLossSigma", + "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.GhostBHadronsFinalCount.GhostCHadronsFinalCount.GhostCHadronsFinalPt", + "AntiKt4EMPFlowJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.PartonTruthLabelID.DFCommonJets_fJvt.GhostBHadronsFinalPt.GhostBHadronsFinalCount.GhostCHadronsFinalCount.GhostCHadronsFinalPt.HadronConeExclTruthLabelPt.HadronConeExclTruthLabelLxy.SumPtChargedPFOPt1000.SumPtTrkPt1000.TrackSumMass.TrackSumPt.TrackWidthPt500.TracksForBTagging.TruthLabelDeltaR_B.TruthLabelDeltaR_C.TruthLabelDeltaR_T.JetEMScaleMomentum_pt.JetEMScaleMomentum_eta.HECQuality.GhostHBosonsPt", + "TruthPrimaryVertices.t.x.y.z", + "TauNeutralParticleFlowObjects.pt.eta.phi.m.bdtPi0Score.nPi0Proto", + "TauChargedParticleFlowObjects.pt.eta.phi.m.bdtPi0Score", + "MET_Track.sumet", + ] + +excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV" +PHYSVAL_FTAG1_FTAG2_StaticContent = [] +PHYSVAL_FTAG1_FTAG2_StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Tight_Vertices"] +PHYSVAL_FTAG1_FTAG2_StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Tight_VerticesAux." + excludedVertexAuxData] +PHYSVAL_FTAG1_FTAG2_StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Medium_Vertices"] +PHYSVAL_FTAG1_FTAG2_StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Medium_VerticesAux." + excludedVertexAuxData] +PHYSVAL_FTAG1_FTAG2_StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Loose_Vertices"] +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=[]): + all_StaticContent = PHYSVAL_FTAG1_FTAG2_StaticContent + if len(extra_StaticContent) > 0: + all_StaticContent += extra_StaticContent + SlimmingHelper.StaticContent = all_StaticContent + +def add_truth_to_SlimmingHelper(SlimmingHelper): + from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool + SlimmingHelper.AppendToDictionary = PHYSVAL_FTAG1_FTAG2_mc_AppendToDictionary + addTruth3ContentToSlimmerTool(SlimmingHelper) + SlimmingHelper.AllVariables += ['TruthHFWithDecayParticles','TruthHFWithDecayVertices','TruthCharm'] + +def add_ExtraVariables_to_SlimmingHelper(SlimmingHelper): + SlimmingHelper.ExtraVariables += PHYSVAL_FTAG1_FTAG2_ExtraVariables + from DerivationFrameworkEGamma.ElectronsCPDetailedContent import GSFTracksCPDetailedContent + SlimmingHelper.ExtraVariables += GSFTracksCPDetailedContent + +## Common function used in FTAG1 and FTAG2 +def trigger_setup(SlimmingHelper, option=''): + SlimmingHelper.IncludeTriggerNavigation = False + SlimmingHelper.IncludeJetTriggerContent = False + SlimmingHelper.IncludeMuonTriggerContent = False + SlimmingHelper.IncludeEGammaTriggerContent = False + SlimmingHelper.IncludeJetTauEtMissTriggerContent = False + SlimmingHelper.IncludeTauTriggerContent = False + SlimmingHelper.IncludeEtMissTriggerContent = False + SlimmingHelper.IncludeBJetTriggerContent = False + SlimmingHelper.IncludeBPhysTriggerContent = False + SlimmingHelper.IncludeMinBiasTriggerContent = False + if option == 'FTAG2': + SlimmingHelper.IncludeMuonTriggerContent = True + SlimmingHelper.IncludeEGammaTriggerContent = True + SlimmingHelper.IncludeBJetTriggerContent = True + SlimmingHelper.IncludeBPhysTriggerContent = True + +def trigger_matching(SlimmingHelper, TriggerListsHelper, ConfigFlags): + # Trigger matching + # Run 2 + if ConfigFlags.Trigger.EDMVersion == 2: + from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper + AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = SlimmingHelper, + OutputContainerPrefix = "TrigMatch_", + TriggerList = TriggerListsHelper.Run2TriggerNamesTau) + AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = SlimmingHelper, + OutputContainerPrefix = "TrigMatch_", + TriggerList = TriggerListsHelper.Run2TriggerNamesNoTau) + # Run 3 + if ConfigFlags.Trigger.EDMVersion == 3: + from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper + AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(SlimmingHelper) + # Run 2 is added here temporarily to allow testing/comparison/debugging + from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper + AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = SlimmingHelper, + OutputContainerPrefix = "TrigMatch_", + TriggerList = TriggerListsHelper.Run3TriggerNamesTau) + AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = SlimmingHelper, + OutputContainerPrefix = "TrigMatch_", + TriggerList = TriggerListsHelper.Run3TriggerNamesNoTau) + diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/share/FTAG1.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/share/FTAG1.py index 07dce68d09b..394089b5d9c 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/share/FTAG1.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/share/FTAG1.py @@ -106,10 +106,6 @@ FtagCommon.add_truth_to_SlimmingHelper(FTAG1SlimmingHelper) # Add ExtraVariables FtagCommon.add_ExtraVariables_to_SlimmingHelper(FTAG1SlimmingHelper) -# Add trigger matching -PhysCommonTrigger.trigmatching_helper_notau.add_to_slimming(FTAG1SlimmingHelper) -PhysCommonTrigger.trigmatching_helper_tau.add_to_slimming(FTAG1SlimmingHelper) - # Final construction of output stream FTAG1SlimmingHelper.AppendContentToStream(FTAG1Stream) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkInDet/python/InDetToolsConfig.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkInDet/python/InDetToolsConfig.py index 57d8c30a447..60423a4723c 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkInDet/python/InDetToolsConfig.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkInDet/python/InDetToolsConfig.py @@ -154,3 +154,12 @@ def DiTauTrackParticleThinningCfg(ConfigFlags, name, **kwargs): acc.addPublicTool(DiTauTrackParticleThinning(name, **kwargs), primary = True) return acc + +# Tool for thinning TrackParticles that are associated with jets +def JetTrackParticleThinningCfg(ConfigFlags, name, **kwargs): + """Configure the JetTrackParticleThinning tool""" + acc = ComponentAccumulator() + JetTrackParticleThinning = CompFactory.DerivationFramework.JetTrackParticleThinning + acc.addPublicTool(JetTrackParticleThinning(name,**kwargs), + primary = True) + return acc -- GitLab From 10d16b2d5c0c8e96a84bcc6d793e28880d72f664 Mon Sep 17 00:00:00 2001 From: ligang Date: Tue, 4 Oct 2022 10:29:09 +0200 Subject: [PATCH 2/9] clean up AppendToDictionary --- .../python/FtagCommon.py | 25 ------------------- .../python/FtagCommonCA.py | 25 ------------------- 2 files changed, 50 deletions(-) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommon.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommon.py index c50bb54ce2b..24fbeacaed8 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommon.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommon.py @@ -11,32 +11,7 @@ from DerivationFrameworkEGamma.ElectronsCPDetailedContent import GSFTracksCPDeta ## Common items used in PHYSVAL, FTAG1 and FTAG2 PHYSVAL_FTAG1_FTAG2_mc_AppendToDictionary = { - 'TruthEvents':'xAOD::TruthEventContainer','TruthEventsAux':'xAOD::TruthEventAuxContainer', - 'MET_Truth':'xAOD::MissingETContainer','MET_TruthAux':'xAOD::MissingETAuxContainer', - 'TruthElectrons':'xAOD::TruthParticleContainer','TruthElectronsAux':'xAOD::TruthParticleAuxContainer', - 'TruthMuons':'xAOD::TruthParticleContainer','TruthMuonsAux':'xAOD::TruthParticleAuxContainer', - 'TruthPhotons':'xAOD::TruthParticleContainer','TruthPhotonsAux':'xAOD::TruthParticleAuxContainer', - 'TruthTaus':'xAOD::TruthParticleContainer','TruthTausAux':'xAOD::TruthParticleAuxContainer', - 'TruthNeutrinos':'xAOD::TruthParticleContainer','TruthNeutrinosAux':'xAOD::TruthParticleAuxContainer', - 'TruthBSM':'xAOD::TruthParticleContainer','TruthBSMAux':'xAOD::TruthParticleAuxContainer', - 'TruthBoson':'xAOD::TruthParticleContainer','TruthBosonAux':'xAOD::TruthParticleAuxContainer', - 'TruthTop':'xAOD::TruthParticleContainer','TruthTopAux':'xAOD::TruthParticleAuxContainer', - 'TruthForwardProtons':'xAOD::TruthParticleContainer','TruthForwardProtonsAux':'xAOD::TruthParticleAuxContainer', - 'BornLeptons':'xAOD::TruthParticleContainer','BornLeptonsAux':'xAOD::TruthParticleAuxContainer', - 'TruthBosonsWithDecayParticles':'xAOD::TruthParticleContainer','TruthBosonsWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer', - 'TruthBosonsWithDecayVertices':'xAOD::TruthVertexContainer','TruthBosonsWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer', - 'TruthBSMWithDecayParticles':'xAOD::TruthParticleContainer','TruthBSMWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer', - 'TruthBSMWithDecayVertices':'xAOD::TruthVertexContainer','TruthBSMWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer', - 'HardScatterParticles':'xAOD::TruthParticleContainer','HardScatterParticlesAux':'xAOD::TruthParticleAuxContainer', - 'HardScatterVertices':'xAOD::TruthVertexContainer','HardScatterVerticesAux':'xAOD::TruthVertexAuxContainer', - 'TruthHFWithDecayParticles':'xAOD::TruthParticleContainer','TruthHFWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer', - 'TruthHFWithDecayVertices':'xAOD::TruthVertexContainer','TruthHFWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer', - 'TruthCharm':'xAOD::TruthParticleContainer','TruthCharmAux':'xAOD::TruthParticleAuxContainer', - 'TruthPrimaryVertices':'xAOD::TruthVertexContainer','TruthPrimaryVerticesAux':'xAOD::TruthVertexAuxContainer', - 'AntiKt10TruthTrimmedPtFrac5SmallR20Jets':'xAOD::JetContainer', 'AntiKt10TruthTrimmedPtFrac5SmallR20JetsAux':'xAOD::JetAuxContainer', - 'AntiKt10LCTopoJets':'xAOD::JetContainer', 'AntiKt10LCTopoJetsAux':'xAOD::JetAuxContainer', 'AntiKt10PV0TrackJets':'xAOD::JetContainer','AntiKt10PV0TrackJetsAux':'xAOD::JetAuxContainer', - 'BTagging_AntiKtVR30Rmax4Rmin02Track':'xAOD::BTaggingContainer','BTagging_AntiKtVR30Rmax4Rmin02TrackAux':'xAOD::BTaggingAuxContainer', 'EMOriginTopoClusters':'xAOD::CaloClusterContainer', 'EMOriginTopoClustersAux':'xAOD::ShallowAuxContainer', 'LCOriginTopoClusters':'xAOD::CaloClusterContainer', 'LCOriginTopoClustersAux':'xAOD::ShallowAuxContainer', 'BTagging_AntiKt4EMPFlowJFVtx':'xAOD::BTagVertexContainer','BTagging_AntiKt4EMPFlowJFVtxAux':'xAOD::BTagVertexAuxContainer', diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommonCA.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommonCA.py index 34a4f293909..37d9e8cef8f 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommonCA.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommonCA.py @@ -11,32 +11,7 @@ ## Common items used in PHYSVAL, FTAG1 and FTAG2 PHYSVAL_FTAG1_FTAG2_mc_AppendToDictionary = { - 'TruthEvents':'xAOD::TruthEventContainer','TruthEventsAux':'xAOD::TruthEventAuxContainer', - 'MET_Truth':'xAOD::MissingETContainer','MET_TruthAux':'xAOD::MissingETAuxContainer', - 'TruthElectrons':'xAOD::TruthParticleContainer','TruthElectronsAux':'xAOD::TruthParticleAuxContainer', - 'TruthMuons':'xAOD::TruthParticleContainer','TruthMuonsAux':'xAOD::TruthParticleAuxContainer', - 'TruthPhotons':'xAOD::TruthParticleContainer','TruthPhotonsAux':'xAOD::TruthParticleAuxContainer', - 'TruthTaus':'xAOD::TruthParticleContainer','TruthTausAux':'xAOD::TruthParticleAuxContainer', - 'TruthNeutrinos':'xAOD::TruthParticleContainer','TruthNeutrinosAux':'xAOD::TruthParticleAuxContainer', - 'TruthBSM':'xAOD::TruthParticleContainer','TruthBSMAux':'xAOD::TruthParticleAuxContainer', - 'TruthBoson':'xAOD::TruthParticleContainer','TruthBosonAux':'xAOD::TruthParticleAuxContainer', - 'TruthTop':'xAOD::TruthParticleContainer','TruthTopAux':'xAOD::TruthParticleAuxContainer', - 'TruthForwardProtons':'xAOD::TruthParticleContainer','TruthForwardProtonsAux':'xAOD::TruthParticleAuxContainer', - 'BornLeptons':'xAOD::TruthParticleContainer','BornLeptonsAux':'xAOD::TruthParticleAuxContainer', - 'TruthBosonsWithDecayParticles':'xAOD::TruthParticleContainer','TruthBosonsWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer', - 'TruthBosonsWithDecayVertices':'xAOD::TruthVertexContainer','TruthBosonsWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer', - 'TruthBSMWithDecayParticles':'xAOD::TruthParticleContainer','TruthBSMWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer', - 'TruthBSMWithDecayVertices':'xAOD::TruthVertexContainer','TruthBSMWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer', - 'HardScatterParticles':'xAOD::TruthParticleContainer','HardScatterParticlesAux':'xAOD::TruthParticleAuxContainer', - 'HardScatterVertices':'xAOD::TruthVertexContainer','HardScatterVerticesAux':'xAOD::TruthVertexAuxContainer', - 'TruthHFWithDecayParticles':'xAOD::TruthParticleContainer','TruthHFWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer', - 'TruthHFWithDecayVertices':'xAOD::TruthVertexContainer','TruthHFWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer', - 'TruthCharm':'xAOD::TruthParticleContainer','TruthCharmAux':'xAOD::TruthParticleAuxContainer', - 'TruthPrimaryVertices':'xAOD::TruthVertexContainer','TruthPrimaryVerticesAux':'xAOD::TruthVertexAuxContainer', - 'AntiKt10TruthTrimmedPtFrac5SmallR20Jets':'xAOD::JetContainer', 'AntiKt10TruthTrimmedPtFrac5SmallR20JetsAux':'xAOD::JetAuxContainer', - 'AntiKt10LCTopoJets':'xAOD::JetContainer', 'AntiKt10LCTopoJetsAux':'xAOD::JetAuxContainer', 'AntiKt10PV0TrackJets':'xAOD::JetContainer','AntiKt10PV0TrackJetsAux':'xAOD::JetAuxContainer', - 'BTagging_AntiKtVR30Rmax4Rmin02Track':'xAOD::BTaggingContainer','BTagging_AntiKtVR30Rmax4Rmin02TrackAux':'xAOD::BTaggingAuxContainer', 'EMOriginTopoClusters':'xAOD::CaloClusterContainer', 'EMOriginTopoClustersAux':'xAOD::ShallowAuxContainer', 'LCOriginTopoClusters':'xAOD::CaloClusterContainer', 'LCOriginTopoClustersAux':'xAOD::ShallowAuxContainer', 'BTagging_AntiKt4EMPFlowJFVtx':'xAOD::BTagVertexContainer','BTagging_AntiKt4EMPFlowJFVtxAux':'xAOD::BTagVertexAuxContainer', -- GitLab From 7f3ac77f52d1d65b264d23b59ef343ef08c93a26 Mon Sep 17 00:00:00 2001 From: ligang Date: Tue, 4 Oct 2022 14:13:33 +0200 Subject: [PATCH 3/9] move some items to ContainerOnTheFly and add AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets to FTAG1 --- .../python/ContainersOnTheFly.py | 18 ++++++++++++++++++ .../python/FTAG1.py | 2 ++ .../python/FtagCommon.py | 7 ------- .../python/FtagCommonCA.py | 10 ---------- 4 files changed, 20 insertions(+), 17 deletions(-) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/ContainersOnTheFly.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/ContainersOnTheFly.py index 2fe0f06b63b..eb21772918e 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/ContainersOnTheFly.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/ContainersOnTheFly.py @@ -58,6 +58,8 @@ ContainersOnTheFly = [ ["AntiKt4EMTopoCSSKJetsAux","xAOD::JetAuxContainer"], ["AntiKt4EMPFlowCSSKJets","xAOD::JetContainer"], ["AntiKt4EMPFlowCSSKJetsAux","xAOD::JetAuxContainer"], + ["AntiKt10PV0TrackJets","xAOD::JetContainer"], + ["AntiKt10PV0TrackJetsAux","xAOD::JetAuxContainer"], ["AntiKt10LCTopoJets","xAOD::JetContainer"], ["AntiKt10LCTopoJetsAux","xAOD::JetAuxContainer"], @@ -105,6 +107,22 @@ ContainersOnTheFly = [ ["MET_Core_AntiKt4EMPFlowAux",'xAOD::MissingETAuxContainer'], ["METAssoc_AntiKt4EMPFlow",'xAOD::MissingETAssociationMap'], ["METAssoc_AntiKt4EMPFlowAux",'xAOD::MissingETAuxAssociationMap'], + + ["EMOriginTopoClusters","xAOD::CaloClusterContainer"], + ["EMOriginTopoClustersAux","xAOD::ShallowAuxContainer"], + ["LCOriginTopoClusters","xAOD::CaloClusterContainer"], + ["LCOriginTopoClustersAux","xAOD::ShallowAuxContainer"], + + ["BTagging_AntiKt4EMPFlowJFVtx","xAOD::BTagVertexContainer"], + ["BTagging_AntiKt4EMPFlowJFVtxAux","xAOD::BTagVertexAuxContainer"], + ["BTagging_AntiKt4EMPFlowSecVtx","xAOD::VertexContainer"], + ["BTagging_AntiKt4EMPFlowSecVtxAux","xAOD::VertexAuxContainer"], + + ["CHSGChargedParticleFlowObjects","xAOD::FlowElementContainer"], + ["CHSGChargedParticleFlowObjectsAux","xAOD::ShallowAuxContainer"], + ["CHSGNeutralParticleFlowObjects","xAOD::FlowElementContainer"], + ["CHSGNeutralParticleFlowObjectsAux","xAOD::ShallowAuxContainer"], + ] from InDetPrepRawDataToxAOD.InDetDxAODJobProperties import InDetDxAODFlags diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py index b4596b55585..256ed329365 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py @@ -66,6 +66,7 @@ def FTAG1Cfg(ConfigFlags): "AntiKtVR30Rmax4Rmin02PV0TrackJets", "BTagging_AntiKtVR30Rmax4Rmin02Track", "MET_Baseline_AntiKt4EMPFlow", + "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets", ] FTAG1SlimmingHelper.AllVariables = [ "EventInfo", @@ -76,6 +77,7 @@ def FTAG1Cfg(ConfigFlags): "BTagging_AntiKtVR30Rmax4Rmin02Track", "BTagging_AntiKt4EMPFlowJFVtx", "BTagging_AntiKt4EMPFlowSecVtx", + "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets", "TruthParticles", "TruthVertices", "TruthBottom", "TruthElectrons","TruthMuons","TruthTaus", diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommon.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommon.py index 24fbeacaed8..2bdb7fe9125 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommon.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommon.py @@ -11,13 +11,6 @@ from DerivationFrameworkEGamma.ElectronsCPDetailedContent import GSFTracksCPDeta ## Common items used in PHYSVAL, FTAG1 and FTAG2 PHYSVAL_FTAG1_FTAG2_mc_AppendToDictionary = { - 'AntiKt10PV0TrackJets':'xAOD::JetContainer','AntiKt10PV0TrackJetsAux':'xAOD::JetAuxContainer', - 'EMOriginTopoClusters':'xAOD::CaloClusterContainer', 'EMOriginTopoClustersAux':'xAOD::ShallowAuxContainer', - 'LCOriginTopoClusters':'xAOD::CaloClusterContainer', 'LCOriginTopoClustersAux':'xAOD::ShallowAuxContainer', - 'BTagging_AntiKt4EMPFlowJFVtx':'xAOD::BTagVertexContainer','BTagging_AntiKt4EMPFlowJFVtxAux':'xAOD::BTagVertexAuxContainer', - 'BTagging_AntiKt4EMPFlowSecVtx':'xAOD::VertexContainer','BTagging_AntiKt4EMPFlowSecVtxAux':'xAOD::VertexAuxContainer', - 'CHSGChargedParticleFlowObjects': 'xAOD::FlowElementContainer', 'CHSGChargedParticleFlowObjectsAux':'xAOD::ShallowAuxContainer', - 'CHSGNeutralParticleFlowObjects': 'xAOD::FlowElementContainer', 'CHSGNeutralParticleFlowObjectsAux':'xAOD::ShallowAuxContainer', } PHYSVAL_FTAG1_FTAG2_ExtraVariables = ["AntiKt10TruthTrimmedPtFrac5SmallR20Jets.Tau1_wta.Tau2_wta.Tau3_wta.D2.GhostBHadronsFinalCount", diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommonCA.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommonCA.py index 37d9e8cef8f..ea4406651f1 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommonCA.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommonCA.py @@ -5,19 +5,9 @@ # This is to define common objects used by PHYSVAL, FTAG1 and FTAG2. #==================================================================== -#from DerivationFrameworkCore.DerivationFrameworkMaster import DerivationFrameworkIsMonteCarlo -#from DerivationFrameworkMCTruth.MCTruthCommon import addTruth3ContentToSlimmerTool -#from DerivationFrameworkEGamma.ElectronsCPDetailedContent import GSFTracksCPDetailedContent ## Common items used in PHYSVAL, FTAG1 and FTAG2 PHYSVAL_FTAG1_FTAG2_mc_AppendToDictionary = { - 'AntiKt10PV0TrackJets':'xAOD::JetContainer','AntiKt10PV0TrackJetsAux':'xAOD::JetAuxContainer', - 'EMOriginTopoClusters':'xAOD::CaloClusterContainer', 'EMOriginTopoClustersAux':'xAOD::ShallowAuxContainer', - 'LCOriginTopoClusters':'xAOD::CaloClusterContainer', 'LCOriginTopoClustersAux':'xAOD::ShallowAuxContainer', - 'BTagging_AntiKt4EMPFlowJFVtx':'xAOD::BTagVertexContainer','BTagging_AntiKt4EMPFlowJFVtxAux':'xAOD::BTagVertexAuxContainer', - 'BTagging_AntiKt4EMPFlowSecVtx':'xAOD::VertexContainer','BTagging_AntiKt4EMPFlowSecVtxAux':'xAOD::VertexAuxContainer', - 'CHSGChargedParticleFlowObjects': 'xAOD::FlowElementContainer', 'CHSGChargedParticleFlowObjectsAux':'xAOD::ShallowAuxContainer', - 'CHSGNeutralParticleFlowObjects': 'xAOD::FlowElementContainer', 'CHSGNeutralParticleFlowObjectsAux':'xAOD::ShallowAuxContainer', } PHYSVAL_FTAG1_FTAG2_ExtraVariables = ["AntiKt10TruthTrimmedPtFrac5SmallR20Jets.Tau1_wta.Tau2_wta.Tau3_wta.D2.GhostBHadronsFinalCount", -- GitLab From 22f7e88765b0f669be28fb15c4e6051aad0f946e Mon Sep 17 00:00:00 2001 From: ligang Date: Mon, 10 Oct 2022 09:24:53 +0200 Subject: [PATCH 4/9] add AntiKt10UFOCSSKJets to FTAG1 and add some CP contents --- .../DerivationFrameworkFlavourTag/python/FTAG1.py | 1 + .../python/AntiKt10UFOCSSKJetsCPContent.py | 1 + 2 files changed, 2 insertions(+) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py index 256ed329365..ea40352df61 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py @@ -66,6 +66,7 @@ def FTAG1Cfg(ConfigFlags): "AntiKtVR30Rmax4Rmin02PV0TrackJets", "BTagging_AntiKtVR30Rmax4Rmin02Track", "MET_Baseline_AntiKt4EMPFlow", + "AntiKt10UFOCSSKJets", "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets", ] FTAG1SlimmingHelper.AllVariables = [ diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/AntiKt10UFOCSSKJetsCPContent.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/AntiKt10UFOCSSKJetsCPContent.py index 19809b2ee81..83062a3e1b6 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/AntiKt10UFOCSSKJetsCPContent.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/AntiKt10UFOCSSKJetsCPContent.py @@ -7,4 +7,5 @@ AntiKt10UFOCSSKJetsCPContent = [ "AntiKt10UFOCSSKJetsAux.GhostBHadronsFinalCount.GhostHBosonsCount.GhostTQuarksFinalCount.GhostTrack.GhostWBosonsCount.GhostZBosonsCount", "AntiKt10UFOCSSKJetsAux.GhostAntiKtVR30Rmax4Rmin02PV0TrackJets", "AntiKt10UFOCSSKJetsAux.HadronConeExclExtendedTruthLabelID.HadronConeExclTruthLabelID.NumTrkPt500.SumPtTrkPt500", +"AntiKt10UFOCSSKJetsAux.HadronGhostExtendedTruthLabelID.GhostTausFinalCount.GhostCHadronsFinalCount", ] -- GitLab From 723159618d66ffac17a94d7153aed5d5a13afec8 Mon Sep 17 00:00:00 2001 From: ligang Date: Thu, 13 Oct 2022 04:20:14 +0200 Subject: [PATCH 5/9] rename FtagCommonCA and add protection for AppendToDictionary --- .../DerivationFrameworkFlavourTag/python/FTAG1.py | 10 +++++----- .../python/{FtagCommonCA.py => FtagBaseContent.py} | 7 +++++-- 2 files changed, 10 insertions(+), 7 deletions(-) rename PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/{FtagCommonCA.py => FtagBaseContent.py} (94%) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py index ea40352df61..551be21850d 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py @@ -93,20 +93,20 @@ def FTAG1Cfg(ConfigFlags): "JetAssociatedSCTClusters", ] - from DerivationFrameworkFlavourTag import FtagCommonCA + from DerivationFrameworkFlavourTag import FtagBaseContent # Static content - FtagCommonCA.add_static_content_to_SlimmingHelper(FTAG1SlimmingHelper) + FtagBaseContent.add_static_content_to_SlimmingHelper(FTAG1SlimmingHelper) # Add truth containers if ConfigFlags.Input.isMC: - FtagCommonCA.add_truth_to_SlimmingHelper(FTAG1SlimmingHelper) + FtagBaseContent.add_truth_to_SlimmingHelper(FTAG1SlimmingHelper) # Add ExtraVariables - FtagCommonCA.add_ExtraVariables_to_SlimmingHelper(FTAG1SlimmingHelper) + FtagBaseContent.add_ExtraVariables_to_SlimmingHelper(FTAG1SlimmingHelper) # Trigger content - FtagCommonCA.trigger_setup(FTAG1SlimmingHelper) + FtagBaseContent.trigger_setup(FTAG1SlimmingHelper) # Output stream diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommonCA.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagBaseContent.py similarity index 94% rename from PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommonCA.py rename to PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagBaseContent.py index ea4406651f1..1b37f5482b4 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagCommonCA.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FtagBaseContent.py @@ -43,9 +43,12 @@ def add_static_content_to_SlimmingHelper(SlimmingHelper, extra_StaticContent=[]) def add_truth_to_SlimmingHelper(SlimmingHelper): from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool - SlimmingHelper.AppendToDictionary = PHYSVAL_FTAG1_FTAG2_mc_AppendToDictionary + for _cont in PHYSVAL_FTAG1_FTAG2_mc_AppendToDictionary: + _type = PHYSVAL_FTAG1_FTAG2_mc_AppendToDictionary[_cont] + if _cont not in SlimmingHelper.AppendToDictionary: + SlimmingHelper.AppendToDictionary[_cont] = _type addTruth3ContentToSlimmerTool(SlimmingHelper) - SlimmingHelper.AllVariables += ['TruthHFWithDecayParticles','TruthHFWithDecayVertices','TruthCharm'] + SlimmingHelper.AllVariables += ['TruthHFWithDecayParticles','TruthHFWithDecayVertices','TruthCharm','TruthPileupParticles','InTimeAntiKt4TruthJets','OutOfTimeAntiKt4TruthJets'] def add_ExtraVariables_to_SlimmingHelper(SlimmingHelper): SlimmingHelper.ExtraVariables += PHYSVAL_FTAG1_FTAG2_ExtraVariables -- GitLab From af7ab3c33956f1ba4da7fcd8fff9c95acc2d1742 Mon Sep 17 00:00:00 2001 From: Albert Kong Date: Mon, 17 Oct 2022 13:38:03 +0200 Subject: [PATCH 6/9] clean up commented lines --- .../DerivationFrameworkFlavourTag/python/FTAG2.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py index d5602129968..f79f68982d0 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py @@ -23,8 +23,6 @@ def FTAG2KernelCfg(ConfigFlags, name='FTAG2Kernel', **kwargs): acc.merge(PhysCommonAugmentationsCfg(ConfigFlags, TriggerListsHelper = kwargs['TriggerListsHelper'])) # Thinning tools... - #from DerivationFrameworkInDet.InDetToolsConfig import TrackParticleThinningCfg, MuonTrackParticleThinningCfg - #from DerivationFrameworkTools.DerivationFrameworkToolsConfig import GenericObjectThinningCfg from DerivationFrameworkInDet.InDetToolsConfig import JetTrackParticleThinningCfg, MuonTrackParticleThinningCfg -- GitLab From c275150bd81d536cf5728dc1c8c3a6a96dba19bb Mon Sep 17 00:00:00 2001 From: Albert Kong Date: Mon, 17 Oct 2022 13:39:09 +0200 Subject: [PATCH 7/9] remove commented lines --- .../DerivationFrameworkFlavourTag/python/FTAG2.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py index f79f68982d0..6a8dc0bb586 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG2.py @@ -10,8 +10,6 @@ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory -#from DerivationFrameworkPhys import PhysCommon -#from DerivationFrameworkPhys import PhysCommonTrigger # Main algorithm config def FTAG2KernelCfg(ConfigFlags, name='FTAG2Kernel', **kwargs): -- GitLab From 0fd6ec411ffcb19050077d5c9449ae066a0f5afe Mon Sep 17 00:00:00 2001 From: Albert Kong Date: Mon, 17 Oct 2022 13:39:57 +0200 Subject: [PATCH 8/9] remove commented lines --- .../DerivationFrameworkFlavourTag/python/FTAG1.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py index 551be21850d..e0e423bf878 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py @@ -22,9 +22,6 @@ def FTAG1KernelCfg(ConfigFlags, name='FTAG1Kernel', **kwargs): from DerivationFrameworkPhys.PhysCommonConfig import PhysCommonAugmentationsCfg acc.merge(PhysCommonAugmentationsCfg(ConfigFlags, TriggerListsHelper = kwargs['TriggerListsHelper'])) - # Thinning tools... - #from DerivationFrameworkInDet.InDetToolsConfig import TrackParticleThinningCfg, MuonTrackParticleThinningCfg, TauTrackParticleThinningCfg, DiTauTrackParticleThinningCfg, TauJetLepRMParticleThinningCfg - #from DerivationFrameworkTools.DerivationFrameworkToolsConfig import GenericObjectThinningCfg # Finally the kernel itself thinningTools = [] -- GitLab From d98510793821e17a876bfac11a06fb3b7eefd961 Mon Sep 17 00:00:00 2001 From: Albert Kong Date: Mon, 17 Oct 2022 13:40:43 +0200 Subject: [PATCH 9/9] clean up commented lines --- .../DerivationFrameworkFlavourTag/python/FTAG1.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py index e0e423bf878..fe15de3fd1d 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/python/FTAG1.py @@ -10,8 +10,6 @@ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory -#from DerivationFrameworkPhys import PhysCommon -#from DerivationFrameworkPhys import PhysCommonTrigger # Main algorithm config def FTAG1KernelCfg(ConfigFlags, name='FTAG1Kernel', **kwargs): -- GitLab