ATLAS Offline Software
Loading...
Searching...
No Matches
IsolationSteeringDerivConfig Namespace Reference

Functions

 IsolationSteeringDerivCfg (flags, name='IsolationSteeringDeriv', inType='EMPFlow')
 FwdElectronIsolationSteeringDerivCfg (flags, name='FwdElectronIsolationSteeringDeriv')
 LRTElectronIsolationSteeringDerivCfg (flags, name='LRTElectronCaloIsolationSteeringDeriv')
 LRTMuonIsolationSteeringDerivCfg (flags, name='LRTMuonCaloIsolationSteeringDeriv')

Variables

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

Detailed Description

Instantiate the pflow isolation for egamma in derivation 

Function Documentation

◆ FwdElectronIsolationSteeringDerivCfg()

FwdElectronIsolationSteeringDerivCfg ( flags,
name = 'FwdElectronIsolationSteeringDeriv' )

Definition at line 66 of file IsolationSteeringDerivConfig.py.

66def FwdElectronIsolationSteeringDerivCfg(flags, name = 'FwdElectronIsolationSteeringDeriv'):
67
68 kwargs = dict()
69 mlog = logging.getLogger(name)
70 mlog.info('Starting Forward electron Isolation steering')
71 acc = ComponentAccumulator()
72
73 suff = 'forwardElectron'
74
75 from xAODPrimitives.xAODIso import xAODIso as isoPar
76 from IsolationAlgs.IsoToolsConfig import EGammaCaloIsolationToolCfg
77 isoType = []
78 isoCor = []
79 isoExCor = []
80 if not flags.HeavyIon.Egamma.doSubtractedClusters:
81 isoType.append([isoPar.topoetcone20, isoPar.topoetcone30, isoPar.topoetcone40])
82 isoCor.append([isoPar.coreCone, isoPar.pileupCorrection])
83 isoExCor.append([ ])
84 kwargs['CaloTopoIsolationTool'] = acc.popToolsAndMerge(EGammaCaloIsolationToolCfg(flags))
85
86
87 if flags.Detector.EnableITk :
88 from IsolationAlgs.IsoToolsConfig import ElectronTrackIsolationToolCfg
89 isoType.append([ isoPar.ptcone30, isoPar.ptcone20 ])
90 isoCor.append([ isoPar.coreTrackPtr ])
91 isoExCor.append([])
92 if flags.Reco.EnableHGTDExtension:
93 extraInputs = []
94 extraInputs += [("xAOD::TrackParticleContainer","StoreGateSvc+GSFTrackParticles.time")]
95 kwargs.setdefault("ExtraInputs", extraInputs)
96 kwargs['TrackIsolationTool'] = acc.popToolsAndMerge(ElectronTrackIsolationToolCfg(flags,DoForwardIsoTiming=True))
97 else:
98 kwargs['TrackIsolationTool'] = acc.popToolsAndMerge(ElectronTrackIsolationToolCfg(flags))
99
100 kwargs['FwdElIsoTypes'] = isoType
101 kwargs['FwdElCorTypes'] = isoCor
102 kwargs['FwdElCorTypesExtra'] = isoExCor
103
104
105 kwargs['name'] = suff+'IsolationBuilder'
106
107 acc.addEventAlgo(CompFactory.IsolationBuilder(**kwargs))
108
109 mlog.info(suff+" isolation configured")
110
111 return acc
112

◆ IsolationSteeringDerivCfg()

IsolationSteeringDerivCfg ( flags,
name = 'IsolationSteeringDeriv',
inType = 'EMPFlow' )

Definition at line 9 of file IsolationSteeringDerivConfig.py.

9def IsolationSteeringDerivCfg(flags, name = 'IsolationSteeringDeriv', inType = 'EMPFlow'):
10
11 includeFwdElectrons = "ForwardElectrons" in flags.Input.Collections
12 mlog = logging.getLogger(name)
13 mlog.info('Starting Isolation steering')
14
15 acc = ComponentAccumulator()
16
17 suff = 'CSSK' if inType.find('CSSK') >= 0 else ''
18 from IsolationAlgs.IsoDensityConfig import NFlowInputAlgCfg
19 acc.merge(NFlowInputAlgCfg(flags,InputType = inType))
20 # Prepare densities (not needed in HI, because no pu subtraction)
21 if not flags.HeavyIon.Egamma.doSubtractedClusters:
22 from IsolationAlgs.IsoDensityConfig import DensityForIsoAlgCfg
23 acc.merge(DensityForIsoAlgCfg(flags,name='CentralDensityFor'+suff+'NFlowIso'))
24 acc.merge(DensityForIsoAlgCfg(flags,name='ForwardDensityFor'+suff+'NFlowIso'))
25
26 # Prepare CaloIsolationTool
27 kwargs = dict()
28 margs = dict()
29 margs['FlowElementsInConeTool'] = CompFactory.xAOD.FlowElementsInConeTool(
30 name=suff+'FlowElementsInConeTool')
31 if len(suff) > 0:
32 kwargs['CustomConfigurationNameEl'] = suff
33 kwargs['CustomConfigurationNamePh'] = suff
34 margs['EFlowEDCentralContainer'] = 'NeutralParticle'+suff+'FlowIsoCentralEventShape'
35 margs['EFlowEDForwardContainer'] = 'NeutralParticle'+suff+'FlowIsoForwardEventShape'
36 margs['FlowElementsInConeTool'].PFlowKey=suff+'NeutralParticleFlowObjects'
37 from IsolationAlgs.IsoToolsConfig import EGammaCaloIsolationToolCfg
38 kwargs['PFlowIsolationTool'] = acc.popToolsAndMerge(EGammaCaloIsolationToolCfg(flags,**margs))
39
40 # Prepare IsolationBuilder
41 from xAODPrimitives.xAODIso import xAODIso as isoPar
42 isoType = [ [ isoPar.neflowisol20, isoPar.neflowisol30, isoPar.neflowisol40 ] ]
43 isoCor = [ [ isoPar.coreCone ] ]
44 if not flags.HeavyIon.Egamma.doSubtractedClusters:
45 isoCor[0].append(isoPar.pileupCorrection)
46 isoExCor = [ [ isoPar.coreConeSC ] ]
47 kwargs['ElIsoTypes'] = isoType
48 kwargs['ElCorTypes'] = isoCor
49 kwargs['ElCorTypesExtra'] = isoExCor
50 kwargs['PhIsoTypes'] = isoType
51 kwargs['PhCorTypes'] = isoCor
52 kwargs['PhCorTypesExtra'] = isoExCor
53 if includeFwdElectrons:
54 kwargs['FwdElIsoTypes'] = isoType
55 kwargs['FwdElCorTypes'] = isoCor
56 kwargs['FwdElCorTypesExtra'] = isoExCor
57
58 kwargs['name'] = suff+'PFlowIsolationBuilder'
59
60 acc.addEventAlgo(CompFactory.IsolationBuilder(**kwargs))
61
62 mlog.info("PFlow isolation configured")
63
64 return acc
65

◆ LRTElectronIsolationSteeringDerivCfg()

LRTElectronIsolationSteeringDerivCfg ( flags,
name = 'LRTElectronCaloIsolationSteeringDeriv' )

Definition at line 113 of file IsolationSteeringDerivConfig.py.

113def LRTElectronIsolationSteeringDerivCfg(flags, name = 'LRTElectronCaloIsolationSteeringDeriv'):
114
115 mlog = logging.getLogger(name)
116 mlog.info('Starting LRT electron calo Isolation steering')
117
118 acc = ComponentAccumulator()
119
120 # Need to add density inputs for mc20 (containers present in MC21 AODs)
121 from IsolationAlgs.IsoDensityConfig import (
122 NFlowInputAlgCfg, DensityForIsoAlgCfg)
123 acc.merge(NFlowInputAlgCfg(flags,InputType = "EMPFlow"))
124 acc.merge(DensityForIsoAlgCfg(flags,name='CentralDensityForNFlowIso'))
125 acc.merge(DensityForIsoAlgCfg(flags,name='ForwardDensityForNFlowIso'))
126
127 # Prepare CaloIsolationTool
128 kwargs = dict()
129 the_pflowElementsTool = CompFactory.xAOD.FlowElementsInConeTool(
130 name='FlowElementsInConeTool')
131
132 from IsolationAlgs.IsoToolsConfig import EGammaCaloIsolationToolCfg
133 cisoTool = acc.popToolsAndMerge(EGammaCaloIsolationToolCfg(flags,
134 FlowElementsInConeTool = the_pflowElementsTool))
135
136 # Prepare IsolationBuilder
137 from xAODPrimitives.xAODIso import xAODIso as isoPar
138 isoType = [ [ isoPar.topoetcone20, isoPar.topoetcone30, isoPar.topoetcone40 ],
139 [ isoPar.neflowisol20, isoPar.neflowisol30, isoPar.neflowisol40 ] ]
140 isoCor = [ [ isoPar.core57cells, isoPar.ptCorrection, isoPar.pileupCorrection ],
141 [ isoPar.coreCone, isoPar.pileupCorrection ] ]
142 isoExCor = [ [ ], [ isoPar.coreConeSC ] ]
143
144 acc.addEventAlgo(CompFactory.IsolationBuilder(**kwargs,
145 name = 'LRTElectronCaloIsolationBuilder',
146 ElectronCollectionContainerName = 'LRT'+flags.Egamma.Keys.Output.Electrons,
147 ElIsoTypes = isoType,
148 ElCorTypes = isoCor,
149 ElCorTypesExtra = isoExCor,
150 CaloTopoIsolationTool = cisoTool,
151 PFlowIsolationTool = cisoTool))
152
153 mlog.info("LRTElectron calo isolation configured")
154
155 return acc
156

◆ LRTMuonIsolationSteeringDerivCfg()

LRTMuonIsolationSteeringDerivCfg ( flags,
name = 'LRTMuonCaloIsolationSteeringDeriv' )

Definition at line 157 of file IsolationSteeringDerivConfig.py.

157def LRTMuonIsolationSteeringDerivCfg(flags, name = 'LRTMuonCaloIsolationSteeringDeriv'):
158
159 mlog = logging.getLogger(name)
160 mlog.info('Starting LRT muon calo Isolation steering')
161
162 acc = ComponentAccumulator()
163
164 # Need to add density inputs for mc20 (containers present in MC21 AODs)
165 from IsolationAlgs.IsoDensityConfig import (
166 NFlowInputAlgCfg, DensityForIsoAlgCfg)
167 acc.merge(NFlowInputAlgCfg(flags,InputType = "EMPFlow"))
168 acc.merge(DensityForIsoAlgCfg(flags,name='CentralDensityForNFlowIso'))
169 acc.merge(DensityForIsoAlgCfg(flags,name='ForwardDensityForNFlowIso'))
170
171 # Prepare CaloIsolationTool
172 the_pflowElementsTool = CompFactory.xAOD.FlowElementsInConeTool(
173 name='FlowElementsInConeTool')
174
175 from IsolationAlgs.IsoToolsConfig import MuonCaloIsolationToolCfg
176 cisoTool = acc.popToolsAndMerge(MuonCaloIsolationToolCfg(flags,
177 FlowElementsInConeTool = the_pflowElementsTool ))
178 # Prepare IsolationBuilder
179 from xAODPrimitives.xAODIso import xAODIso as isoPar
180 misoType = [ [ isoPar.topoetcone20, isoPar.topoetcone30, isoPar.topoetcone40 ],
181 [ isoPar.neflowisol20, isoPar.neflowisol30, isoPar.neflowisol40 ] ]
182 misoCor = [ [ isoPar.coreCone, isoPar.pileupCorrection ],
183 [ isoPar.coreCone, isoPar.pileupCorrection ] ]
184 misoExCor = [ [ ], [ ] ]
185
186 acc.addEventAlgo(CompFactory.IsolationBuilder(name= "LRTMuonCaloIsolationBuilder",
187 MuonCollectionContainerName = "MuonsLRT",
188 MuCorTypesExtra = misoExCor,
189 MuCorTypes = misoCor,
190 CaloTopoIsolationTool = cisoTool,
191 PFlowIsolationTool = cisoTool,
192 MuIsoTypes = misoType ))
193
194 mlog.info("MuonLRT calo isolation configured")
195
196 return acc
197

Variable Documentation

◆ acc

IsolationSteeringDerivConfig.acc = MainServicesCfg(flags)

Definition at line 212 of file IsolationSteeringDerivConfig.py.

◆ doWriteAOD

IsolationSteeringDerivConfig.doWriteAOD

Definition at line 206 of file IsolationSteeringDerivConfig.py.

◆ doWriteESD

IsolationSteeringDerivConfig.doWriteESD

Definition at line 205 of file IsolationSteeringDerivConfig.py.

◆ Files

IsolationSteeringDerivConfig.Files

Definition at line 204 of file IsolationSteeringDerivConfig.py.

◆ flags

IsolationSteeringDerivConfig.flags = initConfigFlags()

Definition at line 203 of file IsolationSteeringDerivConfig.py.

◆ mlog

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

Definition at line 209 of file IsolationSteeringDerivConfig.py.

◆ nestLevel

IsolationSteeringDerivConfig.nestLevel

Definition at line 220 of file IsolationSteeringDerivConfig.py.

◆ printDefaults

IsolationSteeringDerivConfig.printDefaults

Definition at line 217 of file IsolationSteeringDerivConfig.py.

◆ withDetails

IsolationSteeringDerivConfig.withDetails

Definition at line 216 of file IsolationSteeringDerivConfig.py.