51def MuSAVtxJPsiValidationAlgCfg(flags, name="MuSAVtxJPsiValidationAlg", **kwargs):
52 acc = ComponentAccumulator()
53
54
55 Jpsi_lo = 2000
56 Jpsi_hi = 4000
57
58
59 from TrkConfig.TrkVKalVrtFitterConfig import TrkVKalVrtFitterCfg
60 vkalvrt = acc.popToolsAndMerge(TrkVKalVrtFitterCfg(flags))
61
62 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
63 extrapolator = acc.popToolsAndMerge(AtlasExtrapolatorCfg(flags))
64
65 from InDetConfig.InDetTrackSelectorToolConfig import InDetTrackSelectorToolCfg
66 trackselect = acc.popToolsAndMerge(InDetTrackSelectorToolCfg(flags, Extrapolator=extrapolator))
67 acc.addPublicTool(trackselect)
68
69 from InDetConfig.InDetConversionFinderToolsConfig import BPHY_VertexPointEstimatorCfg
70 vpest = acc.popToolsAndMerge(BPHY_VertexPointEstimatorCfg(flags))
71 acc.addPublicTool(vpest)
72
73
74 jpsiFinderTool = CompFactory.Analysis.JpsiFinder(
75 name = "JPsiFinderTool",
76 muAndMu = True,
77 muAndTrack = False,
78 TrackAndTrack = False,
79 assumeDiMuons = True,
80 invMassLower = Jpsi_lo,
81 invMassUpper = Jpsi_hi,
82 Chi2Cut = 50.,
83 oppChargesOnly = True,
84 atLeastOneComb = True,
85 useCombinedMeasurement = False,
86 muonCollectionKey = "StdWithLRTMuons",
87 TrackParticleCollection = "InDetWithLRTTrackParticles",
88 useV0Fitter = False,
89 TrkVertexFitterTool = vkalvrt,
90 TrackSelectorTool = trackselect,
91 VertexPointEstimator = vpest,
92 useMCPCuts = False
93 )
94
95 acc.addPublicTool(jpsiFinderTool)
96 kwargs.setdefault("JpsiFinderTool", jpsiFinderTool)
97
98 kwargs.setdefault("MuonContainer", "StdWithLRTMuons")
99 kwargs.setdefault("EventInfo", "EventInfo")
100 kwargs.setdefault("JPsiMuonContainer", "JPsiMuons")
101 kwargs.setdefault("JPsiVertexContainer", "JPsiVertices")
102
103 acc.addEventAlgo(CompFactory.Rec.MuSAVtxJPsiValidationAlg(name, **kwargs))
104
105 return acc
106
107