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

Functions

 IsolationSteeringDerivCfg (flags, name='IsolationSteeringDeriv', inType='EMPFlow')
 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

◆ IsolationSteeringDerivCfg()

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

Definition at line 9 of file IsolationSteeringDerivConfig.py.

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

◆ LRTElectronIsolationSteeringDerivCfg()

IsolationSteeringDerivConfig.LRTElectronIsolationSteeringDerivCfg ( flags,
name = 'LRTElectronCaloIsolationSteeringDeriv' )

Definition at line 61 of file IsolationSteeringDerivConfig.py.

61def LRTElectronIsolationSteeringDerivCfg(flags, name = 'LRTElectronCaloIsolationSteeringDeriv'):
62
63 mlog = logging.getLogger(name)
64 mlog.info('Starting LRT electron calo Isolation steering')
65
66 acc = ComponentAccumulator()
67
68 # Need to add density inputs for mc20 (containers present in MC21 AODs)
69 from IsolationAlgs.IsoDensityConfig import (
70 NFlowInputAlgCfg, DensityForIsoAlgCfg)
71 acc.merge(NFlowInputAlgCfg(flags,InputType = "EMPFlow"))
72 acc.merge(DensityForIsoAlgCfg(flags,name='CentralDensityForNFlowIso'))
73 acc.merge(DensityForIsoAlgCfg(flags,name='ForwardDensityForNFlowIso'))
74
75 # Prepare CaloIsolationTool
76 kwargs = dict()
77 the_pflowElementsTool = CompFactory.xAOD.FlowElementsInConeTool(
78 name='FlowElementsInConeTool')
79
80 from IsolationAlgs.IsoToolsConfig import EGammaCaloIsolationToolCfg
81 cisoTool = acc.popToolsAndMerge(EGammaCaloIsolationToolCfg(flags,
82 FlowElementsInConeTool = the_pflowElementsTool))
83
84 # Prepare IsolationBuilder
85 from xAODPrimitives.xAODIso import xAODIso as isoPar
86 isoType = [ [ isoPar.topoetcone20, isoPar.topoetcone30, isoPar.topoetcone40 ],
87 [ isoPar.neflowisol20, isoPar.neflowisol30, isoPar.neflowisol40 ] ]
88 isoCor = [ [ isoPar.core57cells, isoPar.ptCorrection, isoPar.pileupCorrection ],
89 [ isoPar.coreCone, isoPar.pileupCorrection ] ]
90 isoExCor = [ [ ], [ isoPar.coreConeSC ] ]
91
92 acc.addEventAlgo(CompFactory.IsolationBuilder(**kwargs,
93 name = 'LRTElectronCaloIsolationBuilder',
94 ElectronCollectionContainerName = 'LRT'+flags.Egamma.Keys.Output.Electrons,
95 ElIsoTypes = isoType,
96 ElCorTypes = isoCor,
97 ElCorTypesExtra = isoExCor,
98 CaloTopoIsolationTool = cisoTool,
99 PFlowIsolationTool = cisoTool))
100
101 mlog.info("LRTElectron calo isolation configured")
102
103 return acc
104

◆ LRTMuonIsolationSteeringDerivCfg()

IsolationSteeringDerivConfig.LRTMuonIsolationSteeringDerivCfg ( flags,
name = 'LRTMuonCaloIsolationSteeringDeriv' )

Definition at line 105 of file IsolationSteeringDerivConfig.py.

105def LRTMuonIsolationSteeringDerivCfg(flags, name = 'LRTMuonCaloIsolationSteeringDeriv'):
106
107 mlog = logging.getLogger(name)
108 mlog.info('Starting LRT muon calo Isolation steering')
109
110 acc = ComponentAccumulator()
111
112 # Need to add density inputs for mc20 (containers present in MC21 AODs)
113 from IsolationAlgs.IsoDensityConfig import (
114 NFlowInputAlgCfg, DensityForIsoAlgCfg)
115 acc.merge(NFlowInputAlgCfg(flags,InputType = "EMPFlow"))
116 acc.merge(DensityForIsoAlgCfg(flags,name='CentralDensityForNFlowIso'))
117 acc.merge(DensityForIsoAlgCfg(flags,name='ForwardDensityForNFlowIso'))
118
119 # Prepare CaloIsolationTool
120 the_pflowElementsTool = CompFactory.xAOD.FlowElementsInConeTool(
121 name='FlowElementsInConeTool')
122
123 from IsolationAlgs.IsoToolsConfig import MuonCaloIsolationToolCfg
124 cisoTool = acc.popToolsAndMerge(MuonCaloIsolationToolCfg(flags,
125 FlowElementsInConeTool = the_pflowElementsTool ))
126 # Prepare IsolationBuilder
127 from xAODPrimitives.xAODIso import xAODIso as isoPar
128 misoType = [ [ isoPar.topoetcone20, isoPar.topoetcone30, isoPar.topoetcone40 ],
129 [ isoPar.neflowisol20, isoPar.neflowisol30, isoPar.neflowisol40 ] ]
130 misoCor = [ [ isoPar.coreCone, isoPar.pileupCorrection ],
131 [ isoPar.coreCone, isoPar.pileupCorrection ] ]
132 misoExCor = [ [ ], [ ] ]
133
134 acc.addEventAlgo(CompFactory.IsolationBuilder(name= "LRTMuonCaloIsolationBuilder",
135 MuonCollectionContainerName = "MuonsLRT",
136 MuCorTypesExtra = misoExCor,
137 MuCorTypes = misoCor,
138 CaloTopoIsolationTool = cisoTool,
139 PFlowIsolationTool = cisoTool,
140 MuIsoTypes = misoType ))
141
142 mlog.info("MuonLRT calo isolation configured")
143
144 return acc
145

Variable Documentation

◆ acc

IsolationSteeringDerivConfig.acc = MainServicesCfg(flags)

Definition at line 160 of file IsolationSteeringDerivConfig.py.

◆ doWriteAOD

IsolationSteeringDerivConfig.doWriteAOD

Definition at line 154 of file IsolationSteeringDerivConfig.py.

◆ doWriteESD

IsolationSteeringDerivConfig.doWriteESD

Definition at line 153 of file IsolationSteeringDerivConfig.py.

◆ Files

IsolationSteeringDerivConfig.Files

Definition at line 152 of file IsolationSteeringDerivConfig.py.

◆ flags

IsolationSteeringDerivConfig.flags = initConfigFlags()

Definition at line 151 of file IsolationSteeringDerivConfig.py.

◆ mlog

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

Definition at line 157 of file IsolationSteeringDerivConfig.py.

◆ nestLevel

IsolationSteeringDerivConfig.nestLevel

Definition at line 168 of file IsolationSteeringDerivConfig.py.

◆ printDefaults

IsolationSteeringDerivConfig.printDefaults

Definition at line 165 of file IsolationSteeringDerivConfig.py.

◆ withDetails

IsolationSteeringDerivConfig.withDetails

Definition at line 164 of file IsolationSteeringDerivConfig.py.