ATLAS Offline Software
EGAM12.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 # ====================================================================
3 # EGAM12.py
4 # This defines DAOD_EGAM12, a skimmed DAOD format for Run 3.
5 # Keep events passing OR of electron triggers, or inclusive
6 # electron selection, to retain fake electron candidates
7 # Adaptation of EGAM7 format for heavy ion runs (no triggers, no pflow
8 # jets, extra containers)
9 # It requires the flag EGAM12 in Derivation_tf.py
10 # ====================================================================
11 
12 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
13 from AthenaConfiguration.ComponentFactory import CompFactory
14 from AthenaConfiguration.Enums import MetadataCategory
15 
16 from DerivationFrameworkEGamma.PhotonsCPDetailedContent import (
17  PhotonsCPDetailedContent,
18 )
19 
20 
21 # some info missing to calculate extra decorations
22 addCaloDecorations = False
23 
24 
26  """Configure the EGAM12 skimming tool"""
27  acc = ComponentAccumulator()
28 
29  # off-line based selection
30  expression = "count(Electrons.pt > 4.5*GeV) >= 1"
31  print("EGAM12 offline skimming expression: ", expression)
32  EGAM12_OfflineSkimmingTool = CompFactory.DerivationFramework.xAODStringSkimmingTool(
33  name="EGAM12_OfflineSkimmingTool", expression=expression, TrigDecisionTool=""
34  )
35 
36  acc.addPublicTool(EGAM12_OfflineSkimmingTool, primary=True)
37 
38  return acc
39 
40 
41 def EGAM12KernelCfg(flags, name="EGAM12Kernel", **kwargs):
42  """Configure the derivation framework driving algorithm (kernel)
43  for EGAM12"""
44  acc = ComponentAccumulator()
45 
46  # Schedule extra jets collections
47  from JetRecConfig.StandardSmallRJets import (
48  AntiKt4EMTopo,
49  AntiKt4PV0Track,
50  AntiKt4Truth,
51  )
52  from JetRecConfig.JetRecConfig import JetRecCfg
53 
54  jetList = [AntiKt4EMTopo, AntiKt4PV0Track, AntiKt4Truth]
55  for jd in jetList:
56  acc.merge(JetRecCfg(flags, jd))
57  JetKey = "AntiKt4EMTopoJets"
58 
59  # Common augmentations
60  # cannot use PhysCommon sequence because
61  # - no triggers
62  # - no TauJets
63  # so we have to use a modified version here
64  from DerivationFrameworkInDet.InDetCommonConfig import InDetCommonCfg
65  from DerivationFrameworkMuons.MuonsCommonConfig import MuonsCommonCfg
66  from DerivationFrameworkEGamma.EGammaCommonConfig import EGammaCommonCfg
67 
68  TrackingFlags = flags.Tracking
69 
70  acc.merge(
72  flags,
73  DoVertexFinding=TrackingFlags.doVertexFinding,
74  AddPseudoTracks=TrackingFlags.doPseudoTracking,
75  DecoLRTTTVA=False,
76  DoR3LargeD0=TrackingFlags.doLargeD0,
77  StoreSeparateLargeD0Container=TrackingFlags.storeSeparateLargeD0Container,
78  MergeLRT=False,
79  )
80  )
81  acc.merge(MuonsCommonCfg(flags))
82  acc.merge(EGammaCommonCfg(flags))
83  # jet cleaning
84  # standard way in PhysCommon is
85  # - calculate tau ID (needed for default jet OR)
86  # - decorate jets with overlap removal
87  # - do event cleaning
88  # but taus are missing in HI derivations so need to do differently
89 
90  # Decorate if jet passed JVT criteria
91  from JetJvtEfficiency.JetJvtEfficiencyToolConfig import getJvtEffToolCfg
92 
93  algName = "DFJet_EventCleaning_passJvtAlg"
94  passJvtTool = acc.popToolsAndMerge(getJvtEffToolCfg(flags, "AntiKt4EMTopo"))
95  passJvtTool.PassJVTKey = "AntiKt4EMTopoJets.DFCommonJets_passJvt"
96  acc.addEventAlgo(
97  CompFactory.JetDecorationAlg(
98  algName, JetContainer="AntiKt4EMTopoJets", Decorators=[passJvtTool]
99  )
100  )
101 
102  # Decorate if jet passes OR and save decoration DFCommonJets_passOR
103  # Use modified OR that does not check overlaps with tauls
104  from AssociationUtils.AssociationUtilsConfig import OverlapRemovalToolCfg
105 
106  outputLabel = "DFCommonJets_passOR"
107  bJetLabel = "" # default
108  tauLabel = "" # workaround for missing taus
109  tauKey = "" # workaround for missing taus
110  orTool = acc.popToolsAndMerge(
112  flags, outputLabel=outputLabel, bJetLabel=bJetLabel, doTaus=False
113  )
114  )
115  algOR = CompFactory.OverlapRemovalGenUseAlg(
116  "OverlapRemovalGenUseAlg",
117  OverlapLabel=outputLabel,
118  OverlapRemovalTool=orTool,
119  TauKey=tauKey,
120  TauLabel=tauLabel,
121  BJetLabel=bJetLabel,
122  )
123  acc.addEventAlgo(algOR)
124 
125  # Do the cleaning
126  from JetSelectorTools.JetSelectorToolsConfig import (
127  EventCleaningToolCfg,
128  JetCleaningToolCfg,
129  )
130 
131  workingPoints = ["Loose"]
132  prefix = "DFCommonJets_"
133 
134  for wp in workingPoints:
135  cleaningLevel = wp + "Bad"
136  # LLP WPs have a slightly different name format
137  if "LLP" in wp:
138  cleaningLevel = wp.replace("LLP", "BadLLP")
139 
140  jetCleaningTool = acc.popToolsAndMerge(
142  flags,
143  "JetCleaningTool_" + cleaningLevel,
144  "AntiKt4EMTopoJets",
145  cleaningLevel,
146  False,
147  )
148  )
149  acc.addPublicTool(jetCleaningTool)
150 
151  ecTool = acc.popToolsAndMerge(
152  EventCleaningToolCfg(flags, "EventCleaningTool_" + wp, cleaningLevel)
153  )
154  ecTool.JetCleanPrefix = prefix
155  ecTool.JetContainer = "AntiKt4EMTopoJets"
156  ecTool.JetCleaningTool = jetCleaningTool
157  acc.addPublicTool(ecTool)
158 
159  # Alg to calculate event-level and jet-level cleaning variables
160  # Only store event-level flags for Loose* WPs
161  eventCleanAlg = CompFactory.EventCleaningTestAlg(
162  "EventCleaningTestAlg_" + wp,
163  EventCleaningTool=ecTool,
164  JetCollectionName="AntiKt4EMTopoJets",
165  EventCleanPrefix=prefix,
166  CleaningLevel=cleaningLevel,
167  doEvent=("Loose" in wp),
168  )
169  acc.addEventAlgo(eventCleanAlg)
170 
171  # EGAM12 augmentations
172  augmentationTools = []
173 
174  # ====================================================================
175  # Common calo decoration tools
176  # ====================================================================
177  if addCaloDecorations:
178  from DerivationFrameworkCalo.DerivationFrameworkCaloConfig import (
179  CaloDecoratorKernelCfg)
180  acc.merge(CaloDecoratorKernelCfg(flags))
181 
182  # thinning tools
183  thinningTools = []
184  streamName = kwargs["StreamName"]
185 
186  # Track thinning
187  if flags.Derivation.Egamma.doTrackThinning:
188  from DerivationFrameworkInDet.InDetToolsConfig import (
189  TrackParticleThinningCfg,
190  MuonTrackParticleThinningCfg,
191  TauTrackParticleThinningCfg,
192  )
193 
194  TrackThinningKeepElectronTracks = True
195  TrackThinningKeepPhotonTracks = True
196  TrackThinningKeepAllElectronTracks = False
197  TrackThinningKeepJetTracks = False
198  TrackThinningKeepMuonTracks = False
199  TrackThinningKeepTauTracks = False
200  TrackThinningKeepPVTracks = False
201 
202  # Tracks associated with Electrons
203  if TrackThinningKeepElectronTracks:
204  EGAM12ElectronTPThinningTool = (
205  CompFactory.DerivationFramework.EgammaTrackParticleThinning(
206  name="EGAM12ElectronTPThinningTool",
207  StreamName=streamName,
208  SGKey="Electrons",
209  GSFTrackParticlesKey="GSFTrackParticles",
210  InDetTrackParticlesKey="InDetTrackParticles",
211  SelectionString="Electrons.pt > 0*GeV",
212  BestMatchOnly=True,
213  ConeSize=0.3,
214  )
215  )
216  acc.addPublicTool(EGAM12ElectronTPThinningTool)
217  thinningTools.append(EGAM12ElectronTPThinningTool)
218 
219  # Tracks associated with Electrons (all tracks, large cone, for track
220  # isolation studies of the selected electrons)
221  if TrackThinningKeepAllElectronTracks:
222  EGAM12ElectronTPThinningTool2 = (
223  CompFactory.DerivationFramework.EgammaTrackParticleThinning(
224  name="EGAM12ElectronTPThinningTool2",
225  StreamName=streamName,
226  SGKey="Electrons",
227  GSFTrackParticlesKey="GSFTrackParticles",
228  InDetTrackParticlesKey="InDetTrackParticles",
229  SelectionString="Electrons.pt > 4*GeV",
230  BestMatchOnly=False,
231  ConeSize=0.6,
232  )
233  )
234  acc.addPublicTool(EGAM12ElectronTPThinningTool2)
235  thinningTools.append(EGAM12ElectronTPThinningTool2)
236 
237  # Tracks associated with Photons
238  if TrackThinningKeepPhotonTracks:
239  EGAM12PhotonTPThinningTool = (
240  CompFactory.DerivationFramework.EgammaTrackParticleThinning(
241  name="EGAM12PhotonTPThinningTool",
242  StreamName=streamName,
243  SGKey="Photons",
244  GSFTrackParticlesKey="GSFTrackParticles",
245  InDetTrackParticlesKey="InDetTrackParticles",
246  GSFConversionVerticesKey="GSFConversionVertices",
247  SelectionString="Photons.pt > 0*GeV",
248  BestMatchOnly=True,
249  ConeSize=0.3,
250  )
251  )
252  acc.addPublicTool(EGAM12PhotonTPThinningTool)
253  thinningTools.append(EGAM12PhotonTPThinningTool)
254 
255  # Tracks associated with Jets
256  if TrackThinningKeepJetTracks:
257  EGAM12JetTPThinningTool = (
258  CompFactory.DerivationFramework.JetTrackParticleThinning(
259  name="EGAM12JetTPThinningTool",
260  StreamName=streamName,
261  JetKey=JetKey,
262  InDetTrackParticlesKey="InDetTrackParticles",
263  )
264  )
265  acc.addPublicTool(EGAM12JetTPThinningTool)
266  thinningTools.append(EGAM12JetTPThinningTool)
267 
268  # Tracks associated with Muons
269  if TrackThinningKeepMuonTracks:
270  EGAM12MuonTPThinningTool = acc.getPrimaryAndMerge(
272  flags,
273  name="EGAM12MuonTPThinningTool",
274  StreamName=streamName,
275  MuonKey="Muons",
276  InDetTrackParticlesKey="InDetTrackParticles",
277  )
278  )
279  thinningTools.append(EGAM12MuonTPThinningTool)
280 
281  # Tracks associated with Taus
282  if TrackThinningKeepTauTracks:
283  EGAM12TauTPThinningTool = acc.getPrimaryAndMerge(
285  flags,
286  name="EGAM12TauTPThinningTool",
287  StreamName=streamName,
288  TauKey="TauJets",
289  ConeSize=0.6,
290  InDetTrackParticlesKey="InDetTrackParticles",
291  DoTauTracksThinning=True,
292  TauTracksKey="TauTracks",
293  )
294  )
295  thinningTools.append(EGAM12TauTPThinningTool)
296 
297  # Tracks from primary vertex
298  thinning_expression = " && ".join(
299  [
300  "(InDetTrackParticles.DFCommonTightPrimary)",
301  "(abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta)<3*mm)",
302  "(InDetTrackParticles.pt>10*GeV)",
303  ]
304  )
305  if TrackThinningKeepPVTracks:
306  EGAM12TPThinningTool = acc.getPrimaryAndMerge(
308  flags,
309  name="EGAM12TPThinningTool",
310  StreamName=streamName,
311  SelectionString=thinning_expression,
312  InDetTrackParticlesKey="InDetTrackParticles",
313  )
314  )
315  thinningTools.append(EGAM12TPThinningTool)
316 
317  # truth thinning
318  if flags.Input.isMC:
319  # W, Z and Higgs
320  truth_cond_WZH = " && ".join(
321  ["(abs(TruthParticles.pdgId) >= 23)", "(abs(TruthParticles.pdgId) <= 25)"]
322  )
323  # Leptons
324  truth_cond_lep = " && ".join(
325  ["(abs(TruthParticles.pdgId) >= 11)", "(abs(TruthParticles.pdgId) <= 16)"]
326  )
327  # Top quark
328  truth_cond_top = "(abs(TruthParticles.pdgId) == 6)"
329  # Photon
330  truth_cond_gam = " && ".join(
331  ["(abs(TruthParticles.pdgId) == 22)", "(TruthParticles.pt > 1*GeV)"]
332  )
333  # stable particles
334  truth_cond_finalState = " && ".join(
335  ["(TruthParticles.status == 1)", "(TruthParticles.barcode<200000)"]
336  )
337  truth_expression = (
338  "( "
339  + truth_cond_WZH
340  + " ) || "
341  + "( "
342  + truth_cond_lep
343  + " ) || "
344  + "( "
345  + truth_cond_top
346  + " ) || "
347  + "( "
348  + truth_cond_gam
349  + " ) || "
350  + "( "
351  + truth_cond_finalState
352  + " )"
353  )
354  print("EGAM12 truth thinning expression: ", truth_expression)
355 
356  EGAM12TruthThinningTool = CompFactory.DerivationFramework.GenericTruthThinning(
357  name="EGAM12TruthThinningTool",
358  StreamName=streamName,
359  ParticleSelectionString=truth_expression,
360  PreserveDescendants=False,
361  PreserveGeneratorDescendants=True,
362  PreserveAncestors=True,
363  )
364  acc.addPublicTool(EGAM12TruthThinningTool)
365  thinningTools.append(EGAM12TruthThinningTool)
366 
367  # skimming
368  skimmingTool = acc.getPrimaryAndMerge(EGAM12SkimmingToolCfg(flags))
369 
370  # setup the kernel
371  acc.addEventAlgo(
372  CompFactory.DerivationFramework.DerivationKernel(
373  name,
374  SkimmingTools=[skimmingTool],
375  AugmentationTools=augmentationTools,
376  ThinningTools=thinningTools,
377  )
378  )
379 
380  return acc
381 
382 
383 def EGAM12Cfg(flags):
384  acc = ComponentAccumulator()
385 
386  JetKey = "AntiKt4EMTopoJets"
387  EGAM12TriggerListsHelper = None
388 
389  # configure skimming/thinning/augmentation tools
390  acc.merge(
392  flags,
393  name="EGAM12Kernel",
394  StreamName="StreamDAOD_EGAM12",
395  TriggerListsHelper=EGAM12TriggerListsHelper,
396  )
397  )
398 
399  # configure slimming
400  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
401  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
402  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
403 
404  EGAM12SlimmingHelper = SlimmingHelper(
405  "EGAM12SlimmingHelper",
406  NamesAndTypes=flags.Input.TypedCollections,
407  flags=flags,
408  )
409 
410  # ------------------------------------------
411  # containers for which we save all variables
412  # -------------------------------------------
413 
414  # baseline
415  EGAM12SlimmingHelper.AllVariables = [
416  "Electrons",
417  "GSFTrackParticles",
418  "egammaClusters",
419  ]
420 
421  # on MC we also add:
422  if flags.Input.isMC:
423  EGAM12SlimmingHelper.AllVariables += [
424  "TruthEvents",
425  "TruthParticles",
426  "TruthVertices",
427  "egammaTruthParticles",
428  ]
429 
430  # -------------------------------------------
431  # containers that we slim
432  # -------------------------------------------
433 
434  # first add variables from smart-slimming
435  # adding only also those for which we add all variables since
436  # the XXXCPContent.py files also bring in some extra variables
437  # for other collections
438  # muons, tau, MET, b-tagging could be switched off if not needed
439  # and use too much space
440  EGAM12SlimmingHelper.SmartCollections = [
441  "Electrons",
442  "Photons",
443  "Muons",
444  "TauJets",
445  "InDetTrackParticles",
446  "PrimaryVertices",
447  JetKey,
448  ]
449 
450  if flags.Input.isMC:
451  EGAM12SlimmingHelper.SmartCollections += [
452  "AntiKt4TruthJets",
453  "AntiKt4TruthDressedWZJets",
454  ]
455 
456  # then add extra variables:
457 
458  # muons
459  EGAM12SlimmingHelper.ExtraVariables += [
460  "Muons.ptcone20.ptcone30.ptcone40.etcone20.etcone30.etcone40"
461  ]
462 
463  # conversion vertices
464  EGAM12SlimmingHelper.ExtraVariables += [
465  "GSFConversionVertices.x.y.z.px.py.pz.pt1.pt2.etaAtCalo.phiAtCalo",
466  "GSFConversionVertices.trackParticleLinks",
467  ]
468 
469  # primary vertices
470  EGAM12SlimmingHelper.ExtraVariables += ["PrimaryVertices.x.y.sumPt2"]
471 
472  # track jets
473  EGAM12SlimmingHelper.ExtraVariables += [
474  "AntiKt4PV0TrackJets.pt.eta.phi.e.m.btaggingLink.constituentLinks"
475  ]
476 
477  # photons: detailed shower shape variables
478  EGAM12SlimmingHelper.ExtraVariables += PhotonsCPDetailedContent
479 
480  # photons: gain and cluster energy per layer
481  if addCaloDecorations:
482  from DerivationFrameworkCalo.DerivationFrameworkCaloConfig import (
483  getGainDecorations,
484  getClusterEnergyPerLayerDecorations,
485  )
486 
487  gainDecorations = getGainDecorations(acc, flags, "EGAM12Kernel")
488  print("EGAM12 gain decorations: ", gainDecorations)
489  EGAM12SlimmingHelper.ExtraVariables.extend(gainDecorations)
490  clusterEnergyDecorations = getClusterEnergyPerLayerDecorations(
491  acc, "EGAM12Kernel"
492  )
493  print("EGAM12 cluster energy decorations: ", clusterEnergyDecorations)
494  EGAM12SlimmingHelper.ExtraVariables.extend(clusterEnergyDecorations)
495 
496  # energy density
497  EGAM12SlimmingHelper.ExtraVariables += [
498  "TopoClusterIsoCentralEventShape.Density",
499  "TopoClusterIsoForwardEventShape.Density",
500  ]
501 
502  # truth
503  if flags.Input.isMC:
504  EGAM12SlimmingHelper.ExtraVariables += [
505  "MuonTruthParticles.e.px.py.pz.status.pdgId.truthOrigin.truthType"
506  ]
507 
508  EGAM12SlimmingHelper.ExtraVariables += [
509  "Photons.truthOrigin.truthType.truthParticleLink"
510  ]
511 
512  # Add event info
513  if flags.Derivation.Egamma.doEventInfoSlimming:
514  EGAM12SlimmingHelper.SmartCollections.append("EventInfo")
515  else:
516  EGAM12SlimmingHelper.AllVariables += ["EventInfo"]
517 
518  # Add HIEventShape and CaloSums variables for heavy ions
519  EGAM12SlimmingHelper.AllVariables += ["HIEventShape"]
520  EGAM12SlimmingHelper.AllVariables += ["CaloSums"]
521 
522  EGAM12ItemList = EGAM12SlimmingHelper.GetItemList()
523  acc.merge(
525  flags,
526  "DAOD_EGAM12",
527  ItemList=EGAM12ItemList,
528  AcceptAlgs=["EGAM12Kernel"],
529  )
530  )
531  acc.merge(
533  flags,
534  "DAOD_EGAM12",
535  AcceptAlgs=["EGAM12Kernel"],
536  createMetadata=[
537  MetadataCategory.CutFlowMetaData,
538  MetadataCategory.TruthMetaData,
539  ],
540  )
541  )
542 
543  return acc
python.EGAM12.EGAM12Cfg
def EGAM12Cfg(flags)
Definition: EGAM12.py:383
python.EGAM12.EGAM12SkimmingToolCfg
def EGAM12SkimmingToolCfg(flags)
Definition: EGAM12.py:25
AssociationUtilsConfig.OverlapRemovalToolCfg
def OverlapRemovalToolCfg(ConfigFlags, masterName='OverlapRemovalTool', inputLabel='selected', outputLabel='overlaps', bJetLabel='', maxElePtForBJetAwareOR=100. *1000, boostedLeptons=False, outputPassValue=False, linkOverlapObjects=False, doEleEleOR=False, doElectrons=True, doMuons=True, doJets=True, doTaus=True, doPhotons=True, doFatJets=False, **kwargs)
Definition: AssociationUtilsConfig.py:5
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.JetSelectorToolsConfig.EventCleaningToolCfg
def EventCleaningToolCfg(ConfigFlags, name, cleaningLevel)
Definition: JetSelectorToolsConfig.py:14
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:12
python.JetSelectorToolsConfig.JetCleaningToolCfg
def JetCleaningToolCfg(ConfigFlags, name, jetdef, cleaningLevel, useDecorations)
Definition: JetSelectorToolsConfig.py:6
python.InDetToolsConfig.TrackParticleThinningCfg
def TrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:458
python.EGammaCommonConfig.EGammaCommonCfg
def EGammaCommonCfg(ConfigFlags)
Definition: EGammaCommonConfig.py:15
python.JetRecConfig.JetRecCfg
def JetRecCfg(flags, jetdef, returnConfiguredDef=False)
Top level functions returning ComponentAccumulator out of JetDefinition.
Definition: JetRecConfig.py:36
python.MuonsCommonConfig.MuonsCommonCfg
def MuonsCommonCfg(flags, suff="")
Definition: MuonsCommonConfig.py:13
python.InDetToolsConfig.MuonTrackParticleThinningCfg
def MuonTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:528
python.InDetToolsConfig.TauTrackParticleThinningCfg
def TauTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:539
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
DerivationFrameworkCaloConfig.CaloDecoratorKernelCfg
def CaloDecoratorKernelCfg(flags, name="CaloDecoratorKernel", **kwargs)
Definition: DerivationFrameworkCaloConfig.py:77
python.InDetCommonConfig.InDetCommonCfg
def InDetCommonCfg(flags, **kwargs)
Definition: InDetCommonConfig.py:16
DerivationFrameworkCaloConfig.getClusterEnergyPerLayerDecorations
def getClusterEnergyPerLayerDecorations(acc, kernel)
Definition: DerivationFrameworkCaloConfig.py:159
DerivationFrameworkCaloConfig.getGainDecorations
def getGainDecorations(acc, flags, kernel, collections=None, info=["E", "nCells"])
Definition: DerivationFrameworkCaloConfig.py:127
python.JetJvtEfficiencyToolConfig.getJvtEffToolCfg
def getJvtEffToolCfg(flags, jetalg)
Definition: JetJvtEfficiencyToolConfig.py:17
dbg::print
void print(std::FILE *stream, std::format_string< Args... > fmt, Args &&... args)
Definition: SGImplSvc.cxx:70
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:219
SlimmingHelper
Definition: SlimmingHelper.py:1
python.EGAM12.EGAM12KernelCfg
def EGAM12KernelCfg(flags, name="EGAM12Kernel", **kwargs)
Definition: EGAM12.py:41