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