ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
DerivationFramework
DerivationFrameworkMuons
python
JPsiVertexFitSetupCfg.py
Go to the documentation of this file.
1
#Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
3
from
AthenaConfiguration.ComponentFactory
import
CompFactory
4
5
def
AddRecoMumuToolCfg
(flags, name = "MuonTPRecoMumuTool", **kwargs):
6
result = ComponentAccumulator()
7
8
if
"V0Tools"
not
in
kwargs:
9
from
TrkConfig.TrkVertexAnalysisUtilsConfig
import
V0ToolsCfg
10
V0Tools = result.popToolsAndMerge(V0ToolsCfg(flags,
"RecoMumuToolV0Tools"
))
11
result.addPublicTool(V0Tools)
12
kwargs.setdefault(
"V0Tools"
, V0Tools)
13
14
if
"PVRefitter"
not
in
kwargs:
15
from
JpsiUpsilonTools.JpsiUpsilonToolsConfig
import
(
16
PrimaryVertexRefittingToolCfg)
17
PVrefit = result.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
18
result.addPublicTool(PVrefit)
19
kwargs.setdefault(
"PVRefitter"
, PVrefit)
20
21
result.setPrivateTools(CompFactory.DerivationFramework.Reco_mumu(name, **kwargs))
22
return
result
23
24
def
AddJPsiVertexingFitterCfg
(flags, prefix='', IdTrkContainer = "InDetTrackParticles", MuonContainer = "Muons"):
25
result = ComponentAccumulator()
26
from
JpsiUpsilonTools.JpsiUpsilonToolsConfig
import
JpsiFinderCfg
27
jpsi_finder_tool = result.popToolsAndMerge(JpsiFinderCfg(flags,
28
muAndMu =
False
,
29
muAndTrack =
False
,
30
TrackAndTrack =
True
,
31
assumeDiMuons =
True
,
# If true, will assume dimu hypothesis and use PDG value for mu mass
32
invMassUpper = 3500.0,
33
invMassLower = 2700.0,
34
Chi2Cut = 2000.,
35
allChargeCombinations =
True
,
36
oppChargesOnly =
False
,
37
sameChargesOnly=
False
,
38
trackThresholdPt = 2500,
39
muonThresholdPt= 4000,
40
atLeastOneComb =
False
,
41
useCombinedMeasurement =
False
,
# Only takes effect if combOnly=True
42
muonCollectionKey = MuonContainer,
43
TrackParticleCollection = IdTrkContainer,
44
useMCPCuts =
True
))
45
46
47
48
MuonTP_Reco_mumu = result.getPrimaryAndMerge(
AddRecoMumuToolCfg
(flags,
49
name = prefix+
"MuonTP_Reco_mumu"
,
50
JpsiFinder = jpsi_finder_tool,
51
OutputVtxContainerName = prefix+
"JpsiCandidates"
,
52
PVContainerName =
"PrimaryVertices"
,
53
RefPVContainerName = prefix+
"RefittedPrimaryVertices"
,
54
RefitPV =
True
,
55
MaxPVrefit = 100000,
56
DoVertexType = 7))
57
result.addPublicTool(MuonTP_Reco_mumu)
58
the_alg = CompFactory.DerivationFramework.DerivationKernel(prefix +
"JPsiVertexFitKernel"
,
59
AugmentationTools = [MuonTP_Reco_mumu])
60
result.addEventAlgo(the_alg, primary =
True
)
61
return
result
62
63
def
MuonTPOniaSelToolCfg
(flags,name = "MuonTP_Select_Jpsi2mumu", **kwargs):
64
65
result = ComponentAccumulator()
66
from
TrkConfig.TrkVertexAnalysisUtilsConfig
import
V0ToolsCfg
67
v0_tools = result.popToolsAndMerge(V0ToolsCfg(flags, name+
"JPsiSelV0Tools"
))
68
kwargs.setdefault(
"V0Tools"
, v0_tools)
69
kwargs.setdefault(
"HypothesisName"
,
"Jpsi"
)
70
kwargs.setdefault(
"VtxMassHypo"
, 3096.916)
71
kwargs.setdefault(
"MassMin"
, 2700.0)
72
kwargs.setdefault(
"MassMax"
, 3500.0)
73
kwargs.setdefault(
"Chi2Max"
, 200)
74
kwargs.setdefault(
"DoVertexType"
, 7)
75
MuonTP_Select_Jpsi2mumu = CompFactory.DerivationFramework.Select_onia2mumu(name = name, **kwargs)
76
result.addPublicTool(v0_tools)
77
result.setPrivateTools(MuonTP_Select_Jpsi2mumu)
78
return
result
79
80
def
AddJPsiVertexingSelectionCfg
(flags, prefix = ''):
81
82
result = ComponentAccumulator()
83
MuonTP_Select_Jpsi2mumu =result.popToolsAndMerge(
MuonTPOniaSelToolCfg
(flags, prefix +
"MuonTP_Select_Jpsi2mumu"
,
84
InputVtxContainerName = prefix+
"JpsiCandidates"
))
85
result.addPublicTool(MuonTP_Select_Jpsi2mumu)
86
the_alg = CompFactory.DerivationFramework.DerivationKernel(prefix +
"JPsiVertexFitSelector"
,
87
AugmentationTools = [MuonTP_Select_Jpsi2mumu])
88
result.addEventAlgo(the_alg, primary =
True
)
89
return
result
90
91
def
AddMCPJPsiVertexFitCfg
(flags, prefix = '', IdTrkContainer = "InDetTrackParticles", MuonContainer = "Muons"):
92
result = ComponentAccumulator()
93
result.merge(
AddJPsiVertexingFitterCfg
(flags, prefix = prefix, IdTrkContainer = IdTrkContainer, MuonContainer = MuonContainer))
94
result.merge(
AddJPsiVertexingSelectionCfg
(flags, prefix = prefix))
95
return
result
96
97
98
python.JPsiVertexFitSetupCfg.AddJPsiVertexingSelectionCfg
AddJPsiVertexingSelectionCfg(flags, prefix='')
Definition
JPsiVertexFitSetupCfg.py:80
python.JPsiVertexFitSetupCfg.AddMCPJPsiVertexFitCfg
AddMCPJPsiVertexFitCfg(flags, prefix='', IdTrkContainer="InDetTrackParticles", MuonContainer="Muons")
Definition
JPsiVertexFitSetupCfg.py:91
python.JPsiVertexFitSetupCfg.AddJPsiVertexingFitterCfg
AddJPsiVertexingFitterCfg(flags, prefix='', IdTrkContainer="InDetTrackParticles", MuonContainer="Muons")
Definition
JPsiVertexFitSetupCfg.py:24
python.JPsiVertexFitSetupCfg.MuonTPOniaSelToolCfg
MuonTPOniaSelToolCfg(flags, name="MuonTP_Select_Jpsi2mumu", **kwargs)
Definition
JPsiVertexFitSetupCfg.py:63
python.JPsiVertexFitSetupCfg.AddRecoMumuToolCfg
AddRecoMumuToolCfg(flags, name="MuonTPRecoMumuTool", **kwargs)
Definition
JPsiVertexFitSetupCfg.py:5
Generated on
for ATLAS Offline Software by
1.17.0