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

Functions

def AddTauAugmentationCfg (flags, **kwargs)
 
def AddDiTauLowPtCfg (flags, **kwargs)
 
def AddTauIDDecorationCfg (flags, **kwargs)
 
def AddMuonRemovalTauAODReRecoAlgCfg (flags, **kwargs)
 
def TauThinningCfg (flags, name, **kwargs)
 

Function Documentation

◆ AddDiTauLowPtCfg()

def python.TauCommonConfig.AddDiTauLowPtCfg (   flags,
**  kwargs 
)
Configure the low-pt di-tau building

Definition at line 144 of file TauCommonConfig.py.

144 def AddDiTauLowPtCfg(flags, **kwargs):
145  """Configure the low-pt di-tau building"""
146 
147  acc = ComponentAccumulator()
148 
149  from JetRecConfig.JetRecConfig import JetRecCfg
150  from JetRecConfig.StandardLargeRJets import AntiKt10LCTopo
151  acc.merge(JetRecCfg(flags,AntiKt10LCTopo))
152 
153  from DiTauRec.DiTauBuilderConfig import DiTauBuilderCfg
154  acc.merge(DiTauBuilderCfg(flags, name="DiTauLowPtBuilder", doLowPt=True))
155 
156  return acc
157 
158 

◆ AddMuonRemovalTauAODReRecoAlgCfg()

def python.TauCommonConfig.AddMuonRemovalTauAODReRecoAlgCfg (   flags,
**  kwargs 
)
Configure the MuonRM AOD tau building

Definition at line 204 of file TauCommonConfig.py.

204 def AddMuonRemovalTauAODReRecoAlgCfg(flags, **kwargs):
205  """Configure the MuonRM AOD tau building"""
206 
207  acc = ComponentAccumulator()
208 
209  # get tools from holder
210  import tauRec.TauToolHolder as tauTools
211  tools_mod = []
212  tools_mod.append( acc.popToolsAndMerge(tauTools.TauAODMuonRemovalCfg(flags)) )
213  tools_after = []
214  tools_after.append( acc.popToolsAndMerge(tauTools.TauVertexedClusterDecoratorCfg(flags)) )
215  tools_after.append( acc.popToolsAndMerge(tauTools.TauTrackRNNClassifierCfg(flags)) )
216  tools_after.append( acc.popToolsAndMerge(tauTools.EnergyCalibrationLCCfg(flags)) )
217  tools_after.append( acc.popToolsAndMerge(tauTools.TauCommonCalcVarsCfg(flags)) )
218  tools_after.append( acc.popToolsAndMerge(tauTools.TauSubstructureCfg(flags)) )
219  tools_after.append( acc.popToolsAndMerge(tauTools.Pi0ClusterCreatorCfg(flags)) )
220  tools_after.append( acc.popToolsAndMerge(tauTools.Pi0ClusterScalerCfg(flags)) )
221  tools_after.append( acc.popToolsAndMerge(tauTools.Pi0ScoreCalculatorCfg(flags)) )
222  tools_after.append( acc.popToolsAndMerge(tauTools.Pi0SelectorCfg(flags)) )
223  tools_after.append( acc.popToolsAndMerge(tauTools.TauVertexVariablesCfg(flags)) )
224  import PanTauAlgs.JobOptions_Main_PanTau as pantau
225  tools_after.append( acc.popToolsAndMerge(pantau.PanTauCfg(flags)) )
226  tools_after.append( acc.popToolsAndMerge(tauTools.TauCombinedTESCfg(flags)) )
227  tools_after.append( acc.popToolsAndMerge(tauTools.MvaTESVariableDecoratorCfg(flags)) )
228  tools_after[-1].EventShapeKey = ''
229  tools_after.append( acc.popToolsAndMerge(tauTools.MvaTESEvaluatorCfg(flags)) )
230  tools_after.append( acc.popToolsAndMerge(tauTools.TauIDVarCalculatorCfg(flags)) )
231  tools_after.append( acc.popToolsAndMerge(tauTools.TauJetRNNEvaluatorCfg(flags)) )
232  tools_after.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorJetRNNCfg(flags)) )
233  tools_after.append( acc.popToolsAndMerge(tauTools.TauEleRNNEvaluatorCfg(flags)) )
234  tools_after.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorEleRNNCfg(flags)) )
235  tools_after.append( acc.popToolsAndMerge(tauTools.TauDecayModeNNClassifierCfg(flags)) )
236  TauAODRunnerAlg=CompFactory.getComp("TauAODRunnerAlg")
237  for tool in tools_mod:
238  tool.inAOD = True
239  for tool in tools_after:
240  tool.inAOD = True
241  myTauAODRunnerAlg = TauAODRunnerAlg(
242  name = "MuonRemovalTauAODReRecoAlg",
243  Key_tauOutputContainer = "TauJets_MuonRM",
244  Key_pi0OutputContainer = "TauFinalPi0s_MuonRM",
245  Key_neutralPFOOutputContainer = "TauNeutralParticleFlowObjects_MuonRM",
246  Key_chargedPFOOutputContainer = "TauChargedParticleFlowObjects_MuonRM",
247  Key_hadronicPFOOutputContainer = "TauHadronicParticleFlowObjects_MuonRM",
248  Key_tauTrackOutputContainer = "TauTracks_MuonRM",
249  Key_vertexOutputContainer = "TauSecondaryVertices_MuonRM",
250  modificationTools = tools_mod,
251  officialTools = tools_after
252  )
253  acc.addEventAlgo(myTauAODRunnerAlg)
254  return acc
255 
256 

◆ AddTauAugmentationCfg()

def python.TauCommonConfig.AddTauAugmentationCfg (   flags,
**  kwargs 
)

Definition at line 6 of file TauCommonConfig.py.

6 def AddTauAugmentationCfg(flags, **kwargs):
7 
8  prefix = kwargs["prefix"]
9  kwargs.setdefault("doRNNVeryLoose", False)
10  kwargs.setdefault("doRNNLoose", False)
11  kwargs.setdefault("doRNNMedium", False)
12  kwargs.setdefault("doRNNTight", False)
13  kwargs.setdefault("doGNTauVeryLoose", False)
14  kwargs.setdefault("doGNTauLoose", False)
15  kwargs.setdefault("doGNTauMedium", False)
16  kwargs.setdefault("doGNTauTight", False)
17 
18  acc = ComponentAccumulator()
19 
20  # tau selection relies on RNN electron veto, we must decorate the fixed eveto WPs before applying tau selection
21  acc.merge(AddTauIDDecorationCfg(flags, TauContainerName="TauJets"))
22 
23  from DerivationFrameworkTools.DerivationFrameworkToolsConfig import AsgSelectionToolWrapperCfg
24  from TauAnalysisTools.TauAnalysisToolsConfig import TauSelectionToolCfg
25 
26  TauAugmentationTools = []
27 
28  # RNN TauID WPs
29  if kwargs["doRNNVeryLoose"]:
30  TauSelectorRNNVeryLoose = acc.popToolsAndMerge(TauSelectionToolCfg(flags,
31  name = 'TauSelectorRNNVeryLoose',
32  ConfigPath = 'TauAnalysisAlgorithms/tau_selection_veryloose_noeleid.conf'))
33  acc.addPublicTool(TauSelectorRNNVeryLoose)
34 
35  TauRNNVeryLooseWrapper = acc.getPrimaryAndMerge(AsgSelectionToolWrapperCfg(flags,
36  name = "TauRNNVeryLooseWrapper",
37  AsgSelectionTool = TauSelectorRNNVeryLoose,
38  StoreGateEntryName = "DFTauRNNVeryLoose",
39  ContainerName = "TauJets"))
40  TauAugmentationTools.append(TauRNNVeryLooseWrapper)
41 
42  if kwargs["doRNNLoose"]:
43  TauSelectorRNNLoose = acc.popToolsAndMerge(TauSelectionToolCfg(flags,
44  name = 'TauSelectorRNNLoose',
45  ConfigPath = 'TauAnalysisAlgorithms/tau_selection_loose_noeleid.conf'))
46  acc.addPublicTool(TauSelectorRNNLoose)
47 
48  TauRNNLooseWrapper = acc.getPrimaryAndMerge(AsgSelectionToolWrapperCfg(flags,
49  name = "TauRNNLooseWrapper",
50  AsgSelectionTool = TauSelectorRNNLoose,
51  StoreGateEntryName = "DFTauRNNLoose",
52  ContainerName = "TauJets"))
53  TauAugmentationTools.append(TauRNNLooseWrapper)
54 
55  if kwargs["doRNNMedium"]:
56  TauSelectorRNNMedium = acc.popToolsAndMerge(TauSelectionToolCfg(flags,
57  name = 'TauSelectorRNNMedium',
58  ConfigPath = 'TauAnalysisAlgorithms/tau_selection_medium_noeleid.conf'))
59  acc.addPublicTool(TauSelectorRNNMedium)
60 
61  TauRNNMediumWrapper = acc.getPrimaryAndMerge(AsgSelectionToolWrapperCfg(flags,
62  name = "TauRNNMediumWrapper",
63  AsgSelectionTool = TauSelectorRNNMedium,
64  StoreGateEntryName = "DFTauRNNMedium",
65  ContainerName = "TauJets"))
66  TauAugmentationTools.append(TauRNNMediumWrapper)
67 
68  if kwargs["doRNNTight"]:
69  TauSelectorRNNTight = acc.popToolsAndMerge(TauSelectionToolCfg(flags,
70  name = 'TauSelectorRNNTight',
71  ConfigPath = 'TauAnalysisAlgorithms/tau_selection_tight_noeleid.conf'))
72  acc.addPublicTool(TauSelectorRNNTight)
73 
74  TauRNNTightWrapper = acc.getPrimaryAndMerge(AsgSelectionToolWrapperCfg(flags,
75  name = "TauRNNTightWrapper",
76  AsgSelectionTool = TauSelectorRNNTight,
77  StoreGateEntryName = "DFTauRNNTight",
78  ContainerName = "TauJets"))
79  TauAugmentationTools.append(TauRNNTightWrapper)
80 
81  # GNTau TauID WPs
82  if kwargs["doGNTauVeryLoose"]:
83  TauSelectorGNTauVeryLoose = acc.popToolsAndMerge(TauSelectionToolCfg(flags,
84  name = 'TauSelectorGNTauVeryLoose',
85  ConfigPath = 'TauAnalysisAlgorithms/tau_selection_gntau_veryloose_noeleid.conf'))
86  acc.addPublicTool(TauSelectorGNTauVeryLoose)
87 
88  TauGNTauVeryLooseWrapper = acc.getPrimaryAndMerge(AsgSelectionToolWrapperCfg(flags,
89  name = "TauGNTauVeryLooseWrapper",
90  AsgSelectionTool = TauSelectorGNTauVeryLoose,
91  StoreGateEntryName = "DFTauGNTauVeryLoose",
92  ContainerName = "TauJets"))
93  TauAugmentationTools.append(TauGNTauVeryLooseWrapper)
94 
95 
96  if kwargs["doGNTauLoose"]:
97  TauSelectorGNTauLoose = acc.popToolsAndMerge(TauSelectionToolCfg(flags,
98  name = 'TauSelectorGNTauLoose',
99  ConfigPath = 'TauAnalysisAlgorithms/tau_selection_gntau_loose_noeleid.conf'))
100  acc.addPublicTool(TauSelectorGNTauLoose)
101 
102  TauGNTauLooseWrapper = acc.getPrimaryAndMerge(AsgSelectionToolWrapperCfg(flags,
103  name = "TauGNTauLooseWrapper",
104  AsgSelectionTool = TauSelectorGNTauLoose,
105  StoreGateEntryName = "DFTauGNTauLoose",
106  ContainerName = "TauJets"))
107  TauAugmentationTools.append(TauGNTauLooseWrapper)
108 
109  if kwargs["doGNTauMedium"]:
110  TauSelectorGNTauMedium = acc.popToolsAndMerge(TauSelectionToolCfg(flags,
111  name = 'TauSelectorGNTauMedium',
112  ConfigPath = 'TauAnalysisAlgorithms/tau_selection_gntau_medium_noeleid.conf'))
113  acc.addPublicTool(TauSelectorGNTauMedium)
114 
115  TauGNTauMediumWrapper = acc.getPrimaryAndMerge(AsgSelectionToolWrapperCfg(flags,
116  name = "TauGNTauMediumWrapper",
117  AsgSelectionTool = TauSelectorGNTauMedium,
118  StoreGateEntryName = "DFTauGNTauMedium",
119  ContainerName = "TauJets"))
120  TauAugmentationTools.append(TauGNTauMediumWrapper)
121 
122  if kwargs["doGNTauTight"]:
123  TauSelectorGNTauTight = acc.popToolsAndMerge(TauSelectionToolCfg(flags,
124  name = 'TauSelectorGNTauTight',
125  ConfigPath = 'TauAnalysisAlgorithms/tau_selection_gntau_tight_noeleid.conf'))
126  acc.addPublicTool(TauSelectorGNTauTight)
127 
128  TauGNTauTightWrapper = acc.getPrimaryAndMerge(AsgSelectionToolWrapperCfg(flags,
129  name = "TauGNTauTightWrapper",
130  AsgSelectionTool = TauSelectorGNTauTight,
131  StoreGateEntryName = "DFTauGNTauTight",
132  ContainerName = "TauJets"))
133  TauAugmentationTools.append(TauGNTauTightWrapper)
134 
135 
136  if TauAugmentationTools:
137  CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
138  acc.addEventAlgo(CommonAugmentation(f"{prefix}_TauAugmentationKernel", AugmentationTools = TauAugmentationTools))
139 
140  return acc
141 
142 
143 # Low pT di-taus

◆ AddTauIDDecorationCfg()

def python.TauCommonConfig.AddTauIDDecorationCfg (   flags,
**  kwargs 
)
Decorate tau ID scores and working points

Definition at line 159 of file TauCommonConfig.py.

159 def AddTauIDDecorationCfg(flags, **kwargs):
160  """Decorate tau ID scores and working points"""
161 
162  kwargs.setdefault("evetoFix", True)
163  kwargs.setdefault("GNNTauID", True)
164  kwargs.setdefault("TauContainerName", "TauJets")
165  kwargs.setdefault("prefix", kwargs['TauContainerName'])
166 
167  acc = ComponentAccumulator()
168 
169  import tauRec.TauToolHolder as tauTools
170  tools = []
171 
172  if kwargs['evetoFix']:
173  tools.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorEleRNNFixCfg(flags)) )
174 
175  if kwargs['GNNTauID']:
176  # vertex-corrected clusters must be rebuilt for tau ID
177  tools.append( acc.popToolsAndMerge(tauTools.TauVertexedClusterDecoratorCfg(flags)) )
178  # Add in GNTau!
179  tools.append( acc.popToolsAndMerge(tauTools.TauGNNEvaluatorCfg(flags,0)) )
180  tools.append( acc.popToolsAndMerge(tauTools.TauGNNEvaluatorCfg(flags,1)) )
181  tools.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorGNNCfg(flags,0)) )
182  tools.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorGNNCfg(flags,1)) )
183 
184  if tools:
185  for tool in tools:
186  acc.addPublicTool(tool)
187 
188  TauIDDecoratorWrapper = CompFactory.DerivationFramework.TauIDDecoratorWrapper
189  TauIDDecoratorKernel = CompFactory.DerivationFramework.CommonAugmentation
190 
191  prefix = kwargs['prefix']
192  tauIDDecoratorWrapper = TauIDDecoratorWrapper(name = f"{prefix}_TauIDDecoratorWrapper",
193  TauContainerName = kwargs['TauContainerName'],
194  TauIDTools = tools)
195 
196  acc.addPublicTool(tauIDDecoratorWrapper)
197  acc.addEventAlgo(TauIDDecoratorKernel(name = f"{prefix}_TauIDDecorKernel",
198  AugmentationTools = [tauIDDecoratorWrapper]))
199 
200  return acc
201 
202 
203 # TauJets_MuonRM steering

◆ TauThinningCfg()

def python.TauCommonConfig.TauThinningCfg (   flags,
  name,
**  kwargs 
)
configure tau thinning

Definition at line 257 of file TauCommonConfig.py.

257 def TauThinningCfg(flags, name, **kwargs):
258  """configure tau thinning"""
259 
260  acc = ComponentAccumulator()
261  TauThinningTool = CompFactory.DerivationFramework.TauThinningTool
262  acc.addPublicTool(TauThinningTool(name, **kwargs), primary=True)
263  return acc
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.TauCommonConfig.AddMuonRemovalTauAODReRecoAlgCfg
def AddMuonRemovalTauAODReRecoAlgCfg(flags, **kwargs)
Definition: TauCommonConfig.py:204
TauAnalysisToolsConfig.TauSelectionToolCfg
def TauSelectionToolCfg(flags, name, **kwargs)
Definition: TauAnalysisToolsConfig.py:6
DiTauBuilderConfig.DiTauBuilderCfg
def DiTauBuilderCfg(flags, name="DiTauBuilder", doLowPt=False, **kwargs)
Definition: DiTauBuilderConfig.py:6
python.TauCommonConfig.AddTauAugmentationCfg
def AddTauAugmentationCfg(flags, **kwargs)
Definition: TauCommonConfig.py:6
python.JetRecConfig.JetRecCfg
def JetRecCfg(flags, jetdef, returnConfiguredDef=False)
Top level functions returning ComponentAccumulator out of JetDefinition.
Definition: JetRecConfig.py:36
python.DerivationFrameworkToolsConfig.AsgSelectionToolWrapperCfg
def AsgSelectionToolWrapperCfg(ConfigFlags, name, **kwargs)
Definition: DerivationFrameworkToolsConfig.py:11
python.TauCommonConfig.AddTauIDDecorationCfg
def AddTauIDDecorationCfg(flags, **kwargs)
Definition: TauCommonConfig.py:159
TauAODRunnerAlg
The implementation of the TauAODRunnerAlg, which is meant to run at AOD level.
Definition: TauAODRunnerAlg.h:40
python.TauCommonConfig.TauThinningCfg
def TauThinningCfg(flags, name, **kwargs)
Definition: TauCommonConfig.py:257
python.TauCommonConfig.AddDiTauLowPtCfg
def AddDiTauLowPtCfg(flags, **kwargs)
Definition: TauCommonConfig.py:144