11 mlog = logging.getLogger(name)
12 mlog.info(
'Starting Isolation steering')
14 acc = ComponentAccumulator()
16 suff =
'CSSK' if inType.find(
'CSSK') >= 0
else ''
17 from IsolationAlgs.IsoDensityConfig
import NFlowInputAlgCfg
18 acc.merge(NFlowInputAlgCfg(flags,InputType = inType))
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'))
28 margs[
'FlowElementsInConeTool'] = CompFactory.xAOD.FlowElementsInConeTool(
29 name=suff+
'FlowElementsInConeTool')
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))
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
53 kwargs[
'name'] = suff+
'PFlowIsolationBuilder'
55 acc.addEventAlgo(CompFactory.IsolationBuilder(**kwargs))
57 mlog.info(
"PFlow isolation configured")
63 mlog = logging.getLogger(name)
64 mlog.info(
'Starting LRT electron calo Isolation steering')
66 acc = ComponentAccumulator()
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'))
77 the_pflowElementsTool = CompFactory.xAOD.FlowElementsInConeTool(
78 name=
'FlowElementsInConeTool')
80 from IsolationAlgs.IsoToolsConfig
import EGammaCaloIsolationToolCfg
81 cisoTool = acc.popToolsAndMerge(EGammaCaloIsolationToolCfg(flags,
82 FlowElementsInConeTool = the_pflowElementsTool))
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 ] ]
92 acc.addEventAlgo(CompFactory.IsolationBuilder(**kwargs,
93 name =
'LRTElectronCaloIsolationBuilder',
94 ElectronCollectionContainerName =
'LRT'+flags.Egamma.Keys.Output.Electrons,
97 ElCorTypesExtra = isoExCor,
98 CaloTopoIsolationTool = cisoTool,
99 PFlowIsolationTool = cisoTool))
101 mlog.info(
"LRTElectron calo isolation configured")
107 mlog = logging.getLogger(name)
108 mlog.info(
'Starting LRT muon calo Isolation steering')
110 acc = ComponentAccumulator()
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'))
120 the_pflowElementsTool = CompFactory.xAOD.FlowElementsInConeTool(
121 name=
'FlowElementsInConeTool')
123 from IsolationAlgs.IsoToolsConfig
import MuonCaloIsolationToolCfg
124 cisoTool = acc.popToolsAndMerge(MuonCaloIsolationToolCfg(flags,
125 FlowElementsInConeTool = the_pflowElementsTool ))
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 = [ [ ], [ ] ]
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 ))
142 mlog.info(
"MuonLRT calo isolation configured")