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 ActsConfig.CaloExtensionBuilderConfig import ActsCaloExtensionBuilderCfg
32 from egammaAlgs.ActsEgammaSelectedTrackCopyConfig import (
33 ActsEgammaSelectedTrackCopyCfg)
34 acc.merge(ActsEgammaSelectedTrackCopyCfg(flags))
35 acc.merge(ActsCaloExtensionBuilderCfg(flags))
36
37 from egammaAlgs.ActsEMBremCollectionBuilderConfig import (
38 ActsEMBremCollectionBuilderCfg)
39 acc.merge(ActsEMBremCollectionBuilderCfg(flags))
40
41 else:
42 from egammaAlgs.egammaSelectedTrackCopyConfig import (
43 egammaSelectedTrackCopyCfg)
44 acc.merge(egammaSelectedTrackCopyCfg(flags))
45
46 from egammaAlgs.EMBremCollectionBuilderConfig import (
47 EMBremCollectionBuilderCfg)
48 acc.merge(EMBremCollectionBuilderCfg(flags))
49
50 if (flags.Tracking.writeExtendedSi_PRDInfo or
51 flags.Tracking.writeExtendedTRT_PRDInfo):
52 from DerivationFrameworkInDet.InDetToolsConfig import (
53 GSFTSOS_CommonKernelCfg)
54 acc.merge(GSFTSOS_CommonKernelCfg(flags))
55
56
57 if flags.Egamma.doConversionBuilding:
58 from egammaAlgs.EMVertexBuilderConfig import (
59 EMVertexBuilderCfg)
60 acc.merge(EMVertexBuilderCfg(flags))
61
62
63
64 if flags.Egamma.doCentral:
65 from egammaAlgs.egammaRecBuilderConfig import (
66 egammaRecBuilderCfg)
67 acc.merge(egammaRecBuilderCfg(flags))
68
69 from egammaAlgs.egammaSuperClusterBuilderConfig import (
70 electronSuperClusterBuilderCfg, photonSuperClusterBuilderCfg)
71 acc.merge(electronSuperClusterBuilderCfg(flags))
72 acc.merge(photonSuperClusterBuilderCfg(flags))
73
74 from egammaAlgs.xAODEgammaBuilderConfig import (
75 xAODEgammaBuilderCfg)
76 acc.merge(xAODEgammaBuilderCfg(flags))
77
78 from egammaAlgs.egammaLargeClusterMakerAlgConfig import (
79 egammaLargeClusterMakerAlgCfg)
80 acc.merge(egammaLargeClusterMakerAlgCfg(flags))
81
82
83 if flags.Egamma.doForward:
84 from egammaAlgs.egammaForwardBuilderConfig import (
85 egammaForwardBuilderCfg)
86 acc.merge(egammaForwardBuilderCfg(flags))
87
88 from egammaAlgs.egammaLargeFWDClusterMakerAlgConfig import (
89 egammaLargeFWDClusterMakerAlgCfg)
90 acc.merge(egammaLargeFWDClusterMakerAlgCfg(flags))
91
92
93 if flags.Egamma.doTruthAssociation:
94 from egammaAlgs.egammaTruthAssociationConfig import (
95 egammaTruthAssociationCfg)
96 acc.merge(egammaTruthAssociationCfg(flags))
97
98 mlog.info("EGamma reconstruction configured")
99
100 return acc
101
102