13 """Configure the derivation framework driving algorithm (kernel) for STDM13"""
14 acc = ComponentAccumulator()
17 from DerivationFrameworkPhys.PhysCommonConfig
import PhysCommonAugmentationsCfg
18 acc.merge(PhysCommonAugmentationsCfg(flags, TriggerListsHelper = kwargs[
'TriggerListsHelper']))
21 from BTagging.FlavorTaggingConfig
import FlavorTaggingCfg
22 acc.merge(FlavorTaggingCfg(flags,
"AntiKt4EMPFlowJets"))
26 from JetRecConfig.JetRecConfig
import getModifier
27 from JetRecConfig.StandardJetMods
import stdJetModifiers
28 from JetRecConfig.StandardSmallRJets
import AntiKt4EMPFlow
29 JetIRCSafeLabelTool = getModifier(AntiKt4EMPFlow, stdJetModifiers[
'JetIRCSafeLabel'], stdJetModifiers[
'JetIRCSafeLabel'].modspec, flags=flags)
30 acc.addEventAlgo(CompFactory.JetDecorationAlg(name=
'JetIRCSafeLabelAlg',
31 JetContainer=
'AntiKt4EMPFlowJets',
32 Decorators=[JetIRCSafeLabelTool]))
37 from DerivationFrameworkMCTruth.HFClassificationCommonConfig
import HFClassificationCommonCfg
38 acc.merge(HFClassificationCommonCfg(flags))
40 from DerivationFrameworkInDet.InDetToolsConfig
import TrackParticleThinningCfg
43 lepton_skimming_expression =
'count( (Muons.pt > 25*GeV) && (0 == Muons.muonType || 1 == Muons.muonType || 4 == Muons.muonType) ) + count(( Electrons.pt > 25*GeV) && ((Electrons.Loose) || (Electrons.DFCommonElectronsLHLoose))) >= 1'
45 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import (
46 xAODStringSkimmingToolCfg)
47 STDM13StringSkimmingTool = acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(
48 flags, name =
"STDM13StringSkimmingTool", expression = lepton_skimming_expression))
50 tp_thinning_expression =
"abs(InDetTrackParticles.DFCommonInDetTrackZ0AtPV*sin(InDetTrackParticles.theta)) < 6.0*mm"
51 STDM13TPThinningTool = acc.getPrimaryAndMerge(TrackParticleThinningCfg(
53 name =
"STDM13TPThinningTool",
54 StreamName = kwargs[
'StreamName'],
55 SelectionString = tp_thinning_expression,
56 InDetTrackParticlesKey =
"InDetTrackParticles"))
60 truth_stable_expr =
"TruthParticles.isGenStable"
61 STDM13TruthThinningTool = CompFactory.DerivationFramework.GenericTruthThinning(
62 name =
"STDM13TruthThin_stable",
63 StreamName = kwargs[
'StreamName'],
64 ParticleSelectionString = truth_stable_expr,
66 acc.addPublicTool(STDM13TruthThinningTool)
68 thinningTools = [STDM13TPThinningTool]
70 thinningTools += [STDM13TruthThinningTool]
71 skimmingTools = [STDM13StringSkimmingTool]
73 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
74 acc.addEventAlgo(DerivationKernel(name, SkimmingTools = skimmingTools, ThinningTools = thinningTools))
80 acc = ComponentAccumulator()
86 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
87 STDM13TriggerListsHelper = TriggerListsHelper(flags)
90 acc.merge(
STDM13KernelCfg(flags, name=
"STDM13Kernel", StreamName =
'StreamDAOD_STDM13', TriggerListsHelper = STDM13TriggerListsHelper))
95 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
96 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
97 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
99 STDM13SlimmingHelper =
SlimmingHelper(
"STDM13SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
101 from DerivationFrameworkFlavourTag
import FtagBaseContent
102 FtagBaseContent.add_common_augmentation(flags, acc, STDM13SlimmingHelper)
104 STDM13SlimmingHelper.SmartCollections += [
107 "AntiKt4EMPFlowJets",
108 "MET_Baseline_AntiKt4EMPFlow",
110 "InDetTrackParticles",
111 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
114 STDM13SlimmingHelper.ExtraVariables += [
115 "AntiKt4EMPFlowJets.GhostTrack",
116 "InDetTrackParticles.btagIp_d0.btagIp_d0Uncertainty.btagIp_z0SinTheta.btagIp_z0SinThetaUncertainty.btagIp_trackMomentum.btagIp_trackDisplacement.btagIp_invalidIp",
117 "InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights",
118 "InDetTrackParticles.truthMatchProbability.truthParticleLink",
119 "AntiKt4EMPFlowJets.GN2v01_TrackOrigin.GN2v01_TrackLinks",
122 STDM13SlimmingHelper.AllVariables += [
125 "InDetTrackParticles",
127 "AntiKt4TruthDressedWZJets",
128 "TruthEvents",
"TruthHFWithDecayParticles",
"TruthBoson",
"TruthBottom",
"TruthCharm",
"TruthElectrons",
"TruthMuons",
"TruthTop",
"TruthTaus",
"MET_Truth",
129 "TruthPrimaryVertices",
"TruthHFWithDecayVertices",
132 STDM13SlimmingHelper.IncludeTriggerNavigation =
False
133 STDM13SlimmingHelper.IncludeJetTriggerContent =
False
134 STDM13SlimmingHelper.IncludeMuonTriggerContent =
False
135 STDM13SlimmingHelper.IncludeEGammaTriggerContent =
False
136 STDM13SlimmingHelper.IncludeJetTauEtMissTriggerContent =
False
137 STDM13SlimmingHelper.IncludeTauTriggerContent =
False
138 STDM13SlimmingHelper.IncludeEtMissTriggerContent =
False
139 STDM13SlimmingHelper.IncludeBJetTriggerContent =
False
140 STDM13SlimmingHelper.IncludeBPhysTriggerContent =
False
141 STDM13SlimmingHelper.IncludeMinBiasTriggerContent =
False
146 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import addTruth3ContentToSlimmerTool
147 addTruth3ContentToSlimmerTool(STDM13SlimmingHelper)
148 STDM13SlimmingHelper.AllVariables += [
'TruthLHEParticles',
'TruthHFWithDecayParticles',
'TruthHFWithDecayVertices',
'TruthCharm',
'TruthPileupParticles',
'InTimeAntiKt4TruthJets',
'OutOfTimeAntiKt4TruthJets']
149 STDM13SlimmingHelper.ExtraVariables += [
"Electrons.TruthLink",
152 "AntiKt4TruthDressedWZJets.IsoFixedCone5Pt"]
154 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import AddTauAndDownstreamParticlesCfg
155 acc.merge(AddTauAndDownstreamParticlesCfg(flags))
156 STDM13SlimmingHelper.AllVariables += [
'TruthTausWithDecayParticles',
'TruthTausWithDecayVertices']
159 STDM13SlimmingHelper.ExtraVariables += [
"AntiKt4EMPFlowJets.IRCSafeLabelIFN.IRCSafeLabelCMP.IRCSafeLabelGHS.IRCSafeLabelSDF.IRCSafeLabelAKT" ]
162 STDM13SlimmingHelper.ExtraVariables += [
"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" ]
166 if flags.Trigger.EDMVersion == 2:
167 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddRun2TriggerMatchingToSlimmingHelper
168 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = STDM13SlimmingHelper,
169 OutputContainerPrefix =
"TrigMatch_",
170 TriggerList = STDM13TriggerListsHelper.Run2TriggerNamesTau)
171 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = STDM13SlimmingHelper,
172 OutputContainerPrefix =
"TrigMatch_",
173 TriggerList = STDM13TriggerListsHelper.Run2TriggerNamesNoTau)
175 if flags.Trigger.EDMVersion == 3
or (flags.Trigger.EDMVersion == 2
and flags.Trigger.doEDMVersionConversion):
176 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig
import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
177 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(STDM13SlimmingHelper)
180 STDM13ItemList = STDM13SlimmingHelper.GetItemList()
181 acc.merge(OutputStreamCfg(flags,
"DAOD_STDM13", ItemList=STDM13ItemList, AcceptAlgs=[
"STDM13Kernel"]))
182 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_STDM13", AcceptAlgs=[
"STDM13Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))