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