ATLAS Offline Software
Functions | Variables
python.HLT.CommonSequences.EventBuildingSequences Namespace Reference

Functions

def addEventBuildingSequence (flags, chain, eventBuildType, chainDict)
 
def pebInfoWriterToolCfg (flags, name, eventBuildType)
 
def getPEBBuildSuffix (chain, eventBuildType)
 
def pebInputMaker (flags, chain, eventBuildType)
 
def pebMenuSequenceGenCfg (flags, chain, eventBuildType, chainDict)
 
def findEventBuildingStep (chainConfig)
 
def alignEventBuildingSteps (chain_configs, chain_dicts)
 
def isFullScan (chain)
 
def isNoAlg (chain)
 

Variables

 log
 
 flags
 
 Files
 
 AtlasVersion
 
 failures
 
 tool
 
 cfg
 
 isRoIBasedPEB
 
 robs
 
 dets
 
 robs_check_passed
 
 is_data_scouting
 
 rob_sid
 
 rob_det_id
 
 always_present_rob
 

Function Documentation

◆ addEventBuildingSequence()

def python.HLT.CommonSequences.EventBuildingSequences.addEventBuildingSequence (   flags,
  chain,
  eventBuildType,
  chainDict 
)
Add an extra ChainStep to a Chain object with a PEBInfoWriter sequence configured for the eventBuildType

Definition at line 18 of file EventBuildingSequences.py.

18 def addEventBuildingSequence(flags, chain, eventBuildType, chainDict):
19  '''
20  Add an extra ChainStep to a Chain object with a PEBInfoWriter sequence configured for the eventBuildType
21  '''
22  if not eventBuildType:
23  log.error('No eventBuildType specified')
24  return
25  if eventBuildType not in EventBuildingInfo.getAllEventBuildingIdentifiers():
26  log.error('eventBuildType \'%s\' not found in the allowed Event Building identifiers', eventBuildType)
27  return
28 
29  seq = functools.partial(pebMenuSequenceGenCfg, flags, chain=chain, eventBuildType=eventBuildType, chainDict=chainDict)
30 
31  if len(chain.steps)==0:
32  # noalg PEB chain
33  step_name = 'PEBInfoWriter_{:s}'.format( eventBuildType)
34  step = ChainStep(name=step_name,
35  SequenceGens=[seq],
36  chainDicts=[chainDict])
37  else:
38  # standard PEB chain
39  prevStep = chain.steps[-1]
40  step_name = 'EventBuild_{:s}_PEBInfoWriter_{:s}'.format(prevStep.name, eventBuildType)
41  step = ChainStep(name=step_name,
42  SequenceGens=[seq for leg in prevStep.legIds],
43  chainDicts=prevStep.stepDicts)
44 
45  chain.steps.append(step)
46 

◆ alignEventBuildingSteps()

def python.HLT.CommonSequences.EventBuildingSequences.alignEventBuildingSteps (   chain_configs,
  chain_dicts 
)

Definition at line 319 of file EventBuildingSequences.py.

319 def alignEventBuildingSteps(chain_configs, chain_dicts):
320 
321  all_peb_chain_configs = [ch for ch in chain_configs if len(chain_dicts[ch.name]['eventBuildType'])>0]
322 
323  def getPebStepPosition(chainConfig):
324  pebStep = findEventBuildingStep(chainConfig)
325  return chainConfig.steps.index(pebStep) + 1
326 
327  # First loop to find the maximal PEB step positions to which we need to align
328  maxPebStepPosition = {} # {eventBuildType: N}
329  for chain in all_peb_chain_configs:
330  pebStepPosition = getPebStepPosition(chain)
331  ebt = chain_dicts[chain.name]['eventBuildType']
332  if ebt not in maxPebStepPosition or pebStepPosition > maxPebStepPosition[ebt]:
333  maxPebStepPosition[ebt] = pebStepPosition
334 
335  # Second loop to insert empty steps before the PEB steps where needed
336  for chain in all_peb_chain_configs:
337  pebStepPosition = getPebStepPosition(chain)
338  ebt = chain_dicts[chain.name]['eventBuildType']
339  if pebStepPosition < maxPebStepPosition[ebt]:
340  numStepsNeeded = maxPebStepPosition[ebt] - pebStepPosition
341  log.debug('Aligning PEB step for chain %s by adding %d empty steps', chain.name, numStepsNeeded)
342  chain.insertEmptySteps('EmptyPEBAlign', numStepsNeeded, pebStepPosition-1)
343  chain.numberAllSteps()
344 
345 

◆ findEventBuildingStep()

def python.HLT.CommonSequences.EventBuildingSequences.findEventBuildingStep (   chainConfig)

Definition at line 310 of file EventBuildingSequences.py.

310 def findEventBuildingStep(chainConfig):
311  pebSteps = [s for s in chainConfig.steps if 'PEBInfoWriter' in s.name and 'EmptyPEBAlign' not in s.name]
312  if len(pebSteps) == 0:
313  return None
314  elif len(pebSteps) > 1:
315  raise RuntimeError('Multiple Event Building steps in one chain are not supported but found in chain ' + chainConfig.name)
316  return pebSteps[0]
317 
318 

◆ getPEBBuildSuffix()

def python.HLT.CommonSequences.EventBuildingSequences.getPEBBuildSuffix (   chain,
  eventBuildType 
)
Define suffix for unique configurations - prevents config clashes.

Definition at line 242 of file EventBuildingSequences.py.

242 def getPEBBuildSuffix(chain, eventBuildType):
243  '''
244  Define suffix for unique configurations - prevents config clashes.
245  '''
246 
247  suffix=''
248 
249  _isFullscan = isFullScan(chain)
250  _isRoIBasedPEB = EventBuildingInfo.isRoIBasedPEB(eventBuildType)
251  _isNoalg = isNoAlg(chain)
252 
253  if _isNoalg or not _isRoIBasedPEB: suffix+='_noSeed'
254  if _isFullscan and _isRoIBasedPEB: suffix+='_RoIBasedFS'
255 
256  return suffix
257 

◆ isFullScan()

def python.HLT.CommonSequences.EventBuildingSequences.isFullScan (   chain)
Helper function to determine if chain is full scan

Definition at line 346 of file EventBuildingSequences.py.

346 def isFullScan(chain):
347  '''Helper function to determine if chain is full scan'''
348  # Check if we are configuring a chain with at least one full-scan leg
349  return (mapThresholdToL1DecisionCollection('FSNOSEED') in chain.L1decisions)
350 
351 

◆ isNoAlg()

def python.HLT.CommonSequences.EventBuildingSequences.isNoAlg (   chain)
Helper function to determine if chain has HLT reco

Definition at line 352 of file EventBuildingSequences.py.

352 def isNoAlg(chain):
353  '''Helper function to determine if chain has HLT reco'''
354  return (len(chain.steps) == 1 and "PEBInfoWriter" in chain.steps[0].name)
355 
356 
357 # Unit test

◆ pebInfoWriterToolCfg()

def python.HLT.CommonSequences.EventBuildingSequences.pebInfoWriterToolCfg (   flags,
  name,
  eventBuildType 
)
Create PEBInfoWriterTool configuration for the eventBuildType

Definition at line 47 of file EventBuildingSequences.py.

47 def pebInfoWriterToolCfg(flags, name, eventBuildType):
48  """Create PEBInfoWriterTool configuration for the eventBuildType"""
49 
50  # Main HLTResult ROB:
51  HLT_ROB = SourceIdentifier(SubDetector.TDAQ_HLT, DataScoutingInfo.getFullHLTResultID())
52 
53  acc = None
54  if 'BeamSpotPEB' == eventBuildType:
56  flags, name,
57  subDets = [SubDetector.PIXEL_BARREL,
58  SubDetector.PIXEL_DISK_SIDE, # note different name in C++, ADHI-4753
59  SubDetector.PIXEL_B_LAYER,
60  SubDetector.PIXEL_IBL,
61  SubDetector.SCT_BARREL_A_SIDE,
62  SubDetector.SCT_BARREL_C_SIDE,
63  SubDetector.SCT_ENDCAP_A_SIDE,
64  SubDetector.SCT_ENDCAP_C_SIDE,
65  SubDetector.TDAQ_CTP] )
66 
67  elif 'MuonTrkPEB' == eventBuildType:
69  flags, name,
70  regSelDets = ['Pixel', 'SCT', 'TRT', 'MDT', 'RPC', 'TGC', 'CSC', 'MM', 'sTGC'],
71  MaxRoIs = 99,
72  EtaWidth = 0.75, # values from run2 check later
73  PhiWidth = 0.75, # values from run2 check later
74  subDets = [SubDetector.TDAQ_CTP], # add full CTP data to the output
75  ROBs = [HLT_ROB] )
76 
77  elif 'IDCalibPEB' == eventBuildType:
79  flags, name,
80  regSelDets = ['Pixel', 'SCT', 'TRT'],
81  EtaWidth = 0.1,
82  PhiWidth = 0.1,
83  subDets = [SubDetector.TDAQ_CTP] )
84 
85  elif 'LArPEBCalib' == eventBuildType:
87  flags, name,
88  subDets = [SubDetector.LAR_EM_BARREL_A_SIDE,
89  SubDetector.LAR_EM_BARREL_C_SIDE,
90  SubDetector.LAR_EM_ENDCAP_A_SIDE,
91  SubDetector.LAR_EM_ENDCAP_C_SIDE,
92  SubDetector.LAR_HAD_ENDCAP_A_SIDE,
93  SubDetector.LAR_HAD_ENDCAP_C_SIDE,
94  SubDetector.LAR_FCAL_A_SIDE,
95  SubDetector.LAR_FCAL_C_SIDE,
96  SubDetector.LAR_EM_BARREL_ENDCAP_A_SIDE,
97  SubDetector.LAR_EM_BARREL_ENDCAP_C_SIDE,
98  SubDetector.LAR_EM_HAD_ENDCAP_A_SIDE,
99  SubDetector.LAR_EM_HAD_ENDCAP_C_SIDE,
100  SubDetector.TDAQ_CTP] )
101 
102  elif eventBuildType in ('LArPEBHLT', 'LArPEB'):
104  flags, name,
105  regSelDets = ['Pixel', 'SCT', 'TRT', 'TTEM', 'TTHEC', 'FCALEM', 'FCALHAD'],
106  MaxRoIs = 5,
107  ROBs = [HLT_ROB] + LATOMESourceIDs, # add full-scan LATOME data
108  subDets = [SubDetector.TDAQ_CTP] )
109 
110  elif 'LATOMEPEB' == eventBuildType:
112  flags, name,
113  ROBs = LATOMESourceIDs, # add full-scan LATOME data
114  subDets = [SubDetector.TDAQ_CTP] )
115 
116  elif 'SCTPEB' == eventBuildType:
118  flags, name,
119  subDets = [SubDetector.SCT_BARREL_A_SIDE,
120  SubDetector.SCT_BARREL_C_SIDE,
121  SubDetector.SCT_ENDCAP_A_SIDE,
122  SubDetector.SCT_ENDCAP_C_SIDE,
123  SubDetector.TDAQ_CTP] )
124 
125  elif 'TilePEB' == eventBuildType:
127  flags, name,
128  subDets = [SubDetector.TILECAL_LASER_CRATE,
129  SubDetector.TILECAL_BARREL_A_SIDE,
130  SubDetector.TILECAL_BARREL_C_SIDE,
131  SubDetector.TILECAL_EXT_A_SIDE,
132  SubDetector.TILECAL_EXT_C_SIDE,
133  SubDetector.TDAQ_CTP,
134  SubDetector.TDAQ_CALO_PREPROC, # = 0x71
135  SubDetector.TDAQ_CALO_CLUSTER_PROC_DAQ, # = 0x72
136  SubDetector.TDAQ_CALO_CLUSTER_PROC_ROI, # = 0x73
137  SubDetector.TDAQ_CALO_JET_PROC_DAQ, # = 0x74
138  SubDetector.TDAQ_CALO_JET_PROC_ROI # = 0x75
139  ],
140  MatchTriggerType = [0x31, 0x32, 0x34] if '_L1CALREQ' in name else [] )
141 
142  elif 'LArPEBNoise' == eventBuildType:
144  flags, name,
145  regSelDets = ['Pixel', 'SCT', 'TRT', 'TTEM', 'TTHEC', 'FCALEM', 'FCALHAD'],
146  MaxRoIs = 5,
147  ROBs = [HLT_ROB] + LATOMESourceIDs,
148  subDets = [SubDetector.MUON_MMEGA_ENDCAP_A_SIDE,
149  SubDetector.MUON_MMEGA_ENDCAP_C_SIDE,
150  SubDetector.MUON_STGC_ENDCAP_A_SIDE,
151  SubDetector.MUON_STGC_ENDCAP_C_SIDE,
152  SubDetector.TDAQ_CTP] )
153 
154  elif 'ZDCPEB' == eventBuildType:
156  flags, name,
157  subDets = [SubDetector.FORWARD_ZDC,
158  SubDetector.TDAQ_CTP],
159  MatchTriggerType = [0x69, 0x6a, 0x6c] if '_L1CALREQ' in name else [] )
160 
161  elif 'AFPPEB' == eventBuildType:
163  flags, name,
164  subDets = [SubDetector.FORWARD_AFP,
165  SubDetector.TDAQ_CTP] )
166 
167  elif 'LumiPEB' == eventBuildType:
169  flags, name,
170  ROBs = [HLT_ROB],
171  subDets = [SubDetector.PIXEL_IBL,
172  SubDetector.PIXEL_BARREL,
173  SubDetector.PIXEL_DISK_SIDE,
174  SubDetector.PIXEL_B_LAYER,
175  SubDetector.SCT_BARREL_A_SIDE,
176  SubDetector.SCT_BARREL_C_SIDE,
177  SubDetector.SCT_ENDCAP_A_SIDE,
178  SubDetector.SCT_ENDCAP_C_SIDE,
179  SubDetector.PIXEL_DBM,
180  SubDetector.TDAQ_CTP] )
181 
182  elif 'Lvl1CaloPEB' == eventBuildType:
184  flags, name,
185  ROBs = [HLT_ROB],
186  MaxRoIs = 1,
187  subDets = [SubDetector.TDAQ_CALO_PREPROC,
188  SubDetector.TDAQ_CALO_CLUSTER_PROC_DAQ,
189  SubDetector.TDAQ_CALO_CLUSTER_PROC_ROI,
190  SubDetector.TDAQ_CALO_JET_PROC_DAQ,
191  SubDetector.TDAQ_CALO_JET_PROC_ROI,
192  SubDetector.TDAQ_CTP] )
193 
194  elif 'DarkJetPEBTLA' == eventBuildType:
196  flags, name,
197  # Add subdetectors within a ROI for PEB
198  regSelDets = ['Pixel', 'SCT', 'TRT', 'TTEM', 'TTHEC', 'FCALEM', 'FCALHAD', 'TILE', 'MDT', 'RPC', 'TGC', 'CSC', 'MM', 'STGC'],
199  # DS HLT result
200  ROBs = [SourceIdentifier(SubDetector.TDAQ_HLT,
201  DataScoutingInfo.getDataScoutingResultID(eventBuildType))],
202  EtaWidth = 0.6, # half-width (the RoI is between etaJet-EtaWidth and etaJet+EtaWidth)
203  PhiWidth = 0.6,
204  MaxRoIs = 3 )
205 
206  elif 'EgammaPEBTLA' == eventBuildType:
208  flags, name,
209  # Add subdetectors within a ROI for PEB
210  regSelDets = ['Pixel', 'SCT', 'TRT', 'TTEM', 'TTHEC', 'FCALEM', 'FCALHAD', 'TILE'],
211  # DS HLT result
212  ROBs = [SourceIdentifier(SubDetector.TDAQ_HLT,
213  DataScoutingInfo.getDataScoutingResultID(eventBuildType))],
214  EtaWidth = 0.4, # half-width (the RoI is between etaJet-EtaWidth and etaJet+EtaWidth)
215  PhiWidth = 0.4,
216  MaxRoIs = 6 )
217  elif 'FTagPEBTLA' == eventBuildType:
219  flags, name,
220  # Add subdetectors within a ROI for PEB
221  regSelDets = ['Pixel', 'SCT'],
222  # DS HLT result
223  ROBs = [SourceIdentifier(SubDetector.TDAQ_HLT,
224  DataScoutingInfo.getDataScoutingResultID(eventBuildType))],
225  EtaWidth = 0.4, # half-width (the RoI is between etaJet-EtaWidth and etaJet+EtaWidth)
226  PhiWidth = 0.4,
227  MaxRoIs = 6 )
228 
229  elif eventBuildType in DataScoutingInfo.getAllDataScoutingIdentifiers():
230  # Pure DataScouting configuration
232  flags, name,
233  ROBs = [SourceIdentifier(SubDetector.TDAQ_HLT,
234  DataScoutingInfo.getDataScoutingResultID(eventBuildType))] )
235 
236  # Name not matched
237  if acc is None:
238  log.error('PEBInfoWriterTool configuration is missing for event building identifier \'%s\'', eventBuildType)
239 
240  return acc
241 

◆ pebInputMaker()

def python.HLT.CommonSequences.EventBuildingSequences.pebInputMaker (   flags,
  chain,
  eventBuildType 
)

Definition at line 258 of file EventBuildingSequences.py.

258 def pebInputMaker(flags, chain, eventBuildType):
259 
260  suffix= getPEBBuildSuffix(chain, eventBuildType)
261 
262  # Check if we are configuring a chain with at least one full-scan leg
263  isFullscan = isFullScan(chain)
264  # Check if we are configuring RoI-based PEB
265  _isRoIBasedPEB = EventBuildingInfo.isRoIBasedPEB(eventBuildType)
266  _isNoalg = isNoAlg(chain)
267 
268  # Configure the InputMaker
269  maker = CompFactory.InputMakerForRoI("IMpeb_" + eventBuildType + suffix)
270  maker.RoIs = "pebInputRoI_" + eventBuildType + suffix
271  # Allow more than one feature per input RoI if we care about RoIs, and have at least one Step
272  maker.mergeUsingFeature = _isRoIBasedPEB and not _isNoalg
273 
274  # Configure the InputMaker RoI tool
275  if _isNoalg or not _isRoIBasedPEB:
276  # Streamers or static PEB: use initial RoI
277  maker.RoITool = CompFactory.ViewCreatorInitialROITool()
278  elif isFullscan and _isRoIBasedPEB:
279  # Full-scan chains with RoI-based PEB: create RoI around feature IParticle
280  maker.RoITool = CompFactory.ViewCreatorCentredOnIParticleROITool()
281  maker.RoITool.RoisWriteHandleKey = recordable("HLT_Roi_" + eventBuildType)
282  else:
283  # Other chains: use previous RoI
284  maker.RoITool = CompFactory.ViewCreatorPreviousROITool()
285 
286  return maker
287 
288 

◆ pebMenuSequenceGenCfg()

def python.HLT.CommonSequences.EventBuildingSequences.pebMenuSequenceGenCfg (   flags,
  chain,
  eventBuildType,
  chainDict 
)
Return the MenuSequence for the PEB input maker for this chain.

Definition at line 289 of file EventBuildingSequences.py.

289 def pebMenuSequenceGenCfg(flags, chain, eventBuildType, chainDict):
290  '''
291  Return the MenuSequence for the PEB input maker for this chain.
292  '''
293 
294  def pebInfoWriterToolGenerator(chainDict):
295  return pebInfoWriterToolCfg(flags, chainDict['chainName'], eventBuildType)
296 
297  suffix = getPEBBuildSuffix(chain, eventBuildType)
298 
299  inputMaker = pebInputMaker(flags, chain, eventBuildType)
300  recoAcc = InEventRecoCA("pebSequence_"+eventBuildType, inputMaker=inputMaker)
301  selAcc = SelectionCA("pebMainSeq_"+eventBuildType+suffix)
302  selAcc.mergeReco(recoAcc)
303  selAcc.addHypoAlgo(CompFactory.PEBInfoWriterAlg('PEBInfoWriterAlg_' + eventBuildType+suffix))
304 
305  return MenuSequence(flags,
306  selAcc,
307  HypoToolGen = pebInfoWriterToolGenerator)
308 
309 

Variable Documentation

◆ always_present_rob

python.HLT.CommonSequences.EventBuildingSequences.always_present_rob

Definition at line 421 of file EventBuildingSequences.py.

◆ AtlasVersion

python.HLT.CommonSequences.EventBuildingSequences.AtlasVersion

Definition at line 363 of file EventBuildingSequences.py.

◆ cfg

python.HLT.CommonSequences.EventBuildingSequences.cfg

Definition at line 375 of file EventBuildingSequences.py.

◆ dets

python.HLT.CommonSequences.EventBuildingSequences.dets

Definition at line 402 of file EventBuildingSequences.py.

◆ failures

python.HLT.CommonSequences.EventBuildingSequences.failures

Definition at line 370 of file EventBuildingSequences.py.

◆ Files

python.HLT.CommonSequences.EventBuildingSequences.Files

Definition at line 362 of file EventBuildingSequences.py.

◆ flags

python.HLT.CommonSequences.EventBuildingSequences.flags

Definition at line 361 of file EventBuildingSequences.py.

◆ is_data_scouting

python.HLT.CommonSequences.EventBuildingSequences.is_data_scouting

Definition at line 404 of file EventBuildingSequences.py.

◆ isRoIBasedPEB

python.HLT.CommonSequences.EventBuildingSequences.isRoIBasedPEB

Definition at line 394 of file EventBuildingSequences.py.

◆ log

python.HLT.CommonSequences.EventBuildingSequences.log

Definition at line 15 of file EventBuildingSequences.py.

◆ rob_det_id

python.HLT.CommonSequences.EventBuildingSequences.rob_det_id

Definition at line 407 of file EventBuildingSequences.py.

◆ rob_sid

python.HLT.CommonSequences.EventBuildingSequences.rob_sid

Definition at line 406 of file EventBuildingSequences.py.

◆ robs

python.HLT.CommonSequences.EventBuildingSequences.robs

Definition at line 401 of file EventBuildingSequences.py.

◆ robs_check_passed

python.HLT.CommonSequences.EventBuildingSequences.robs_check_passed

Definition at line 403 of file EventBuildingSequences.py.

◆ tool

python.HLT.CommonSequences.EventBuildingSequences.tool

Definition at line 373 of file EventBuildingSequences.py.

python.HLT.CommonSequences.EventBuildingSequences.addEventBuildingSequence
def addEventBuildingSequence(flags, chain, eventBuildType, chainDict)
Definition: EventBuildingSequences.py:18
TrigPartialEventBuildingConfig.RoIPEBInfoWriterToolCfg
def RoIPEBInfoWriterToolCfg(flags, name='RoIPEBInfoWriterTool', list[str] regSelDets=[], list[SourceIdentifier] ROBs=[], list[SubDetector] subDets=[], **kwargs)
Definition: TrigPartialEventBuildingConfig.py:61
python.HLT.CommonSequences.EventBuildingSequences.findEventBuildingStep
def findEventBuildingStep(chainConfig)
Definition: EventBuildingSequences.py:310
vtune_athena.format
format
Definition: vtune_athena.py:14
python.HLT.CommonSequences.EventBuildingSequences.isFullScan
def isFullScan(chain)
Definition: EventBuildingSequences.py:346
python.HLT.CommonSequences.EventBuildingSequences.getPEBBuildSuffix
def getPEBBuildSuffix(chain, eventBuildType)
Definition: EventBuildingSequences.py:242
python.HLT.CommonSequences.EventBuildingSequences.isNoAlg
def isNoAlg(chain)
Definition: EventBuildingSequences.py:352
python.HLT.CommonSequences.EventBuildingSequences.pebInfoWriterToolCfg
def pebInfoWriterToolCfg(flags, name, eventBuildType)
Definition: EventBuildingSequences.py:47
python.HLT.CommonSequences.EventBuildingSequences.pebMenuSequenceGenCfg
def pebMenuSequenceGenCfg(flags, chain, eventBuildType, chainDict)
Definition: EventBuildingSequences.py:289
TrigPartialEventBuildingConfig.StaticPEBInfoWriterToolCfg
def StaticPEBInfoWriterToolCfg(flags, name='StaticPEBInfoWriterTool', list[SourceIdentifier] ROBs=[], list[SubDetector] subDets=[], **kwargs)
Definition: TrigPartialEventBuildingConfig.py:85
python.HLT.CommonSequences.EventBuildingSequences.pebInputMaker
def pebInputMaker(flags, chain, eventBuildType)
Definition: EventBuildingSequences.py:258
python.HLT.CommonSequences.EventBuildingSequences.alignEventBuildingSteps
def alignEventBuildingSteps(chain_configs, chain_dicts)
Definition: EventBuildingSequences.py:319
python.TriggerEDM.recordable
def recordable(arg, runVersion=3)
Definition: TriggerEDM.py:34
HLTSeedingConfig.mapThresholdToL1DecisionCollection
def mapThresholdToL1DecisionCollection(threshold)
Definition: HLTSeedingConfig.py:79