ATLAS Offline Software
Functions | Variables
IsolationBuilderConfig Namespace Reference

Functions

def egIsolationCfg (flags, name='egIsolation', noCalo=False, **kwargs)
 
def muIsolationCfg (flags, name='muIsolation', noCalo=False, **kwargs)
 

Variables

 flags = initConfigFlags()
 
 Files
 
 doWriteESD
 
 doWriteAOD
 
 mlog = logging.getLogger("isolationConfigTest")
 
 acc = MainServicesCfg(flags)
 
 nestLevel
 
 printDefaults
 

Function Documentation

◆ egIsolationCfg()

def IsolationBuilderConfig.egIsolationCfg (   flags,
  name = 'egIsolation',
  noCalo = False,
**  kwargs 
)

Definition at line 9 of file IsolationBuilderConfig.py.

9 def egIsolationCfg(flags, name='egIsolation', noCalo=False, **kwargs):
10 
11  mlog = logging.getLogger(name)
12  mlog.info('Starting '+name+' configuration')
13 
14  acc = ComponentAccumulator()
15 
16  suff = ''
17  if name.find('photon') >= 0:
18  suff = 'photon'
19  pref = 'Ph'
20  elif name.find('electron') >= 0:
21  suff = 'electron'
22  pref = 'El'
23  else:
24  mlog.error('Name '+name+' should contain electron or photon')
25  return acc
26 
27  from xAODPrimitives.xAODIso import xAODIso as isoPar
28  from IsolationAlgs.IsoToolsConfig import (
29  TrackIsolationToolCfg, ElectronTrackIsolationToolCfg,
30  EGammaCaloIsolationToolCfg)
31 
32  isoType = []
33  isoCor = []
34  isoExCor = []
35 
36  if flags.Detector.EnableID or flags.Detector.EnableITk:
37  isoType.append([ isoPar.ptcone30, isoPar.ptcone20 ])
38  isoCor.append([ isoPar.coreTrackPtr ])
39  isoExCor.append([])
40  if 'TrackIsolationTool' not in kwargs:
41  if pref == 'Ph':
42  kwargs['TrackIsolationTool'] = acc.popToolsAndMerge(
43  TrackIsolationToolCfg(flags))
44  else:
45  kwargs['TrackIsolationTool'] = acc.popToolsAndMerge(
47 
48  if flags.Detector.EnableCalo and not noCalo:
49  isoType.append(
50  [ isoPar.topoetcone20, isoPar.topoetcone30, isoPar.topoetcone40 ])
51  isoCor.append(
52  [ isoPar.core57cells, isoPar.ptCorrection, isoPar.pileupCorrection ])
53  # do not do pileup correction if HI with subtracted clusters
54  if flags.HeavyIon.Egamma.doSubtractedClusters:
55  isoCor[-1] = [ x for x in isoCor[-1] if x != isoPar.pileupCorrection ]
56  isoExCor.append([])
57  if 'CaloTopoIsolationTool' not in kwargs:
58  kwargs['CaloTopoIsolationTool'] = acc.popToolsAndMerge(
60 
61  kwargs[f'{pref}IsoTypes'] = isoType
62  kwargs[f'{pref}CorTypes'] = isoCor
63  kwargs[f'{pref}CorTypesExtra'] = isoExCor
64 
65  kwargs['name'] = suff+'IsolationBuilder'
66 
67  acc.addEventAlgo(CompFactory.IsolationBuilder(**kwargs))
68 
69  mlog.info(suff+" isolation configured")
70 
71  return acc
72 

◆ muIsolationCfg()

def IsolationBuilderConfig.muIsolationCfg (   flags,
  name = 'muIsolation',
  noCalo = False,
**  kwargs 
)

Definition at line 73 of file IsolationBuilderConfig.py.

73 def muIsolationCfg(flags, name='muIsolation', noCalo=False, **kwargs):
74 
75  mlog = logging.getLogger(name)
76  mlog.info('Starting '+name+' configuration')
77 
78  acc = ComponentAccumulator()
79 
80  from xAODPrimitives.xAODIso import xAODIso as isoPar
81  from IsolationAlgs.IsoToolsConfig import (
82  TrackIsolationToolCfg, MuonCaloIsolationToolCfg)
83 
84  isoType = []
85  isoCor = []
86  isoExCor = []
87 
88  if flags.Detector.EnableID or flags.Detector.EnableITk:
89  isoType.append([ isoPar.ptcone40, isoPar.ptcone30, isoPar.ptcone20 ])
90  isoCor.append([ isoPar.coreTrackPtr ])
91  isoExCor.append([])
92  if 'TrackIsolationTool' not in kwargs:
93  kwargs['TrackIsolationTool'] = acc.popToolsAndMerge(
94  TrackIsolationToolCfg(flags))
95 
96  if flags.Detector.EnableCalo and not noCalo:
97  isoType.append(
98  [ isoPar.topoetcone20, isoPar.topoetcone30, isoPar.topoetcone40 ])
99  isoCor.append([ isoPar.coreCone, isoPar.pileupCorrection ])
100  # do not do pileup correction if HI with subtracted clusters
101  if flags.HeavyIon.Egamma.doSubtractedClusters:
102  isoCor[-1] = [ x for x in isoCor[-1] if x != isoPar.pileupCorrection ]
103  isoExCor.append([])
104  if ('CaloTopoIsolationTool' not in kwargs) or (
105  'PFlowIsolationTool' not in kwargs):
106  cisoTool = acc.popToolsAndMerge(MuonCaloIsolationToolCfg(flags))
107  if 'CaloTopoIsolationTool' not in kwargs:
108  kwargs['CaloTopoIsolationTool'] = cisoTool
109  if flags.Reco.EnablePFlow and 'PFlowIsolationTool' not in kwargs:
110  isoType.append(
111  [ isoPar.neflowisol20, isoPar.neflowisol30, isoPar.neflowisol40 ])
112  isoCor.append([ isoPar.coreCone, isoPar.pileupCorrection ])
113  # do not do pileup correction for HI reco...
114  # and pflow iso is more than experimental in such reco anyway
115  if flags.HeavyIon.Egamma.doSubtractedClusters:
116  isoCor[-1] = [ x for x in isoCor[-1] if x != isoPar.pileupCorrection ]
117  isoExCor.append([])
118  kwargs['PFlowIsolationTool'] = cisoTool
119 
120  kwargs['MuIsoTypes'] = isoType
121  kwargs['MuCorTypes'] = isoCor
122  kwargs['MuCorTypesExtra'] = isoExCor
123  kwargs['name'] = 'muonIsolationBuilder'
124 
125  acc.addEventAlgo(CompFactory.IsolationBuilder(**kwargs))
126 
127  mlog.info("muon isolation configured")
128 
129  return acc
130 
131 

Variable Documentation

◆ acc

IsolationBuilderConfig.acc = MainServicesCfg(flags)

Definition at line 146 of file IsolationBuilderConfig.py.

◆ doWriteAOD

IsolationBuilderConfig.doWriteAOD

Definition at line 140 of file IsolationBuilderConfig.py.

◆ doWriteESD

IsolationBuilderConfig.doWriteESD

Definition at line 139 of file IsolationBuilderConfig.py.

◆ Files

IsolationBuilderConfig.Files

Definition at line 138 of file IsolationBuilderConfig.py.

◆ flags

IsolationBuilderConfig.flags = initConfigFlags()

Definition at line 137 of file IsolationBuilderConfig.py.

◆ mlog

IsolationBuilderConfig.mlog = logging.getLogger("isolationConfigTest")

Definition at line 143 of file IsolationBuilderConfig.py.

◆ nestLevel

IsolationBuilderConfig.nestLevel

Definition at line 152 of file IsolationBuilderConfig.py.

◆ printDefaults

IsolationBuilderConfig.printDefaults

Definition at line 153 of file IsolationBuilderConfig.py.

python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
IsoToolsConfig.ElectronTrackIsolationToolCfg
def ElectronTrackIsolationToolCfg(flags, **kwargs)
Definition: IsoToolsConfig.py:50
IsoToolsConfig.MuonCaloIsolationToolCfg
def MuonCaloIsolationToolCfg(flags, **kwargs)
Definition: IsoToolsConfig.py:88
IsolationBuilderConfig.egIsolationCfg
def egIsolationCfg(flags, name='egIsolation', noCalo=False, **kwargs)
Definition: IsolationBuilderConfig.py:9
python.TrackIsolationDecoratorConfig.TrackIsolationToolCfg
def TrackIsolationToolCfg(ConfigFlags, name="TrackIsolationTool", **kwargs)
Definition: TrackIsolationDecoratorConfig.py:12
IsolationBuilderConfig.muIsolationCfg
def muIsolationCfg(flags, name='muIsolation', noCalo=False, **kwargs)
Definition: IsolationBuilderConfig.py:73
IsoToolsConfig.EGammaCaloIsolationToolCfg
def EGammaCaloIsolationToolCfg(flags, **kwargs)
Definition: IsoToolsConfig.py:55