58def PHYSCoreCfg(flags, name_tag='PHYS', StreamName='StreamDAOD_PHYS', TriggerListsHelper=None, addExtraVariables=None):
60 if TriggerListsHelper
is None:
61 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
62 TriggerListsHelper = TriggerListsHelper(flags)
64 acc = ComponentAccumulator()
67 from DerivationFrameworkHiggs.HiggsPhysContent
import HiggsAugmentationAlgsCfg
68 acc.merge(HiggsAugmentationAlgsCfg(flags))
72 from IsolationSelection.IsolationSelectionConfig
import IsoCloseByAlgsCfg
73 acc.merge(IsoCloseByAlgsCfg(flags, isPhysLite =
False, stream_name = StreamName))
76 from LeptonTaggers.LeptonTaggersConfig
import DecoratePLITAlgsCfg
77 acc.merge(DecoratePLITAlgsCfg(flags))
82 from DerivationFrameworkMCTruth.HFClassificationCommonConfig
import HFClassificationCommonCfg
83 acc.merge(HFClassificationCommonCfg(flags))
88 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
89 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
90 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
92 PHYSSlimmingHelper =
SlimmingHelper(name_tag+
"SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
93 PHYSSlimmingHelper.SmartCollections = [
"EventInfo",
98 "InDetTrackParticles",
100 "AntiKt4EMPFlowJets",
101 "MET_Baseline_AntiKt4EMTopo",
102 "MET_Baseline_AntiKt4EMPFlow",
107 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
108 "AntiKtVR30Rmax4Rmin02PV0TrackJets",
110 if flags.Tau.TauEleRM_isAvailable:
111 PHYSSlimmingHelper.SmartCollections.append(
"TauJets_EleRM")
113 excludedVertexAuxData =
"-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
115 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Tight_Vertices"]
116 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Tight_VerticesAux." + excludedVertexAuxData]
117 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Medium_Vertices"]
118 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Medium_VerticesAux." + excludedVertexAuxData]
119 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Loose_Vertices"]
120 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Loose_VerticesAux." + excludedVertexAuxData]
121 StaticContent += [
"xAOD::VertexContainer#NVSI_SecVrt_Tight"]
122 StaticContent += [
"xAOD::VertexAuxContainer#NVSI_SecVrt_TightAux."+excludedVertexAuxData]
124 PHYSSlimmingHelper.StaticContent = StaticContent
127 PHYSSlimmingHelper.ExtraVariables += [
"AntiKt4EMTopoJets.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt.IsoFixedCone5PtPUsub",
128 "AntiKt4EMPFlowJets.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt.isJvtHS.isJvtPU.IsoFixedCone5PtPUsub",
129 "TruthPrimaryVertices.t.x.y.z",
130 "InDetTrackParticles.eProbabilityHT.numberOfTRTHits.numberOfTRTOutliers",
131 "EventInfo.GenFiltHT.GenFiltMET.GenFiltHTinclNu.GenFiltPTZ.GenFiltFatJ.HF_Classification.HF_SimpleClassification.HF_ClassificationC5J20.HF_ClassificationC5J25.HF_ClassificationC15J20.HF_ClassificationC15J25",
132 "TauJets.dRmax.etOverPtLeadTrk",
133 "TauJets_MuonRM.dRmax.etOverPtLeadTrk",
134 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET.ex.ey",
135 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_mht.ex.ey",
136 "HLT_AnomDet_ComboHypo.adScore"]
138 if addExtraVariables:
139 PHYSSlimmingHelper.ExtraVariables += addExtraVariables
142 from TrkConfig.VertexFindingFlags
import VertexSortingSetup
143 if flags.Tracking.PriVertex.sortingSetup
is VertexSortingSetup.GNNSorting:
144 PHYSSlimmingHelper.ExtraVariables += [
"PrimaryVertices.gnnScore"]
146 if flags.Tau.TauEleRM_isAvailable:
147 PHYSSlimmingHelper.ExtraVariables += [
"TauJets_EleRM.dRmax.etOverPtLeadTrk"]
150 from LeptonTaggers.LeptonTaggersConfig
import GetExtraPLITVariablesForDxAOD
151 PHYSSlimmingHelper.ExtraVariables += GetExtraPLITVariablesForDxAOD()
156 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import addTruth3ContentToSlimmerTool
157 addTruth3ContentToSlimmerTool(PHYSSlimmingHelper)
158 PHYSSlimmingHelper.AllVariables += [
'TruthLHEParticles',
'InTimeAntiKt4TruthJets',
'OutOfTimeAntiKt4TruthJets']
159 PHYSSlimmingHelper.ExtraVariables += [
"Electrons.TruthLink",
162 "AntiKt4TruthDressedWZJets.IsoFixedCone5Pt.HFHadronOriginID",
163 "TruthHFWithDecayParticles.prodVtxLink.prodVtxLink.prodVtxLink.decayVtxLink.decayVtxLink.decayVtxLink.parentLinks.childLinks.m.px.py.pz.e.pdgId.Classification.uid.classifierParticleOrigin.classifierParticleType.classifierParticleOutCome.status",
164 "TruthHFWithDecayVertices.incomingParticleLinks.outgoingParticleLinks.uid.status.x.y.z.t",
165 "TruthCharm.prodVtxLink.prodVtxLink.prodVtxLink.decayVtxLink.decayVtxLink.decayVtxLink.parentLinks.childLinks.m.px.py.pz.e.pdgId.Classification.uid.classifierParticleOrigin.classifierParticleType.classifierParticleOutCome.status.barcode.polarizationPhi.polarizationTheta",
166 "TruthPileupParticles.prodVtxLink.prodVtxLink.prodVtxLink.decayVtxLink.decayVtxLink.decayVtxLink.m.px.py.pz.e.pdgId.Classification.uid.classifierParticleOrigin.classifierParticleType.classifierParticleOutCome.status.barcode.PVz.pileupEventNumber.parentHadronID"]
168 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import AddTauAndDownstreamParticlesCfg
169 acc.merge(AddTauAndDownstreamParticlesCfg(flags))
170 PHYSSlimmingHelper.ExtraVariables += [
"TruthTausWithDecayParticles.prodVtxLink.prodVtxLink.prodVtxLink.decayVtxLink.decayVtxLink.decayVtxLink.m.px.py.pz.e.pdgId.Classification.uid.classifierParticleOrigin.classifierParticleType.classifierParticleOutCome.status",
171 "TruthTausWithDecayVertices.incomingParticleLinks.outgoingParticleLinks.uid.status.x.y.z.t"]
174 PHYSSlimmingHelper.ExtraVariables += [
"AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10TruthLabel_R22v1_TruthMatch_Jet",
175 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10TruthLabel_R22v1_TruthMatch_m",
176 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10TruthLabel_R22v1_TruthMatch_pt",
177 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10TruthLabel_R22v1_TruthMatch_rapidity",
178 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10TruthLabel_R22v1_TruthMatch_phi",
179 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10TruthLabel_R22v1_TruthMatch_dR",
180 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10TruthLabel_R22v1_TruthMatch_GroomedJetMass",
181 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10TruthLabel_R22v1_TruthMatch_GroomedJetPt",
182 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10WZTruthLabel_R22v1_TruthMatch_Jet",
183 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10WZTruthLabel_R22v1_TruthMatch_m",
184 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10WZTruthLabel_R22v1_TruthMatch_pt",
185 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10WZTruthLabel_R22v1_TruthMatch_rapidity",
186 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10WZTruthLabel_R22v1_TruthMatch_phi",
187 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10WZTruthLabel_R22v1_TruthMatch_dR",
188 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10WZTruthLabel_R22v1_TruthMatch_GroomedJetMass",
189 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.R10WZTruthLabel_R22v1_TruthMatch_GroomedJetPt"]
192 from DerivationFrameworkHiggs.HiggsPhysContent
import setupHiggsSlimmingVariables
193 setupHiggsSlimmingVariables(flags, PHYSSlimmingHelper)
196 PHYSSlimmingHelper.AllVariables += [
'AFPSiHitContainer',
'AFPToFHitContainer' ]
199 PHYSSlimmingHelper.AppendToDictionary.update({
'MET_Core_AntiKt4EMPFlowHR':
'xAOD::MissingETContainer',
'MET_Core_AntiKt4EMPFlowHRAux':
'xAOD::MissingETAuxContainer',
200 'METAssoc_AntiKt4EMPFlowHR':
'xAOD::MissingETAssociationMap',
'METAssoc_AntiKt4EMPFlowHRAux':
'xAOD::MissingETAuxAssociationMap'})
202 PHYSSlimmingHelper.AllVariables += [
'METAssoc_AntiKt4EMPFlowHR']
204 PHYSSlimmingHelper.ExtraVariables += [
'Muons.UEcorr_Pt',
'Electrons.UEcorr_Pt',
'MET_Core_AntiKt4EMPFlowHR.name.mpx.mpy.sumet.source']
207 PHYSSlimmingHelper.IncludeTriggerNavigation =
False
208 PHYSSlimmingHelper.IncludeJetTriggerContent =
False
209 PHYSSlimmingHelper.IncludeMuonTriggerContent =
False
210 PHYSSlimmingHelper.IncludeEGammaTriggerContent =
False
211 PHYSSlimmingHelper.IncludeTauTriggerContent =
False
212 PHYSSlimmingHelper.IncludeEtMissTriggerContent =
False
213 PHYSSlimmingHelper.IncludeBJetTriggerContent =
False
214 PHYSSlimmingHelper.IncludeBPhysTriggerContent =
False
215 PHYSSlimmingHelper.IncludeMinBiasTriggerContent =
False
217 PHYSSlimmingHelper.IncludeBJetTriggerByYearContent =
True
220 if flags.Input.TriggerStream==
'physics_DarkJetPEBTLA' and not flags.Input.isMC:
221 PHYSSlimmingHelper.AllVariables += [
'HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_TLA',
226 if flags.Trigger.EDMVersion == 2:
227 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddRun2TriggerMatchingToSlimmingHelper
228 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = PHYSSlimmingHelper,
229 OutputContainerPrefix =
"TrigMatch_",
230 TriggerList = TriggerListsHelper.Run2TriggerNamesTau)
231 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = PHYSSlimmingHelper,
232 OutputContainerPrefix =
"TrigMatch_",
233 TriggerList = TriggerListsHelper.Run2TriggerNamesNoTau)
235 if flags.Trigger.EDMVersion == 3
or (flags.Trigger.EDMVersion == 2
and flags.Trigger.doEDMVersionConversion):
236 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig
import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
237 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(PHYSSlimmingHelper)
240 from Campaigns.Utils
import getDataYear
241 if getDataYear(flags) >= 2024:
243 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddjFexRoIsToSlimmingHelper
244 AddjFexRoIsToSlimmingHelper(SlimmingHelper = PHYSSlimmingHelper)
245 elif getDataYear(flags) >= 2015:
247 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddLegacyL1JetRoIsToSlimmingHelper
248 AddLegacyL1JetRoIsToSlimmingHelper(SlimmingHelper = PHYSSlimmingHelper)
251 PHYSItemList = PHYSSlimmingHelper.GetItemList()
252 acc.merge(OutputStreamCfg(flags,
"DAOD_"+name_tag, ItemList=PHYSItemList, AcceptAlgs=[name_tag+
"Kernel"]))
253 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_"+name_tag, AcceptAlgs=[name_tag+
"Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))