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