ATLAS Offline Software
Public Member Functions | List of all members
python.TauAnalysisConfig.TauCalibrationConfig Class Reference
Inheritance diagram for python.TauAnalysisConfig.TauCalibrationConfig:
Collaboration diagram for python.TauAnalysisConfig.TauCalibrationConfig:

Public Member Functions

def __init__ (self)
 
def instanceName (self)
 
def makeAlgs (self, config)
 

Detailed Description

the ConfigBlock for the tau four-momentum correction

Definition at line 11 of file TauAnalysisConfig.py.

Constructor & Destructor Documentation

◆ __init__()

def python.TauAnalysisConfig.TauCalibrationConfig.__init__ (   self)

Definition at line 14 of file TauAnalysisConfig.py.

14  def __init__ (self) :
15  super (TauCalibrationConfig, self).__init__ ()
16  self.setBlockName('Taus')
17  self.addOption ('inputContainer', '', type=str,
18  info="select tau input container, by default set to TauJets")
19  self.addOption ('containerName', '', type=str,
20  noneAction='error',
21  info="the name of the output container after calibration.")
22  self.addOption ('postfix', '', type=str,
23  info="a postfix to apply to decorations and algorithm names. "
24  "Typically not needed here since the calibration is common to "
25  "all taus.")
26  self.addOption ('rerunTruthMatching', True, type=bool,
27  info="whether to rerun truth matching (sets up an instance of "
28  "CP::TauTruthMatchingAlg). The default is True.")
29  self.addOption ('decorateTruth', False, type=bool,
30  info="decorate truth particle information on the reconstructed one")
31  self.addOption ('decorateExtraVariables', True, type=bool,
32  info="decorate extra variables for the reconstructed tau")
33 

Member Function Documentation

◆ instanceName()

def python.TauAnalysisConfig.TauCalibrationConfig.instanceName (   self)
Return the instance name for this block

Definition at line 34 of file TauAnalysisConfig.py.

34  def instanceName (self) :
35  """Return the instance name for this block"""
36  return self.containerName + self.postfix
37 

◆ makeAlgs()

def python.TauAnalysisConfig.TauCalibrationConfig.makeAlgs (   self,
  config 
)

Definition at line 38 of file TauAnalysisConfig.py.

38  def makeAlgs (self, config) :
39 
40  postfix = self.postfix
41  if postfix != '' and postfix[0] != '_' :
42  postfix = '_' + postfix
43 
44  inputContainer = "AnalysisTauJets" if config.isPhyslite() else "TauJets"
45  if self.inputContainer:
46  inputContainer = self.inputContainer
47  config.setSourceName (self.containerName, inputContainer)
48 
49  # Set up the tau truth matching algorithm:
50  if self.rerunTruthMatching and config.dataType() is not DataType.Data:
51  alg = config.createAlgorithm( 'CP::TauTruthMatchingAlg',
52  'TauTruthMatchingAlg' )
53  config.addPrivateTool( 'matchingTool',
54  'TauAnalysisTools::TauTruthMatchingTool' )
55  alg.matchingTool.TruthJetContainerName = 'AntiKt4TruthDressedWZJets'
56  alg.taus = config.readName (self.containerName)
57  alg.preselection = config.getPreselection (self.containerName, '')
58 
59  # decorate truth tau information on the reconstructed object:
60  if self.decorateTruth and config.dataType() is not DataType.Data:
61  alg = config.createAlgorithm( 'CP::TauTruthDecorationsAlg',
62  'TauTruthDecorationsAlg',
63  reentrant=True )
64  alg.taus = config.readName (self.containerName)
65  alg.doubleDecorations = ['pt_vis', 'pt_invis', 'eta_vis', 'eta_invis', 'phi_vis', 'phi_invis', 'm_vis', 'm_invis']
66  alg.floatDecorations = []
67  alg.intDecorations = ['pdgId']
68  alg.unsignedIntDecorations = ['classifierParticleOrigin', 'classifierParticleType']
69  alg.charDecorations = ['IsHadronicTau']
70  alg.prefix = 'truth_'
71 
72  # these are "_ListHelper" objects, and not "list", need to copy to lists to allow concatenate
73  for var in ['DecayMode', 'ParticleType', 'PartonTruthLabelID'] + alg.doubleDecorations[:] + alg.floatDecorations[:] + alg.intDecorations[:] + alg.unsignedIntDecorations[:] + alg.charDecorations[:]:
74  branchName = alg.prefix + var
75  if 'classifierParticle' in var:
76  branchOutput = alg.prefix + var.replace('classifierParticle', '').lower()
77  else:
78  branchOutput = branchName
79  config.addOutputVar (self.containerName, branchName, branchOutput, noSys=True)
80 
81  # Decorate extra variables
82  if self.decorateExtraVariables:
83  alg = config.createAlgorithm( 'CP::TauExtraVariablesAlg',
84  'TauExtraVariablesAlg',
85  reentrant=True )
86  alg.taus = config.readName (self.containerName)
87 
88  # Set up the tau 4-momentum smearing algorithm:
89  alg = config.createAlgorithm( 'CP::TauSmearingAlg', 'TauSmearingAlg' )
90  config.addPrivateTool( 'smearingTool', 'TauAnalysisTools::TauSmearingTool' )
91  alg.smearingTool.useFastSim = config.dataType() is DataType.FastSim
92  alg.smearingTool.Campaign = "mc23" if config.geometry() is LHCPeriod.Run3 else "mc20"
93  alg.taus = config.readName (self.containerName)
94  alg.tausOut = config.copyName (self.containerName)
95  alg.preselection = config.getPreselection (self.containerName, '')
96 
97  # Additional decorations
98  alg = config.createAlgorithm( 'CP::AsgEnergyDecoratorAlg', 'EnergyDecorator' )
99  alg.particles = config.readName (self.containerName)
100 
101  config.addOutputVar (self.containerName, 'pt', 'pt')
102  config.addOutputVar (self.containerName, 'eta', 'eta', noSys=True)
103  config.addOutputVar (self.containerName, 'phi', 'phi', noSys=True)
104  config.addOutputVar (self.containerName, 'e_%SYS%', 'e')
105  config.addOutputVar (self.containerName, 'charge', 'charge', noSys=True)
106  config.addOutputVar (self.containerName, 'NNDecayMode', 'NNDecayMode', noSys=True)
107  config.addOutputVar (self.containerName, 'passTATTauMuonOLR', 'passTATTauMuonOLR', noSys=True)
108  config.addOutputVar (self.containerName, 'TESCompatibility', 'TESCompatibility')
109  if self.decorateExtraVariables:
110  config.addOutputVar (self.containerName, 'nTracksCharged', 'nTracksCharged', noSys=True)
111 
112 

The documentation for this class was generated from the following file:
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18