7 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
8 from AthenaConfiguration.ComponentFactory
import CompFactory
9 from AthenaConfiguration.Enums
import MetadataCategory
13 """Configure the derivation framework driving algorithm (kernel) for STDM13"""
17 from DerivationFrameworkPhys.PhysCommonConfig
import PhysCommonAugmentationsCfg
22 from BTagging.FlavorTaggingConfig
import FlavorTaggingCfg
28 from DerivationFrameworkMCTruth.HFClassificationCommonConfig
import HFClassificationCommonCfg
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 STDM13StringSkimmingTool = CompFactory.DerivationFramework.xAODStringSkimmingTool(
37 name =
"STDM13StringSkimmingTool",
38 expression = lepton_skimming_expression )
39 acc.addPublicTool(STDM13StringSkimmingTool)
40 STDM13SkimmingTool = CompFactory.DerivationFramework.FilterCombinationAND(
"STDM13SkimmingTool", FilterList = [STDM13StringSkimmingTool])
42 acc.addPublicTool(STDM13SkimmingTool, primary =
True)
43 tp_thinning_expression =
"abs(DFCommonInDetTrackZ0AtPV*sin(InDetTrackParticles.theta)) < 6.0*mm"
46 name =
"STDM13TPThinningTool",
47 StreamName = kwargs[
'StreamName'],
48 SelectionString = tp_thinning_expression,
49 InDetTrackParticlesKey =
"InDetTrackParticles"))
51 thinningTools = [ STDM13TPThinningTool ]
52 skimmingTools = [ STDM13SkimmingTool ]
54 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
55 acc.addEventAlgo(
DerivationKernel(name, SkimmingTools = skimmingTools, ThinningTools = thinningTools))
66 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
67 STDM13TriggerListsHelper = TriggerListsHelper(flags)
70 acc.merge(
STDM13KernelCfg(flags, name=
"STDM13Kernel", StreamName =
'StreamDAOD_STDM13', TriggerListsHelper = STDM13TriggerListsHelper))
75 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
76 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
77 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
79 STDM13SlimmingHelper =
SlimmingHelper(
"STDM13SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
81 from DerivationFrameworkFlavourTag
import FtagBaseContent
82 FtagBaseContent.addCommonAugmentation(flags, acc, STDM13SlimmingHelper)
84 STDM13SlimmingHelper.SmartCollections = [
88 "MET_Baseline_AntiKt4EMPFlow",
90 "InDetTrackParticles",
91 "BTagging_AntiKt4EMPFlow",
92 "AntiKt4EMPFlowJets_FTAG",
95 STDM13SlimmingHelper.AllVariables = [
98 "InDetTrackParticles",
99 "BTagging_AntiKt4EMPFlow",
100 "AntiKt4TruthDressedWZJets",
101 "TruthEvents",
"TruthHFWithDecayParticles",
"TruthBoson",
"TruthBottom",
"TruthCharm",
"TruthElectrons",
"TruthMuons",
"TruthTop",
"TruthTaus",
"MET_Truth",
102 "TruthPrimaryVertices",
"TruthHFWithDecayVertices",
"AntiKt4EMPFlowJets_FTAG",
106 STDM13SlimmingHelper.IncludeTriggerNavigation =
False
107 STDM13SlimmingHelper.IncludeJetTriggerContent =
False
108 STDM13SlimmingHelper.IncludeMuonTriggerContent =
False
109 STDM13SlimmingHelper.IncludeEGammaTriggerContent =
False
110 STDM13SlimmingHelper.IncludeJetTauEtMissTriggerContent =
False
111 STDM13SlimmingHelper.IncludeTauTriggerContent =
False
112 STDM13SlimmingHelper.IncludeEtMissTriggerContent =
False
113 STDM13SlimmingHelper.IncludeBJetTriggerContent =
False
114 STDM13SlimmingHelper.IncludeBPhysTriggerContent =
False
115 STDM13SlimmingHelper.IncludeMinBiasTriggerContent =
False
120 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import addTruth3ContentToSlimmerTool
122 STDM13SlimmingHelper.AllVariables += [
'TruthLHEParticles',
'TruthHFWithDecayParticles',
'TruthHFWithDecayVertices',
'TruthCharm',
'TruthPileupParticles',
'InTimeAntiKt4TruthJets',
'OutOfTimeAntiKt4TruthJets']
123 STDM13SlimmingHelper.ExtraVariables += [
"Electrons.TruthLink",
126 "AntiKt4TruthDressedWZJets.IsoFixedCone5Pt"]
128 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import AddTauAndDownstreamParticlesCfg
130 STDM13SlimmingHelper.AllVariables += [
'TruthTausWithDecayParticles',
'TruthTausWithDecayVertices']
133 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" ]
138 if flags.Trigger.EDMVersion == 2:
139 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddRun2TriggerMatchingToSlimmingHelper
141 OutputContainerPrefix =
"TrigMatch_",
142 TriggerList = STDM13TriggerListsHelper.Run2TriggerNamesTau)
144 OutputContainerPrefix =
"TrigMatch_",
145 TriggerList = STDM13TriggerListsHelper.Run2TriggerNamesNoTau)
147 if flags.Trigger.EDMVersion == 3
or (flags.Trigger.EDMVersion == 2
and flags.Trigger.doEDMVersionConversion):
148 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig
import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
152 STDM13ItemList = STDM13SlimmingHelper.GetItemList()
153 acc.merge(
OutputStreamCfg(flags,
"DAOD_STDM13", ItemList=STDM13ItemList, AcceptAlgs=[
"STDM13Kernel"]))
154 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_STDM13", AcceptAlgs=[
"STDM13Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))