32def precisionCaloRecoSequence(flags, RoIs, name = None, ion=False):
33
34 acc = ComponentAccumulator()
35
36 TrigEgammaKeys = getTrigEgammaKeys(flags, ion = ion)
37 log.debug('flags = %s',flags)
38 log.debug('RoIs = %s',RoIs)
39
40 acc.merge(precisionCaloPhotonVDVCfg(flags,name+'VDV',RoIs,ion))
41
42 from TrigCaloRec.TrigCaloRecConfig import egammaTopoClusteringCfg, hltCaloTopoClusteringHICfg
43
44 if ion:
45 topoCluster = hltCaloTopoClusteringHICfg(flags,
46 CellsName = "CaloCells",
47 roisKey=RoIs)
48 else:
49 topoCluster = egammaTopoClusteringCfg(flags, RoIs)
50 acc.merge(topoCluster)
51 tag = 'HI' if ion is True else ''
52
53 copier = CompFactory.egammaTopoClusterCopier('gTrigEgammaTopoClusterCopier'+ tag + RoIs,
54 InputTopoCollection=TrigEgammaKeys.precisionTopoClusterContainer,
55 OutputTopoCollection= TrigEgammaKeys.precisionCaloTopoCollection)
56 acc.addEventAlgo(copier)
57
58 trigEgammaRec = TrigEgammaRecCfg(flags, name = 'gTrigEgammaRec'+tag + RoIs)
59
60 acc.merge(trigEgammaRec)
61
62 trigEgammaSuperClusterBuilder = TrigEgammaSuperClusterBuilderCfg(flags,
63 'gTrigEgammaSuperClusterBuilder' + tag + RoIs,
64 'photon',
65 TrigEgammaKeys.precisionPhotonCaloClusterContainer,
66 TrigEgammaKeys.precisionPhotonSuperClusterCollection)
67 acc.merge(trigEgammaSuperClusterBuilder)
68
69 return acc
70
71
72