23def MCTruthClassifierCaloTruthMatchCfg(flags, name="MCTruthClassifier", **kwargs):
24 """
25 This is the default configuration allowing all options.
26 By default, it does calo truth matching using a
27 dedicated instance of the ParticleCaloExtensionTool
28 """
29 acc = ComponentAccumulator()
30
31 if flags.Common.Project not in [Project.AthGeneration, Project.AnalysisBase]:
32 if "ParticleCaloExtensionTool" not in kwargs:
33
34 from TrkConfig.AtlasExtrapolatorConfig import (
35 MCTruthClassifierExtrapolatorCfg)
36 extrapolator = acc.popToolsAndMerge(
37 MCTruthClassifierExtrapolatorCfg(flags))
38
39 from TrackToCalo.TrackToCaloConfig import (
40 EMParticleCaloExtensionToolCfg)
41 extension = EMParticleCaloExtensionToolCfg(
42 flags, Extrapolator=extrapolator)
43 kwargs["ParticleCaloExtensionTool"] = acc.popToolsAndMerge(extension)
44
45 kwargs.setdefault("CaloDetDescrManager", "CaloDetDescrManager")
46
47 if flags.Input.Files
and set([
'StreamEVGEN',
'StreamEVNT']).isdisjoint(
set(flags.Input.ProcessingTags)):
48
49 if flags.GeoModel.Run >= LHCPeriod.Run4:
50 kwargs.setdefault("FwdElectronUseG4Sel", False)
51
52 acc.setPrivateTools(CompFactory.MCTruthClassifier(**kwargs))
53 return acc
54
55