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

Functions

 STDM6KernelCfg (flags, name='STDM6Kernel', **kwargs)
 JETM1ExtraContentCfg (flags)
 STDM6CoreCfg (flags, name_tag='STDM6', StreamName='StreamDAOD_STDM6', TriggerListsHelper=None, TauJets_EleRM_in_input=None)
 STDM6Cfg (flags)

Variables

 logSTDM6 = logging.getLogger('STDM6')

Function Documentation

◆ JETM1ExtraContentCfg()

python.STDM6.JETM1ExtraContentCfg ( flags)

Definition at line 79 of file STDM6.py.

79def JETM1ExtraContentCfg(flags):
80
81 acc = ComponentAccumulator()
82
83 from JetRecConfig.JetRecConfig import JetRecCfg, getModifier
84 from JetRecConfig.StandardJetMods import stdJetModifiers
85 from JetRecConfig.StandardSmallRJets import AntiKt4PV0Track, AntiKt4EMPFlow, AntiKt4EMPFlowNoPtCut, AntiKt4EMPFlowML, AntiKt4EMTopoNoPtCut
86
87 #=======================================
88 # Schedule additional jet decorations
89 #=======================================
90 bJVTTool = getModifier(AntiKt4EMPFlow, stdJetModifiers['bJVT'], stdJetModifiers['bJVT'].modspec, flags=flags)
91 acc.addEventAlgo(CompFactory.JetDecorationAlg(name='bJVTAlg',
92 JetContainer='AntiKt4EMPFlowJets',
93 Decorators=[bJVTTool]))
94
95 #=======================================
96 # R = 0.4 track-jets (needed for Rtrk)
97 #=======================================
98 jetList = [AntiKt4PV0Track]
99
100 #=======================================
101 # SCHEDULE SMALL-R JETS WITH NO PT CUT
102 #=======================================
103 if flags.Input.isMC:
104 jetList += [AntiKt4EMPFlowNoPtCut, AntiKt4EMPFlowML, AntiKt4EMTopoNoPtCut]
105
106 #=======================================
107 # CSSK R = 0.4 UFO jets
108 #=======================================
109 if flags.Input.isMC:
110 from JetRecConfig.StandardSmallRJets import AntiKt4UFOCSSKNoPtCut
111 AntiKt4UFOCSSKNoPtCut_JETM1 = AntiKt4UFOCSSKNoPtCut.clone(
112 modifiers = AntiKt4UFOCSSKNoPtCut.modifiers+("NNJVT",)
113 )
114 jetList += [AntiKt4UFOCSSKNoPtCut_JETM1]
115 else:
116 from JetRecConfig.StandardSmallRJets import AntiKt4UFOCSSK
117 AntiKt4UFOCSSK_JETM1 = AntiKt4UFOCSSK.clone(
118 modifiers = AntiKt4UFOCSSK.modifiers+("NNJVT",)
119 )
120 jetList += [AntiKt4UFOCSSK_JETM1]
121
122
123 for jd in jetList:
124 acc.merge(JetRecCfg(flags,jd))
125
126 #=======================================
127 # UFO CSSK event shape
128 #=======================================
129
130 from JetRecConfig.JetRecConfig import getConstitPJGAlg
131 from JetRecConfig.StandardJetConstits import stdConstitDic as cst
132 from JetRecConfig.JetInputConfig import buildEventShapeAlg
133
134 acc.addEventAlgo(buildEventShapeAlg(cst.UFOCSSK,'', suffix=None))
135 acc.addEventAlgo(getConstitPJGAlg(cst.UFOCSSK, suffix='Neut'))
136 acc.addEventAlgo(buildEventShapeAlg(cst.UFOCSSK,'', suffix='Neut'))
137
138 #=======================================
139 # More detailed truth information
140 #=======================================
141
142 if flags.Input.isMC:
143 from DerivationFrameworkMCTruth.MCTruthCommonConfig import AddTopQuarkAndDownstreamParticlesCfg
144 acc.merge(AddTopQuarkAndDownstreamParticlesCfg(flags, generations=4,rejectHadronChildren=True))
145
146 #=======================================
147 # Add Run-2 jet trigger collections
148 # Only needed for Run-2 due to different aux container type (JetTrigAuxContainer) which required special wrapper for conversion to AuxContainerBase
149 # In Run-3, the aux. container type is directly JetAuxContainer (no conversion needed)
150 #=======================================
151
152 if flags.Trigger.EDMVersion == 2:
153 triggerNames = ["JetContainer_a4tcemsubjesFS", "JetContainer_a4tcemsubjesISFS", "JetContainer_GSCJet",
154 "JetContainer_a10tclcwsubjesFS", "JetContainer_a10tclcwsubFS", "JetContainer_a10ttclcwjesFS"]
155
156 for trigger in triggerNames:
157 wrapperName = trigger+'AuxWrapper'
158 auxContainerName = 'HLT_xAOD__'+trigger+'Aux'
159
160 acc.addEventAlgo(CompFactory.xAODMaker.AuxStoreWrapper( wrapperName, SGKeys = [ auxContainerName+"." ] ))
161
162 return acc
163
164

◆ STDM6Cfg()

python.STDM6.STDM6Cfg ( flags)

Definition at line 374 of file STDM6.py.

374def STDM6Cfg(flags):
375
376 logSTDM6.info('****************** STARTING STDM6 *****************')
377
378 stream_name = 'StreamDAOD_STDM6'
379 acc = ComponentAccumulator()
380
381 # Get the lists of triggers needed for trigger matching.
382 # This is needed at this scope (for the slimming) and further down in the config chain
383 # for actually configuring the matching, so we create it here and pass it down
384 # TODO: this should ideally be called higher up to avoid it being run multiple times in a train
385 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
386 STDM6TriggerListsHelper = TriggerListsHelper(flags)
387
388 # for AOD produced before 24.0.17, the electron removal tau is not available
389 TauJets_EleRM_in_input = (flags.Input.TypedCollections.count('xAOD::TauJetContainer#TauJets_EleRM') > 0)
390 if TauJets_EleRM_in_input:
391 logSTDM6.info("TauJets_EleRM is in the input AOD. Relevant containers will be scheduled")
392 else:
393 logSTDM6.info("TauJets_EleRM is Not in the input AOD. No relevant containers will be written")
394
395 # Common augmentations
396 acc.merge(STDM6KernelCfg(
397 flags,
398 name="STDM6Kernel",
399 StreamName = stream_name,
400 TriggerListsHelper = STDM6TriggerListsHelper,
401 TauJets_EleRM_in_input=TauJets_EleRM_in_input
402 ))
403 # STDM6 content
404 acc.merge(STDM6CoreCfg(
405 flags,
406 "STDM6",
407 StreamName = stream_name,
408 TriggerListsHelper = STDM6TriggerListsHelper,
409 TauJets_EleRM_in_input=TauJets_EleRM_in_input
410 ))
411
412 return acc

◆ STDM6CoreCfg()

python.STDM6.STDM6CoreCfg ( flags,
name_tag = 'STDM6',
StreamName = 'StreamDAOD_STDM6',
TriggerListsHelper = None,
TauJets_EleRM_in_input = None )

Definition at line 165 of file STDM6.py.

165def STDM6CoreCfg(flags, name_tag='STDM6', StreamName='StreamDAOD_STDM6', TriggerListsHelper=None, TauJets_EleRM_in_input=None):
166
167 if TriggerListsHelper is None:
168 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
169 TriggerListsHelper = TriggerListsHelper(flags)
170
171 if TauJets_EleRM_in_input is None:
172 # for AOD produced before 24.0.17, the electron removal tau is not available
173 TauJets_EleRM_in_input = (flags.Input.TypedCollections.count('xAOD::TauJetContainer#TauJets_EleRM') > 0)
174
175 acc = ComponentAccumulator()
176
177
178 from DerivationFrameworkHiggs.HiggsPhysContent import HiggsAugmentationAlgsCfg
179 acc.merge(HiggsAugmentationAlgsCfg(flags))
180
181
183 from IsolationSelection.IsolationSelectionConfig import IsoCloseByAlgsCfg
184 acc.merge(IsoCloseByAlgsCfg(flags, suff = "_"+name_tag, isPhysLite = False, stream_name = StreamName))
185
186 #===================================================
187 # HEAVY FLAVOR CLASSIFICATION FOR ttbar+jets EVENTS
188 #===================================================
189 from DerivationFrameworkMCTruth.HFClassificationCommonConfig import HFClassificationCommonCfg
190 acc.merge(HFClassificationCommonCfg(flags))
191
192 # ============================
193 # Define contents of the format
194 # =============================
195 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
196 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
197 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
198
199 STDM6SlimmingHelper = SlimmingHelper(name_tag+"SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
200 STDM6SlimmingHelper.SmartCollections = ["EventInfo",
201 "Electrons",
202 "Photons",
203 "Muons",
204 "PrimaryVertices",
205 "InDetTrackParticles",
206 "AntiKt4EMTopoJets",
207 "AntiKt4EMPFlowJets",
208 "AntiKt10UFOCSSKJets",
209 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
210 "MET_Baseline_AntiKt4EMTopo",
211 "MET_Baseline_AntiKt4EMPFlow",
212 "TauJets",
213 "TauJets_MuonRM",
214 "DiTauJets",
215 "DiTauJetsLowPt",
216 "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets",
217 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
218 ]
219 if TauJets_EleRM_in_input:
220 STDM6SlimmingHelper.SmartCollections.append("TauJets_EleRM")
221
222 # STDM6 needs additionally full info on:
223 # - AFP
224 # - Calo clusters
225 STDM6SlimmingHelper.AllVariables += [ "AFPSiHitContainer",
226 "AFPToFHitContainer",
227 "AFPSiHitsClusterContainer",
228 "AFPTrackContainer",
229 "AFPToFTrackContainer",
230 "AFPProtonContainer",
231 "AFPVertexContainer",
232 "CaloCalTopoClusters",
233 ]
234
235 # additional contenct from JET-M1
236 # Maciej LewickiL: I'd rather keep it the way it is because it will be easier to keep up with any future changes in JET-M1
237 STDM6SlimmingHelper.AllVariables += ["MuonSegments", "EventInfo",
238 "Kt4EMTopoOriginEventShape","Kt4EMPFlowEventShape","Kt4EMPFlowPUSBEventShape","Kt4EMPFlowNeutEventShape","Kt4UFOCSSKEventShape","Kt4UFOCSSKNeutEventShape",
239 "AntiKt4EMPFlowJets"]
240
241 excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
242 StaticContent = []
243 StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Tight_Vertices"]
244 StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Tight_VerticesAux." + excludedVertexAuxData]
245 StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Medium_Vertices"]
246 StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Medium_VerticesAux." + excludedVertexAuxData]
247 StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Loose_Vertices"]
248 StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Loose_VerticesAux." + excludedVertexAuxData]
249
250 STDM6SlimmingHelper.StaticContent = StaticContent
251
252 # Extra content
253 STDM6SlimmingHelper.ExtraVariables += ["AntiKt4EMTopoJets.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",
254 "AntiKt4EMPFlowJets.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.isJvtHS.isJvtPU",
255 "TruthPrimaryVertices.t.x.y.z",
256 "InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.numberOfTRTHits.numberOfTRTOutliers",
257 "EventInfo.GenFiltHT.GenFiltMET.GenFiltHTinclNu.GenFiltPTZ.GenFiltFatJ.HF_Classification.HF_SimpleClassification",
258 "TauJets.dRmax.etOverPtLeadTrk",
259 "TauJets_MuonRM.dRmax.etOverPtLeadTrk",
260 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET.ex.ey",
261 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_mht.ex.ey"]
262 if TauJets_EleRM_in_input:
263 STDM6SlimmingHelper.ExtraVariables += ["TauJets_EleRM.dRmax.etOverPtLeadTrk"]
264
265 # additional content from JET-M1
266 # Maciej Lewicki: I'd rather keep it the way it is because it will be easier to keep up with any future changes in JET-M1
267 STDM6SlimmingHelper.ExtraVariables += ["AntiKt4EMTopoJets.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1",
268 "AntiKt4EMPFlowJets.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1",
269 "AntiKt4EMPFlowJets.passOnlyBJVT.DFCommonJets_bJvt.isJvtHS.isJvtPU",
270 "InDetTrackParticles.truthMatchProbability",
271 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.zg.rg.NumTrkPt1000.TrackWidthPt1000.GhostMuonSegmentCount.EnergyPerSampling.GhostTrack",
272 "AntiKt10UFOCSSKJets.NumTrkPt1000.TrackWidthPt1000.GhostMuonSegmentCount.EnergyPerSampling.GhostTrack"]
273
274
275 # FTAG Xbb extra content
276 extraList = []
277 for tagger in ["GN2Xv00", "GN2XWithMassv00", "GN2Xv01"]:
278 for score in ["phbb", "phcc", "ptop", "pqcd"]:
279 extraList.append(f"{tagger}_{score}")
280 STDM6SlimmingHelper.ExtraVariables += ["AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets." + ".".join(extraList)]
281
282 # Truth extra content
283 # ---> extetnding deafult PHYS conttents with:
284 # - AntiKt4EMTTopoJets
285 # - AntiKt4EMPFlowJets
286 # - TruthPrimaryVertices
287 # - InDetTrackParticles
288 if flags.Input.isMC:
289
290 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
291 addTruth3ContentToSlimmerTool(STDM6SlimmingHelper)
292
293 # coming from the JET-M1 derivation
294 STDM6SlimmingHelper.AppendToDictionary.update({'TruthParticles': 'xAOD::TruthParticleContainer',
295 'TruthParticlesAux': 'xAOD::TruthParticleAuxContainer'})
296
297 STDM6SlimmingHelper.AllVariables += ['TruthHFWithDecayParticles','TruthHFWithDecayVertices','TruthCharm','TruthPileupParticles','InTimeAntiKt4TruthJets','OutOfTimeAntiKt4TruthJets']
298 STDM6SlimmingHelper.AllVariables += ["TruthEvents", "TruthParticles", "TruthVertices", "AntiKt4TruthJets","AntiKt4TruthWZJets"]
299 STDM6SlimmingHelper.ExtraVariables += ["Electrons.TruthLink",
300 "Muons.TruthLink",
301 "Photons.TruthLink",
302 "AntiKt4EMTopoJets.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",
303 "AntiKt4EMPFlowJets.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",
304 "TruthPrimaryVertices.t.x.y.z",
305 "InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.numberOfTRTHits.numberOfTRTOutliers",
306 "PrimaryVertices.x.y.z.covariance.trackWeights.vertexType.sumPt2",
307 ]
308
309 # Maciej Lewicki: coming from the JET-M1 derivation
310 STDM6SlimmingHelper.SmartCollections += ["AntiKt4TruthWZJets"]
311 STDM6SlimmingHelper.AllVariables += ["TruthTopQuarkWithDecayParticles","TruthTopQuarkWithDecayVertices",
312 "AntiKt4TruthJets", "InTimeAntiKt4TruthJets", "OutOfTimeAntiKt4TruthJets", "TruthParticles"]
313 STDM6SlimmingHelper.ExtraVariables += ["TruthVertices.uid.z"]
314
315 from DerivationFrameworkMCTruth.MCTruthCommonConfig import AddTauAndDownstreamParticlesCfg
316 acc.merge(AddTauAndDownstreamParticlesCfg(flags))
317 STDM6SlimmingHelper.AllVariables += ['TruthTausWithDecayParticles','TruthTausWithDecayVertices']
318
319 STDM6SlimmingHelper.AppendToDictionary.update({'Kt4UFOCSSKEventShape':'xAOD::EventShape',
320 'Kt4UFOCSSKEventShapeAux':'xAOD::EventShapeAuxInfo',
321 'Kt4UFOCSSKNeutEventShape':'xAOD::EventShape',
322 'Kt4UFOCSSKNeutEventShapeAux':'xAOD::EventShapeAuxInfo'})
323
324
325 from DerivationFrameworkHiggs.HiggsPhysContent import setupHiggsSlimmingVariables
326 setupHiggsSlimmingVariables(flags, STDM6SlimmingHelper)
327
328 # Trigger content
329 STDM6SlimmingHelper.IncludeTriggerNavigation = False
330 # modification from JET-M1 derivation:
331 STDM6SlimmingHelper.IncludeJetTriggerContent = True
332 STDM6SlimmingHelper.IncludeMuonTriggerContent = False
333 STDM6SlimmingHelper.IncludeEGammaTriggerContent = False
334 STDM6SlimmingHelper.IncludeJetTauEtMissTriggerContent = False
335 STDM6SlimmingHelper.IncludeTauTriggerContent = False
336 STDM6SlimmingHelper.IncludeEtMissTriggerContent = False
337 STDM6SlimmingHelper.IncludeBJetTriggerContent = False
338 STDM6SlimmingHelper.IncludeBPhysTriggerContent = False
339 STDM6SlimmingHelper.IncludeMinBiasTriggerContent = False
340
341 # Trigger matching
342 # Run 2
343 if flags.Trigger.EDMVersion == 2:
344 from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
345 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = STDM6SlimmingHelper,
346 OutputContainerPrefix = "TrigMatch_",
347 TriggerList = TriggerListsHelper.Run2TriggerNamesTau)
348 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = STDM6SlimmingHelper,
349 OutputContainerPrefix = "TrigMatch_",
350 TriggerList = TriggerListsHelper.Run2TriggerNamesNoTau)
351 triggerNames = ["a4tcemsubjesFS", "a4tcemsubjesISFS", "a10tclcwsubjesFS", "a10tclcwsubFS", "a10ttclcwjesFS", "GSCJet"]
352 for trigger in triggerNames:
353 STDM6SlimmingHelper.FinalItemList.append('xAOD::AuxContainerBase!#HLT_xAOD__JetContainer_'+trigger+'Aux.pt.eta.phi.m')
354
355 # Run 3, or Run 2 with navigation conversion
356 if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
357 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
358 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(STDM6SlimmingHelper)
359
360 jetOutputList = ["AntiKt4PV0TrackJets", "AntiKt4UFOCSSKJets"]
361 if flags.Input.isMC:
362 jetOutputList = ["AntiKt4PV0TrackJets","AntiKt4UFOCSSKNoPtCutJets","AntiKt4EMPFlowNoPtCutJets","AntiKt4EMTopoNoPtCutJets","AntiKt4EMPFlowMLJets"]
363 from DerivationFrameworkJetEtMiss.JetCommonConfig import addJetsToSlimmingTool
364 addJetsToSlimmingTool(STDM6SlimmingHelper, jetOutputList, STDM6SlimmingHelper.SmartCollections)
365
366
367 # Output stream
368 STDM6ItemList = STDM6SlimmingHelper.GetItemList()
369 acc.merge(OutputStreamCfg(flags, "DAOD_"+name_tag, ItemList=STDM6ItemList, AcceptAlgs=[name_tag+"Kernel"]))
370 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_"+name_tag, AcceptAlgs=[name_tag+"Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))
371
372 return acc
373

◆ STDM6KernelCfg()

python.STDM6.STDM6KernelCfg ( flags,
name = 'STDM6Kernel',
** kwargs )
Configure the derivation framework driving algorithm (kernel) for STDM6

Definition at line 24 of file STDM6.py.

24def STDM6KernelCfg(flags, name='STDM6Kernel', **kwargs):
25 """Configure the derivation framework driving algorithm (kernel) for STDM6"""
26 acc = ComponentAccumulator()
27
28 # Common augmentations
29 from DerivationFrameworkPhys.PhysCommonConfig import PhysCommonAugmentationsCfg
30 acc.merge(PhysCommonAugmentationsCfg(
31 flags,
32 TriggerListsHelper = kwargs['TriggerListsHelper'],
33 TauJets_EleRM_in_input = kwargs['TauJets_EleRM_in_input']
34 ))
35
36 from DerivationFrameworkInDet.InDetToolsConfig import InDetTrackSelectionToolWrapperCfg
37 DFCommonTrackSelection = acc.getPrimaryAndMerge(InDetTrackSelectionToolWrapperCfg(
38 flags,
39 name = "DFJETM1CommonTrackSelectionLoose",
40 CutLevel = "Loose",
41 DecorationName = "DFJETM1Loose"))
42
43 acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation("JETM1CommonKernel", AugmentationTools = [DFCommonTrackSelection]))
44
45 # Thinning tools
46 # These are set up in PhysCommonThinningConfig. Only thing needed here the list of tools to schedule
47 thinningToolsArgs = {
48 'TrackParticleThinningToolName' : "STDM6TrackParticleThinningTool",
49 'MuonTPThinningToolName' : "STDM6MuonTPThinningTool",
50 'TauJetThinningToolName' : "STDM6TauJetThinningTool",
51 'TauJets_MuonRMThinningToolName' : "STDM6TauJets_MuonRMThinningTool",
52 'DiTauThinningToolName' : "STDM6DiTauThinningTool",
53 'DiTauTPThinningToolName' : "STDM6DiTauTPThinningTool",
54 'DiTauLowPtThinningToolName' : "STDM6DiTauLowPtThinningTool",
55 'DiTauLowPtTPThinningToolName' : "STDM6DiTauLowPtTPThinningTool",
56 }
57 # for AOD produced before 24.0.17, the electron removal tau is not available
58 if kwargs.get('TauJets_EleRM_in_input', False):
59 thinningToolsArgs['TauJets_EleRMThinningToolName'] = "STDM6TauJets_EleRMThinningTool"
60 # Configure the thinning tools
61 from DerivationFrameworkPhys.PhysCommonThinningConfig import PhysCommonThinningCfg
62 acc.merge(PhysCommonThinningCfg(flags, StreamName = kwargs['StreamName'], **thinningToolsArgs))
63 # Get them from the CA so they can be added to the kernel
64 thinningTools = []
65 for key in thinningToolsArgs:
66 thinningTools.append(acc.getPublicTool(thinningToolsArgs[key]))
67
68 # The kernel algorithm itself
69 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
70 acc.addEventAlgo(DerivationKernel(name, ThinningTools = thinningTools))
71
72 # not using the thinning from the JET-M1 derivation!
73
74 # From JET-M1 - extra jet content:
75 acc.merge(JETM1ExtraContentCfg(flags))
76
77 return acc
78

Variable Documentation

◆ logSTDM6

python.STDM6.logSTDM6 = logging.getLogger('STDM6')

Definition at line 19 of file STDM6.py.