ATLAS Offline Software
prefilter_ptrange.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
2 
3 from TrigHLTJetHypo.FastReductionAlgToolFactory import toolfactory
4 
5 from AthenaCommon.Logging import logging
6 from AthenaCommon.Constants import DEBUG
7 
8 import re
9 
10 logger = logging.getLogger( __name__)
11 logger.setLevel(DEBUG)
12 
13 pattern = r'^PTRANGE(?P<begin>\d+)(r)(?P<end>\d+)$'
14 
15 rgx = re.compile(pattern)
16 
17 
18 def prefilter_ptrange(pf_string):
19  """calculate the parameters needed to generate a RangeFilter config
20  AlgTool starting from the prefilter substring if it appears in the
21  chain dict"""
22 
23  assert pf_string.startswith('PTRANGE'),\
24  'routing error, module %s: bad prefilter %s' % (__name__, pf_string)
25 
26  m = rgx.match(pf_string)
27  groupdict = m.groupdict()
28 
29  vals = {}
30  vals['begin'] = int(groupdict['begin']) - 1 # chainname indices atart at 1
31  vals['end'] = int(groupdict['end']) # so "end" is 1 + last pos in rangw
32 
33  toolclass, name = toolfactory('RangeFilterConfigTool')
34  vals['name'] = name
35 
36  return toolclass(**vals)
37 
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
Constants
some useful constants -------------------------------------------------—
python.prefilter_ptrange.prefilter_ptrange
def prefilter_ptrange(pf_string)
Definition: prefilter_ptrange.py:18
python.FastReductionAlgToolFactory.toolfactory
toolfactory
Definition: FastReductionAlgToolFactory.py:106