54def SecVertexTruthMatchMuSaAlgCfg(flags, name="SecVertexTruthMatchMuSaAlg", **kwargs):
55
56 acc = ComponentAccumulator()
57
58 promptMuonContainer = kwargs.pop("PromptMuonContainer", "Muons")
59 lrtMuonContainer = kwargs.pop("LRTMuonContainer", "MuonsLRT")
60 mergedMuonContainer = kwargs.pop("MergedMuonContainer", "StdWithLRTMuons")
61 fallbackMuonContainer = kwargs.pop("FallbackMuonContainer", promptMuonContainer)
62
63 kwargs.setdefault("TruthVertexContainer", "TruthVertices")
64 kwargs.setdefault("SecondaryVertexContainer", "MuSAVertices")
65 kwargs.setdefault("TrackParticleContainer", "MuonSpectrometerTrackParticles")
66 kwargs.setdefault("TargetPDGIDs", [50, 72, 31, 32, 3000001])
67 kwargs.setdefault("doMuSA", True)
68 kwargs.setdefault("doSMOrigin", False)
69
70 from DerivationFrameworkLLP.LLPToolsConfig import LRTMuonMergerAlg
71 acc.merge(LRTMuonMergerAlg(
72 flags,
73 PromptMuonLocation=promptMuonContainer,
74 LRTMuonLocation=lrtMuonContainer,
75 OutputMuonLocation=mergedMuonContainer,
76 CreateViewCollection=True,
77 UseRun3WP=(flags.GeoModel.Run == LHCPeriod.Run3)))
78
79 kwargs.setdefault("MatchTool", acc.popToolsAndMerge(InDetSecVtxTruthMatchToolMuSaCfg(
80 flags,
81 doSMOrigin=kwargs["doSMOrigin"],
82 MuonContainer=mergedMuonContainer,
83 FallbackMuonContainer=fallbackMuonContainer)))
84
85 acc.addEventAlgo(CompFactory.CP.SecVertexTruthMatchAlg(name, **kwargs))
86 acc.addService(CompFactory.THistSvc(Output = [f"ANALYSIS DATAFILE='{flags.Output.HISTFileName}' OPT='RECREATE'"]))
87 acc.setAppProperty("HistogramPersistency","ROOT")
88 return acc
89
90
91