62def DensityForIsoAlgCfg(flags, name = "CentralDensityForTopoIso", **kwargs):
63
64 mlog = logging.getLogger(name)
65 mlog.info('Starting density alg for isolation configuration')
66
67 acc = ComponentAccumulator()
68
69
70 if name.find('Topo') >= 0:
71 inputO = 'PseudoJetEMTopoClusters'
72 outputS = 'TopoCluster'
73 elif name.find('NFlow') >= 0:
74 suff = 'CSSK' if name.find('CSSK') >= 0 else ''
75 inputO = 'PseudoJet'+suff+'NFlow'
76 outputS = 'NeutralParticle'+suff+'Flow'
77 kwargs['InputContainer'] = inputO
78 kwargs['JetRadius'] = 0.5
79 kwargs['UseFourMomArea'] = True
80 kwargs['VoronoiRfact'] = 0.9
81 kwargs['JetAlgorithm'] = 'Kt'
82 if name.find('Central') >= 0:
83 kwargs['OutputContainer'] = outputS+'IsoCentralEventShape'
84 kwargs['AbsRapidityMin'] = 0.0
85 kwargs['AbsRapidityMax'] = 1.5
86 elif name.find('Forward') >= 0:
87 kwargs['OutputContainer'] = outputS+'IsoForwardEventShape'
88 kwargs['AbsRapidityMin'] = 1.5
89 kwargs['AbsRapidityMax'] = 3.0
90 densityTool = CompFactory.EventDensityTool(
91 name = name+'Tool',**kwargs)
92
93 densityAlg = CompFactory.EventDensityAthAlg(
94 name = name+'Alg',
95 EventDensityTool = densityTool)
96 acc.addEventAlgo(densityAlg)
97
98 return acc
99
100