ATLAS Offline Software
Loading...
Searching...
No Matches
python.STDM13 Namespace Reference

Functions

 STDM13KernelCfg (flags, name='STDM13Kernel', **kwargs)
 STDM13Cfg (flags)

Function Documentation

◆ STDM13Cfg()

STDM13Cfg ( flags)

Definition at line 79 of file STDM13.py.

79def STDM13Cfg(flags):
80 acc = ComponentAccumulator()
81
82 # Get the lists of triggers needed for trigger matching.
83 # This is needed at this scope (for the slimming) and further down in the config chain
84 # for actually configuring the matching, so we create it here and pass it down
85 # TODO: this should ideally be called higher up to avoid it being run multiple times in a train
86 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
87 STDM13TriggerListsHelper = TriggerListsHelper(flags)
88
89 # Common augmentations
90 acc.merge(STDM13KernelCfg(flags, name="STDM13Kernel", StreamName = 'StreamDAOD_STDM13', TriggerListsHelper = STDM13TriggerListsHelper))
91
92 # ============================
93 # Define contents of the format
94 # =============================
95 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
96 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
97 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
98
99 STDM13SlimmingHelper = SlimmingHelper("STDM13SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
100
101 from DerivationFrameworkFlavourTag import FtagBaseContent
102 FtagBaseContent.add_common_augmentation(flags, acc, STDM13SlimmingHelper)
103
104 STDM13SlimmingHelper.SmartCollections += [
105 "Electrons",
106 "Muons",
107 "AntiKt4EMPFlowJets",
108 "MET_Baseline_AntiKt4EMPFlow",
109 "PrimaryVertices",
110 "InDetTrackParticles",
111 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
112 ]
113
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",
120 ]
121
122 STDM13SlimmingHelper.AllVariables += [
123 "EventInfo",
124 "PrimaryVertices",
125 "InDetTrackParticles",
126 "TruthParticles",
127 "AntiKt4TruthDressedWZJets",
128 "TruthEvents","TruthHFWithDecayParticles","TruthBoson","TruthBottom", "TruthCharm","TruthElectrons","TruthMuons","TruthTop","TruthTaus","MET_Truth",
129 "TruthPrimaryVertices","TruthHFWithDecayVertices",
130 ]
131
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
142
143 # Truth extra content
144 if flags.Input.isMC:
145
146 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
147 addTruth3ContentToSlimmerTool(STDM13SlimmingHelper)
148 STDM13SlimmingHelper.AllVariables += ['TruthLHEParticles', 'TruthHFWithDecayParticles','TruthHFWithDecayVertices','TruthCharm','TruthPileupParticles','InTimeAntiKt4TruthJets','OutOfTimeAntiKt4TruthJets']
149 STDM13SlimmingHelper.ExtraVariables += ["Electrons.TruthLink",
150 "Muons.TruthLink",
151 "Photons.TruthLink",
152 "AntiKt4TruthDressedWZJets.IsoFixedCone5Pt"]
153
154 from DerivationFrameworkMCTruth.MCTruthCommonConfig import AddTauAndDownstreamParticlesCfg
155 acc.merge(AddTauAndDownstreamParticlesCfg(flags))
156 STDM13SlimmingHelper.AllVariables += ['TruthTausWithDecayParticles','TruthTausWithDecayVertices']
157
158
159 STDM13SlimmingHelper.ExtraVariables += ["AntiKt4EMPFlowJets.IRCSafeLabelIFN.IRCSafeLabelCMP.IRCSafeLabelGHS.IRCSafeLabelSDF.IRCSafeLabelAKT" ]
160
161 # Extra content
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" ]
163
164 # Trigger matching
165 # Run 2
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)
174 # Run 3, or Run 2 with navigation conversion
175 if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
176 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
177 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(STDM13SlimmingHelper)
178
179 # Output stream
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]))
183
184 return acc
185

◆ STDM13KernelCfg()

STDM13KernelCfg ( flags,
name = 'STDM13Kernel',
** kwargs )
Configure the derivation framework driving algorithm (kernel) for STDM13

Definition at line 12 of file STDM13.py.

12def STDM13KernelCfg(flags, name='STDM13Kernel', **kwargs):
13 """Configure the derivation framework driving algorithm (kernel) for STDM13"""
14 acc = ComponentAccumulator()
15
16 # Common augmentations
17 from DerivationFrameworkPhys.PhysCommonConfig import PhysCommonAugmentationsCfg
18 acc.merge(PhysCommonAugmentationsCfg(flags, TriggerListsHelper = kwargs['TriggerListsHelper']))
19
20
21 from BTagging.FlavorTaggingConfig import FlavorTaggingCfg
22 acc.merge(FlavorTaggingCfg(flags, "AntiKt4EMPFlowJets"))
23
24 if flags.Input.isMC:
25
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]))
33
34 #===================================================
35 # HEAVY FLAVOR CLASSIFICATION FOR ttbar+jets EVENTS
36 #===================================================
37 from DerivationFrameworkMCTruth.HFClassificationCommonConfig import HFClassificationCommonCfg
38 acc.merge(HFClassificationCommonCfg(flags))
39
40 from DerivationFrameworkInDet.InDetToolsConfig import TrackParticleThinningCfg
41
42 # filter leptons
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'
44
45 from DerivationFrameworkTools.DerivationFrameworkToolsConfig import (
46 xAODStringSkimmingToolCfg)
47 STDM13StringSkimmingTool = acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(
48 flags, name = "STDM13StringSkimmingTool", expression = lepton_skimming_expression))
49
50 tp_thinning_expression = "abs(InDetTrackParticles.DFCommonInDetTrackZ0AtPV*sin(InDetTrackParticles.theta)) < 6.0*mm"
51 STDM13TPThinningTool = acc.getPrimaryAndMerge(TrackParticleThinningCfg(
52 flags,
53 name = "STDM13TPThinningTool",
54 StreamName = kwargs['StreamName'],
55 SelectionString = tp_thinning_expression,
56 InDetTrackParticlesKey = "InDetTrackParticles"))
57
58 # Truth thinning
59 if flags.Input.isMC:
60 truth_stable_expr = "TruthParticles.isGenStable"
61 STDM13TruthThinningTool = CompFactory.DerivationFramework.GenericTruthThinning(
62 name = "STDM13TruthThin_stable",
63 StreamName = kwargs['StreamName'],
64 ParticleSelectionString = truth_stable_expr,
65 )
66 acc.addPublicTool(STDM13TruthThinningTool)
67
68 thinningTools = [STDM13TPThinningTool]
69 if flags.Input.isMC:
70 thinningTools += [STDM13TruthThinningTool]
71 skimmingTools = [STDM13StringSkimmingTool]
72
73 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
74 acc.addEventAlgo(DerivationKernel(name, SkimmingTools = skimmingTools, ThinningTools = thinningTools))
75
76 return acc
77
78