ATLAS Offline Software
Functions | Variables
python.HLT.Jet.JetHIConfig Namespace Reference

Functions

def HeavyIonJetRecoDataDeps (flags, **jetRecoDict)
 
def jetHIEventShapeSequenceCA (configFlags, clustersKey, towerKey)
 
def jetHIRecoSequenceCA (configFlags, clustersKey, towerKey, **jetRecoDict)
 
def HLTRunTools (toollist, algoName)
 
def getHIJetRecAlg (jetdef, jetsName, monTool=None)
 
def HLTAddIteration (configFlags, seed_container, shape_name, clustersKey, **kwargs)
 
def HLTBuildHarmonicName (shape_key, **kwargs)
 
def HLTGetNullModulator ()
 
def HLTMakeModulatorTool (mod_key, **kwargs)
 
def HLTHIJetClusterSubtractorGetter (configFlags)
 
def HLTMakeSubtractionTool (configFlags, shapeKey, moment_name='', momentOnly=False, **kwargs)
 
def HLTHIClusterGetter (dummyFlags, tower_key="CombinedTower", cell_key="AllCalo", cluster_key="HLT_HIClusters")
 
def ApplySubtractionToClustersHLT (configFlags, **kwargs)
 
def GetConstituentsModifierToolHLT (configFlags, **kwargs)
 

Variables

 log
 
 HLTHIJetCalib
 
 JetCollection
 
 PrimaryVerticesContainerName
 
 ConfigFile
 
 CalibSequence
 
 IsData
 
 HLTHIJetSeedCalib
 

Function Documentation

◆ ApplySubtractionToClustersHLT()

def python.HLT.Jet.JetHIConfig.ApplySubtractionToClustersHLT (   configFlags,
**  kwargs 
)

Definition at line 455 of file JetHIConfig.py.

455 def ApplySubtractionToClustersHLT(configFlags, **kwargs) :
456 
457  alg_props = {
458  'EventShapeKey': "HLTHIEventShape_iter1",
459  'ClusterKey': "HLT_HIClusters",
460  'Modulator': HLTGetNullModulator(),
461  'EventShapeMapTool': CompFactory.HIEventShapeMapTool(),
462  'UpdateOnly': False,
463  'ApplyOriginCorrection': True,
464  'Subtractor': HLTHIJetClusterSubtractorGetter(configFlags),
465  'SetMoments': False,
466  }
467 
468  alg_props.update(kwargs)
469 
470  toolName = alg_props.pop('toolName', 'HIClusterSubtraction')
471 
472  HIClusterSubtraction = CompFactory.HIClusterSubtraction
473  theAlg = HIClusterSubtraction(toolName, **alg_props)
474 
475  return theAlg
476 

◆ GetConstituentsModifierToolHLT()

def python.HLT.Jet.JetHIConfig.GetConstituentsModifierToolHLT (   configFlags,
**  kwargs 
)

Definition at line 477 of file JetHIConfig.py.

477 def GetConstituentsModifierToolHLT(configFlags, **kwargs) :
478  #For the cluster key, same exact logic as used for ApplySubtractionToClusters
479 
480  alg_props = {
481  'ClusterKey': "HLT_HIClusters",
482  'ApplyOriginCorrection': True,
483  'Subtractor': HLTHIJetClusterSubtractorGetter(configFlags),
484  }
485 
486  alg_props.update(kwargs)
487 
488  toolName = alg_props.pop('name', 'HIJetConstituentModifierTool')
489  label = alg_props.pop('label', None)
490 
491  HIJetConstituentModifierTool = CompFactory.HIJetConstituentModifierTool
492  cmod = HIJetConstituentModifierTool(toolName, **alg_props)
493 
494  stdJetModifiers[label] = JetModifier(
495  "HIJetConstituentModifierTool",
496  "HLTHIJetConstituentModifierTool_{modspec}",
497  ClusterKey=cmod.ClusterKey,
498  Subtractor=cmod.Subtractor,
499  ApplyOriginCorrection=cmod.ApplyOriginCorrection)
500 
501  return cmod

◆ getHIJetRecAlg()

def python.HLT.Jet.JetHIConfig.getHIJetRecAlg (   jetdef,
  jetsName,
  monTool = None 
)
Returns the configured HIJetRecAlg instance corresponding to jetdef

IMPORTANT : jetdef must have its dependencies solved (i.e. it must result from solveDependencies() )

Definition at line 267 of file JetHIConfig.py.

267 def getHIJetRecAlg( jetdef, jetsName, monTool = None):
268  """Returns the configured HIJetRecAlg instance corresponding to jetdef
269 
270  IMPORTANT : jetdef must have its dependencies solved (i.e. it must result from solveDependencies() )
271  """
272  pjContNames = jetdef._internalAtt['finalPJContainer']
273  jclust = CompFactory.JetClusterer(
274  "builder",
275  JetAlgorithm = jetdef.algorithm,
276  JetRadius = jetdef.radius,
277  PtMin = jetdef.ptmin,
278  InputPseudoJets = pjContNames,
279  GhostArea = 0.0,
280  JetInputType = int(jetdef.inputdef.jetinputtype),
281  RandomOption = 1,
282  )
283 
284  mods = JetRecConfig.getJetModifierTools(jetdef)
285 
286  jetname = jetsName
287  jra = CompFactory.JetRecAlg(
288  "jetrecalg_"+jetname,
289  Provider = jclust,
290  Modifiers = mods,
291  OutputContainer = jetname,
292  )
293  if monTool:
294  # this option can't be set in AnalysisBase -> set only if explicitly asked :
295  jra.MonTool = monTool
296 
297  return jra
298 
299 # Same as AddIteration in Reconstruction/HeavyIonRec/HIJetRec/HIJetRecUtils.py but without jtm

◆ HeavyIonJetRecoDataDeps()

def python.HLT.Jet.JetHIConfig.HeavyIonJetRecoDataDeps (   flags,
**  jetRecoDict 
)

Definition at line 21 of file JetHIConfig.py.

21 def HeavyIonJetRecoDataDeps(flags, **jetRecoDict):
22  # The template unsubtracted jet definition
23  jetNamePrefix = JetRecoCommon.getHLTPrefix()
24  clustersKey = JetRecoCommon.getClustersKey(jetRecoDict)
25  jetDef_unsub = JetRecoCommon.defineHIJets(jetRecoDict,clustersKey=clustersKey,prefix=jetNamePrefix,suffix="_Unsubtracted")
26  jetDef_unsub._internalAtt['finalPJContainer'] = "PseudoJet"+clustersKey
27  target_jetReco = f"_for_{jetRecoDict['jetDefStr']}"
28 
29  # Seed jets for subtraction
30  associationName = "%s_DR8Assoc" % (clustersKey)
31  jetDef_seed0 = jetDef_unsub.clone()
32  jetDef_seed0.suffix = jetDef_unsub.suffix.replace("Unsubtracted", "seed0"+target_jetReco)
33  jetDef_seed0.radius = 0.2
34  jetsFullName_seed0 = jetDef_seed0.fullname()
35 
36  # Add this to the standard modifiers as we use this repeatedly
37  stdJetModifiers.update(
38  # we give a function as PtMin : it will be evaluated when instantiating the tool (modspec will come alias usage like "Filter:10000" --> PtMin=100000)
39  HLTHIJetAssoc = JetModifier("HIJetDRAssociationTool","HIJetDRAssociation", ContainerKey=clustersKey, DeltaR=0.8, AssociationName=associationName),
40  )
41 
42  # These mods are custom and used only here
43  jetDef_seed0.modifiers=[
44  "HLTHIJetAssoc",
45  JetModifier("HIJetMaxOverMeanTool","HIJetMaxOverMean"+target_jetReco, JetContainer = jetsFullName_seed0),
46  JetModifier("HIJetDiscriminatorTool","HIJetDiscriminator", MaxOverMeanCut = 4, MinimumETMaxCut=3000),
47  "Filter:5000"
48  ]
49 
50  JES_is_data=False
51  calib_seq='EtaJES' #only do in situ for R=0.4 jets in data
52  if jetRecoDict["jetCalib"].endswith("IS") and not flags.Input.isMC:
53  JES_is_data=True
54  calib_seq += "_Insitu"
55 
56  # Second seed
57  # Copy default jets: seed1
58  jetDef_seed1 = jetDef_unsub.clone()
59  jetDef_seed1.suffix = jetDef_seed0.suffix.replace("_seed0","_seed1")
60  jetDef_seed1.radius = 0.2
61  jetDef_seed1.modifiers=["HLTHIJetAssoc", "HLTHIJetConstSub_iter0:iter0", "HLTHIJetSeedCalib:{}___{}".format(calib_seq, JES_is_data), "Filter:25000"]
62 
63  # Final subracted jets
64  jetDef_final = jetDef_unsub.clone()
65  jetDef_final.suffix = jetDef_unsub.suffix.replace("_Unsubtracted","")
66  jetDef_final.modifiers=["HLTHIJetConstSub_iter1:iter1", "HLTHIJetJetConstMod_iter1", "HLTHIJetCalib:{}___{}".format(calib_seq, JES_is_data), "Sort", "Filter:20000"]
67 
68  jetDefDict = {
69  "unsub": (jetDef_unsub.fullname(), jetDef_unsub),
70  "seed0": (jetDef_seed0.fullname(), jetDef_seed0),
71  "seed1": (jetDef_seed1.fullname(), jetDef_seed1),
72  "final": (jetDef_final.fullname(), jetDef_final),
73  }
74  return jetDefDict
75 

◆ HLTAddIteration()

def python.HLT.Jet.JetHIConfig.HLTAddIteration (   configFlags,
  seed_container,
  shape_name,
  clustersKey,
**  kwargs 
)

Definition at line 300 of file JetHIConfig.py.

300 def HLTAddIteration(configFlags, seed_container,shape_name,clustersKey, **kwargs) :
301  out_shape_name=shape_name
302  if 'suffix' in kwargs.keys() : out_shape_name+='_' + kwargs['suffix']
303  mod_shape_key=out_shape_name+'_Modulate'
304  remodulate=True
305  if remodulate :
306  if 'modulator' in kwargs.keys() : mod_tool=kwargs['modulator']
307  else :
308  log.info( "In HLTAddIteration function, HIUEModulatorTool is created using HLTMakeModulatorTool with mod_shape_key = {}".format(mod_shape_key) )
309  mod_tool=HLTMakeModulatorTool(mod_shape_key,**kwargs)
310 
311  if 'map_tool' in kwargs.keys() : map_tool=kwargs['map_tool']
312  else :
313  map_tool=CompFactory.HIEventShapeMapTool()
314 
315  if 'sub_tool' in kwargs.keys() : sub_tool=kwargs['sub_tool']
316  else :
317  from HIJetRec.HIJetRecUtilsCA import getHIClusterGeoWeightFile
318  weightInputFile=getHIClusterGeoWeightFile(configFlags)
319 
320  HIJetClusterSubtractorTool=CompFactory.HIJetClusterSubtractorTool
321  sub_tool=HIJetClusterSubtractorTool("HLTHIJetClusterSubtractor", ConfigDir='HIJetCorrection/', InputFile=weightInputFile)
322  sub_tool.UseSamplings=False
323 
324  if 'assoc_name' in kwargs.keys() : assoc_name=kwargs['assoc_name']
325  else :
326  log.info( "In HLTAddIteration function, HIJetDRAssociationTool is created with clustersKey= {}".format(clustersKey) )
327  assoc=CompFactory.HIJetDRAssociationTool("HIJetDRAssociation")
328  assoc.ContainerKey=clustersKey
329  assoc.DeltaR=0.8
330  assoc.AssociationName="%s_DR8Assoc" % (clustersKey)
331  assoc_name=assoc.AssociationName
332 
333  HIEventShapeJetIteration=CompFactory.HIEventShapeJetIteration
334  iter_tool=HIEventShapeJetIteration('HLTHIJetIteration_%s' % out_shape_name )
335 
336  iter_tool.InputEventShapeKey=shape_name
337  iter_tool.OutputEventShapeKey=out_shape_name
338  iter_tool.AssociationKey=assoc_name
339  iter_tool.CaloJetSeedContainerKey=seed_container
340  iter_tool.Subtractor=sub_tool
341  iter_tool.ModulationScheme=1
342  iter_tool.RemodulateUE=True
343  iter_tool.Modulator=mod_tool
344  iter_tool.ShallowCopy=False
345  iter_tool.ModulationEventShapeKey=mod_shape_key
346  iter_tool.EventShapeMapTool=map_tool
347 
348  return iter_tool
349 

◆ HLTBuildHarmonicName()

def python.HLT.Jet.JetHIConfig.HLTBuildHarmonicName (   shape_key,
**  kwargs 
)

Definition at line 350 of file JetHIConfig.py.

350 def HLTBuildHarmonicName(shape_key, **kwargs) :
351  tname=shape_key
352  if 'harmonics' in kwargs.keys() :
353  for n in kwargs['harmonics'] :
354  tname = str(tname) + str('_V%d' % n)
355  return tname
356 

◆ HLTGetNullModulator()

def python.HLT.Jet.JetHIConfig.HLTGetNullModulator ( )

Definition at line 357 of file JetHIConfig.py.

357 def HLTGetNullModulator() :
358  tname='NullUEModulator'
359  HIUEModulatorTool=CompFactory.HIUEModulatorTool
360  mod=HIUEModulatorTool(tname)
361  mod.EventShapeKey=''
362  for n in [2,3,4] : setattr(mod,'DoV%d' % n,False)
363  return mod
364 

◆ HLTHIClusterGetter()

def python.HLT.Jet.JetHIConfig.HLTHIClusterGetter (   dummyFlags,
  tower_key = "CombinedTower",
  cell_key = "AllCalo",
  cluster_key = "HLT_HIClusters" 
)
Function to equip HLT HI cluster builder from towers and cells, adds to output AOD stream

Definition at line 443 of file JetHIConfig.py.

443 def HLTHIClusterGetter(dummyFlags, tower_key="CombinedTower", cell_key="AllCalo", cluster_key="HLT_HIClusters") :
444  """Function to equip HLT HI cluster builder from towers and cells, adds to output AOD stream"""
445 
446  HIClusterMaker=CompFactory.HIClusterMaker
447  theAlg=HIClusterMaker()
448  theAlg.InputTowerKey=tower_key
449  theAlg.CaloCellContainerKey=cell_key
450  theAlg.OutputContainerKey=cluster_key
451 
452  return theAlg
453 
454 

◆ HLTHIJetClusterSubtractorGetter()

def python.HLT.Jet.JetHIConfig.HLTHIJetClusterSubtractorGetter (   configFlags)

Definition at line 396 of file JetHIConfig.py.

396 def HLTHIJetClusterSubtractorGetter(configFlags):
397  from HIJetRec.HIJetRecUtilsCA import getHIClusterGeoWeightFile
398  weightInputFile=getHIClusterGeoWeightFile(configFlags)
399 
400  HIJetClusterSubtractorTool = CompFactory.HIJetClusterSubtractorTool
401  sub_tool = HIJetClusterSubtractorTool("HLTHIJetClusterSubtractor", ConfigDir='HIJetCorrection/', InputFile=weightInputFile)
402  sub_tool.UseSamplings = False
403 
404  return sub_tool
405 
406 #same as MakeSubtractionTool in Reconstruction/HeavyIonRec/HIJetRec/HIJetRecUtils.py but without jtm

◆ HLTMakeModulatorTool()

def python.HLT.Jet.JetHIConfig.HLTMakeModulatorTool (   mod_key,
**  kwargs 
)

Definition at line 365 of file JetHIConfig.py.

365 def HLTMakeModulatorTool(mod_key, **kwargs):
366  harmonics = kwargs.pop('harmonics', [2, 3, 4])
367  tname = kwargs.pop('mod_name', 'Modulator_{}'.format(HLTBuildHarmonicName(mod_key, harmonics=harmonics)))
368 
369  if 'suffix' in kwargs.keys():
370  tname += '_' + kwargs['suffix']
371 
372  if len(harmonics) == 0:
373  return HLTGetNullModulator()
374 
375  HIUEModulatorTool=CompFactory.HIUEModulatorTool
376  mod=HIUEModulatorTool(tname)
377  mod.EventShapeKey=mod_key
378 
379  for n in [2,3,4] :
380  val=(n in harmonics)
381  attr_name='DoV%d' % n
382  setattr(mod,attr_name,val)
383 
384  if 'label' in kwargs.keys():
385  label = kwargs['label']
386  stdJetModifiers[label] = JetModifier(
387  "HIUEModulatorTool",
388  tname,
389  DoV2 = mod.DoV2,
390  DoV3 = mod.DoV3,
391  DoV4 = mod.DoV4,
392  EventShapeKey=mod_key)
393 
394  return mod
395 

◆ HLTMakeSubtractionTool()

def python.HLT.Jet.JetHIConfig.HLTMakeSubtractionTool (   configFlags,
  shapeKey,
  moment_name = '',
  momentOnly = False,
**  kwargs 
)

Definition at line 407 of file JetHIConfig.py.

407 def HLTMakeSubtractionTool(configFlags, shapeKey, moment_name='', momentOnly=False, **kwargs) :
408 
409  alg_props = {
410  'EventShapeKey': shapeKey,
411  'Modulator': HLTGetNullModulator(),
412  'EventShapeMapTool': CompFactory.HIEventShapeMapTool(),
413  'Subtractor': HLTHIJetClusterSubtractorGetter(configFlags),
414  'MomentName': 'HLTJetSubtractedScale{}Momentum'.format(moment_name),
415  'SetMomentOnly': momentOnly,
416  'ApplyOriginCorrection': True,
417  }
418 
419  suffix = shapeKey.toStringProperty()
420  if momentOnly is True:
421  suffix += '_' + moment_name
422 
423  alg_props.update(kwargs)
424 
425  label = alg_props.pop('label', None)
426 
427  HIJetConstituentSubtractionTool = CompFactory.HIJetConstituentSubtractionTool
428  subtr = HIJetConstituentSubtractionTool("HLTHICS_" + suffix, **alg_props)
429 
430  stdJetModifiers[label] = JetModifier(
431  "HIJetConstituentSubtractionTool",
432  "HLTHICS_HLTHIEventShapeWeighted_{modspec}",
433  Modulator=subtr.Modulator,
434  EventShapeMapTool=subtr.EventShapeMapTool,
435  Subtractor=subtr.Subtractor,
436  EventShapeKey=subtr.EventShapeKey,
437  MomentName=subtr.MomentName,
438  SetMomentOnly=subtr.SetMomentOnly,
439  ApplyOriginCorrection=True)
440 
441  return subtr
442 

◆ HLTRunTools()

def python.HLT.Jet.JetHIConfig.HLTRunTools (   toollist,
  algoName 
)

Definition at line 260 of file JetHIConfig.py.

260 def HLTRunTools(toollist, algoName):
261 
262  theAlg = CompFactory.JetAlgorithm(algoName)
263  theAlg.Tools = toollist
264 
265  return theAlg
266 

◆ jetHIEventShapeSequenceCA()

def python.HLT.Jet.JetHIConfig.jetHIEventShapeSequenceCA (   configFlags,
  clustersKey,
  towerKey 
)

Definition at line 76 of file JetHIConfig.py.

76 def jetHIEventShapeSequenceCA(configFlags, clustersKey, towerKey):
77  acc = ComponentAccumulator()
78 
79  #Import the map tool - it will have to harvest configuration along the path
80  eventShapeMapToolKey="HLTHIEventShapeMapTool"
81  theMapTool=CompFactory.HIEventShapeMapTool(eventShapeMapToolKey)
82 
83  #Make new event shape at tower level
84  EventShapeKey='HLTHIEventShapeWeighted'
85  ESAlg_W=CompFactory.HIEventShapeMaker("ESAlg_W")
86  ESAlg_W.OutputContainerKey=EventShapeKey
87  ESAlg_W.InputTowerKey=clustersKey
88  ESAlg_W.NaviTowerKey=towerKey
89 
90  #Add filler tool
91  ESFiller=CompFactory.HIEventShapeFillerTool("WeightedFiller")
92  ESFiller.UseClusters=True
93 
94  #Add weight tool to filler tool
95  TWTool=CompFactory.HITowerWeightTool()
96  TWTool.ApplyCorrection=True
97  TWTool.ConfigDir='HIJetCorrection/'
98  from HIJetRec.HIJetRecUtilsCA import getHIClusterGeoWeightFile
99  TWTool.InputFile=getHIClusterGeoWeightFile(configFlags)
100 
101  ESFiller.TowerWeightTool=TWTool
102  ESFiller.EventShapeMapTool=theMapTool
103  #Add to top sequence
104  ESAlg_W.HIEventShapeFillerTool=ESFiller
105  acc.addEventAlgo(ESAlg_W)
106 
107  return acc, EventShapeKey, theMapTool
108 
109 
110 # JetModifier dictionary

◆ jetHIRecoSequenceCA()

def python.HLT.Jet.JetHIConfig.jetHIRecoSequenceCA (   configFlags,
  clustersKey,
  towerKey,
**  jetRecoDict 
)
This build the standard heavy ion style jet.

This is similar to JetRecConfig.getJetDefAlgs(). However due to how the alg flow is organized in the
chain steps, we can't use this function directly.
Instead we
  - construct a JetDefinition
  - use lower-level function in JetRecConfig with this JetDefinition to get the necessary algs and build our sequence manually.

Definition at line 132 of file JetHIConfig.py.

132 def jetHIRecoSequenceCA(configFlags, clustersKey, towerKey, **jetRecoDict):
133  """This build the standard heavy ion style jet.
134 
135  This is similar to JetRecConfig.getJetDefAlgs(). However due to how the alg flow is organized in the
136  chain steps, we can't use this function directly.
137  Instead we
138  - construct a JetDefinition
139  - use lower-level function in JetRecConfig with this JetDefinition to get the necessary algs and build our sequence manually.
140 
141  """
142  acc = ComponentAccumulator()
143 
144  if jetRecoDict["ionopt"] == "noion":
145  raise ValueError("Jet reco for heavy ion called without a ion option!")
146 
147  dataSource = "mc" if configFlags.Input.isMC else "data"
148 
149  jetHIEvtShapeSequence, eventShapeKey, eventShapeMapTool = jetHIEventShapeSequenceCA(configFlags, clustersKey=clustersKey, towerKey=towerKey)
150  acc.merge(jetHIEvtShapeSequence)
151 
152  jetNamePrefix = JetRecoCommon.getHLTPrefix()
153  jetDef = JetRecoCommon.defineHIJets(jetRecoDict,clustersKey=clustersKey,prefix=jetNamePrefix,suffix="_Unsubtracted")
154  jetsFullName_Unsub = jetDef.fullname()
155 
156  #This is used for calibration and monitoring
157  jet_collection_name = jetsFullName_Unsub.split('_')[1].replace("Jets", "")
158 
159  # Add the PseudoJetGetter alg to the sequence
160  pjgalg = CompFactory.PseudoJetAlgorithm(
161  "pjgalg_HI",
162  InputContainer = clustersKey,
163  OutputContainer = "PseudoJet"+clustersKey,
164  Label = "pjgHLTHI",
165  SkipNegativeEnergy = False,
166  TreatNegativeEnergyAsGhost=True
167  )
168  acc.addEventAlgo(pjgalg)
169  finalpjs = str(pjgalg.OutputContainer)
170 
171  # Set the name of the final PseudoJetContainer to be used as input :
172  jetDef._internalAtt['finalPJContainer'] = finalpjs
173 
174 
175  from JetRec import JetOnlineMon
176  monTool = JetOnlineMon.getMonTool_TrigJetAlgorithm(configFlags, "HLTJets/" + jet_collection_name + "/")
177 
178  # Reconstruction
179  jetRecAlg = getHIJetRecAlg(jetDef, jetsFullName_Unsub, monTool=monTool)
180  acc.addEventAlgo(jetRecAlg)
181 
182  associationName = "%s_DR8Assoc" % (clustersKey)
183 
184  jetsInUnsub = jetsFullName_Unsub
185 
186  JES_is_data=False
187  calib_seq='EtaJES' #only do in situ for R=0.4 jets in data
188  if jetRecoDict["jetCalib"].endswith("IS") and (dataSource=="data"):
189  JES_is_data=True
190  calib_seq += "_Insitu"
191 
192  target_jetReco = f'_for_{jetRecoDict["jetDefStr"]}'
193 
194  # Copy unsubtracted jets: seed0
195  jetDef_seed0 = jetDef.clone()
196  jetDef_seed0.suffix = jetDef.suffix.replace("Unsubtracted", "seed0"+target_jetReco)
197  jetDef_seed0.radius = 0.2
198  jetsFullName_seed0 = jetDef_seed0.fullname()
199  jetDef_seed0.modifiers=[
200  JetModifier("HIJetDRAssociationTool","HIJetDRAssociation", ContainerKey=clustersKey, DeltaR=0.8, AssociationName=associationName),
201  JetModifier("HIJetMaxOverMeanTool","HIJetMaxOverMean"+target_jetReco, JetContainer = jetsFullName_seed0),
202  JetModifier("HIJetDiscriminatorTool","HIJetDiscriminator", MaxOverMeanCut = 4, MinimumETMaxCut=3000),
203  "Filter:5000"
204  ]
205 
206  copySeed0Alg = getJetCopyAlg(jetsin=jetsInUnsub,jetsoutdef=jetDef_seed0,decorations=[],shallowcopy=False,shallowIO=False,monTool=monTool)
207  acc.addEventAlgo(copySeed0Alg)
208 
209  # First iteration!
210  iter0=HLTAddIteration(configFlags, jetsFullName_seed0, eventShapeKey, clustersKey, map_tool=eventShapeMapTool, assoc_name=associationName, suffix="iter0"+target_jetReco) # subtract UE from jets
211  acc.addEventAlgo(HLTRunTools([iter0], "jetalgHI_iter0"+target_jetReco))
212  modulator0=iter0.Modulator
213  subtractor0=iter0.Subtractor
214 
215  HLTMakeSubtractionTool(configFlags, iter0.OutputEventShapeKey, Modulator=modulator0, EventShapeMapTool=eventShapeMapTool, Subtractor=subtractor0, label="HLTHIJetConstSub_iter0"+target_jetReco)
216 
217  cluster_key_iter0_deep=clustersKey+"_iter0_temp"+target_jetReco
218  happy_iter0_Tool = ApplySubtractionToClustersHLT(configFlags, EventShapeKey="HLTHIEventShapeWeighted_iter0"+target_jetReco, ClusterKey=clustersKey, OutClusterKey=cluster_key_iter0_deep, Modulator=modulator0, EventShapeMapTool=eventShapeMapTool, Subtractor=subtractor0, SetMoments=False, ApplyOriginCorrection=False)
219  acc.addEventAlgo(HLTRunTools([happy_iter0_Tool], "jetalgHI_clusterSub_iter0"+target_jetReco))
220 
221  GetConstituentsModifierToolHLT(configFlags, name="HIJetConstituentModifierTool", ClusterKey=cluster_key_iter0_deep, ApplyOriginCorrection=False, label="HLTHIJetJetConstMod_iter0"+target_jetReco)
222 
223  # Copy default jets: seed1
224  jetDef_seed1 = jetDef.clone()
225  jetDef_seed1.suffix = jetDef_seed0.suffix.replace("_seed0","_seed1")
226  jetDef_seed1.radius = 0.2
227  jetDef_seed1.modifiers=["HLTHIJetAssoc", f"HLTHIJetConstSub_iter0{target_jetReco}:iter0", "HLTHIJetSeedCalib:{}___{}".format(calib_seq, JES_is_data), "Filter:25000"]
228  jetsFullName_seed1 = jetDef_seed1.fullname()
229  copySeed1Alg = getJetCopyAlg(jetsin=jetsInUnsub,jetsoutdef=jetDef_seed1,decorations=[],shallowcopy=False,shallowIO=False,monTool=monTool)
230  acc.addEventAlgo(copySeed1Alg)
231 
232  iter1=HLTAddIteration(configFlags, jetsFullName_seed1, eventShapeKey, clustersKey, map_tool=eventShapeMapTool, assoc_name=associationName, sub_tool=subtractor0, suffix="iter1"+target_jetReco)
233  iter1.OutputEventShapeKey="HLTHIEventShape_iter1"+target_jetReco
234  modulator1=iter1.Modulator
235  subtractor1=iter1.Subtractor
236 
237  HLTMakeSubtractionTool(configFlags, iter1.OutputEventShapeKey, Modulator=modulator1, EventShapeMapTool=eventShapeMapTool, label="HLTHIJetConstSub_iter1"+target_jetReco)
238 
239  acc.addEventAlgo(HLTRunTools([iter1], "jetalgHI_clusterSub_egamma"+target_jetReco))
240 
241  #
242  cluster_key_final_deep=clustersKey+"_final"+target_jetReco
243  subToClusterTool = ApplySubtractionToClustersHLT(configFlags, EventShapeKey="HLTHIEventShape_iter1"+target_jetReco, ClusterKey=clustersKey, OutClusterKey=cluster_key_final_deep, Modulator=modulator1, EventShapeMapTool=eventShapeMapTool, Subtractor=subtractor1, SetMoments=False, ApplyOriginCorrection=False)
244  acc.addEventAlgo(HLTRunTools([subToClusterTool], "jetalgHI_clusterSub"+target_jetReco))
245 
246  GetConstituentsModifierToolHLT(configFlags, name="HIJetConstituentModifierTool", ClusterKey=cluster_key_final_deep, ApplyOriginCorrection=False, label="HLTHIJetJetConstMod_iter1"+target_jetReco)
247 
248  jetDef_final = jetDef.clone()
249  jetDef_final.suffix = jetDef.suffix.replace("_Unsubtracted","")
250  jetDef_final.modifiers=[f"HLTHIJetConstSub_iter1{target_jetReco}:iter1", "HLTHIJetJetConstMod_iter1"+target_jetReco, "HLTHIJetCalib:{}___{}___{}".format(calib_seq, JES_is_data, jet_collection_name), "Sort", "Filter:20000"]
251  copyAlg_final= getJetCopyAlg(jetsin=jetsInUnsub,jetsoutdef=jetDef_final,decorations=[],shallowcopy=False,shallowIO=False,monTool=monTool)
252  acc.addEventAlgo(copyAlg_final)
253 
254  jetsFinal = recordable(jetDef_final.fullname())
255 
256  jetsOut = jetsFinal
257 
258  return acc, jetsOut, jetDef_final
259 

Variable Documentation

◆ CalibSequence

python.HLT.Jet.JetHIConfig.CalibSequence

Definition at line 118 of file JetHIConfig.py.

◆ ConfigFile

python.HLT.Jet.JetHIConfig.ConfigFile

Definition at line 117 of file JetHIConfig.py.

◆ HLTHIJetCalib

python.HLT.Jet.JetHIConfig.HLTHIJetCalib

Definition at line 113 of file JetHIConfig.py.

◆ HLTHIJetSeedCalib

python.HLT.Jet.JetHIConfig.HLTHIJetSeedCalib

Definition at line 123 of file JetHIConfig.py.

◆ IsData

python.HLT.Jet.JetHIConfig.IsData

Definition at line 119 of file JetHIConfig.py.

◆ JetCollection

python.HLT.Jet.JetHIConfig.JetCollection

Definition at line 115 of file JetHIConfig.py.

◆ log

python.HLT.Jet.JetHIConfig.log

Definition at line 17 of file JetHIConfig.py.

◆ PrimaryVerticesContainerName

python.HLT.Jet.JetHIConfig.PrimaryVerticesContainerName

Definition at line 116 of file JetHIConfig.py.

replace
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition: hcg.cxx:307
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
vtune_athena.format
format
Definition: vtune_athena.py:14
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
HIClusterMaker
Algorithm to build HI-style clusters, which are essentially towers. Cluster energy is sum of cell ene...
Definition: HIClusterMaker.h:37
HIJetRecUtilsCA.getHIClusterGeoWeightFile
def getHIClusterGeoWeightFile(flags)
Definition: HIJetRecUtilsCA.py:7
python.HLT.Jet.JetHIConfig.jetHIRecoSequenceCA
def jetHIRecoSequenceCA(configFlags, clustersKey, towerKey, **jetRecoDict)
Definition: JetHIConfig.py:132
python.HLT.Jet.JetHIConfig.HLTHIJetClusterSubtractorGetter
def HLTHIJetClusterSubtractorGetter(configFlags)
Definition: JetHIConfig.py:396
HIJetConstituentSubtractionTool
JetModifier that actual does the background subtraction. This tool is the most important one applied ...
Definition: HIJetConstituentSubtractionTool.h:44
python.HLT.Jet.JetHIConfig.ApplySubtractionToClustersHLT
def ApplySubtractionToClustersHLT(configFlags, **kwargs)
Definition: JetHIConfig.py:455
HIUEModulatorTool
Definition: HIUEModulatorTool.h:17
python.HLT.Jet.JetHIConfig.GetConstituentsModifierToolHLT
def GetConstituentsModifierToolHLT(configFlags, **kwargs)
Definition: JetHIConfig.py:477
python.HLT.Jet.JetHIConfig.HLTAddIteration
def HLTAddIteration(configFlags, seed_container, shape_name, clustersKey, **kwargs)
Definition: JetHIConfig.py:300
python.HLT.Jet.JetHIConfig.HLTGetNullModulator
def HLTGetNullModulator()
Definition: JetHIConfig.py:357
JetOnlineMon.getMonTool_TrigJetAlgorithm
def getMonTool_TrigJetAlgorithm(flags, path)
Definition: JetOnlineMon.py:4
python.HLT.Jet.JetHIConfig.getHIJetRecAlg
def getHIJetRecAlg(jetdef, jetsName, monTool=None)
Definition: JetHIConfig.py:267
python.HLT.Jet.JetHIConfig.jetHIEventShapeSequenceCA
def jetHIEventShapeSequenceCA(configFlags, clustersKey, towerKey)
Definition: JetHIConfig.py:76
HIJetClusterSubtractorTool
Concrete implementation of HIJetSubtractorToolBase. Class used by HIClusterSubtraction and HIJetConst...
Definition: HIJetClusterSubtractorTool.h:32
python.HLT.Jet.JetHIConfig.HLTMakeSubtractionTool
def HLTMakeSubtractionTool(configFlags, shapeKey, moment_name='', momentOnly=False, **kwargs)
Definition: JetHIConfig.py:407
HIEventShapeJetIteration
Definition: HIEventShapeJetIteration.h:25
python.HLT.Jet.JetHIConfig.HLTBuildHarmonicName
def HLTBuildHarmonicName(shape_key, **kwargs)
Definition: JetHIConfig.py:350
HIClusterSubtraction
Algorithm that applies background subtraction to clusters. The subtraction needs to be handled separa...
Definition: HIClusterSubtraction.h:40
python.JetRecConfig.getJetCopyAlg
def getJetCopyAlg(jetsin, jetsoutdef, decorations=[], shallowcopy=True, shallowIO=True, monTool=None)
Definition: JetRecConfig.py:494
python.HLT.Jet.JetHIConfig.HLTMakeModulatorTool
def HLTMakeModulatorTool(mod_key, **kwargs)
Definition: JetHIConfig.py:365
HIJetConstituentModifierTool
Definition: HIJetConstituentModifierTool.h:24
python.HLT.Jet.JetHIConfig.HLTRunTools
def HLTRunTools(toollist, algoName)
Definition: JetHIConfig.py:260
python.TriggerEDM.recordable
def recordable(arg, runVersion=3)
Definition: TriggerEDM.py:34
str
Definition: BTagTrackIpAccessor.cxx:11
python.HLT.Jet.JetHIConfig.HeavyIonJetRecoDataDeps
def HeavyIonJetRecoDataDeps(flags, **jetRecoDict)
Definition: JetHIConfig.py:21
python.HLT.Jet.JetHIConfig.HLTHIClusterGetter
def HLTHIClusterGetter(dummyFlags, tower_key="CombinedTower", cell_key="AllCalo", cluster_key="HLT_HIClusters")
Definition: JetHIConfig.py:443