15 acc = ComponentAccumulator()
17 if flags.Detector.GeometryITk:
18 kwargs[
"doTrackMatching"] =
True
19 kwargs[
"doCookieCutting"] =
True
20 kwargs.setdefault(
"TrackMatchBuilderTool", acc.popToolsAndMerge(EMTrackMatchBuilderCfg(flags)))
21 if "forwardelectronIsEMselectors" not in kwargs:
22 LooseFwdElectronSelector = AsgForwardElectronIsEMSelectorCfg(
24 "LooseForwardElectronSelector",
25 egammaPID.ForwardElectronIDLoose)
26 MediumFwdElectronSelector = AsgForwardElectronIsEMSelectorCfg(
28 "MediumForwardElectronSelector",
29 egammaPID.ForwardElectronIDMedium)
30 TightFwdElectronSelector = AsgForwardElectronIsEMSelectorCfg(
32 "TightForwardElectronSelector",
33 egammaPID.ForwardElectronIDTight)
35 kwargs.setdefault(
"forwardelectronIsEMselectors",
36 [LooseFwdElectronSelector.popPrivateTools(),
37 MediumFwdElectronSelector.popPrivateTools(),
38 TightFwdElectronSelector.popPrivateTools()])
40 "forwardelectronIsEMselectorResultNames",
41 [
"Loose",
"Medium",
"Tight"])
43 acc.merge(LooseFwdElectronSelector)
44 acc.merge(MediumFwdElectronSelector)
45 acc.merge(TightFwdElectronSelector)
47 if "ObjectQualityTool" not in kwargs
and not flags.Common.isOnline:
48 egOQ = egammaOQFlagsBuilderCfg(flags)
49 kwargs[
"ObjectQualityTool"] = egOQ.popPrivateTools()
52 if flags.Egamma.doForwardCalib:
53 kwargs[
"doEnergyCal"] =
True
54 kwargs[
"PrimaryVerticesContainerKey"] =
"PrimaryVertices"
55 kwargs[
"EventInfoKey"] =
"EventInfo"
56 from egammaMVACalib.egammaMVACalibConfig
import egammaMVASvcCfg
57 kwargs[
"MVACalibSvc"] = acc.getPrimaryAndMerge(egammaMVASvcCfg(flags))
59 kwargs.setdefault(
"ElectronOutputName",
60 flags.Egamma.Keys.Output.ForwardElectrons)
61 kwargs.setdefault(
"TopoClusterName",
62 flags.Egamma.Keys.Internal.ForwardTopoClusters)
63 kwargs.setdefault(
"ClusterContainerName",
64 flags.Egamma.Keys.Output.ForwardClusters)
65 fwdAlg = CompFactory.egammaForwardBuilder(name, **kwargs)
67 acc.addEventAlgo(fwdAlg)