56def EGammaCaloIsolationToolCfg(flags, **kwargs):
57 acc = ComponentAccumulator()
58
59 if 'IsoLeakCorrectionTool' not in kwargs:
60 kwargs['IsoLeakCorrectionTool'] = CompFactory.CP.IsolationCorrectionTool(
61 name = 'LeakageCorrTool',
62 LogLogFitForLeakage = True)
63
64 if 'CaloFillRectangularClusterTool' not in kwargs:
65 kwargs['CaloFillRectangularClusterTool'] = CompFactory.CaloFillRectangularCluster(
66 name="egamma_CaloFillRectangularCluster",
67 eta_size=5,
68 phi_size=7,
69 cells_name=flags.Egamma.Keys.Input.CaloCells)
70
71
72
73 if flags.HeavyIon.Egamma.doSubtractedClusters:
74 kwargs['ClustersInConeTool'] = CompFactory.xAOD.CaloClustersInConeTool(
75 name="topoiso_CaloClustersInConeTool",
76 CaloClusterLocation=flags.Egamma.Keys.Input.TopoClusters)
77
78 kwargs['InitializeReadHandles'] = False
79 kwargs['saveOnlyRequestedCorrections'] = True
80
81 kwargs.setdefault('name','egCaloIsolationTool')
82 kwargs.setdefault('ParticleCaloExtensionTool',None)
83 kwargs.setdefault('ParticleCaloCellAssociationTool',None)
84 kwargs.setdefault('isMC',flags.Input.isMC)
85
86 acc.setPrivateTools(CompFactory.xAOD.CaloIsolationTool(**kwargs))
87 return acc
88