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

Functions

 JetCommonCfg (ConfigFlags)
 StandardJetsInDerivCfg (ConfigFlags)
 AddBadBatmanCfg (ConfigFlags)
 AddDistanceInTrainCfg (ConfigFlags)
 AddNeutralEventShapeCfg (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()

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()

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()

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

Definition at line 94 of file JetCommonConfig.py.

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

◆ addJetsToSlimmingTool()

addJetsToSlimmingTool ( slimhelper,
contentlist,
smartlist = [] )

Definition at line 212 of file JetCommonConfig.py.

212def addJetsToSlimmingTool(slimhelper,contentlist,smartlist=[]):
213 for item in contentlist:
214 if item not in slimhelper.AppendToDictionary:
215 slimhelper.AppendToDictionary.update({item:'xAOD::JetContainer',
216 item+"Aux":'xAOD::JetAuxContainer'})
217 if item in smartlist:
218 slimhelper.SmartCollections.append(item)
219 else:
220 slimhelper.AllVariables.append(item)
221
222

◆ AddJvtDecorationAlgCfg()

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

Definition at line 82 of file JetCommonConfig.py.

82def AddJvtDecorationAlgCfg(ConfigFlags, algName = "JvtPassDecorAlg", jetContainer='AntiKt4EMPFlow', **kwargs):
83 acc = ComponentAccumulator()
84 # Decorate if jet passed JVT criteria
85 from JetJvtEfficiency.JetJvtEfficiencyToolConfig import getJvtSelToolCfg
86
87 passJvtTool = acc.popToolsAndMerge(getJvtSelToolCfg(ConfigFlags, "{}Jets".format(jetContainer)))
88 passJvtTool.PassFlagName = "DFCommonJets_passJvt"
89 kwargs.setdefault("Decorators", [passJvtTool])
90 kwargs.setdefault("JetContainer", "{}Jets".format(jetContainer))
91 acc.addEventAlgo(CompFactory.JetDecorationAlg(algName, **kwargs), primary = True)
92 return acc
93

◆ AddNeutralEventShapeCfg()

AddNeutralEventShapeCfg ( ConfigFlags)
Special rho definitions for PFlow jets

Definition at line 68 of file JetCommonConfig.py.

68def AddNeutralEventShapeCfg(ConfigFlags):
69 """Special rho definitions for PFlow jets"""
70 from JetRecConfig.JetRecConfig import getConstitPJGAlg
71 from JetRecConfig.StandardJetConstits import stdConstitDic as cst
72 from JetRecConfig.JetInputConfig import buildEventShapeAlg
73
74 acc = ComponentAccumulator()
75
76 #New rho definition using only neutral PFOs
77 acc.addEventAlgo(getConstitPJGAlg(cst.GPFlow, suffix='Neut'))
78 acc.addEventAlgo(buildEventShapeAlg(cst.GPFlow, '', suffix = 'Neut' ))
79
80 return acc
81

◆ addOriginCorrectedClustersToSlimmingTool()

addOriginCorrectedClustersToSlimmingTool ( slimhelper,
writeLC = False,
writeEM = False )

Helper to add origin corrected clusters to output.

Definition at line 226 of file JetCommonConfig.py.

226def addOriginCorrectedClustersToSlimmingTool(slimhelper,writeLC=False,writeEM=False):
227
228 slimhelper.ExtraVariables.append('CaloCalTopoClusters.calE.calEta.calPhi.calM')
229
230 if writeLC:
231 if "LCOriginTopoClusters" not in slimhelper.AppendToDictionary:
232 slimhelper.AppendToDictionary.update({"LCOriginTopoClusters":'xAOD::CaloClusterContainer',
233 "LCOriginTopoClustersAux":'xAOD::ShallowAuxContainer'})
234 slimhelper.ExtraVariables.append('LCOriginTopoClusters.calEta.calPhi.originalObjectLink')
235
236 if writeEM:
237 if "EMOriginTopoClusters" not in slimhelper.AppendToDictionary:
238 slimhelper.AppendToDictionary.update({"EMOriginTopoClusters":'xAOD::CaloClusterContainer',
239 "EMOriginTopoClustersAux":'xAOD::ShallowAuxContainer'})
240 slimhelper.ExtraVariables.append('EMOriginTopoClusters.calE.calEta.calPhi.originalObjectLink')

◆ JetCommonCfg()

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(AddNeutralEventShapeCfg(ConfigFlags))
21 acc.merge(AddEventCleanFlagsCfg(ConfigFlags))
22
23 return acc
24
25

◆ StandardJetsInDerivCfg()

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