29def precisionPhotonRecoSequence(flags, RoIs, name = None, ion=False):
30 """ With this function we will setup the sequence of offline EgammaAlgorithms so to make a photon for TrigEgamma
31
32 Sequence of algorithms is the following:
33 - egammaRecBuilder/TrigEgammaRecPhoton creates egammaObjects out of clusters and tracks. Here, at HLT photons we will only use clusters.
34 - photonSuperClusterBuilder algorithm will create superclusters out of the toposlusters and tracks in egammaRec under the photon hypothesis
35 https://gitlab.cern.ch/atlas/athena/blob/master/Reconstruction/egamma/egammaAlgs/python/egammaSuperClusterBuilder.py#L26
36 - TopoEgammBuilder will create photons and electrons out of trakcs and SuperClusters. Here at HLT photons the aim is to ignore electrons and not use tracks at all.
37 https://gitlab.cern.ch/atlas/athena/blob/master/Reconstruction/egamma/egammaAlgs/src/xAODEgammaBuilder.cxx
38 """
39
40 log.debug('precisionPhotonRecoSequence(RoIs = %s)',RoIs)
41
42 acc= ComponentAccumulator()
43
44
45 from TriggerMenuMT.HLT.Photon.TrigPhotonFactoriesCfg import TrigTopoEgammaPhotonCfg, TrigTopoEgammaPhotonCfg_HI
46
47 log.debug('retrieve(precisionPhotonRecoSequence,None,RoIs = %s)',RoIs)
48
49 acc.merge(precisionPhotonVDVCfg(flags, name+'VDV',RoIs,ion))
50
51 if ion:
52 TrigTopoEgammaPhoton = TrigTopoEgammaPhotonCfg_HI(flags)
53 else:
54 TrigTopoEgammaPhoton = TrigTopoEgammaPhotonCfg(flags)
55
56 acc.merge(TrigTopoEgammaPhoton)
57
58
59 from TriggerMenuMT.HLT.Photon.TrigPhotonFactoriesCfg import PrecisionPhotonTopoMonitorCfg
60 PrecisionPhotonTopoRecoMonAlgo = PrecisionPhotonTopoMonitorCfg(flags,ion=ion)
61 acc.merge(PrecisionPhotonTopoRecoMonAlgo)
62
63
64 from TriggerMenuMT.HLT.Photon.TrigPhotonFactoriesCfg import PrecisionPhotonSuperClusterMonitorCfg
65 PrecisionPhotonSuperClusterMonAlgo = PrecisionPhotonSuperClusterMonitorCfg(flags, ion=ion)
66 acc.merge(PrecisionPhotonSuperClusterMonAlgo)
67
68 return acc
69
70