ATLAS Offline Software
ParticleLevelJetsConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from AnalysisAlgorithmsConfig.ConfigBlock import ConfigBlock
4 
5 
6 class ParticleLevelJetsBlock(ConfigBlock):
7  """ConfigBlock for particle-level truth jets"""
8 
9  def __init__(self):
10  super(ParticleLevelJetsBlock, self).__init__()
11  self.addOption('containerName', 'AntiKt4TruthDressedWZJets', type=str,
12  info='the name of the input truth jets container')
13  # Always skip on data
14  self.setOptionValue('skipOnData', True)
15 
16  def makeAlgs(self, config):
17  config.setSourceName (self.containerName, self.containerName)
18 
19  # count the number of heavy-flavour jets for normalisation of e.g. V+HF samples
20  if "AntiKt4" in self.containerName:
21  alg = config.createAlgorithm('CP::ParticleLevelJetsAlg', 'ParticleLevelJetsAlg' + self.containerName)
22  alg.jets = self.containerName
23 
24  # decorate the energy so we can save it later
25  alg = config.createAlgorithm( 'CP::AsgEnergyDecoratorAlg', 'ParticleLevelEnergyDecorator' + self.containerName )
26  alg.particles = self.containerName
27 
28  outputVars = [
29  ['pt', 'pt'],
30  ['eta', 'eta'],
31  ['phi', 'phi'],
32  ['e_%SYS%', 'e'],
33  ['GhostBHadronsFinalCount', 'nGhosts_bHadron'],
34  ['GhostCHadronsFinalCount', 'nGhosts_cHadron'],
35  ]
36  for decoration, branch in outputVars:
37  config.addOutputVar (self.containerName, decoration, branch, noSys=True)
38 
39  if "AntiKt4" in self.containerName:
40  config.addOutputVar('EventInfo', 'num_truth_bjets_nocuts', 'num_truth_bjets_nocuts', noSys=True)
41  config.addOutputVar('EventInfo', 'num_truth_cjets_nocuts', 'num_truth_cjets_nocuts', noSys=True)
ParticleLevelJetsConfig.ParticleLevelJetsBlock.__init__
def __init__(self)
Definition: ParticleLevelJetsConfig.py:9
ParticleLevelJetsConfig.ParticleLevelJetsBlock.makeAlgs
def makeAlgs(self, config)
Definition: ParticleLevelJetsConfig.py:16
ParticleLevelJetsConfig.ParticleLevelJetsBlock
Definition: ParticleLevelJetsConfig.py:6