Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Functions
python.MCTruthCommonConfig Namespace Reference

Functions

def TruthMetaDataWriterCfg (flags, name)
 
def HepMCtoXAODTruthCfg (flags)
 
def AddTruthJetsCfg (flags)
 
def AddTruthMETCfg (flags)
 
def PreJetMCTruthAugmentationsCfg (flags, **kwargs)
 
def PostJetMCTruthAugmentationsCfg (flags, **kwargs)
 
def AddStandardTruthContentsCfg (flags, decorationDressing='dressedPhoton', includeTausInDressingPhotonRemoval=False, prefix='')
 
def AddParentAndDownstreamParticlesCfg (flags, generations=1, parents=[6], prefix='TopQuark', collection_prefix=None, rejectHadronChildren=False)
 
def AddBosonsAndDownstreamParticlesCfg (flags, generations=1, rejectHadronChildren=False)
 Add taus and their downstream particles (immediate and further decay products) in a special collection def addTausAndDownstreamParticles(kernel=None, generations=1): return addParentAndDownstreamParticles(kernel=kernel, generations=generations, parents=[15], prefix='Tau') More...
 
def AddTopQuarkAndDownstreamParticlesCfg (flags, generations=1, rejectHadronChildren=False)
 
def AddTauAndDownstreamParticlesCfg (flags, generations=-1, rejectHadronChildren=False)
 
def AddHFAndDownstreamParticlesCfg (flags, **kwargs)
 Add electrons, photons, and their downstream particles in a special collection def addEgammaAndDownstreamParticles(kernel=None, generations=1): return addParentAndDownstreamParticles(kernel=kernel, generations=generations, parents=[11,22], prefix='Egamma') More...
 
def AddPVCollectionCfg (flags)
 
def AddTruthCollectionNavigationDecorationsCfg (flags, TruthCollections=[], prefix='')
 
def AddBSMAndDownstreamParticlesCfg (flags, generations=-1)
 
def AddBornLeptonCollectionCfg (flags)
 
def AddLargeRJetD2Cfg (flags)
 
def AddTruthEnergyDensityCfg (flags)
 
def AddMiniTruthCollectionLinksCfg (flags, **kwargs)
 
def addTruth3ContentToSlimmerTool (slimmer)
 

Function Documentation

◆ AddBornLeptonCollectionCfg()

def python.MCTruthCommonConfig.AddBornLeptonCollectionCfg (   flags)
Add born leptons as a mini collection

Definition at line 366 of file MCTruthCommonConfig.py.

366 def AddBornLeptonCollectionCfg(flags):
367  """Add born leptons as a mini collection"""
368  acc = ComponentAccumulator()
369  # Set up a tool to keep the taus and all downstream particles
370  from DerivationFrameworkMCTruth.TruthDerivationToolsConfig import TruthBornLeptonCollectionMakerCfg
371  DFCommonBornLeptonCollTool = acc.getPrimaryAndMerge(TruthBornLeptonCollectionMakerCfg(flags,
372  name = "DFCommonBornLeptonCollTool",
373  NewCollectionName ="BornLeptons"))
374  CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
375  acc.addEventAlgo(CommonAugmentation("MCTruthCommonBornLeptonsKernel", AugmentationTools = [DFCommonBornLeptonCollTool] ))
376  return acc
377 

◆ AddBosonsAndDownstreamParticlesCfg()

def python.MCTruthCommonConfig.AddBosonsAndDownstreamParticlesCfg (   flags,
  generations = 1,
  rejectHadronChildren = False 
)

Add taus and their downstream particles (immediate and further decay products) in a special collection def addTausAndDownstreamParticles(kernel=None, generations=1): return addParentAndDownstreamParticles(kernel=kernel, generations=generations, parents=[15], prefix='Tau')

Add W bosons and their downstream particles def addWbosonsAndDownstreamParticles(kernel=None, generations=1, rejectHadronChildren=False): return addParentAndDownstreamParticles(kernel=kernel, generations=generations, parents=[24], prefix='Wboson', rejectHadronChildren=rejectHadronChildren)

Add bosons and downstream particles (not photons/gluons)

Definition at line 246 of file MCTruthCommonConfig.py.

247  generations=1,
248  rejectHadronChildren=False):
249  """Add bosons and downstream particles (not photons/gluons)"""
251  generations = generations,
252  parents = [23,24,25],
253  prefix = 'Bosons',
254  rejectHadronChildren = rejectHadronChildren)
255 
256 # Add top quark and their downstream particles

◆ AddBSMAndDownstreamParticlesCfg()

def python.MCTruthCommonConfig.AddBSMAndDownstreamParticlesCfg (   flags,
  generations = -1 
)
Add BSM particles and their downstream particles in a special collection

Definition at line 350 of file MCTruthCommonConfig.py.

350 def AddBSMAndDownstreamParticlesCfg(flags, generations=-1):
351  """Add BSM particles and their downstream particles in a special collection"""
352  acc = ComponentAccumulator()
353  # Set up a tool to keep the taus and all downstream particles
354 
355  DFCommonBSMAndDecaysTool = acc.getPrimaryAndMerge(TruthDecayCollectionMakerCfg(flags,
356  name = "DFCommonBSMAndDecaysTool",
357  NewCollectionName = "TruthBSMWithDecay",
358  KeepBSM = True,
359  Generations = generations))
360  CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
361  acc.addEventAlgo(CommonAugmentation(name = "MCTruthCommonBSMAndDecaysKernel",
362  AugmentationTools = [DFCommonBSMAndDecaysTool] ))
363  return acc
364 
365 # Add a mini-collection for the born leptons

◆ AddHFAndDownstreamParticlesCfg()

def python.MCTruthCommonConfig.AddHFAndDownstreamParticlesCfg (   flags,
**  kwargs 
)

Add electrons, photons, and their downstream particles in a special collection def addEgammaAndDownstreamParticles(kernel=None, generations=1): return addParentAndDownstreamParticles(kernel=kernel, generations=generations, parents=[11,22], prefix='Egamma')

Add b/c-hadrons and their downstream particles

Definition at line 296 of file MCTruthCommonConfig.py.

296 def AddHFAndDownstreamParticlesCfg(flags, **kwargs):
297  """Add b/c-hadrons and their downstream particles"""
298  kwargs.setdefault("addB",True)
299  kwargs.setdefault("addC",True)
300  kwargs.setdefault("generations",-1)
301  kwargs.setdefault("prefix",'')
302  acc = ComponentAccumulator()
303  # Set up a tool to keep b- and c-quarks and all downstream particles
304  from DerivationFrameworkMCTruth.TruthDerivationToolsConfig import TruthDecayCollectionMakerCfg
305  DFCommonHFAndDecaysTool = acc.getPrimaryAndMerge(TruthDecayCollectionMakerCfg(
306  flags,
307  name=kwargs['prefix']+"DFCommonHFAndDecaysTool",
308  NewCollectionName=kwargs['prefix']+"TruthHFWithDecay",
309  KeepBHadrons=kwargs['addB'],
310  KeepCHadrons=kwargs['addC'],
311  Generations=kwargs['generations']))
312  acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
313  kwargs['prefix']+"MCTruthCommonHFAndDecaysKernel",
314  AugmentationTools = [DFCommonHFAndDecaysTool] ))
315  return acc
316 
317 
318 # Add a one-vertex-per event "primary vertex" container

◆ AddLargeRJetD2Cfg()

def python.MCTruthCommonConfig.AddLargeRJetD2Cfg (   flags)
Add large-R jet D2 variable

Definition at line 378 of file MCTruthCommonConfig.py.

378 def AddLargeRJetD2Cfg(flags):
379  """Add large-R jet D2 variable"""
380  #Extra classifier for D2 variable
381  acc = ComponentAccumulator()
382  from DerivationFrameworkMCTruth.TruthDerivationToolsConfig import TruthD2DecoratorCfg
383  theTruthD2Decorator = acc.getPrimaryAndMerge(TruthD2DecoratorCfg(flags,
384  name = "TruthD2Decorator",
385  JetContainerKey = "AntiKt10TruthSoftDropBeta100Zcut10Jets",
386  DecorationName = "D2"))
387  TruthD2DecoratorKernel = CompFactory.DerivationFramework.CommonAugmentation
388  acc.addEventAlgo(TruthD2DecoratorKernel("TRUTHD2Kernel", AugmentationTools = [theTruthD2Decorator] ))
389  return acc
390 
391 # Truth energy density tools

◆ AddMiniTruthCollectionLinksCfg()

def python.MCTruthCommonConfig.AddMiniTruthCollectionLinksCfg (   flags,
**  kwargs 
)
Tool to move pointers to new mini truth collections

Definition at line 431 of file MCTruthCommonConfig.py.

431 def AddMiniTruthCollectionLinksCfg(flags, **kwargs):
432  """Tool to move pointers to new mini truth collections"""
433  acc = ComponentAccumulator()
434  kwargs.setdefault("doElectrons",True)
435  kwargs.setdefault("doPhotons",True)
436  kwargs.setdefault("doMuons",True)
437  aug_tools = []
438  from DerivationFrameworkMCTruth.TruthDerivationToolsConfig import TruthLinkRepointToolCfg
439  if kwargs['doElectrons']:
440  electron_relink = acc.getPrimaryAndMerge(TruthLinkRepointToolCfg(
441  flags,
442  name="ElMiniCollectionTruthLinkTool",
443  RecoCollection="Electrons",
444  TargetCollections=["TruthMuons","TruthPhotons","TruthElectrons"]))
445  aug_tools += [ electron_relink ]
446  if kwargs['doPhotons']:
447  photon_relink = acc.getPrimaryAndMerge(TruthLinkRepointToolCfg(
448  flags,
449  name="PhMiniCollectionTruthLinkTool",
450  RecoCollection="Photons",
451  TargetCollections=["TruthMuons","TruthPhotons","TruthElectrons"]))
452  aug_tools += [ photon_relink ]
453  if kwargs['doMuons']:
454  muon_relink = acc.getPrimaryAndMerge(TruthLinkRepointToolCfg(
455  flags,
456  name="MuMiniCollectionTruthLinkTool",
457  RecoCollection="Muons",
458  TargetCollections=["TruthMuons","TruthPhotons","TruthElectrons"]))
459  aug_tools += [ muon_relink ]
460  for i, tool in enumerate(aug_tools):
461  acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
462  "MiniCollectionTruthLinkKernelNo{num}".format(num=i+1),
463  AugmentationTools = [tool] ))
464  return acc
465 

◆ AddParentAndDownstreamParticlesCfg()

def python.MCTruthCommonConfig.AddParentAndDownstreamParticlesCfg (   flags,
  generations = 1,
  parents = [6],
  prefix = 'TopQuark',
  collection_prefix = None,
  rejectHadronChildren = False 
)
Configure tools for adding immediate parents and descendants

Definition at line 207 of file MCTruthCommonConfig.py.

208  generations=1,
209  parents=[6],
210  prefix='TopQuark',
211  collection_prefix=None,
212  rejectHadronChildren=False):
213  """Configure tools for adding immediate parents and descendants"""
214  acc = ComponentAccumulator()
215  collection_name=collection_prefix+'WithDecay' if collection_prefix is not None else 'Truth'+prefix+'WithDecay'
216  # Set up a tool to keep the W/Z/H bosons and all downstream particles
217  collection_maker = acc.getPrimaryAndMerge(TruthDecayCollectionMakerCfg(flags,
218  name ='DFCommon'+prefix+'AndDecaysTool',
219  NewCollectionName = collection_name,
220  PDGIDsToKeep = parents,
221  Generations = generations,
222  RejectHadronChildren = rejectHadronChildren))
223  CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
224  kernel_name = 'MCTruthCommon'+prefix+'AndDecaysKernel'
225  acc.addEventAlgo(CommonAugmentation(kernel_name, AugmentationTools = [collection_maker] ))
226  return acc
227 
228 # Next two don't seem to be used for anything...

◆ AddPVCollectionCfg()

def python.MCTruthCommonConfig.AddPVCollectionCfg (   flags)
Add a one-vertex-per event "primary vertex" container

Definition at line 319 of file MCTruthCommonConfig.py.

319 def AddPVCollectionCfg(flags):
320  """Add a one-vertex-per event "primary vertex" container"""
321  acc = ComponentAccumulator()
322  # Set up a tool to keep the primary vertices
323  from DerivationFrameworkMCTruth.TruthDerivationToolsConfig import TruthPVCollectionMakerCfg
324  DFCommonTruthPVCollTool = acc.getPrimaryAndMerge(TruthPVCollectionMakerCfg(
325  flags,
326  name="DFCommonTruthPVCollTool",
327  NewCollectionName="TruthPrimaryVertices"))
328  acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
329  "MCTruthCommonTruthPVCollKernel",
330  AugmentationTools = [DFCommonTruthPVCollTool] ))
331  return acc
332 
333 
334 # Add navigation decorations on the truth collections

◆ AddStandardTruthContentsCfg()

def python.MCTruthCommonConfig.AddStandardTruthContentsCfg (   flags,
  decorationDressing = 'dressedPhoton',
  includeTausInDressingPhotonRemoval = False,
  prefix = '' 
)

Definition at line 168 of file MCTruthCommonConfig.py.

169  decorationDressing='dressedPhoton',
170  includeTausInDressingPhotonRemoval=False,
171  prefix=''):
172 
173  acc = ComponentAccumulator()
174 
175  # Schedule HepMC->xAOD truth conversion
176  acc.merge(HepMCtoXAODTruthCfg(flags))
177 
178  # Local flag
179  isEVNT = False
180  if "McEventCollection#GEN_EVENT" in flags.Input.TypedCollections: isEVNT = True
181  # Tools that must come before jets
182  acc.merge(PreJetMCTruthAugmentationsCfg(flags,decorationDressing = decorationDressing))
183  # Jets and MET
184  acc.merge(AddTruthJetsCfg(flags))
185  acc.merge(AddTruthMETCfg(flags))
186  # Tools that must come after jets
187  acc.merge(PostJetMCTruthAugmentationsCfg(flags, decorationDressing = decorationDressing))
188  # Should photons that are dressed onto taus also be removed from truth jets?
189  if includeTausInDressingPhotonRemoval:
190  acc.getPublicTool("DFCommonTruthTauDressingTool").decorationName=decorationDressing
191  acc.addEventAlgo(CompFactory.DerivationFramework.LockDecorations(name ="AddStandardTruthContentsLockDecoration", Decorations = ['TruthParticles.' + decorationDressing]))
192 
193  # Add back the navigation contect for the collections we want
194  acc.merge(AddTruthCollectionNavigationDecorationsCfg(flags, ["TruthElectrons", "TruthMuons", "TruthPhotons", "TruthTaus", "TruthNeutrinos", "TruthBSM", "TruthBottom", "TruthTop", "TruthBoson"], prefix=prefix))
195  # Some more additions for standard TRUTH3
196  acc.merge(AddBosonsAndDownstreamParticlesCfg(flags))
197  if isEVNT: acc.merge(AddLargeRJetD2Cfg(flags))
198  # Special collection for BSM particles
199  acc.merge(AddBSMAndDownstreamParticlesCfg(flags))
200  # Special collection for Born leptons
201  acc.merge(AddBornLeptonCollectionCfg(flags))
202  # Energy density for isolation corrections
203  if isEVNT: acc.merge(AddTruthEnergyDensityCfg(flags))
204 
205  return acc
206 

◆ AddTauAndDownstreamParticlesCfg()

def python.MCTruthCommonConfig.AddTauAndDownstreamParticlesCfg (   flags,
  generations = -1,
  rejectHadronChildren = False 
)
Add tau and downstream particles

Definition at line 267 of file MCTruthCommonConfig.py.

268  generations=-1,
269  rejectHadronChildren=False):
270  """Add tau and downstream particles"""
272  generations=generations,
273  parents=[15],
274  prefix='Taus',
275  rejectHadronChildren=rejectHadronChildren)
276 
277 # Following commented methods don't seem to be used for anything...
278 
279 #def addBottomQuarkAndDownstreamParticles(kernel=None, generations=1, rejectHadronChildren=False):
280 # return addParentAndDownstreamParticles(kernel=kernel,
281 # generations=generations,
282 # parents=[5],
283 # prefix='BottomQuark',
284 # rejectHadronChildren=rejectHadronChildren)
285 #
286 #

◆ AddTopQuarkAndDownstreamParticlesCfg()

def python.MCTruthCommonConfig.AddTopQuarkAndDownstreamParticlesCfg (   flags,
  generations = 1,
  rejectHadronChildren = False 
)
Add top quarks and downstream particles

Definition at line 257 of file MCTruthCommonConfig.py.

258  generations=1,
259  rejectHadronChildren=False):
260  """Add top quarks and downstream particles"""
262  generations=generations,
263  parents=[6],
264  prefix='TopQuark',
265  rejectHadronChildren=rejectHadronChildren)
266 

◆ addTruth3ContentToSlimmerTool()

def python.MCTruthCommonConfig.addTruth3ContentToSlimmerTool (   slimmer)

Definition at line 466 of file MCTruthCommonConfig.py.

466 def addTruth3ContentToSlimmerTool(slimmer):
467  slimmer.AllVariables += [
468  "MET_Truth",
469  "TruthElectrons",
470  "TruthMuons",
471  "TruthPhotons",
472  "TruthTaus",
473  "TruthNeutrinos",
474  "TruthBSM",
475  "TruthBottom",
476  "TruthTop",
477  "TruthBoson",
478  "TruthForwardProtons",
479  "BornLeptons",
480  "TruthBosonsWithDecayParticles",
481  "TruthBosonsWithDecayVertices",
482  "TruthBSMWithDecayParticles",
483  "TruthBSMWithDecayVertices",
484  ]
485  slimmer.ExtraVariables += [
486  "AntiKt4TruthDressedWZJets.GhostCHadronsFinalCount.GhostBHadronsFinalCount.pt.HadronConeExclTruthLabelID.PartonTruthLabelID.TrueFlavor",
487  "AntiKt10TruthSoftDropBeta100Zcut10Jets.pt.Tau1_wta.Tau2_wta.Tau3_wta.D2",
488  "TruthEvents.Q.XF1.XF2.PDGID1.PDGID2.PDFID1.PDFID2.X1.X2.crossSection"]

◆ AddTruthCollectionNavigationDecorationsCfg()

def python.MCTruthCommonConfig.AddTruthCollectionNavigationDecorationsCfg (   flags,
  TruthCollections = [],
  prefix = '' 
)
Tool to add navigation decorations on the truth collections

Definition at line 335 of file MCTruthCommonConfig.py.

335 def AddTruthCollectionNavigationDecorationsCfg(flags, TruthCollections=[], prefix=''):
336  """Tool to add navigation decorations on the truth collections"""
337  acc = ComponentAccumulator()
338  if len(TruthCollections)==0: return
339  # Set up a tool to add the navigation decorations
340  from DerivationFrameworkMCTruth.TruthDerivationToolsConfig import TruthNavigationDecoratorCfg
341  DFCommonTruthNavigationDecorator = acc.getPrimaryAndMerge(TruthNavigationDecoratorCfg(flags,
342  name = prefix+'DFCommonTruthNavigationDecorator',
343  InputCollections = TruthCollections))
344  CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
345  acc.addEventAlgo(CommonAugmentation(prefix+"MCTruthNavigationDecoratorKernel",
346  AugmentationTools = [DFCommonTruthNavigationDecorator] ))
347  return acc
348 
349 # Add BSM particles and their downstream particles (immediate and further decay products) in a special collection

◆ AddTruthEnergyDensityCfg()

def python.MCTruthCommonConfig.AddTruthEnergyDensityCfg (   flags)
Truth energy density tools

Definition at line 392 of file MCTruthCommonConfig.py.

392 def AddTruthEnergyDensityCfg(flags):
393  """Truth energy density tools"""
394  acc = ComponentAccumulator()
395  from EventShapeTools.EventDensityConfig import configEventDensityTool
396  from JetRecConfig.StandardJetConstits import stdConstitDic as cst
397  EventDensityAthAlg = CompFactory.EventDensityAthAlg
398  # Algorithms for the energy density - needed only if e/gamma hasn't set things up already
399  DFCommonTruthCentralEDTool = configEventDensityTool("DFCommonTruthCentralEDTool",
400  cst.Truth,
401  0.5,
402  AbsRapidityMax = 1.5,
403  OutputContainer = "TruthIsoCentralEventShape",
404  )
405  acc.addPublicTool(DFCommonTruthCentralEDTool)
406  acc.addEventAlgo(EventDensityAthAlg("DFCommonTruthCentralEDAlg", EventDensityTool = DFCommonTruthCentralEDTool ))
407  DFCommonTruthForwardEDTool = configEventDensityTool("DFCommonTruthForwardEDTool",
408  cst.Truth,
409  0.5,
410  AbsRapidityMin = 1.5,
411  AbsRapidityMax = 3.0,
412  OutputContainer = "TruthIsoForwardEventShape",
413  )
414  acc.addPublicTool(DFCommonTruthForwardEDTool)
415  acc.addEventAlgo(EventDensityAthAlg("DFCommonTruthForwardEDAlg", EventDensityTool = DFCommonTruthForwardEDTool ))
416 
417  # Now add the tool to do the decoration
418  DFCommonTruthEDDecorator = CompFactory.DerivationFramework.TruthEDDecorator("DFCommonTruthEDDecorator",
419  EventInfoName="EventInfo",
420  EnergyDensityKeys=["TruthIsoCentralEventShape","TruthIsoForwardEventShape"],
421  DecorationSuffix="_rho"
422  )
423  acc.addPublicTool(DFCommonTruthEDDecorator)
424 
425  DFCommonTruthEDKernel = CompFactory.DerivationFramework.CommonAugmentation
426  acc.addEventAlgo(DFCommonTruthEDKernel("DFCommonTruthEDKernel", AugmentationTools = [DFCommonTruthEDDecorator] ))
427  return acc
428 
429 
430 # Sets up modifiers to move pointers to old truth collections to new mini truth collections

◆ AddTruthJetsCfg()

def python.MCTruthCommonConfig.AddTruthJetsCfg (   flags)

Definition at line 62 of file MCTruthCommonConfig.py.

62 def AddTruthJetsCfg(flags):
63 
64  acc = ComponentAccumulator()
65 
66  from JetRecConfig.StandardSmallRJets import AntiKt4Truth,AntiKt4TruthWZ,AntiKt4TruthDressedWZ,AntiKtVRTruthCharged
67  from JetRecConfig.StandardLargeRJets import AntiKt10TruthSoftDrop
68  from JetRecConfig.JetRecConfig import JetRecCfg
69 
70  inputCollections = set(flags.Input.Collections)
71  jetList = [AntiKt4Truth,AntiKt4TruthWZ,AntiKt4TruthDressedWZ,AntiKtVRTruthCharged,
72  AntiKt10TruthSoftDrop]
73 
74  for jd in jetList:
75  # Encode the expected name to match the bytes in inputCollections.
76  expectedName = jd.fullname().encode("utf-8")
77  if expectedName in inputCollections:
78  continue
79  acc.merge(JetRecCfg(flags, jd))
80  return acc
81 
82 # Helper for scheduling the truth MET collection

◆ AddTruthMETCfg()

def python.MCTruthCommonConfig.AddTruthMETCfg (   flags)

Definition at line 83 of file MCTruthCommonConfig.py.

83 def AddTruthMETCfg(flags):
84 
85  acc = ComponentAccumulator()
86 
87  # Only do this if the truth MET is not present
88  # This should handle EVNT correctly without an explicit check
89  if ( "MissingETContainer#MET_Truth") not in flags.Input.TypedCollections:
90  from METReconstruction.METTruth_Cfg import METTruth_Cfg
91  acc.merge(METTruth_Cfg(flags))
92 
93  return acc
94 

◆ HepMCtoXAODTruthCfg()

def python.MCTruthCommonConfig.HepMCtoXAODTruthCfg (   flags)
Conversion of HepMC to xAOD truth

Definition at line 19 of file MCTruthCommonConfig.py.

19 def HepMCtoXAODTruthCfg(flags):
20  """Conversion of HepMC to xAOD truth"""
21  acc = ComponentAccumulator()
22 
23  # Only run for MC input
24  if flags.Input.isMC is False:
25  raise RuntimeError("Common MC truth building requested for non-MC input")
26 
27  # Local steering flag to identify EVNT input
28  # Commented because the block it is needed for isn't working (TruthMetaData)
29  isEVNT = False
30 
31  # Ensure EventInfoCnvAlg is scheduled
32  if "EventInfo#McEventInfo" in flags.Input.TypedCollections and "xAOD::EventInfo#EventInfo" not in flags.Input.TypedCollections:
33  from xAODEventInfoCnv.xAODEventInfoCnvConfig import EventInfoCnvAlgCfg
34  acc.merge(EventInfoCnvAlgCfg(flags, inputKey="McEventInfo", outputKey="EventInfo", disableBeamSpot=True))
35 
36  # Build truth collection if input is HepMC. Must be scheduled first to allow slimming.
37  # Input file is event generator output (EVNT)
38  from xAODTruthCnv.xAODTruthCnvConfig import GEN_EVNT2xAODCfg
39  if "McEventCollection#GEN_EVENT" in flags.Input.TypedCollections:
40  acc.merge(GEN_EVNT2xAODCfg(flags,name="GEN_EVNT2xAOD",AODContainerName="GEN_EVENT"))
41  isEVNT = True
42  # Input file is simulation output (HITS)
43  elif "McEventCollection#TruthEvent" in flags.Input.TypedCollections:
44  acc.merge(GEN_EVNT2xAODCfg(flags,name="GEN_EVNT2xAOD",AODContainerName="TruthEvent"))
45  # This is not really EVNT, but we do need to treat it like EVNT for Metadata
46  isEVNT = True
47  # Input file already has xAOD truth. Don't do anything.
48  elif "xAOD::TruthEventContainer#TruthEvents" in flags.Input.TypedCollections:
49  pass
50  else:
51  raise RuntimeError("No recognised HepMC truth information found in the input")
52 
53  # If it isn't available, make a truth meta data object (will hold MC Event Weights)
54  if "TruthMetaDataContainer#TruthMetaData" not in flags.Input.TypedCollections and not isEVNT:
55  # If we are going to be making the truth collection (isEVNT) then this will be made elsewhere
56  acc.merge(TruthMetaDataWriterCfg(flags, name = 'DFCommonTruthMetaDataWriter'))
57 
58  return acc
59 
60 
61 # Helper for adding truth jet collections via new jet config

◆ PostJetMCTruthAugmentationsCfg()

def python.MCTruthCommonConfig.PostJetMCTruthAugmentationsCfg (   flags,
**  kwargs 
)

Definition at line 131 of file MCTruthCommonConfig.py.

131 def PostJetMCTruthAugmentationsCfg(flags, **kwargs):
132 
133  acc = ComponentAccumulator()
134 
135  # Tau collections are built separately
136  # truth tau matching needs truth jets, truth electrons and truth muons
137  from DerivationFrameworkTau.TauTruthCommonConfig import TauTruthToolsCfg
138  acc.merge(TauTruthToolsCfg(flags))
139  from DerivationFrameworkMCTruth.TruthDerivationToolsConfig import DFCommonTruthTauDressingToolCfg
140  augmentationToolsList = [ acc.getPrimaryAndMerge(DFCommonTruthTauDressingToolCfg(flags)) ]
141 
142  #Save the post-shower HT and MET filter values that will make combining filtered samples easier (adds to the EventInfo)
143  from DerivationFrameworkMCTruth.GenFilterToolConfig import GenFilterToolCfg
144  # schedule the special truth building tools and add them to a common augmentation; note taus are handled separately below
145  from DerivationFrameworkMCTruth.TruthDerivationToolsConfig import DFCommonTruthDressedWZQGLabelToolCfg
146  augmentationToolsList += [ acc.getPrimaryAndMerge(GenFilterToolCfg(flags)) ,
147  acc.getPrimaryAndMerge(DFCommonTruthDressedWZQGLabelToolCfg(flags))]
148 
149  # SUSY signal decorations
150  from DerivationFrameworkSUSY.DecorateSUSYProcessConfig import IsSUSYSignalRun3
151  if IsSUSYSignalRun3(flags):
152  from DerivationFrameworkSUSY.DecorateSUSYProcessConfig import SUSYSignalTaggerCfg
153  augmentationToolsList += [ acc.getPrimaryAndMerge(SUSYSignalTaggerCfg(flags, 'MCTruthCommon')) ]
154 
155  CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
156  for i, tool in enumerate(augmentationToolsList):
157  acc.addEventAlgo(CommonAugmentation(name = "MCTruthCommonPostJetKernelNo{num}".format(num = i+1),
158  AugmentationTools = [tool]))
159 
160  # add SoW of individual SUSY final states, relies on augmentation from DecorateSUSYProcess()
161  if IsSUSYSignalRun3(flags):
162  from DerivationFrameworkSUSY.SUSYWeightMetadataConfig import AddSUSYWeightsCfg
163  acc.merge(AddSUSYWeightsCfg(flags))
164 
165  return(acc)
166 
167 # This adds the entirety of TRUTH3

◆ PreJetMCTruthAugmentationsCfg()

def python.MCTruthCommonConfig.PreJetMCTruthAugmentationsCfg (   flags,
**  kwargs 
)

Definition at line 95 of file MCTruthCommonConfig.py.

95 def PreJetMCTruthAugmentationsCfg(flags, **kwargs):
96 
97  acc = ComponentAccumulator()
98 
99  augmentationToolsList = []
100 
101  # These augmentations do *not* require truth jets at all
102  # If requested, add a decoration to photons that were used in the dressing
103 
104  from DerivationFrameworkMCTruth.TruthDerivationToolsConfig import ( DFCommonTruthElectronDressingToolCfg,
105  DFCommonTruthMuonDressingToolCfg, DFCommonTruthClassificationToolCfg, DFCommonTruthMuonToolCfg, DFCommonTruthElectronToolCfg,
106  DFCommonTruthPhotonToolSimCfg, DFCommonTruthNeutrinoToolCfg, DFCommonTruthBottomToolCfg, DFCommonTruthTopToolCfg,
107  DFCommonTruthBosonToolCfg, DFCommonTruthBSMToolCfg, DFCommonTruthForwardProtonToolCfg, DFCommonTruthElectronIsolationTool1Cfg,
108  DFCommonTruthElectronIsolationTool2Cfg, DFCommonTruthMuonIsolationTool1Cfg, DFCommonTruthMuonIsolationTool2Cfg,
109  DFCommonTruthPhotonIsolationTool1Cfg, DFCommonTruthPhotonIsolationTool2Cfg, DFCommonTruthPhotonIsolationTool3Cfg )
110 
111  # schedule the special truth building tools and add them to a common augmentation; note taus are handled separately below
112  for item in [ DFCommonTruthClassificationToolCfg, DFCommonTruthMuonToolCfg, DFCommonTruthElectronToolCfg,
113  DFCommonTruthPhotonToolSimCfg, DFCommonTruthNeutrinoToolCfg, DFCommonTruthBottomToolCfg, DFCommonTruthTopToolCfg,
114  DFCommonTruthBosonToolCfg, DFCommonTruthBSMToolCfg, DFCommonTruthElectronIsolationTool1Cfg,
115  DFCommonTruthElectronIsolationTool2Cfg, DFCommonTruthMuonIsolationTool1Cfg, DFCommonTruthMuonIsolationTool2Cfg,
116  DFCommonTruthPhotonIsolationTool1Cfg, DFCommonTruthPhotonIsolationTool2Cfg, DFCommonTruthPhotonIsolationTool3Cfg]:
117  augmentationToolsList.append(acc.getPrimaryAndMerge(item(flags)))
118  augmentationToolsList.append(acc.getPrimaryAndMerge(DFCommonTruthForwardProtonToolCfg(flags)))
119 
120  if 'decorationDressing' in kwargs:
121  augmentationToolsList.append(acc.getPrimaryAndMerge(DFCommonTruthElectronDressingToolCfg(flags, decorationName = kwargs['decorationDressing'])))
122  augmentationToolsList.append(acc.getPrimaryAndMerge(DFCommonTruthMuonDressingToolCfg(flags, decorationName = kwargs['decorationDressing'])))
123 
124  for i, tool in enumerate(augmentationToolsList):
125  acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(name ="MCTruthCommonPreJetKernelNo{num}".format(num = i+1), AugmentationTools = [tool]))
126 
127 
128  return(acc)
129 
130 

◆ TruthMetaDataWriterCfg()

def python.MCTruthCommonConfig.TruthMetaDataWriterCfg (   flags,
  name 
)

Definition at line 11 of file MCTruthCommonConfig.py.

11 def TruthMetaDataWriterCfg(flags, name):
12  acc = ComponentAccumulator()
13  theTruthMetaDataWriter = CompFactory.DerivationFramework.TruthMetaDataWriter(name)
14  acc.addPublicTool(theTruthMetaDataWriter)
15  CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
16  acc.addEventAlgo(CommonAugmentation(f"{name}Kernel", AugmentationTools = [theTruthMetaDataWriter]))
17  return acc
18 
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
vtune_athena.format
format
Definition: vtune_athena.py:14
python.TruthDerivationToolsConfig.TruthD2DecoratorCfg
def TruthD2DecoratorCfg(flags, name, **kwargs)
Definition: TruthDerivationToolsConfig.py:120
python.MCTruthCommonConfig.AddStandardTruthContentsCfg
def AddStandardTruthContentsCfg(flags, decorationDressing='dressedPhoton', includeTausInDressingPhotonRemoval=False, prefix='')
Definition: MCTruthCommonConfig.py:168
python.TruthDerivationToolsConfig.TruthBornLeptonCollectionMakerCfg
def TruthBornLeptonCollectionMakerCfg(flags, name, **kwargs)
Definition: TruthDerivationToolsConfig.py:197
python.MCTruthCommonConfig.AddBosonsAndDownstreamParticlesCfg
def AddBosonsAndDownstreamParticlesCfg(flags, generations=1, rejectHadronChildren=False)
Add taus and their downstream particles (immediate and further decay products) in a special collectio...
Definition: MCTruthCommonConfig.py:246
python.MCTruthCommonConfig.AddTauAndDownstreamParticlesCfg
def AddTauAndDownstreamParticlesCfg(flags, generations=-1, rejectHadronChildren=False)
Definition: MCTruthCommonConfig.py:267
python.MCTruthCommonConfig.AddMiniTruthCollectionLinksCfg
def AddMiniTruthCollectionLinksCfg(flags, **kwargs)
Definition: MCTruthCommonConfig.py:431
python.MCTruthCommonConfig.AddPVCollectionCfg
def AddPVCollectionCfg(flags)
Definition: MCTruthCommonConfig.py:319
EventDensityConfig.configEventDensityTool
def configEventDensityTool(name, jetOrConstitdef, radius=0.4, **options)
Definition: EventDensityConfig.py:36
python.TruthDerivationToolsConfig.TruthLinkRepointToolCfg
def TruthLinkRepointToolCfg(flags, name, **kwargs)
Definition: TruthDerivationToolsConfig.py:375
python.TruthDerivationToolsConfig.TruthDecayCollectionMakerCfg
def TruthDecayCollectionMakerCfg(flags, name, **kwargs)
Definition: TruthDerivationToolsConfig.py:189
python.MCTruthCommonConfig.TruthMetaDataWriterCfg
def TruthMetaDataWriterCfg(flags, name)
Definition: MCTruthCommonConfig.py:11
python.MCTruthCommonConfig.AddTopQuarkAndDownstreamParticlesCfg
def AddTopQuarkAndDownstreamParticlesCfg(flags, generations=1, rejectHadronChildren=False)
Definition: MCTruthCommonConfig.py:257
xAODTruthCnvConfig.GEN_EVNT2xAODCfg
def GEN_EVNT2xAODCfg(flags, name="GEN_EVNT2xAOD", **kwargs)
Definition: xAODTruthCnvConfig.py:5
python.MCTruthCommonConfig.AddLargeRJetD2Cfg
def AddLargeRJetD2Cfg(flags)
Definition: MCTruthCommonConfig.py:378
python.MCTruthCommonConfig.AddBornLeptonCollectionCfg
def AddBornLeptonCollectionCfg(flags)
Definition: MCTruthCommonConfig.py:366
python.TruthDerivationToolsConfig.DFCommonTruthTauDressingToolCfg
def DFCommonTruthTauDressingToolCfg(flags)
Definition: TruthDerivationToolsConfig.py:262
AtlasMcWeight::encode
number_type encode(double weight)
Definition: AtlasMcWeight.cxx:65
python.MCTruthCommonConfig.AddTruthMETCfg
def AddTruthMETCfg(flags)
Definition: MCTruthCommonConfig.py:83
python.MCTruthCommonConfig.AddBSMAndDownstreamParticlesCfg
def AddBSMAndDownstreamParticlesCfg(flags, generations=-1)
Definition: MCTruthCommonConfig.py:350
python.JetRecConfig.JetRecCfg
def JetRecCfg(flags, jetdef, returnConfiguredDef=False)
Top level functions returning ComponentAccumulator out of JetDefinition.
Definition: JetRecConfig.py:36
python.TruthDerivationToolsConfig.DFCommonTruthForwardProtonToolCfg
def DFCommonTruthForwardProtonToolCfg(flags)
Definition: TruthDerivationToolsConfig.py:106
python.MCTruthCommonConfig.PreJetMCTruthAugmentationsCfg
def PreJetMCTruthAugmentationsCfg(flags, **kwargs)
Definition: MCTruthCommonConfig.py:95
python.SUSYWeightMetadataConfig.AddSUSYWeightsCfg
def AddSUSYWeightsCfg(flags, pref="")
Definition: SUSYWeightMetadataConfig.py:31
python.MCTruthCommonConfig.HepMCtoXAODTruthCfg
def HepMCtoXAODTruthCfg(flags)
Definition: MCTruthCommonConfig.py:19
python.MCTruthCommonConfig.PostJetMCTruthAugmentationsCfg
def PostJetMCTruthAugmentationsCfg(flags, **kwargs)
Definition: MCTruthCommonConfig.py:131
python.MCTruthCommonConfig.AddTruthEnergyDensityCfg
def AddTruthEnergyDensityCfg(flags)
Definition: MCTruthCommonConfig.py:392
python.MCTruthCommonConfig.AddParentAndDownstreamParticlesCfg
def AddParentAndDownstreamParticlesCfg(flags, generations=1, parents=[6], prefix='TopQuark', collection_prefix=None, rejectHadronChildren=False)
Definition: MCTruthCommonConfig.py:207
python.GenFilterToolConfig.GenFilterToolCfg
def GenFilterToolCfg(flags)
Definition: GenFilterToolConfig.py:8
python.TruthDerivationToolsConfig.DFCommonTruthMuonDressingToolCfg
def DFCommonTruthMuonDressingToolCfg(flags, decorationName="dressedPhoton")
Definition: TruthDerivationToolsConfig.py:252
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition: bitmask.h:232
python.TruthDerivationToolsConfig.TruthPVCollectionMakerCfg
def TruthPVCollectionMakerCfg(flags, name, **kwargs)
Definition: TruthDerivationToolsConfig.py:385
python.TruthDerivationToolsConfig.TruthNavigationDecoratorCfg
def TruthNavigationDecoratorCfg(flags, name, **kwargs)
Definition: TruthDerivationToolsConfig.py:181
python.TauTruthCommonConfig.TauTruthToolsCfg
def TauTruthToolsCfg(flags)
Definition: TauTruthCommonConfig.py:44
python.MCTruthCommonConfig.AddHFAndDownstreamParticlesCfg
def AddHFAndDownstreamParticlesCfg(flags, **kwargs)
Add electrons, photons, and their downstream particles in a special collection def addEgammaAndDownst...
Definition: MCTruthCommonConfig.py:296
python.DecorateSUSYProcessConfig.IsSUSYSignalRun3
def IsSUSYSignalRun3(flags)
Definition: DecorateSUSYProcessConfig.py:8
python.DecorateSUSYProcessConfig.SUSYSignalTaggerCfg
def SUSYSignalTaggerCfg(flags, derivationName)
Definition: DecorateSUSYProcessConfig.py:49
item
Definition: ItemListSvc.h:43
python.MCTruthCommonConfig.addTruth3ContentToSlimmerTool
def addTruth3ContentToSlimmerTool(slimmer)
Definition: MCTruthCommonConfig.py:466
python.MCTruthCommonConfig.AddTruthCollectionNavigationDecorationsCfg
def AddTruthCollectionNavigationDecorationsCfg(flags, TruthCollections=[], prefix='')
Definition: MCTruthCommonConfig.py:335
python.TruthDerivationToolsConfig.DFCommonTruthDressedWZQGLabelToolCfg
def DFCommonTruthDressedWZQGLabelToolCfg(flags)
Definition: TruthDerivationToolsConfig.py:350
EventDensityAthAlg
Definition: EventDensityAthAlg.h:24
python.xAODEventInfoCnvConfig.EventInfoCnvAlgCfg
def EventInfoCnvAlgCfg(flags, name="EventInfoCnvAlg", inputKey="McEventInfo", outputKey="EventInfo", disableBeamSpot=False, **kwargs)
Definition: xAODEventInfoCnvConfig.py:11
python.TruthDerivationToolsConfig.DFCommonTruthElectronDressingToolCfg
def DFCommonTruthElectronDressingToolCfg(flags, decorationName="dressedPhoton")
Definition: TruthDerivationToolsConfig.py:242
python.MCTruthCommonConfig.AddTruthJetsCfg
def AddTruthJetsCfg(flags)
Definition: MCTruthCommonConfig.py:62
METTruth_Cfg
Definition: METTruth_Cfg.py:1