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

Functions

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

Function Documentation

◆ AddBadBatmanCfg()

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

Definition at line 52 of file JetCommonConfig.py.

52 def AddBadBatmanCfg(ConfigFlags):
53  """Add bad batman decoration for events with large EMEC-IW noise"""
54 
55  acc = ComponentAccumulator()
56 
57  CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
58  from DerivationFrameworkJetEtMiss.JetToolConfig import BadBatmanToolCfg
59  badBatmanTool = acc.getPrimaryAndMerge(BadBatmanToolCfg(ConfigFlags))
60  acc.addEventAlgo(CommonAugmentation("BadBatmanAugmentation", AugmentationTools = [badBatmanTool]))
61 
62  return acc
63 

◆ AddDistanceInTrainCfg()

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

Definition at line 64 of file JetCommonConfig.py.

64 def AddDistanceInTrainCfg(ConfigFlags):
65  """Add distance in train information to EventInfo"""
66  from DerivationFrameworkJetEtMiss.JetToolConfig import DistanceInTrainToolCfg
67 
68  acc = ComponentAccumulator()
69 
70  CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
71  distanceInTrainTool = acc.getPrimaryAndMerge(DistanceInTrainToolCfg(ConfigFlags))
72  acc.addEventAlgo(CommonAugmentation("DistanceInTrainAugmentation", AugmentationTools = [distanceInTrainTool]))
73 
74  return acc
75 

◆ AddEventCleanFlagsCfg()

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

Definition at line 114 of file JetCommonConfig.py.

114 def AddEventCleanFlagsCfg(ConfigFlags, workingPoints = ['Loose', 'Tight', 'LooseLLP']):
115  """Add event cleaning flags"""
116 
117  acc = ComponentAccumulator()
118  acc.merge(AddJvtDecorationAlgCfg(ConfigFlags, algName="JvtPassDecorAlg_EMTopo", jetContainer='AntiKt4EMTopo'))
119  acc.merge(AddJvtDecorationAlgCfg(ConfigFlags, algName="JvtPassDecorAlg", jetContainer='AntiKt4EMPFlow'))
120 
121  from DerivationFrameworkTau.TauCommonConfig import AddTauAugmentationCfg
122  acc.merge(AddTauAugmentationCfg(ConfigFlags, prefix="JetCommon", doLoose=True))
123 
124  # The overlap removal algorithm presents difficulties.
125  # It leaves decorations unlocked.
126  # Further, configurations may schedule multiple overlap removal algorithms,
127  # sometimes outside of this file, which then overwrite each other's
128  # results. So to get decoration locking to work properly, we need
129  # to first group all the event cleaning algorithms together,
130  # immediately followed by LockDecorations algorithms to lock the
131  # decorations produced by overlap. To accomplish this, we create
132  # two sequences, one for event cleaning and one for decoration locking
133  # and add the algorithms there. By default, these sequences will
134  # be scheduled at the current point in the global algorithm sequence,
135  # but if another fragment adds additional overlap removal, it may need
136  # to move the sequences later.
137  # All this is of course not MT-safe.
138  acc.addSequence(CompFactory.AthSequencer('EventCleanSeq', Sequential=True))
139  acc.addSequence(CompFactory.AthSequencer('EventCleanLockSeq', Sequential=True))
140 
141  # Overlap for EMTopo
142  from AssociationUtils.AssociationUtilsConfig import OverlapRemovalToolCfg
143  outputLabel_legacy = 'DFCommonJets_passOR'
144  bJetLabel = '' #default
145  tauLabel = 'DFTauLoose'
146  orTool_legacy = acc.popToolsAndMerge(OverlapRemovalToolCfg(ConfigFlags,outputLabel=outputLabel_legacy,bJetLabel=bJetLabel))
147  algOR_legacy = CompFactory.OverlapRemovalGenUseAlg('OverlapRemovalGenUseAlg_EMTopo',
148  JetKey="AntiKt4EMTopoJets",
149  OverlapLabel=outputLabel_legacy,
150  OverlapRemovalTool=orTool_legacy,
151  TauLabel=tauLabel,
152  BJetLabel=bJetLabel
153  )
154  acc.addEventAlgo(algOR_legacy, 'EventCleanSeq')
155 
156  # Overlap for EMPFlow
157  outputLabel = 'DFCommonJets_passOR'
158  orTool = acc.popToolsAndMerge(OverlapRemovalToolCfg(ConfigFlags,outputLabel=outputLabel,bJetLabel=bJetLabel))
159  algOR = CompFactory.OverlapRemovalGenUseAlg('OverlapRemovalGenUseAlg',
160  OverlapLabel=outputLabel,
161  OverlapRemovalTool=orTool,
162  TauLabel=tauLabel,
163  BJetLabel=bJetLabel)
164  acc.addEventAlgo(algOR, 'EventCleanSeq')
165 
166  # Explictly lock the decorations produced by overlap removal.
167  lockOR = CompFactory.DerivationFramework.LockDecorations \
168  ('OverlapRemovalLockDecorAlg',
169  Decorations = [
170  'Electrons.selected',
171  'Electrons.' + outputLabel,
172  'Muons.selected',
173  'Muons.' + outputLabel,
174  'Photons.selected',
175  'Photons.' + outputLabel,
176  'AntiKt4EMPFlowJets.selected',
177  'AntiKt4EMPFlowJets.' + outputLabel,
178  'AntiKt4EMTopoJets.selected',
179  'AntiKt4EMTopoJets.' + outputLabel,
180  'TauJets.selected',
181  'TauJets.' + outputLabel,
182  ])
183  acc.addEventAlgo(lockOR, 'EventCleanLockSeq')
184 
185  CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
186  from DerivationFrameworkMuons.MuonsToolsConfig import MuonJetDrToolCfg
187  muonJetDrTool = acc.getPrimaryAndMerge(MuonJetDrToolCfg(ConfigFlags, "MuonJetDrTool"))
188  acc.addEventAlgo(CommonAugmentation("DFCommonMuonsKernel2", AugmentationTools = [muonJetDrTool]), 'EventCleanSeq')
189 
190  from JetSelectorTools.JetSelectorToolsConfig import EventCleaningToolCfg,JetCleaningToolCfg
191 
192  supportedWPs = ['Loose', 'Tight', 'LooseLLP', 'VeryLooseLLP', 'SuperLooseLLP']
193  prefix = "DFCommonJets_"
194  evt_lvl_suppWPs_PFlow = ['LooseBad', 'TightBad']
195 
196  for wp in workingPoints:
197  if wp not in supportedWPs:
198  continue
199 
200  cleaningLevel = wp + 'Bad'
201  # LLP WPs have a slightly different name format
202  if 'LLP' in wp:
203  cleaningLevel = wp.replace('LLP', 'BadLLP')
204 
205  # Add support for TightBad event flag as well
206  doEvent_PFlow=False
207  for evt_swp in evt_lvl_suppWPs_PFlow:
208  if evt_swp == cleaningLevel:
209  doEvent_PFlow=True
210  break
211 
212  doEvent_EMTopo=False
213  if 'Loose' in cleaningLevel:
214  doEvent_EMTopo=True
215 
216 
217  if doEvent_EMTopo:
218  jetCleaningTool_legacy = acc.popToolsAndMerge(JetCleaningToolCfg(
219  ConfigFlags, 'JetCleaningTool_'+cleaningLevel+'_EMTopo',
220  'AntiKt4EMTopo', cleaningLevel, False))
221  acc.addPublicTool(jetCleaningTool_legacy)
222  ecTool_legacy = acc.popToolsAndMerge(EventCleaningToolCfg(
223  ConfigFlags,'EventCleaningTool_'+wp+'_EMTopo', cleaningLevel))
224  ecTool_legacy.JetCleanPrefix = prefix
225  ecTool_legacy.JetContainer = "AntiKt4EMTopoJets"
226  ecTool_legacy.JetCleaningTool = jetCleaningTool_legacy
227  acc.addPublicTool(ecTool_legacy)
228 
229  eventCleanAlg_legacy = CompFactory.EventCleaningTestAlg('EventCleaningTestAlg_'+wp+'_EMTopo',
230  EventCleaningTool=ecTool_legacy,
231  JetCollectionName="AntiKt4EMTopoJets",
232  EventCleanPrefix=prefix,
233  CleaningLevel=cleaningLevel,
234  doEvent=True) # Only store event-level flags for Loose and LooseLLP
235  acc.addEventAlgo(eventCleanAlg_legacy, 'EventCleanSeq')
236 
237 
238  if doEvent_PFlow:
239  jetCleaningTool = acc.popToolsAndMerge(JetCleaningToolCfg(
240  ConfigFlags, 'JetCleaningTool_'+cleaningLevel,
241  'AntiKt4EMPFlowJets', cleaningLevel, False))
242  acc.addPublicTool(jetCleaningTool)
243 
244  ecTool = acc.popToolsAndMerge(EventCleaningToolCfg(ConfigFlags,'EventCleaningTool_' + wp, cleaningLevel))
245  ecTool.JetCleanPrefix = prefix
246  ecTool.JetContainer = "AntiKt4EMPFlowJets"
247  ecTool.JetCleaningTool = jetCleaningTool
248  acc.addPublicTool(ecTool)
249 
250  eventCleanAlg = CompFactory.EventCleaningTestAlg('EventCleaningTestAlg_'+wp,
251  EventCleaningTool=ecTool,
252  JetCollectionName="AntiKt4EMPFlowJets",
253  EventCleanPrefix=prefix,
254  CleaningLevel=cleaningLevel,
255  doEvent=True) # for PFlow we use Loose and Tight
256  acc.addEventAlgo(eventCleanAlg, 'EventCleanSeq')
257 
258  return acc
259 
260 

◆ addJetsToSlimmingTool()

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

Definition at line 261 of file JetCommonConfig.py.

261 def addJetsToSlimmingTool(slimhelper,contentlist,smartlist=[]):
262  for item in contentlist:
263  if item not in slimhelper.AppendToDictionary:
264  slimhelper.AppendToDictionary.update({item:'xAOD::JetContainer',
265  item+"Aux":'xAOD::JetAuxContainer'})
266  if item in smartlist:
267  slimhelper.SmartCollections.append(item)
268  else:
269  slimhelper.AllVariables.append(item)
270 
271 

◆ AddJvtDecorationAlgCfg()

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

Definition at line 101 of file JetCommonConfig.py.

101 def AddJvtDecorationAlgCfg(ConfigFlags, algName = "JvtPassDecorAlg", jetContainer='AntiKt4EMTopo', **kwargs):
102  acc = ComponentAccumulator()
103  # Decorate if jet passed JVT criteria
104  from JetJvtEfficiency.JetJvtEfficiencyToolConfig import getJvtEffToolCfg
105 
106  passJvtTool = acc.popToolsAndMerge(getJvtEffToolCfg(ConfigFlags, jetContainer))
107  passJvtTool.PassJVTKey = "{}Jets.DFCommonJets_passJvt".format(jetContainer)
108  passJvtTool.SuppressOutputDependence = False
109  kwargs.setdefault("Decorators", [passJvtTool])
110  kwargs.setdefault("JetContainer", "{}Jets".format(jetContainer))
111  acc.addEventAlgo(CompFactory.JetDecorationAlg(algName, **kwargs), primary = True)
112  return acc
113 

◆ addOriginCorrectedClustersToSlimmingTool()

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

Helper to add origin corrected clusters to output.

Definition at line 275 of file JetCommonConfig.py.

275 def addOriginCorrectedClustersToSlimmingTool(slimhelper,writeLC=False,writeEM=False):
276 
277  slimhelper.ExtraVariables.append('CaloCalTopoClusters.calE.calEta.calPhi.calM')
278 
279  if writeLC:
280  if "LCOriginTopoClusters" not in slimhelper.AppendToDictionary:
281  slimhelper.AppendToDictionary.update({"LCOriginTopoClusters":'xAOD::CaloClusterContainer',
282  "LCOriginTopoClustersAux":'xAOD::ShallowAuxContainer'})
283  slimhelper.ExtraVariables.append('LCOriginTopoClusters.calEta.calPhi.originalObjectLink')
284 
285  if writeEM:
286  if "EMOriginTopoClusters" not in slimhelper.AppendToDictionary:
287  slimhelper.AppendToDictionary.update({"EMOriginTopoClusters":'xAOD::CaloClusterContainer',
288  "EMOriginTopoClustersAux":'xAOD::ShallowAuxContainer'})
289  slimhelper.ExtraVariables.append('EMOriginTopoClusters.calE.calEta.calPhi.originalObjectLink')

◆ AddSidebandEventShapeCfg()

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

Definition at line 76 of file JetCommonConfig.py.

76 def AddSidebandEventShapeCfg(ConfigFlags):
77  """Special rho definitions for PFlow jets"""
78  from JetRecConfig.JetRecConfig import getInputAlgs,getConstitPJGAlg,reOrderAlgs
79  from JetRecConfig.StandardJetConstits import stdConstitDic as cst
80  from JetRecConfig.JetInputConfig import buildEventShapeAlg
81 
82  acc = ComponentAccumulator()
83 
84  constit_algs = getInputAlgs(cst.GPFlow, flags=ConfigFlags)
85  constit_algs, ca = reOrderAlgs( [a for a in constit_algs if a is not None])
86 
87  acc.merge(ca)
88  for a in constit_algs:
89  acc.addEventAlgo(a)
90 
91  #Sideband definition
92  acc.addEventAlgo(getConstitPJGAlg(cst.GPFlow, suffix='PUSB'))
93  acc.addEventAlgo(buildEventShapeAlg(cst.GPFlow, '', suffix = 'PUSB' ))
94 
95  #New "sideband" definition when using CHS based on TTVA
96  acc.addEventAlgo(getConstitPJGAlg(cst.GPFlow, suffix='Neut'))
97  acc.addEventAlgo(buildEventShapeAlg(cst.GPFlow, '', suffix = 'Neut' ))
98 
99  return acc
100 

◆ JetCommonCfg()

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

Definition at line 11 of file JetCommonConfig.py.

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

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

Definition at line 26 of file JetCommonConfig.py.

26 def StandardJetsInDerivCfg(ConfigFlags):
27  """Jet reconstruction needed for PHYS/PHYSLITE"""
28 
29  from JetRecConfig.StandardSmallRJets import AntiKt4EMTopo,AntiKt4EMPFlow,AntiKtVR30Rmax4Rmin02PV0Track
30  from JetRecConfig.StandardLargeRJets import AntiKt10UFOCSSKSoftDrop
31  from JetRecConfig.JetRecConfig import JetRecCfg
32 
33  acc = ComponentAccumulator()
34 
35  AntiKt4EMTopo_deriv = AntiKt4EMTopo.clone(
36  modifiers = AntiKt4EMTopo.modifiers+("JetPtAssociation","QGTagging")
37  )
38 
39  AntiKt4EMPFlow_deriv = AntiKt4EMPFlow.clone(
40  modifiers = AntiKt4EMPFlow.modifiers+("JetPtAssociation","QGTagging","fJVT","NNJVT","CaloEnergiesClus","JetPileupLabel","qgtransformer")
41  )
42 
43  jetList = [AntiKt4EMTopo_deriv, AntiKt4EMPFlow_deriv,
44  AntiKtVR30Rmax4Rmin02PV0Track,
45  AntiKt10UFOCSSKSoftDrop]
46 
47  for jd in jetList:
48  acc.merge(JetRecCfg(ConfigFlags,jd))
49 
50  return acc
51 
AssociationUtilsConfig.OverlapRemovalToolCfg
def OverlapRemovalToolCfg(ConfigFlags, masterName='OverlapRemovalTool', inputLabel='selected', outputLabel='overlaps', bJetLabel='', maxElePtForBJetAwareOR=100. *1000, boostedLeptons=False, outputPassValue=False, linkOverlapObjects=False, doEleEleOR=False, doElectrons=True, doMuons=True, doJets=True, doTaus=True, doPhotons=True, doFatJets=False, **kwargs)
Definition: AssociationUtilsConfig.py:5
python.JetCommonConfig.JetCommonCfg
def JetCommonCfg(ConfigFlags)
Definition: JetCommonConfig.py:11
python.JetCommonConfig.AddSidebandEventShapeCfg
def AddSidebandEventShapeCfg(ConfigFlags)
Definition: JetCommonConfig.py:76
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
vtune_athena.format
format
Definition: vtune_athena.py:14
python.JetRecConfig.getInputAlgs
def getInputAlgs(jetOrConstitdef, flags, context="default", monTool=None)
Definition: JetRecConfig.py:279
python.JetSelectorToolsConfig.EventCleaningToolCfg
def EventCleaningToolCfg(ConfigFlags, name, cleaningLevel)
Definition: JetSelectorToolsConfig.py:14
python.JetCommonConfig.addOriginCorrectedClustersToSlimmingTool
def addOriginCorrectedClustersToSlimmingTool(slimhelper, writeLC=False, writeEM=False)
Helper to add origin corrected clusters to output.
Definition: JetCommonConfig.py:275
python.JetRecConfig.reOrderAlgs
def reOrderAlgs(algs)
Definition: JetRecConfig.py:796
python.MuonsToolsConfig.MuonJetDrToolCfg
def MuonJetDrToolCfg(ConfigFlags, name)
Definition: MuonsToolsConfig.py:6
python.JetInputConfig.buildEventShapeAlg
def buildEventShapeAlg(jetOrConstitdef, inputspec, voronoiRf=0.9, radius=0.4, suffix=None)
Definition: JetInputConfig.py:132
python.JetSelectorToolsConfig.JetCleaningToolCfg
def JetCleaningToolCfg(ConfigFlags, name, jetdef, cleaningLevel, useDecorations)
Definition: JetSelectorToolsConfig.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.JetCommonConfig.addJetsToSlimmingTool
def addJetsToSlimmingTool(slimhelper, contentlist, smartlist=[])
Definition: JetCommonConfig.py:261
python.JetToolConfig.DistanceInTrainToolCfg
def DistanceInTrainToolCfg(ConfigFlags)
Definition: JetToolConfig.py:13
python.JetCommonConfig.AddJvtDecorationAlgCfg
def AddJvtDecorationAlgCfg(ConfigFlags, algName="JvtPassDecorAlg", jetContainer='AntiKt4EMTopo', **kwargs)
Definition: JetCommonConfig.py:101
python.JetRecConfig.getConstitPJGAlg
def getConstitPJGAlg(constitdef, suffix=None, flags=None, parent_jetdef=None)
Definition: JetRecConfig.py:350
python.JetCommonConfig.StandardJetsInDerivCfg
def StandardJetsInDerivCfg(ConfigFlags)
Definition: JetCommonConfig.py:26
python.JetCommonConfig.AddBadBatmanCfg
def AddBadBatmanCfg(ConfigFlags)
Definition: JetCommonConfig.py:52
python.JetJvtEfficiencyToolConfig.getJvtEffToolCfg
def getJvtEffToolCfg(flags, jetalg)
Definition: JetJvtEfficiencyToolConfig.py:17
python.JetCommonConfig.AddDistanceInTrainCfg
def AddDistanceInTrainCfg(ConfigFlags)
Definition: JetCommonConfig.py:64
python.JetToolConfig.BadBatmanToolCfg
def BadBatmanToolCfg(ConfigFlags)
Definition: JetToolConfig.py:6
python.JetCommonConfig.AddEventCleanFlagsCfg
def AddEventCleanFlagsCfg(ConfigFlags, workingPoints=['Loose', 'Tight', 'LooseLLP'])
Definition: JetCommonConfig.py:114