10 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
11 from AthenaConfiguration.ComponentFactory
import CompFactory
12 from AthenaConfiguration.Enums
import MetadataCategory
13 from AthenaCommon.Logging
import logging
14 logPHYS = logging.getLogger(
'PHYS')
18 """Configure the derivation framework driving algorithm (kernel) for PHYS"""
21 from TrkConfig.VertexFindingFlags
import VertexSortingSetup
22 if flags.Tracking.PriVertex.sortingSetup
is VertexSortingSetup.GNNSorting:
23 from DerivationFrameworkPhys.GNNVertexConfig
import GNNVertexCfg
27 from DerivationFrameworkPhys.PhysCommonConfig
import PhysCommonAugmentationsCfg
30 TriggerListsHelper = kwargs[
'TriggerListsHelper']
35 nametag = name.replace(
'Kernel',
'')
37 'TrackParticleThinningToolName' : nametag+
"TrackParticleThinningTool",
38 'MuonTPThinningToolName' : nametag+
"MuonTPThinningTool",
39 'TauJetThinningToolName' : nametag+
"TauJetThinningTool",
40 'TauJets_MuonRMThinningToolName' : nametag+
"TauJets_MuonRMThinningTool",
41 'DiTauTPThinningToolName' : nametag+
"DiTauTPThinningTool",
42 'DiTauLowPtThinningToolName' : nametag+
"DiTauLowPtThinningTool",
43 'DiTauLowPtTPThinningToolName' : nametag+
"DiTauLowPtTPThinningTool",
46 if flags.Tau.TauEleRM_isAvailable:
47 thinningToolsArgs[
'TauJets_EleRMThinningToolName'] = nametag+
"TauJets_EleRMThinningTool"
49 from DerivationFrameworkPhys.PhysCommonThinningConfig
import PhysCommonThinningCfg
53 for key
in thinningToolsArgs:
54 thinningTools.append(acc.getPublicTool(thinningToolsArgs[key]))
57 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
62 def PHYSCoreCfg(flags, name_tag='PHYS', StreamName='StreamDAOD_PHYS', TriggerListsHelper=None):
64 if TriggerListsHelper
is None:
65 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
66 TriggerListsHelper = TriggerListsHelper(flags)
71 from DerivationFrameworkHiggs.HiggsPhysContent
import HiggsAugmentationAlgsCfg
75 from DerivationFrameworkFlavourTag.FtagDerivationConfig
import JetCollectionsBTaggingCfg
80 from IsolationSelection.IsolationSelectionConfig
import IsoCloseByAlgsCfg
84 from LeptonTaggers.LeptonTaggersConfig
import DecoratePLITAlgsCfg
90 from DerivationFrameworkMCTruth.HFClassificationCommonConfig
import HFClassificationCommonCfg
96 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
97 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
98 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
100 PHYSSlimmingHelper =
SlimmingHelper(name_tag+
"SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
101 PHYSSlimmingHelper.SmartCollections = [
"EventInfo",
106 "InDetTrackParticles",
108 "AntiKt4EMPFlowJets",
109 "BTagging_AntiKt4EMPFlow",
110 "AntiKt4EMPFlowJets_FTAG",
111 "MET_Baseline_AntiKt4EMTopo",
112 "MET_Baseline_AntiKt4EMPFlow",
117 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
118 "AntiKtVR30Rmax4Rmin02PV0TrackJets",
120 if flags.Tau.TauEleRM_isAvailable:
121 PHYSSlimmingHelper.SmartCollections.append(
"TauJets_EleRM")
123 excludedVertexAuxData =
"-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
125 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Tight_Vertices"]
126 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Tight_VerticesAux." + excludedVertexAuxData]
127 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Medium_Vertices"]
128 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Medium_VerticesAux." + excludedVertexAuxData]
129 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Loose_Vertices"]
130 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Loose_VerticesAux." + excludedVertexAuxData]
132 PHYSSlimmingHelper.StaticContent = StaticContent
135 PHYSSlimmingHelper.ExtraVariables += [
"AntiKt4EMTopoJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt.IsoFixedCone5PtPUsub",
136 "AntiKt4EMPFlowJets.QGTransformer_ConstScore.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt.GhostPartons.isJvtHS.isJvtPU.IsoFixedCone5PtPUsub",
137 "TruthPrimaryVertices.t.x.y.z",
138 "InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.numberOfTRTHits.numberOfTRTOutliers",
139 "EventInfo.GenFiltHT.GenFiltMET.GenFiltHTinclNu.GenFiltPTZ.GenFiltFatJ.HF_Classification.HF_SimpleClassification",
140 "TauJets.dRmax.etOverPtLeadTrk",
141 "TauJets_MuonRM.dRmax.etOverPtLeadTrk",
142 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET.ex.ey",
143 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_mht.ex.ey"]
144 if flags.Tau.TauEleRM_isAvailable:
145 PHYSSlimmingHelper.ExtraVariables += [
"TauJets_EleRM.dRmax.etOverPtLeadTrk"]
148 from LeptonTaggers.LeptonTaggersConfig
import GetExtraPLITVariablesForDxAOD
154 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import addTruth3ContentToSlimmerTool
156 PHYSSlimmingHelper.AllVariables += [
'TruthLHEParticles',
'TruthHFWithDecayParticles',
'TruthHFWithDecayVertices',
'TruthCharm',
'TruthPileupParticles',
'InTimeAntiKt4TruthJets',
'OutOfTimeAntiKt4TruthJets']
157 PHYSSlimmingHelper.ExtraVariables += [
"Electrons.TruthLink",
160 "AntiKt4TruthDressedWZJets.IsoFixedCone5Pt"]
162 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import AddTauAndDownstreamParticlesCfg
164 PHYSSlimmingHelper.AllVariables += [
'TruthTausWithDecayParticles',
'TruthTausWithDecayVertices']
167 from DerivationFrameworkHiggs.HiggsPhysContent
import setupHiggsSlimmingVariables
171 PHYSSlimmingHelper.AllVariables += [
'AFPSiHitContainer',
'AFPToFHitContainer' ]
174 PHYSSlimmingHelper.IncludeTriggerNavigation =
False
175 PHYSSlimmingHelper.IncludeJetTriggerContent =
False
176 PHYSSlimmingHelper.IncludeMuonTriggerContent =
False
177 PHYSSlimmingHelper.IncludeEGammaTriggerContent =
False
178 PHYSSlimmingHelper.IncludeTauTriggerContent =
False
179 PHYSSlimmingHelper.IncludeEtMissTriggerContent =
False
180 PHYSSlimmingHelper.IncludeBJetTriggerContent =
False
181 PHYSSlimmingHelper.IncludeBPhysTriggerContent =
False
182 PHYSSlimmingHelper.IncludeMinBiasTriggerContent =
False
184 PHYSSlimmingHelper.IncludeBJetTriggerByYearContent =
True
188 if flags.Trigger.EDMVersion == 2:
189 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddRun2TriggerMatchingToSlimmingHelper
191 OutputContainerPrefix =
"TrigMatch_",
192 TriggerList = TriggerListsHelper.Run2TriggerNamesTau)
194 OutputContainerPrefix =
"TrigMatch_",
195 TriggerList = TriggerListsHelper.Run2TriggerNamesNoTau)
197 if flags.Trigger.EDMVersion == 3
or (flags.Trigger.EDMVersion == 2
and flags.Trigger.doEDMVersionConversion):
198 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig
import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
202 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import getDataYear
205 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddjFexRoIsToSlimmingHelper
209 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddLegacyL1JetRoIsToSlimmingHelper
213 PHYSItemList = PHYSSlimmingHelper.GetItemList()
214 acc.merge(
OutputStreamCfg(flags,
"DAOD_"+name_tag, ItemList=PHYSItemList, AcceptAlgs=[name_tag+
"Kernel"]))
215 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_"+name_tag, AcceptAlgs=[name_tag+
"Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))
221 logPHYS.info(
'****************** STARTING PHYS *****************')
223 stream_name =
'StreamDAOD_PHYS'
230 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
231 PHYSTriggerListsHelper = TriggerListsHelper(flags)
237 StreamName = stream_name,
238 TriggerListsHelper = PHYSTriggerListsHelper
244 StreamName = stream_name,
245 TriggerListsHelper = PHYSTriggerListsHelper