10def egammaReconstructionCfg(flags, name="egammaReconstruction"):
11
12 mlog = logging.getLogger(name)
13 mlog.info('Starting EGamma reconstruction configuration')
14
15 acc = ComponentAccumulator()
16
17
18 from egammaAlgs.egammaTopoClusterCopierConfig import (
19 egammaTopoClusterCopierCfg)
20 acc.merge(egammaTopoClusterCopierCfg(flags))
21
22
23 if flags.Egamma.doTracking:
24
25 if flags.Acts.GsfRefitActs:
26 if flags.Acts.extrapolateElectronsLegacy or not flags.Acts.TrackingGeometry.UseBlueprint:
27 from egammaAlgs.egammaSelectedTrackCopyConfig import (
28 egammaSelectedTrackCopyCfg)
29 acc.merge(egammaSelectedTrackCopyCfg(flags))
30 else:
31 from egammaAlgs.ActsEgammaSelectedTrackCopyConfig import (
32 ActsEgammaSelectedTrackCopyCfg)
33 acc.merge(ActsEgammaSelectedTrackCopyCfg(flags))
34
35 from egammaAlgs.ActsEMBremCollectionBuilderConfig import (
36 ActsEMBremCollectionBuilderCfg)
37 acc.merge(ActsEMBremCollectionBuilderCfg(flags))
38
39 else:
40 from egammaAlgs.egammaSelectedTrackCopyConfig import (
41 egammaSelectedTrackCopyCfg)
42 acc.merge(egammaSelectedTrackCopyCfg(flags))
43
44 from egammaAlgs.EMBremCollectionBuilderConfig import (
45 EMBremCollectionBuilderCfg)
46 acc.merge(EMBremCollectionBuilderCfg(flags))
47
48 if (flags.Tracking.writeExtendedSi_PRDInfo or
49 flags.Tracking.writeExtendedTRT_PRDInfo):
50 from DerivationFrameworkInDet.InDetToolsConfig import (
51 GSFTSOS_CommonKernelCfg)
52 acc.merge(GSFTSOS_CommonKernelCfg(flags))
53
54
55 if flags.Egamma.doConversionBuilding:
56 from egammaAlgs.EMVertexBuilderConfig import (
57 EMVertexBuilderCfg)
58 acc.merge(EMVertexBuilderCfg(flags))
59
60
61
62 if flags.Egamma.doCentral:
63 from egammaAlgs.egammaRecBuilderConfig import (
64 egammaRecBuilderCfg)
65 acc.merge(egammaRecBuilderCfg(flags))
66
67 from egammaAlgs.egammaSuperClusterBuilderConfig import (
68 electronSuperClusterBuilderCfg, photonSuperClusterBuilderCfg)
69 acc.merge(electronSuperClusterBuilderCfg(flags))
70 acc.merge(photonSuperClusterBuilderCfg(flags))
71
72 from egammaAlgs.xAODEgammaBuilderConfig import (
73 xAODEgammaBuilderCfg)
74 acc.merge(xAODEgammaBuilderCfg(flags))
75
76 from egammaAlgs.egammaLargeClusterMakerAlgConfig import (
77 egammaLargeClusterMakerAlgCfg)
78 acc.merge(egammaLargeClusterMakerAlgCfg(flags))
79
80
81 if flags.Egamma.doForward:
82 from egammaAlgs.egammaForwardBuilderConfig import (
83 egammaForwardBuilderCfg)
84 acc.merge(egammaForwardBuilderCfg(flags))
85
86 from egammaAlgs.egammaLargeFWDClusterMakerAlgConfig import (
87 egammaLargeFWDClusterMakerAlgCfg)
88 acc.merge(egammaLargeFWDClusterMakerAlgCfg(flags))
89
90
91 if flags.Egamma.doTruthAssociation:
92 from egammaAlgs.egammaTruthAssociationConfig import (
93 egammaTruthAssociationCfg)
94 acc.merge(egammaTruthAssociationCfg(flags))
95
96 mlog.info("EGamma reconstruction configured")
97
98 return acc
99
100