ATLAS Offline Software
Loading...
Searching...
No Matches
python.DiTauAnalysisConfig.DiTauCalibrationConfig Class Reference
Inheritance diagram for python.DiTauAnalysisConfig.DiTauCalibrationConfig:
Collaboration diagram for python.DiTauAnalysisConfig.DiTauCalibrationConfig:

Public Member Functions

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

Public Attributes

 inputContainer
 containerName
 decorateExtraVariables

Detailed Description

the ConfigBlock for the tau four-momentum correction

Definition at line 9 of file DiTauAnalysisConfig.py.

Constructor & Destructor Documentation

◆ __init__()

python.DiTauAnalysisConfig.DiTauCalibrationConfig.__init__ ( self)

Definition at line 12 of file DiTauAnalysisConfig.py.

12 def __init__ (self) :
13 super (DiTauCalibrationConfig, self).__init__ ()
14 self.setBlockName('DiTaus')
15 self.addOption ('inputContainer', '', type=str,
16 info="the name of the input ditau-jet container.")
17 self.addOption ('containerName', '', type=str,
18 noneAction='error',
19 info="the name of the output container after calibration.")
20 self.addOption ('postfix', '', type=str,
21 info="a postfix to apply to decorations and algorithm names. "
22 "Typically not needed here since the calibration is common to "
23 "all ditau-jets.")
24 self.addOption ('quality', None, type=str,
25 info="the ID WP to use. Supported ID WPs: `Tight`, `Medium`,`Loose`,`NoID`.")
26 self.addOption ('rerunTruthMatching', True, type=bool,
27 info="whether to rerun truth matching (sets up an instance of "
28 "`CP::DiTauTruthMatchingAlg`).")
29 self.addOption ('decorateTruth', False, type=bool,
30 info="decorate the truth particle information on the reconstructed one.")
31 self.addOption ('decorateExtraVariables', True, type=bool,
32 info="decorate extra variables for the reconstructed ditau-jet.")
33

Member Function Documentation

◆ instanceName()

python.DiTauAnalysisConfig.DiTauCalibrationConfig.instanceName ( self)
Return the instance name for this block

Definition at line 34 of file DiTauAnalysisConfig.py.

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

◆ makeAlgs()

python.DiTauAnalysisConfig.DiTauCalibrationConfig.makeAlgs ( self,
config )

Definition at line 38 of file DiTauAnalysisConfig.py.

38 def makeAlgs (self, config) :
39
40 postfix = self.postfix
41 if postfix != '' and postfix[0] != '_' :
42 postfix = '_' + postfix
43
44 inputContainer = "DiTauJets"
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::DiTauTruthMatchingAlg',
52 'DiTauTruthMatchingAlg' )
53 config.addPrivateTool( 'matchingTool',
54 'TauAnalysisTools::DiTauTruthMatchingTool' )
55 alg.taus = config.readName (self.containerName)
56 alg.preselection = config.getPreselection (self.containerName, '')
57
58
59 # decorate truth tau information on the reconstructed object:
60 if self.decorateTruth and self.rerunTruthMatching and config.dataType() is not DataType.Data:
61 # in the case of the ditau, the DiTauTruthMatchingTool decorates directly the reco ditau with truth information.
62 # So information can be written directly out without any additional algorithm
63 config.addOutputVar (self.containerName, 'TruthVisLeadPt', 'TruthVisLeadPt', noSys=True)
64 config.addOutputVar (self.containerName, 'TruthVisLeadEta', 'TruthVisLeadEta', noSys=True)
65 config.addOutputVar (self.containerName, 'TruthVisLeadPhi', 'TruthVisLeadPhi', noSys=True)
66 config.addOutputVar (self.containerName, 'TruthVisLeadM', 'TruthVisLeadM', noSys=True)
67 config.addOutputVar (self.containerName, 'TruthLeadPdgID', 'TruthLeadPdgID', noSys=True)
68 config.addOutputVar (self.containerName, 'TruthVisSubleadPt', 'TruthVisSubleadPt', noSys=True)
69 config.addOutputVar (self.containerName, 'TruthVisSubleadEta', 'TruthVisSubleadEta', noSys=True)
70 config.addOutputVar (self.containerName, 'TruthVisSubleadPhi', 'TruthVisSubleadPhi', noSys=True)
71 config.addOutputVar (self.containerName, 'TruthVisSubleadM', 'TruthVisSubleadM', noSys=True)
72 config.addOutputVar (self.containerName, 'TruthSubleadPdgID', 'TruthSubleadPdgID', noSys=True)
73 config.addOutputVar (self.containerName, 'TruthVisDeltaR', 'TruthVisDeltaR', noSys=True)
74 config.addOutputVar (self.containerName, 'TruthVisMass', 'TruthVisMass', noSys=True)
75 config.addOutputVar (self.containerName, 'IsTruthMatched', 'IsTruthMatched', noSys=True)
76 config.addOutputVar (self.containerName, 'IsTruthHadronic', 'IsTruthHadronic', noSys=True)
77
78 # Decorate extra variables
79 if self.decorateExtraVariables:
80 alg = config.createAlgorithm( 'CP::DiTauExtraVariablesAlg',
81 'DiTauExtraVariablesAlg',
82 reentrant=True )
83 alg.ditaus = config.readName (self.containerName)
84 config.addOutputVar (self.containerName, 'omniScore', 'omniScore', noSys=True)
85 config.addOutputVar (self.containerName, 'nSubjets', 'nSubjets', noSys=True)
86 config.addOutputVar (self.containerName, 'leadSubjetPt', 'leadSubjetPt', noSys=True)
87 config.addOutputVar (self.containerName, 'leadSubjetEta', 'leadSubjetEta', noSys=True)
88 config.addOutputVar (self.containerName, 'leadSubjetPhi', 'leadSubjetPhi', noSys=True)
89 config.addOutputVar (self.containerName, 'leadSubjetE', 'leadSubjetE', noSys=True)
90 config.addOutputVar (self.containerName, 'leadSubjetNTracks', 'leadSubjetNTracks', noSys=True)
91 config.addOutputVar (self.containerName, 'leadSubjetCharge', 'leadSubjetCharge', noSys=True)
92 config.addOutputVar (self.containerName, 'subleadSubjetPt', 'subleadSubjetPt', noSys=True)
93 config.addOutputVar (self.containerName, 'subleadSubjetEta', 'subleadSubjetEta', noSys=True)
94 config.addOutputVar (self.containerName, 'subleadSubjetPhi', 'subleadSubjetPhi', noSys=True)
95 config.addOutputVar (self.containerName, 'subleadSubjetE', 'subleadSubjetE', noSys=True)
96 config.addOutputVar (self.containerName, 'subleadSubjetNTracks', 'subleadSubjetNTracks', noSys=True)
97 config.addOutputVar (self.containerName, 'subleadSubjetCharge', 'subleadSubjetCharge', noSys=True)
98
99 # Set up the tau 4-momentum smearing algorithm:
100 alg = config.createAlgorithm( 'CP::DiTauSmearingAlg', 'DiTauSmearingAlg' )
101 config.addPrivateTool( 'smearingTool', 'TauAnalysisTools::DiTauSmearingTool' )
102 alg.taus = config.readName (self.containerName)
103 alg.tausOut = config.copyName (self.containerName)
104 alg.preselection = config.getPreselection (self.containerName, '')
105
106 # Save base kinematic ditau variables in output
107 config.addOutputVar (self.containerName, 'pt', 'pt')
108 config.addOutputVar (self.containerName, 'eta', 'eta', noSys=True)
109 config.addOutputVar (self.containerName, 'phi', 'phi', noSys=True)
110 config.addOutputVar (self.containerName, 'm', 'm', noSys=True)
111
112
113

Member Data Documentation

◆ containerName

python.DiTauAnalysisConfig.DiTauCalibrationConfig.containerName

Definition at line 47 of file DiTauAnalysisConfig.py.

◆ decorateExtraVariables

python.DiTauAnalysisConfig.DiTauCalibrationConfig.decorateExtraVariables

Definition at line 79 of file DiTauAnalysisConfig.py.

◆ inputContainer

python.DiTauAnalysisConfig.DiTauCalibrationConfig.inputContainer

Definition at line 45 of file DiTauAnalysisConfig.py.


The documentation for this class was generated from the following file: