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

Functions

 JetCommonCfg (ConfigFlags)
 StandardJetsInDerivCfg (ConfigFlags)
 AddBadBatmanCfg (ConfigFlags)
 AddDistanceInTrainCfg (ConfigFlags)
 AddSidebandEventShapeCfg (ConfigFlags)
 AddJvtDecorationAlgCfg (ConfigFlags, algName="JvtPassDecorAlg", jetContainer='AntiKt4EMPFlow', **kwargs)
 AddEventCleanFlagsCfg (ConfigFlags, workingPoints=['Loose', 'Tight', 'LooseLLP'])
 addJetsToSlimmingTool (slimhelper, contentlist, smartlist=[])
 addOriginCorrectedClustersToSlimmingTool (slimhelper, writeLC=False, writeEM=False)
 Helper to add origin corrected clusters to output.

Function Documentation

◆ AddBadBatmanCfg()

python.JetCommonConfig.AddBadBatmanCfg ( ConfigFlags)
Add bad batman decoration for events with large EMEC-IW noise

Definition at line 44 of file JetCommonConfig.py.

44def AddBadBatmanCfg(ConfigFlags):
45 """Add bad batman decoration for events with large EMEC-IW noise"""
46
47 acc = ComponentAccumulator()
48
49 CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
50 from DerivationFrameworkJetEtMiss.JetToolConfig import BadBatmanToolCfg
51 badBatmanTool = acc.getPrimaryAndMerge(BadBatmanToolCfg(ConfigFlags))
52 acc.addEventAlgo(CommonAugmentation("BadBatmanAugmentation", AugmentationTools = [badBatmanTool]))
53
54 return acc
55

◆ AddDistanceInTrainCfg()

python.JetCommonConfig.AddDistanceInTrainCfg ( ConfigFlags)
Add distance in train information to EventInfo

Definition at line 56 of file JetCommonConfig.py.

56def AddDistanceInTrainCfg(ConfigFlags):
57 """Add distance in train information to EventInfo"""
58 from DerivationFrameworkJetEtMiss.JetToolConfig import DistanceInTrainToolCfg
59
60 acc = ComponentAccumulator()
61
62 CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
63 distanceInTrainTool = acc.getPrimaryAndMerge(DistanceInTrainToolCfg(ConfigFlags))
64 acc.addEventAlgo(CommonAugmentation("DistanceInTrainAugmentation", AugmentationTools = [distanceInTrainTool]))
65
66 return acc
67

◆ AddEventCleanFlagsCfg()

python.JetCommonConfig.AddEventCleanFlagsCfg ( ConfigFlags,
workingPoints = ['Loose', 'Tight', 'LooseLLP'] )
Add event cleaning flags

Definition at line 101 of file JetCommonConfig.py.

101def AddEventCleanFlagsCfg(ConfigFlags, workingPoints = ['Loose', 'Tight', 'LooseLLP']):
102 """Add event cleaning flags"""
103
104 acc = ComponentAccumulator()
105 acc.merge(AddJvtDecorationAlgCfg(ConfigFlags, algName="JvtPassDecorAlg_EMTopo", jetContainer='AntiKt4EMTopo'))
106 acc.merge(AddJvtDecorationAlgCfg(ConfigFlags, algName="JvtPassDecorAlg", jetContainer='AntiKt4EMPFlow'))
107
108 from DerivationFrameworkTau.TauCommonConfig import AddTauAugmentationCfg
109 acc.merge(AddTauAugmentationCfg(ConfigFlags, wp="GNTauLoose"))
110 acc.addSequence(CompFactory.AthSequencer('EventCleanSeq', Sequential=True))
111
112 # Overlap for EMTopo
113 from AssociationUtils.AssociationUtilsConfig import OverlapRemovalToolCfg
114 inputLabel_legacy = 'selected_eventClean_EMTopo'
115 outputLabel_legacy = 'DFCommonJets_passOR_EMTopo'
116 bJetLabel = '' #default
117 tauLabel = 'DFTauGNTauLoose'
118 orTool_legacy = acc.popToolsAndMerge(OverlapRemovalToolCfg(ConfigFlags,inputLabel=inputLabel_legacy,outputLabel=outputLabel_legacy,bJetLabel=bJetLabel))
119 algOR_legacy = CompFactory.OverlapRemovalGenUseAlg('OverlapRemovalGenUseAlg_EMTopo',
120 JetKey="AntiKt4EMTopoJets",
121 SelectionLabel=inputLabel_legacy,
122 OverlapLabel=outputLabel_legacy,
123 OverlapRemovalTool=orTool_legacy,
124 TauLabel=tauLabel,
125 BJetLabel=bJetLabel
126 )
127 acc.addEventAlgo(algOR_legacy)
128
129 # Overlap for EMPFlow
130 inputLabel = 'selected_eventClean_EMPFlow'
131 outputLabel = 'DFCommonJets_passOR_EMPFlow'
132 orTool = acc.popToolsAndMerge(OverlapRemovalToolCfg(ConfigFlags,inputLabel=inputLabel,outputLabel=outputLabel,bJetLabel=bJetLabel))
133 algOR = CompFactory.OverlapRemovalGenUseAlg('OverlapRemovalGenUseAlg',
134 SelectionLabel=inputLabel,
135 OverlapLabel=outputLabel,
136 OverlapRemovalTool=orTool,
137 TauLabel=tauLabel,
138 BJetLabel=bJetLabel)
139 acc.addEventAlgo(algOR)
140
141 CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
142 from DerivationFrameworkMuons.MuonsToolsConfig import MuonJetDrToolCfg
143 muonJetDrTool = acc.getPrimaryAndMerge(MuonJetDrToolCfg(ConfigFlags, "MuonJetDrTool"))
144 acc.addEventAlgo(CommonAugmentation("DFCommonMuonsKernel2", AugmentationTools = [muonJetDrTool]))
145
146 from JetSelectorTools.JetSelectorToolsConfig import EventCleaningToolCfg,JetCleaningToolCfg
147
148 supportedWPs = ['Loose', 'Tight', 'LooseLLP', 'VeryLooseLLP', 'SuperLooseLLP']
149 prefix = "DFCommonJets_"
150 evt_lvl_suppWPs_PFlow = ['LooseBad', 'TightBad']
151
152 for wp in workingPoints:
153 if wp not in supportedWPs:
154 continue
155
156 cleaningLevel = wp + 'Bad'
157 # LLP WPs have a slightly different name format
158 if 'LLP' in wp:
159 cleaningLevel = wp.replace('LLP', 'BadLLP')
160
161 # Add support for TightBad event flag as well
162 doEvent_PFlow=False
163 for evt_swp in evt_lvl_suppWPs_PFlow:
164 if evt_swp == cleaningLevel:
165 doEvent_PFlow=True
166 break
167
168 doEvent_EMTopo=False
169 if 'Loose' in cleaningLevel:
170 doEvent_EMTopo=True
171
172
173 if doEvent_EMTopo:
174 jetCleaningTool_legacy = acc.popToolsAndMerge(JetCleaningToolCfg(
175 ConfigFlags, 'JetCleaningTool_'+cleaningLevel+'_EMTopo',
176 'AntiKt4EMTopoJets', cleaningLevel, False))
177 acc.addPublicTool(jetCleaningTool_legacy)
178 ecTool_legacy = acc.popToolsAndMerge(EventCleaningToolCfg(
179 ConfigFlags,'EventCleaningTool_'+wp+'_EMTopo', cleaningLevel))
180 ecTool_legacy.JetCleanPrefix = prefix
181 ecTool_legacy.OrDecorator = "passOR_EMTopo"
182 ecTool_legacy.JetContainer = "AntiKt4EMTopoJets"
183 ecTool_legacy.JetCleaningTool = jetCleaningTool_legacy
184 acc.addPublicTool(ecTool_legacy)
185
186 eventCleanAlg_legacy = CompFactory.EventCleaningTestAlg('EventCleaningTestAlg_'+wp+'_EMTopo',
187 EventCleaningTool=ecTool_legacy,
188 JetCollectionName="AntiKt4EMTopoJets",
189 EventCleanPrefix=prefix,
190 CleaningLevel=cleaningLevel,
191 doEvent=True) # Only store event-level flags for Loose and LooseLLP
192 acc.addEventAlgo(eventCleanAlg_legacy)
193
194
195 if doEvent_PFlow:
196 jetCleaningTool = acc.popToolsAndMerge(JetCleaningToolCfg(
197 ConfigFlags, 'JetCleaningTool_'+cleaningLevel,
198 'AntiKt4EMPFlowJets', cleaningLevel, False))
199 acc.addPublicTool(jetCleaningTool)
200
201 ecTool = acc.popToolsAndMerge(EventCleaningToolCfg(ConfigFlags,'EventCleaningTool_' + wp, cleaningLevel))
202 ecTool.JetCleanPrefix = prefix
203 ecTool.OrDecorator = "passOR_EMPFlow"
204 ecTool.JetContainer = "AntiKt4EMPFlowJets"
205 ecTool.JetCleaningTool = jetCleaningTool
206 acc.addPublicTool(ecTool)
207
208 eventCleanAlg = CompFactory.EventCleaningTestAlg('EventCleaningTestAlg_'+wp,
209 EventCleaningTool=ecTool,
210 JetCollectionName="AntiKt4EMPFlowJets",
211 EventCleanPrefix=prefix,
212 CleaningLevel=cleaningLevel,
213 doEvent=True) # for PFlow we use Loose and Tight
214 acc.addEventAlgo(eventCleanAlg)
215
216 return acc
217
218

◆ addJetsToSlimmingTool()

python.JetCommonConfig.addJetsToSlimmingTool ( slimhelper,
contentlist,
smartlist = [] )

Definition at line 219 of file JetCommonConfig.py.

219def addJetsToSlimmingTool(slimhelper,contentlist,smartlist=[]):
220 for item in contentlist:
221 if item not in slimhelper.AppendToDictionary:
222 slimhelper.AppendToDictionary.update({item:'xAOD::JetContainer',
223 item+"Aux":'xAOD::JetAuxContainer'})
224 if item in smartlist:
225 slimhelper.SmartCollections.append(item)
226 else:
227 slimhelper.AllVariables.append(item)
228
229

◆ AddJvtDecorationAlgCfg()

python.JetCommonConfig.AddJvtDecorationAlgCfg ( ConfigFlags,
algName = "JvtPassDecorAlg",
jetContainer = 'AntiKt4EMPFlow',
** kwargs )

Definition at line 89 of file JetCommonConfig.py.

89def AddJvtDecorationAlgCfg(ConfigFlags, algName = "JvtPassDecorAlg", jetContainer='AntiKt4EMPFlow', **kwargs):
90 acc = ComponentAccumulator()
91 # Decorate if jet passed JVT criteria
92 from JetJvtEfficiency.JetJvtEfficiencyToolConfig import getJvtSelToolCfg
93
94 passJvtTool = acc.popToolsAndMerge(getJvtSelToolCfg(ConfigFlags, "{}Jets".format(jetContainer)))
95 passJvtTool.PassFlagName = "DFCommonJets_passJvt"
96 kwargs.setdefault("Decorators", [passJvtTool])
97 kwargs.setdefault("JetContainer", "{}Jets".format(jetContainer))
98 acc.addEventAlgo(CompFactory.JetDecorationAlg(algName, **kwargs), primary = True)
99 return acc
100

◆ addOriginCorrectedClustersToSlimmingTool()

python.JetCommonConfig.addOriginCorrectedClustersToSlimmingTool ( slimhelper,
writeLC = False,
writeEM = False )

Helper to add origin corrected clusters to output.

Definition at line 233 of file JetCommonConfig.py.

233def addOriginCorrectedClustersToSlimmingTool(slimhelper,writeLC=False,writeEM=False):
234
235 slimhelper.ExtraVariables.append('CaloCalTopoClusters.calE.calEta.calPhi.calM')
236
237 if writeLC:
238 if "LCOriginTopoClusters" not in slimhelper.AppendToDictionary:
239 slimhelper.AppendToDictionary.update({"LCOriginTopoClusters":'xAOD::CaloClusterContainer',
240 "LCOriginTopoClustersAux":'xAOD::ShallowAuxContainer'})
241 slimhelper.ExtraVariables.append('LCOriginTopoClusters.calEta.calPhi.originalObjectLink')
242
243 if writeEM:
244 if "EMOriginTopoClusters" not in slimhelper.AppendToDictionary:
245 slimhelper.AppendToDictionary.update({"EMOriginTopoClusters":'xAOD::CaloClusterContainer',
246 "EMOriginTopoClustersAux":'xAOD::ShallowAuxContainer'})
247 slimhelper.ExtraVariables.append('EMOriginTopoClusters.calE.calEta.calPhi.originalObjectLink')

◆ AddSidebandEventShapeCfg()

python.JetCommonConfig.AddSidebandEventShapeCfg ( ConfigFlags)
Special rho definitions for PFlow jets

Definition at line 68 of file JetCommonConfig.py.

68def AddSidebandEventShapeCfg(ConfigFlags):
69 """Special rho definitions for PFlow jets"""
70 from JetRecConfig.JetRecConfig import getInputAlgs,getConstitPJGAlg,reOrderAlgs
71 from JetRecConfig.StandardJetConstits import stdConstitDic as cst
72 from JetRecConfig.JetInputConfig import buildEventShapeAlg
73
74 acc = ComponentAccumulator()
75
76 constit_algs = getInputAlgs(cst.GPFlow, flags=ConfigFlags)
77 constit_algs, ca = reOrderAlgs( [a for a in constit_algs if a is not None])
78
79 acc.merge(ca)
80 for a in constit_algs:
81 acc.addEventAlgo(a)
82
83 #New "sideband" definition when using CHS based on TTVA
84 acc.addEventAlgo(getConstitPJGAlg(cst.GPFlow, suffix='Neut'))
85 acc.addEventAlgo(buildEventShapeAlg(cst.GPFlow, '', suffix = 'Neut' ))
86
87 return acc
88

◆ JetCommonCfg()

python.JetCommonConfig.JetCommonCfg ( ConfigFlags)
Main config for jet reconstruction and decorations

Definition at line 11 of file JetCommonConfig.py.

11def JetCommonCfg(ConfigFlags):
12 """Main config for jet reconstruction and decorations"""
13
14 acc = ComponentAccumulator()
15
16 acc.merge(StandardJetsInDerivCfg(ConfigFlags))
17 if "McEventCollection#GEN_EVENT" not in ConfigFlags.Input.TypedCollections:
18 acc.merge(AddBadBatmanCfg(ConfigFlags))
19 acc.merge(AddDistanceInTrainCfg(ConfigFlags))
20 acc.merge(AddSidebandEventShapeCfg(ConfigFlags))
21 acc.merge(AddEventCleanFlagsCfg(ConfigFlags))
22
23 return acc
24
25

◆ StandardJetsInDerivCfg()

python.JetCommonConfig.StandardJetsInDerivCfg ( ConfigFlags)
Jet reconstruction needed for PHYS/PHYSLITE

Definition at line 26 of file JetCommonConfig.py.

26def StandardJetsInDerivCfg(ConfigFlags):
27 """Jet reconstruction needed for PHYS/PHYSLITE"""
28
29 from JetRecConfig.StandardSmallRJets import AntiKt4EMTopo_deriv,AntiKt4EMPFlow_deriv,AntiKtVR30Rmax4Rmin02PV0Track
30 from JetRecConfig.StandardLargeRJets import AntiKt10UFOCSSKSoftDrop_deriv
31 from JetRecConfig.JetRecConfig import JetRecCfg
32
33 acc = ComponentAccumulator()
34
35 jetList = [AntiKt4EMTopo_deriv, AntiKt4EMPFlow_deriv,
36 AntiKtVR30Rmax4Rmin02PV0Track,
37 AntiKt10UFOCSSKSoftDrop_deriv]
38
39 for jd in jetList:
40 acc.merge(JetRecCfg(ConfigFlags,jd))
41
42 return acc
43