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']))
22 from BTagging.FlavorTaggingConfig
import FlavorTaggingCfg
23 acc.merge(FlavorTaggingCfg(flags,
"AntiKt4EMPFlowJets"))
28 from DerivationFrameworkMCTruth.HFClassificationCommonConfig
import HFClassificationCommonCfg
29 acc.merge(HFClassificationCommonCfg(flags))
31 from DerivationFrameworkInDet.InDetToolsConfig
import TrackParticleThinningCfg
34 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'
36 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import (
37 xAODStringSkimmingToolCfg)
38 STDM13StringSkimmingTool = acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(
39 flags, name =
"STDM13StringSkimmingTool", expression = lepton_skimming_expression))
41 tp_thinning_expression =
"abs(DFCommonInDetTrackZ0AtPV*sin(InDetTrackParticles.theta)) < 6.0*mm"
42 STDM13TPThinningTool = acc.getPrimaryAndMerge(TrackParticleThinningCfg(
44 name =
"STDM13TPThinningTool",
45 StreamName = kwargs[
'StreamName'],
46 SelectionString = tp_thinning_expression,
47 InDetTrackParticlesKey =
"InDetTrackParticles"))
51 truth_stable_expr =
"TruthParticles.isGenStable"
52 STDM13TruthThinningTool = CompFactory.DerivationFramework.GenericTruthThinning(
53 name =
"STDM13TruthThin_stable",
54 StreamName = kwargs[
'StreamName'],
55 ParticleSelectionString = truth_stable_expr,
57 acc.addPublicTool(STDM13TruthThinningTool)
59 thinningTools = [STDM13TPThinningTool]
61 thinningTools += [STDM13TruthThinningTool]
62 skimmingTools = [STDM13StringSkimmingTool]
64 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
65 acc.addEventAlgo(DerivationKernel(name, SkimmingTools = skimmingTools, ThinningTools = thinningTools))
70 acc = ComponentAccumulator()
76 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
77 STDM13TriggerListsHelper = TriggerListsHelper(flags)
80 acc.merge(
STDM13KernelCfg(flags, name=
"STDM13Kernel", StreamName =
'StreamDAOD_STDM13', TriggerListsHelper = STDM13TriggerListsHelper))
85 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
86 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
87 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
89 STDM13SlimmingHelper =
SlimmingHelper(
"STDM13SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
91 from DerivationFrameworkFlavourTag
import FtagBaseContent
92 FtagBaseContent.add_common_augmentation(flags, acc, STDM13SlimmingHelper)
94 STDM13SlimmingHelper.SmartCollections += [
98 "MET_Baseline_AntiKt4EMPFlow",
100 "InDetTrackParticles",
101 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
104 STDM13SlimmingHelper.ExtraVariables += [
105 "AntiKt4EMPFlowJets.GhostTrack",
106 "InDetTrackParticles.btagIp_d0.btagIp_d0Uncertainty.btagIp_z0SinTheta.btagIp_z0SinThetaUncertainty.btagIp_trackMomentum.btagIp_trackDisplacement.btagIp_invalidIp",
107 "InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights",
108 "InDetTrackParticles.truthMatchProbability.truthParticleLink",
109 "AntiKt4EMPFlowJets.GN2v01_TrackOrigin.GN2v01_TrackLinks",
112 STDM13SlimmingHelper.AllVariables += [
115 "InDetTrackParticles",
117 "AntiKt4TruthDressedWZJets",
118 "TruthEvents",
"TruthHFWithDecayParticles",
"TruthBoson",
"TruthBottom",
"TruthCharm",
"TruthElectrons",
"TruthMuons",
"TruthTop",
"TruthTaus",
"MET_Truth",
119 "TruthPrimaryVertices",
"TruthHFWithDecayVertices",
122 STDM13SlimmingHelper.IncludeTriggerNavigation =
False
123 STDM13SlimmingHelper.IncludeJetTriggerContent =
False
124 STDM13SlimmingHelper.IncludeMuonTriggerContent =
False
125 STDM13SlimmingHelper.IncludeEGammaTriggerContent =
False
126 STDM13SlimmingHelper.IncludeJetTauEtMissTriggerContent =
False
127 STDM13SlimmingHelper.IncludeTauTriggerContent =
False
128 STDM13SlimmingHelper.IncludeEtMissTriggerContent =
False
129 STDM13SlimmingHelper.IncludeBJetTriggerContent =
False
130 STDM13SlimmingHelper.IncludeBPhysTriggerContent =
False
131 STDM13SlimmingHelper.IncludeMinBiasTriggerContent =
False
136 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import addTruth3ContentToSlimmerTool
137 addTruth3ContentToSlimmerTool(STDM13SlimmingHelper)
138 STDM13SlimmingHelper.AllVariables += [
'TruthLHEParticles',
'TruthHFWithDecayParticles',
'TruthHFWithDecayVertices',
'TruthCharm',
'TruthPileupParticles',
'InTimeAntiKt4TruthJets',
'OutOfTimeAntiKt4TruthJets']
139 STDM13SlimmingHelper.ExtraVariables += [
"Electrons.TruthLink",
142 "AntiKt4TruthDressedWZJets.IsoFixedCone5Pt"]
144 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import AddTauAndDownstreamParticlesCfg
145 acc.merge(AddTauAndDownstreamParticlesCfg(flags))
146 STDM13SlimmingHelper.AllVariables += [
'TruthTausWithDecayParticles',
'TruthTausWithDecayVertices']
149 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" ]
153 if flags.Trigger.EDMVersion == 2:
154 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddRun2TriggerMatchingToSlimmingHelper
155 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = STDM13SlimmingHelper,
156 OutputContainerPrefix =
"TrigMatch_",
157 TriggerList = STDM13TriggerListsHelper.Run2TriggerNamesTau)
158 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = STDM13SlimmingHelper,
159 OutputContainerPrefix =
"TrigMatch_",
160 TriggerList = STDM13TriggerListsHelper.Run2TriggerNamesNoTau)
162 if flags.Trigger.EDMVersion == 3
or (flags.Trigger.EDMVersion == 2
and flags.Trigger.doEDMVersionConversion):
163 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig
import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
164 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(STDM13SlimmingHelper)
167 STDM13ItemList = STDM13SlimmingHelper.GetItemList()
168 acc.merge(OutputStreamCfg(flags,
"DAOD_STDM13", ItemList=STDM13ItemList, AcceptAlgs=[
"STDM13Kernel"]))
169 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_STDM13", AcceptAlgs=[
"STDM13Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))