ATLAS Offline Software
Functions
python.TauCommonConfig Namespace Reference

Functions

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

Function Documentation

◆ AddDiTauChargeDecoratorCfg()

def python.TauCommonConfig.AddDiTauChargeDecoratorCfg (   flags,
**  kwargs 
)
Decorate DiTau charge

Definition at line 234 of file TauCommonConfig.py.

234 def AddDiTauChargeDecoratorCfg(flags, **kwargs):
235  """Decorate DiTau charge"""
236 
237  kwargs.setdefault("DiTauContainerName", "DiTauJets")
238  kwargs.setdefault("prefix", kwargs['DiTauContainerName'])
239 
240  acc = ComponentAccumulator()
241 
242  DiTauChargeDecorator = CompFactory.DerivationFramework.DiTauChargeDecorator
243  DiTauChargeDecoratorKernel = CompFactory.DerivationFramework.CommonAugmentation
244 
245  prefix = kwargs['prefix']
246  diTauChargeDecorator = DiTauChargeDecorator(name = f"{prefix}_DiTauChargeDecorator",
247  DiTauContainerName = kwargs['DiTauContainerName'])
248  acc.addPublicTool(diTauChargeDecorator)
249  acc.addEventAlgo(DiTauChargeDecoratorKernel(name = f"{prefix}_DiTauIDDecorKernel",
250  AugmentationTools = [diTauChargeDecorator]))
251 
252  return acc
253 
254 # TauJets_MuonRM steering

◆ AddDiTauIDDecorationCfg()

def python.TauCommonConfig.AddDiTauIDDecorationCfg (   flags,
**  kwargs 
)
Decorate ditau ID scores 

Definition at line 159 of file TauCommonConfig.py.

159 def AddDiTauIDDecorationCfg(flags, **kwargs):
160  """Decorate ditau ID scores """
161 
162  acc = ComponentAccumulator()
163 
164  import DiTauRec.DiTauToolsConfig as DiTauTools
165 
166  diTauOnnxScoreCalculator = acc.popToolsAndMerge(DiTauTools.DiTauOnnxScoreCalculatorCfg(
167  flags,
168  onnxModelPath = "TrigTauRec/00-11-02/dev/boosted_ditau_omni_model.onnx",
169  ))
170 
171  acc.addPublicTool(diTauOnnxScoreCalculator)
172 
173  DiTauIDDecoratorWrapper = CompFactory.DerivationFramework.DiTauIDDecoratorWrapper
174  DiTauIDDecoratorKernel = CompFactory.DerivationFramework.CommonAugmentation
175 
176  DiTauIDDecoratorWrapper = DiTauIDDecoratorWrapper(name = "DiTauIDDecoratorWrapper",
177  DiTauContainerName = kwargs['DiTauContainerName'],
178  DiTauOnnxDiscriminantTool = diTauOnnxScoreCalculator)
179 
180  acc.addPublicTool(DiTauIDDecoratorWrapper)
181  acc.addEventAlgo(DiTauIDDecoratorKernel(name = "DiTauIDDecorKernel",
182  AugmentationTools = [DiTauIDDecoratorWrapper]))
183  return acc
184 
185 

◆ AddDiTauLowPtCfg()

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

Definition at line 145 of file TauCommonConfig.py.

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

◆ AddMuonRemovalTauAODReRecoAlgCfg()

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

Definition at line 255 of file TauCommonConfig.py.

255 def AddMuonRemovalTauAODReRecoAlgCfg(flags, **kwargs):
256  """Configure the MuonRM AOD tau building"""
257 
258  acc = ComponentAccumulator()
259 
260  # get tools from holder
261  import tauRec.TauToolHolder as tauTools
262  tools_mod = []
263  tools_mod.append( acc.popToolsAndMerge(tauTools.TauAODMuonRemovalCfg(flags)) )
264  tools_after = []
265  tools_after.append( acc.popToolsAndMerge(tauTools.TauVertexedClusterDecoratorCfg(flags)) )
266  tools_after.append( acc.popToolsAndMerge(tauTools.TauTrackRNNClassifierCfg(flags)) )
267  tools_after.append( acc.popToolsAndMerge(tauTools.EnergyCalibrationLCCfg(flags)) )
268  tools_after.append( acc.popToolsAndMerge(tauTools.TauCommonCalcVarsCfg(flags)) )
269  tools_after.append( acc.popToolsAndMerge(tauTools.TauSubstructureCfg(flags)) )
270  tools_after.append( acc.popToolsAndMerge(tauTools.Pi0ClusterCreatorCfg(flags)) )
271  tools_after.append( acc.popToolsAndMerge(tauTools.Pi0ClusterScalerCfg(flags)) )
272  tools_after.append( acc.popToolsAndMerge(tauTools.Pi0ScoreCalculatorCfg(flags)) )
273  tools_after.append( acc.popToolsAndMerge(tauTools.Pi0SelectorCfg(flags)) )
274  tools_after.append( acc.popToolsAndMerge(tauTools.TauVertexVariablesCfg(flags)) )
275  import PanTauAlgs.JobOptions_Main_PanTau as pantau
276  tools_after.append( acc.popToolsAndMerge(pantau.PanTauCfg(flags)) )
277  tools_after.append( acc.popToolsAndMerge(tauTools.TauCombinedTESCfg(flags)) )
278  tools_after.append( acc.popToolsAndMerge(tauTools.MvaTESVariableDecoratorCfg(flags)) )
279  tools_after[-1].EventShapeKey = ''
280  tools_after.append( acc.popToolsAndMerge(tauTools.MvaTESEvaluatorCfg(flags)) )
281  tools_after.append( acc.popToolsAndMerge(tauTools.TauIDVarCalculatorCfg(flags)) )
282  tools_after.append( acc.popToolsAndMerge(tauTools.TauJetRNNEvaluatorCfg(flags,applyLooseTrackSel=True)) )
283  tools_after.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorJetRNNCfg(flags)) )
284  tools_after.append( acc.popToolsAndMerge(tauTools.TauEleRNNEvaluatorCfg(flags,applyLooseTrackSel=True )) )
285  tools_after.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorEleRNNCfg(flags)) )
286  tools_after.append( acc.popToolsAndMerge(tauTools.TauDecayModeNNClassifierCfg(flags)) )
287  TauAODRunnerAlg=CompFactory.getComp("TauAODRunnerAlg")
288  for tool in tools_mod:
289  tool.inAOD = True
290  for tool in tools_after:
291  tool.inAOD = True
292  myTauAODRunnerAlg = TauAODRunnerAlg(
293  name = "MuonRemovalTauAODReRecoAlg",
294  Key_tauOutputContainer = "TauJets_MuonRM",
295  Key_pi0OutputContainer = "TauFinalPi0s_MuonRM",
296  Key_neutralPFOOutputContainer = "TauNeutralParticleFlowObjects_MuonRM",
297  Key_chargedPFOOutputContainer = "TauChargedParticleFlowObjects_MuonRM",
298  Key_hadronicPFOOutputContainer = "TauHadronicParticleFlowObjects_MuonRM",
299  Key_tauTrackOutputContainer = "TauTracks_MuonRM",
300  Key_vertexOutputContainer = "TauSecondaryVertices_MuonRM",
301  modificationTools = tools_mod,
302  officialTools = tools_after
303  )
304  acc.addEventAlgo(myTauAODRunnerAlg)
305  return acc
306 
307 

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

◆ AddTauIDDecorationCfg()

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

Definition at line 186 of file TauCommonConfig.py.

186 def AddTauIDDecorationCfg(flags, **kwargs):
187  """Decorate tau ID scores and working points"""
188 
189  kwargs.setdefault("evetoFix", True)
190  kwargs.setdefault("GNNTauID", True)
191  kwargs.setdefault("TauContainerName", "TauJets")
192  kwargs.setdefault("prefix", kwargs['TauContainerName'])
193 
194  acc = ComponentAccumulator()
195 
196  import tauRec.TauToolHolder as tauTools
197  tools = []
198 
199  if kwargs['evetoFix']:
200  tools.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorEleRNNFixCfg(flags)) )
201 
202  if kwargs['GNNTauID']:
203  # vertex-corrected clusters must be rebuilt for tau ID
204  tools.append( acc.popToolsAndMerge(tauTools.TauVertexedClusterDecoratorCfg(flags)) )
205  # Add in GNTau!
206  # evaluate GNTau score for v0prune model
207  tools.append( acc.popToolsAndMerge(tauTools.TauGNNEvaluatorCfg(flags,0,applyLooseTrackSel=True)) )
208  # evaluate GNTau score for v1trunc model
209  tools.append( acc.popToolsAndMerge(tauTools.TauGNNEvaluatorCfg(flags,1,applyLooseTrackSel=True)) )
210  # set WPs decision for v0prune model
211  tools.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorGNNCfg(flags,0)) )
212  # set WPs decision for v1trunc model
213  tools.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorGNNCfg(flags,1)) )
214 
215  if tools:
216  for tool in tools:
217  acc.addPublicTool(tool)
218 
219  TauIDDecoratorWrapper = CompFactory.DerivationFramework.TauIDDecoratorWrapper
220  TauIDDecoratorKernel = CompFactory.DerivationFramework.CommonAugmentation
221 
222  prefix = kwargs['prefix']
223  tauIDDecoratorWrapper = TauIDDecoratorWrapper(name = f"{prefix}_TauIDDecoratorWrapper",
224  TauContainerName = kwargs['TauContainerName'],
225  TauIDTools = tools)
226 
227  acc.addPublicTool(tauIDDecoratorWrapper)
228  acc.addEventAlgo(TauIDDecoratorKernel(name = f"{prefix}_TauIDDecorKernel",
229  AugmentationTools = [tauIDDecoratorWrapper]))
230 
231  return acc
232 
233 

◆ TauThinningCfg()

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

Definition at line 308 of file TauCommonConfig.py.

308 def TauThinningCfg(flags, name, **kwargs):
309  """configure tau thinning"""
310 
311  acc = ComponentAccumulator()
312  TauThinningTool = CompFactory.DerivationFramework.TauThinningTool
313  acc.addPublicTool(TauThinningTool(name, **kwargs), primary=True)
314  return acc
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.TauCommonConfig.AddDiTauChargeDecoratorCfg
def AddDiTauChargeDecoratorCfg(flags, **kwargs)
Definition: TauCommonConfig.py:234
python.TauCommonConfig.AddMuonRemovalTauAODReRecoAlgCfg
def AddMuonRemovalTauAODReRecoAlgCfg(flags, **kwargs)
Definition: TauCommonConfig.py:255
TauAnalysisToolsConfig.TauSelectionToolCfg
def TauSelectionToolCfg(flags, name, **kwargs)
Definition: TauAnalysisToolsConfig.py:6
python.TauCommonConfig.AddTauAugmentationCfg
def AddTauAugmentationCfg(flags, **kwargs)
Definition: TauCommonConfig.py:6
python.TauCommonConfig.AddDiTauIDDecorationCfg
def AddDiTauIDDecorationCfg(flags, **kwargs)
Definition: TauCommonConfig.py:159
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:186
DiTauBuilderConfig.DiTauBuilderCfg
def DiTauBuilderCfg(flags, name="DiTauBuilder", doLowPt=False)
Definition: DiTauBuilderConfig.py:16
TauAODRunnerAlg
The implementation of the TauAODRunnerAlg, which is meant to run at AOD level.
Definition: TauAODRunnerAlg.h:44
python.TauCommonConfig.TauThinningCfg
def TauThinningCfg(flags, name, **kwargs)
Definition: TauCommonConfig.py:308
python.TauCommonConfig.AddDiTauLowPtCfg
def AddDiTauLowPtCfg(flags, **kwargs)
Definition: TauCommonConfig.py:145