ATLAS Offline Software
Loading...
Searching...
No Matches
python.TauCommonConfig Namespace Reference

Functions

 AddTauAugmentationCfg (flags, wp="RNNVeryLoose", **kwargs)
 AddTauIDDecorationCfg (flags, **kwargs)
 AddMuonRemovalTauAODReRecoAlgCfg (flags, **kwargs)
 TauThinningCfg (flags, name, **kwargs)

Function Documentation

◆ AddMuonRemovalTauAODReRecoAlgCfg()

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

Definition at line 126 of file TauCommonConfig.py.

126def AddMuonRemovalTauAODReRecoAlgCfg(flags, **kwargs):
127 """Configure the MuonRM AOD tau building"""
128
129 acc = ComponentAccumulator()
130
131 # get tools from holder
132 import tauRec.TauToolHolder as tauTools
133 tools_mod = []
134 tools_mod.append( acc.popToolsAndMerge(tauTools.TauAODMuonRemovalCfg(flags)) )
135 tools_after = []
136 tools_after.append( acc.popToolsAndMerge(tauTools.TauVertexedClusterDecoratorCfg(flags)) )
137 tools_after.append( acc.popToolsAndMerge(tauTools.TauTrackRNNClassifierCfg(flags)) )
138 tools_after.append( acc.popToolsAndMerge(tauTools.EnergyCalibrationLCCfg(flags)) )
139 tools_after.append( acc.popToolsAndMerge(tauTools.TauCommonCalcVarsCfg(flags)) )
140 tools_after.append( acc.popToolsAndMerge(tauTools.TauSubstructureCfg(flags)) )
141 tools_after.append( acc.popToolsAndMerge(tauTools.Pi0ClusterCreatorCfg(flags)) )
142 tools_after.append( acc.popToolsAndMerge(tauTools.Pi0ClusterScalerCfg(flags)) )
143 tools_after.append( acc.popToolsAndMerge(tauTools.Pi0ScoreCalculatorCfg(flags)) )
144 tools_after.append( acc.popToolsAndMerge(tauTools.Pi0SelectorCfg(flags)) )
145 tools_after.append( acc.popToolsAndMerge(tauTools.TauVertexVariablesCfg(flags)) )
146 import PanTauAlgs.JobOptions_Main_PanTau as pantau
147 tools_after.append( acc.popToolsAndMerge(pantau.PanTauCfg(flags)) )
148 tools_after.append( acc.popToolsAndMerge(tauTools.TauCombinedTESCfg(flags)) )
149 tools_after.append( acc.popToolsAndMerge(tauTools.MvaTESVariableDecoratorCfg(flags)) )
150 tools_after[-1].EventShapeKey = ''
151 tools_after.append( acc.popToolsAndMerge(tauTools.MvaTESEvaluatorCfg(flags)) )
152 tools_after.append( acc.popToolsAndMerge(tauTools.TauIDVarCalculatorCfg(flags)) )
153 tools_after.append( acc.popToolsAndMerge(tauTools.TauJetRNNEvaluatorCfg(flags,applyLooseTrackSel=True)) )
154 tools_after.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorJetRNNCfg(flags)) )
155 tools_after.append( acc.popToolsAndMerge(tauTools.TauEleRNNEvaluatorCfg(flags,applyLooseTrackSel=True )) )
156 tools_after.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorEleRNNCfg(flags)) )
157 tools_after.append( acc.popToolsAndMerge(tauTools.TauDecayModeNNClassifierCfg(flags)) )
158 TauAODRunnerAlg=CompFactory.getComp("TauAODRunnerAlg")
159 for tool in tools_mod:
160 tool.inAOD = True
161 for tool in tools_after:
162 tool.inAOD = True
163 myTauAODRunnerAlg = TauAODRunnerAlg(
164 name = "MuonRemovalTauAODReRecoAlg",
165 Key_tauOutputContainer = "TauJets_MuonRM",
166 Key_pi0OutputContainer = "TauFinalPi0s_MuonRM",
167 Key_neutralPFOOutputContainer = "TauNeutralParticleFlowObjects_MuonRM",
168 Key_chargedPFOOutputContainer = "TauChargedParticleFlowObjects_MuonRM",
169 Key_hadronicPFOOutputContainer = "TauHadronicParticleFlowObjects_MuonRM",
170 Key_tauTrackOutputContainer = "TauTracks_MuonRM",
171 Key_vertexOutputContainer = "TauSecondaryVertices_MuonRM",
172 modificationTools = tools_mod,
173 officialTools = tools_after
174 )
175 acc.addEventAlgo(myTauAODRunnerAlg)
176 return acc
177
178
The implementation of the TauAODRunnerAlg, which is meant to run at AOD level.

◆ AddTauAugmentationCfg()

python.TauCommonConfig.AddTauAugmentationCfg ( flags,
wp = "RNNVeryLoose",
** kwargs )

Definition at line 6 of file TauCommonConfig.py.

6def AddTauAugmentationCfg(flags, wp="RNNVeryLoose", **kwargs):
7 kwargs.setdefault("TauContainerName", "TauJets")
8
9 acc = ComponentAccumulator()
10
11 # tau selection relies on RNN electron veto, we must decorate the fixed eveto WPs before applying tau selection
12 acc.merge(AddTauIDDecorationCfg(flags, TauContainerName=kwargs["TauContainerName"]))
13
14 from DerivationFrameworkTools.DerivationFrameworkToolsConfig import AsgSelectionToolWrapperCfg
15 from TauAnalysisTools.TauAnalysisToolsConfig import TauSelectionToolCfg
16
17 TauAugmentationTools = []
18
19 config = {
20 "RNNVeryLoose" : "TauAnalysisAlgorithms/tau_selection_veryloose_noeleid.conf",
21 "RNNLoose" : "TauAnalysisAlgorithms/tau_selection_loose_noeleid.conf",
22 "RNNMedium" : "TauAnalysisAlgorithms/tau_selection_medium_noeleid.conf",
23 "RNNTight" : "TauAnalysisAlgorithms/tau_selection_tight_noeleid.conf",
24
25 "GNTauVeryLoose" : "TauAnalysisAlgorithms/tau_selection_gntau_veryloose_noeleid.conf",
26 "GNTauLoose" : "TauAnalysisAlgorithms/tau_selection_gntau_loose_noeleid.conf",
27 "GNTauMedium" : "TauAnalysisAlgorithms/tau_selection_gntau_medium_noeleid.conf",
28 "GNTauTight" : "TauAnalysisAlgorithms/tau_selection_gntau_tight_noeleid.conf",
29 }
30
31 TauSelector = acc.popToolsAndMerge(TauSelectionToolCfg(flags,
32 name = f'TauSelector{wp}',
33 ConfigPath = config[wp]))
34 acc.addPublicTool(TauSelector)
35
36 TauWrapper = acc.getPrimaryAndMerge(AsgSelectionToolWrapperCfg(flags,
37 name = f"Tau{wp}Wrapper",
38 AsgSelectionTool = TauSelector,
39 StoreGateEntryName = f"DFTau{wp}",
40 ContainerName = kwargs["TauContainerName"]))
41 TauAugmentationTools.append(TauWrapper)
42
43 CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
44 acc.addEventAlgo(CommonAugmentation(f"Tau{wp}AugmentationKernel", AugmentationTools = TauAugmentationTools))
45 return acc
46

◆ AddTauIDDecorationCfg()

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

Definition at line 47 of file TauCommonConfig.py.

47def AddTauIDDecorationCfg(flags, **kwargs):
48 """Decorate tau ID scores and working points"""
49
50 #kwargs.setdefault("evetoFix", True)
51 #kwargs.setdefault("GNNTauID", True)
52 tauContainerKey = kwargs.setdefault("TauContainerName", "TauJets")
53 #kwargs.setdefault("prefix", kwargs['TauContainerName'])
54
55 acc = ComponentAccumulator()
56
57 import tauRec.TauToolHolder as tauTools
58 tools = []
59 doEvetoWP = False
60 scoreNames = []
61 WPNames = []
62
63 #def cacheToolProperties(tool):
64 # doEvetoWP = tool.UseAbsEta
65 # scoreName = [tool.ScoreName] if tools[-1].ScoreName != "RNNEleScore" else []
66 # wpName = tool.DecorWPNames
67
68 if kwargs.pop('evetoFix', True):
69 tools.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorEleRNNCfg(flags)) )
70 # Cache tool properties
71 doEvetoWP |= tools[-1].UseAbsEta
72 # The original RNNEleScore should not be overriden
73 if tools[-1].ScoreName != "RNNEleScore": scoreNames.append(tools[-1].ScoreName)
74 scoreNames.append(tools[-1].NewScoreName)
75 WPNames += tools[-1].DecorWPNames
76
77 if kwargs.pop('GNNTauID', True):
78 # vertex-corrected clusters must be rebuilt for tau ID
79 tools.append( acc.popToolsAndMerge(tauTools.TauVertexedClusterDecoratorCfg(flags)) )
80 # Add in GNTau!
81 # evaluate GNTau score for v0prune model
82 tools.append( acc.popToolsAndMerge(tauTools.TauGNNEvaluatorCfg(flags,0,applyLooseTrackSel=True)) )
83 # evaluate GNTau score for v1trunc model
84 tools.append( acc.popToolsAndMerge(tauTools.TauGNNEvaluatorCfg(flags,1,applyLooseTrackSel=True)) )
85 # set WPs decision for v0prune model
86 tools.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorGNNCfg(flags,0)) )
87 # Cache tool properties
88 doEvetoWP |= tools[-1].UseAbsEta
89 # The original RNNEleScore should not be overriden
90 if tools[-1].ScoreName != "RNNEleScore": scoreNames.append(tools[-1].ScoreName)
91 scoreNames.append(tools[-1].NewScoreName)
92 WPNames += tools[-1].DecorWPNames
93
94 # set WPs decision for v1trunc model
95 tools.append( acc.popToolsAndMerge(tauTools.TauWPDecoratorGNNCfg(flags,1)) )
96 # Cache tool properties
97 doEvetoWP |= tools[-1].UseAbsEta
98 # The original RNNEleScore should not be overriden
99 if tools[-1].ScoreName != "RNNEleScore": scoreNames.append(tools[-1].ScoreName)
100 scoreNames.append(tools[-1].NewScoreName)
101 WPNames += tools[-1].DecorWPNames
102
103 if tools:
104 kwargs.setdefault("DoEvetoWP", doEvetoWP)
105 kwargs.setdefault("ScoreDecorationKeys", scoreNames)
106 kwargs.setdefault("WPDecorationKeys", WPNames)
107
108 for tool in tools:
109 acc.addPublicTool(tool)
110 kwargs.setdefault("TauIDTools", tools)
111
112 TauIDDecoratorWrapper = CompFactory.DerivationFramework.TauIDDecoratorWrapper
113 TauIDDecoratorKernel = CompFactory.DerivationFramework.CommonAugmentation
114
115 prefix = kwargs.pop('prefix', tauContainerKey)
116 tauIDDecoratorWrapper = TauIDDecoratorWrapper(name = f"{prefix}_TauIDDecoratorWrapper",
117 **kwargs)
118 print("PXQW TauIDDecoratorsWrapper: " + str(tauIDDecoratorWrapper))
119 acc.addPublicTool(tauIDDecoratorWrapper)
120 acc.addEventAlgo(TauIDDecoratorKernel(name = f"{prefix}_TauIDDecorKernel",
121 AugmentationTools = [tauIDDecoratorWrapper]))
122
123 return acc
124
125# TauJets_MuonRM steering
void print(char *figname, TCanvas *c1)

◆ TauThinningCfg()

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

Definition at line 179 of file TauCommonConfig.py.

179def TauThinningCfg(flags, name, **kwargs):
180 """configure tau thinning"""
181
182 acc = ComponentAccumulator()
183 TauThinningTool = CompFactory.DerivationFramework.TauThinningTool
184 acc.addPublicTool(TauThinningTool(name, **kwargs), primary=True)
185 return acc