17 from AthenaServices.PartPropSvcConfig
import PartPropSvcCfg
18 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import (BPHY_V0ToolCfg, BPHY_InDetDetailedTrackSelectorToolCfg, BPHY_VertexPointEstimatorCfg, BPHY_TrkVKalVrtFitterCfg)
19 from JpsiUpsilonTools.JpsiUpsilonToolsConfig
import PrimaryVertexRefittingToolCfg
22 isSimulation = flags.Input.isMC
23 V0Tools = acc.popToolsAndMerge(
BPHY_V0ToolCfg(flags, BPHYDerivationName))
25 acc.addPublicTool(vkalvrt)
26 acc.addPublicTool(V0Tools)
28 acc.addPublicTool(trackselect)
30 acc.addPublicTool(vpest)
60 BPHY23JpsiFinder = CompFactory.Analysis.JpsiFinder(
61 name =
"BPHY23JpsiFinder",
64 TrackAndTrack =
False,
66 trackThresholdPt = 2400.,
67 invMassLower = Jpsi_lo,
68 invMassUpper = Upsi_hi,
70 oppChargesOnly =
True,
71 atLeastOneComb =
True,
72 useCombinedMeasurement =
False,
73 muonCollectionKey =
"Muons",
74 TrackParticleCollection =
"InDetTrackParticles",
75 V0VertexFitterTool =
None,
77 TrkVertexFitterTool = vkalvrt,
78 TrackSelectorTool = trackselect,
79 VertexPointEstimator = vpest,
81 acc.addPublicTool(BPHY23JpsiFinder)
83 BPHY23_Reco_mumu = CompFactory.DerivationFramework.Reco_Vertex(
84 name =
"BPHY23_Reco_mumu",
85 VertexSearchTool = BPHY23JpsiFinder,
86 OutputVtxContainerName =
"BPHY23OniaCandidates",
87 PVContainerName =
"PrimaryVertices",
88 RefPVContainerName =
"SHOULDNOTBEUSED",
95 BPHY23PsiX3872_Jpsi2Trk = CompFactory.Analysis.JpsiPlus2Tracks(
96 name =
"BPHY23PsiX3872_Jpsi2Trk",
97 kaonkaonHypothesis =
False,
98 pionpionHypothesis =
True,
99 kaonpionHypothesis =
False,
100 kaonprotonHypothesis =
False,
101 trkThresholdPt = 380.,
103 oppChargesOnly =
False,
104 JpsiMassLower = Jpsi_lo,
105 JpsiMassUpper = Jpsi_hi,
106 TrkQuadrupletMassLower = Psi_lo,
107 TrkQuadrupletMassUpper = Psi_hi,
109 JpsiContainerKey =
"BPHY23OniaCandidates",
110 TrackParticleCollection =
"InDetTrackParticles",
111 MuonsUsedInJpsi =
"Muons",
112 ExcludeJpsiMuonsOnly =
True,
113 TrkVertexFitterTool = vkalvrt,
114 TrackSelectorTool = trackselect,
115 UseMassConstraint =
False)
116 acc.addPublicTool(BPHY23PsiX3872_Jpsi2Trk)
119 BPHY23Bs0_Jpsi2Trk = CompFactory.Analysis.JpsiPlus2Tracks(
120 name =
"BPHY23Bs0_Jpsi2Trk",
121 kaonkaonHypothesis =
True,
122 pionpionHypothesis =
False,
123 kaonpionHypothesis =
False,
124 kaonprotonHypothesis =
False,
125 trkThresholdPt = 380.,
127 oppChargesOnly =
False,
128 JpsiMassLower = Jpsi_lo,
129 JpsiMassUpper = Jpsi_hi,
130 TrkQuadrupletMassLower = Bs0_lo,
131 TrkQuadrupletMassUpper = Bs0_hi,
133 JpsiContainerKey =
"BPHY23OniaCandidates",
134 TrackParticleCollection =
"InDetTrackParticles",
135 MuonsUsedInJpsi =
"Muons",
136 ExcludeJpsiMuonsOnly =
True,
137 TrkVertexFitterTool = vkalvrt,
138 TrackSelectorTool = trackselect,
139 UseMassConstraint =
False)
140 acc.addPublicTool(BPHY23Bs0_Jpsi2Trk)
143 BPHY23B0_Jpsi2Trk = CompFactory.Analysis.JpsiPlus2Tracks(
144 name =
"BPHY23B0_Jpsi2Trk",
145 kaonkaonHypothesis =
False,
146 pionpionHypothesis =
False,
147 kaonpionHypothesis =
True,
148 kaonprotonHypothesis =
False,
149 trkThresholdPt = 380.,
151 oppChargesOnly =
False,
152 JpsiMassLower = Jpsi_lo,
153 JpsiMassUpper = Jpsi_hi,
154 TrkQuadrupletMassLower = B_lo,
155 TrkQuadrupletMassUpper = B_hi,
157 JpsiContainerKey =
"BPHY23OniaCandidates",
158 TrackParticleCollection =
"InDetTrackParticles",
159 MuonsUsedInJpsi =
"Muons",
160 ExcludeJpsiMuonsOnly =
True,
161 TrkVertexFitterTool = vkalvrt,
162 TrackSelectorTool = trackselect,
163 UseMassConstraint =
False)
164 acc.addPublicTool(BPHY23B0_Jpsi2Trk)
168 BPHY23Zc3900_Jpsi1Trk = CompFactory.Analysis.JpsiPlus1Track(
169 name =
"BPHY23Zc3900_Jpsi1Trk",
170 pionHypothesis =
True,
171 kaonHypothesis =
False,
172 trkThresholdPt = 380.,
174 JpsiMassLower = Jpsi_lo,
175 JpsiMassUpper = Jpsi_hi,
176 TrkTrippletMassLower = Zc_lo,
177 TrkTrippletMassUpper = Zc_hi,
179 JpsiContainerKey =
"BPHY23OniaCandidates",
180 TrackParticleCollection =
"InDetTrackParticles",
181 MuonsUsedInJpsi =
"Muons",
182 ExcludeJpsiMuonsOnly =
True,
183 TrkVertexFitterTool = vkalvrt,
184 TrackSelectorTool = trackselect,
185 UseMassConstraint =
False)
186 acc.addPublicTool(BPHY23Zc3900_Jpsi1Trk)
189 BPHY23Bpm_Jpsi1Trk = CompFactory.Analysis.JpsiPlus1Track(
190 name =
"BPHY23Bpm_Jpsi1Trk",
191 pionHypothesis =
False,
192 kaonHypothesis =
True,
193 trkThresholdPt = 380.,
195 JpsiMassLower = Jpsi_lo,
196 JpsiMassUpper = Jpsi_hi,
197 TrkTrippletMassLower = B_lo,
198 TrkTrippletMassUpper = B_hi,
200 JpsiContainerKey =
"BPHY23OniaCandidates",
201 TrackParticleCollection =
"InDetTrackParticles",
202 MuonsUsedInJpsi =
"Muons",
203 ExcludeJpsiMuonsOnly =
True,
204 TrkVertexFitterTool = vkalvrt,
205 TrackSelectorTool = trackselect,
206 UseMassConstraint =
False)
207 acc.addPublicTool(BPHY23Bpm_Jpsi1Trk)
209 BPHY23FourTrackReco_PsiX3872 = CompFactory.DerivationFramework.Reco_Vertex(
210 name =
"BPHY23FourTrackReco_PsiX3872",
211 VertexSearchTool = BPHY23PsiX3872_Jpsi2Trk,
212 OutputVtxContainerName =
"BPHY23FourTrack_PsiX3872",
213 PVContainerName =
"PrimaryVertices",
219 BPHY23FourTrackReco_Bs0 = CompFactory.DerivationFramework.Reco_Vertex(
220 name =
"BPHY23FourTrackReco_Bs0",
221 VertexSearchTool = BPHY23Bs0_Jpsi2Trk,
222 OutputVtxContainerName =
"BPHY23FourTrack_Bs0",
223 PVContainerName =
"PrimaryVertices",
229 BPHY23FourTrackReco_B0 = CompFactory.DerivationFramework.Reco_Vertex(
230 name =
"BPHY23FourTrackReco_B0",
231 VertexSearchTool = BPHY23B0_Jpsi2Trk,
232 OutputVtxContainerName =
"BPHY23FourTrack_B0",
233 PVContainerName =
"PrimaryVertices",
239 BPHY23ThreeTrackReco_Zc3900 = CompFactory.DerivationFramework.Reco_Vertex(
240 name =
"BPHY23ThreeTrackReco_Zc3900",
241 VertexSearchTool = BPHY23Zc3900_Jpsi1Trk,
242 OutputVtxContainerName =
"BPHY23ThreeTrack_Zc3900",
243 PVContainerName =
"PrimaryVertices",
249 BPHY23ThreeTrackReco_Bpm = CompFactory.DerivationFramework.Reco_Vertex(
250 name =
"BPHY23ThreeTrackReco_Bpm",
251 VertexSearchTool = BPHY23Bpm_Jpsi1Trk,
252 OutputVtxContainerName =
"BPHY23ThreeTrack_Bpm",
253 PVContainerName =
"PrimaryVertices",
261 BPHY23Rev_Psi4Body = CompFactory.DerivationFramework.ReVertex(
262 name =
"BPHY23Rev_Psi4Body",
263 InputVtxContainerName =
"BPHY23FourTrack_PsiX3872",
264 TrackIndices = [ 0, 1, 2, 3 ],
265 SubVertexTrackIndices = [ 1, 2 ],
267 UseMassConstraint =
True,
268 VertexMass = Psi2Smass,
269 SubVertexMass = Jpsimass,
270 MassInputParticles = [Mumass, Mumass, Pimass, Pimass],
272 TrkVertexFitterTool = vkalvrt,
275 OutputVtxContainerName =
"BPHY23Revtx_Psi4Body")
278 BPHY23Rev_X3872 = CompFactory.DerivationFramework.ReVertex(
279 name =
"BPHY23Rev_X3872",
280 InputVtxContainerName =
"BPHY23FourTrack_PsiX3872",
281 TrackIndices = [ 0, 1, 2, 3 ],
282 SubVertexTrackIndices = [ 1, 2 ],
284 UseMassConstraint =
True,
285 VertexMass = X3872mass,
286 SubVertexMass = Jpsimass,
287 MassInputParticles = [Mumass, Mumass, Pimass, Pimass],
289 TrkVertexFitterTool = vkalvrt,
292 OutputVtxContainerName =
"BPHY23Revtx_X3872")
295 BPHY23Rev_Bs0 = CompFactory.DerivationFramework.ReVertex(
296 name =
"BPHY23Rev_Bs0",
297 InputVtxContainerName =
"BPHY23FourTrack_Bs0",
298 TrackIndices = [ 0, 1, 2, 3 ],
299 SubVertexTrackIndices = [ 1, 2 ],
301 UseMassConstraint =
True,
302 VertexMass = Bs0mass,
303 SubVertexMass = Jpsimass,
304 MassInputParticles = [Mumass, Mumass, Kmass, Kmass],
306 TrkVertexFitterTool = vkalvrt,
309 OutputVtxContainerName =
"BPHY23Revtx_Bs0")
312 BPHY23Rev_B0Kpi = CompFactory.DerivationFramework.ReVertex(
313 name =
"BPHY23Rev_B0Kpi",
314 InputVtxContainerName =
"BPHY23FourTrack_B0",
315 TrackIndices = [ 0, 1, 2, 3 ],
316 SubVertexTrackIndices = [ 1, 2 ],
318 UseMassConstraint =
True,
320 SubVertexMass = Jpsimass,
321 MassInputParticles = [Mumass, Mumass, Kmass, Pimass],
323 TrkVertexFitterTool = vkalvrt,
326 OutputVtxContainerName =
"BPHY23Revtx_B0Kpi")
329 BPHY23Rev_B0piK = CompFactory.DerivationFramework.ReVertex(
330 name =
"BPHY23Rev_B0piK",
331 InputVtxContainerName =
"BPHY23FourTrack_B0",
332 TrackIndices = [ 0, 1, 2, 3 ],
333 SubVertexTrackIndices = [ 1, 2 ],
335 UseMassConstraint =
True,
337 SubVertexMass = Jpsimass,
338 MassInputParticles = [Mumass, Mumass, Pimass, Kmass],
340 TrkVertexFitterTool = vkalvrt,
343 OutputVtxContainerName =
"BPHY23Revtx_B0piK")
346 BPHY23Rev_Zc3900 = CompFactory.DerivationFramework.ReVertex(
347 name =
"BPHY23Rev_Zc3900",
348 InputVtxContainerName =
"BPHY23ThreeTrack_Zc3900",
349 TrackIndices = [ 0, 1, 2 ],
350 SubVertexTrackIndices = [ 1, 2 ],
352 UseMassConstraint =
True,
353 SubVertexMass = Jpsimass,
354 MassInputParticles = [Mumass, Mumass, Pimass],
358 TrkVertexFitterTool = vkalvrt,
361 OutputVtxContainerName =
"BPHY23Revtx_Zc3900")
364 BPHY23Rev_Bpm = CompFactory.DerivationFramework.ReVertex(
365 name =
"BPHY23Rev_Bpm",
366 InputVtxContainerName =
"BPHY23ThreeTrack_Bpm",
367 TrackIndices = [ 0, 1, 2 ],
368 SubVertexTrackIndices = [ 1, 2 ],
370 UseMassConstraint =
True,
371 VertexMass = Bpmmass,
372 SubVertexMass = Jpsimass,
373 MassInputParticles = [Mumass, Mumass, Kmass],
375 TrkVertexFitterTool = vkalvrt,
378 OutputVtxContainerName =
"BPHY23Revtx_Bpm")
381 BPHY23Select_Jpsi = CompFactory.DerivationFramework.Select_onia2mumu(
382 name =
"BPHY23Select_Jpsi",
383 HypothesisName =
"Jpsi",
384 InputVtxContainerName =
"BPHY23OniaCandidates",
386 TrkMasses = [Mumass, Mumass],
391 BPHY23Select_Psi = CompFactory.DerivationFramework.Select_onia2mumu(
392 name =
"BPHY23Select_Psi",
393 HypothesisName =
"Psi",
394 InputVtxContainerName =
"BPHY23OniaCandidates",
396 TrkMasses = [Mumass, Mumass],
401 BPHY23Select_Upsi = CompFactory.DerivationFramework.Select_onia2mumu(
402 name =
"BPHY23Select_Upsi",
403 HypothesisName =
"Upsi",
404 InputVtxContainerName =
"BPHY23OniaCandidates",
406 TrkMasses = [Mumass, Mumass],
411 BPHY23Rev_Jpsi = CompFactory.DerivationFramework.ReVertex(
412 name =
"BPHY23Rev_Jpsi",
413 InputVtxContainerName =
"BPHY23OniaCandidates",
414 HypothesisNames = [
"Jpsi" ],
415 TrackIndices = [ 0, 1 ],
417 UseMassConstraint =
True,
418 VertexMass = Jpsimass,
419 MassInputParticles = [Mumass, Mumass],
421 TrkVertexFitterTool = vkalvrt,
424 OutputVtxContainerName =
"BPHY23Revtx_Jpsi")
426 BPHY23Rev_Psi = CompFactory.DerivationFramework.ReVertex(
427 name =
"BPHY23Rev_Psi",
428 InputVtxContainerName =
"BPHY23OniaCandidates",
429 HypothesisNames = [
"Psi" ],
430 TrackIndices = [ 0, 1 ],
432 UseMassConstraint =
True,
433 VertexMass = Psi2Smass,
434 MassInputParticles = [Mumass, Mumass],
436 TrkVertexFitterTool = vkalvrt,
439 OutputVtxContainerName =
"BPHY23Revtx_Psi")
441 BPHY23Rev_Upsi = CompFactory.DerivationFramework.ReVertex(
442 name =
"BPHY23Rev_Upsi",
443 InputVtxContainerName =
"BPHY23OniaCandidates",
444 HypothesisNames = [
"Upsi" ],
445 TrackIndices = [ 0, 1 ],
447 UseMassConstraint =
True,
448 VertexMass = Upsimass,
449 MassInputParticles = [Mumass, Mumass],
451 TrkVertexFitterTool = vkalvrt,
454 OutputVtxContainerName =
"BPHY23Revtx_Upsi")
461 list_2trk0trk_hypo = [
"Bs2KJpsi0",
"Bs2KPsi0",
"Bs2KUpsi0",
462 "B0KpiJpsi0",
"B0KpiPsi0",
"B0KpiUpsi0",
463 "B0piKJpsi0",
"B0piKPsi0",
"B0piKUpsi0"]
464 list_2trk0trk_psiInput = [
"BPHY23Revtx_Bs0",
"BPHY23Revtx_Bs0",
"BPHY23Revtx_Bs0",
465 "BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0Kpi",
466 "BPHY23Revtx_B0piK",
"BPHY23Revtx_B0piK",
"BPHY23Revtx_B0piK"]
467 list_2trk0trk_jpsiInput = [
"BPHY23Revtx_Jpsi",
"BPHY23Revtx_Psi",
"BPHY23Revtx_Upsi",
468 "BPHY23Revtx_Jpsi",
"BPHY23Revtx_Psi",
"BPHY23Revtx_Upsi",
469 "BPHY23Revtx_Jpsi",
"BPHY23Revtx_Psi",
"BPHY23Revtx_Upsi"]
470 list_2trk0trk_jpsiMass = [Jpsimass, Jpsimass, Jpsimass,
471 Jpsimass, Jpsimass, Jpsimass,
472 Jpsimass, Jpsimass, Jpsimass]
473 list_2trk0trk_psiMass = [Bs0mass, Bs0mass, Bs0mass,
474 B0mass, B0mass, B0mass,
475 B0mass, B0mass, B0mass]
476 list_2trk0trk_dau3Mass = [Kmass, Kmass, Kmass,
478 Pimass, Pimass, Pimass]
479 list_2trk0trk_dau4Mass = [Kmass, Kmass, Kmass,
480 Pimass, Pimass, Pimass,
482 list_2trk0trk_jpsi2Mass = [Jpsimass, Psi2Smass, Upsimass,
483 Jpsimass, Psi2Smass, Upsimass,
484 Jpsimass, Psi2Smass, Upsimass]
486 list_2trk0trk_obj = []
487 for hypo
in list_2trk0trk_hypo:
488 list_2trk0trk_obj.append( CompFactory.DerivationFramework.JpsiPlusPsiCascade(
"BPHY23_"+hypo) )
490 for i
in range(len(list_2trk0trk_obj)):
491 list_2trk0trk_obj[i].HypothesisName = list_2trk0trk_hypo[i]
492 list_2trk0trk_obj[i].JpsiVertices = list_2trk0trk_jpsiInput[i]
493 list_2trk0trk_obj[i].PsiVertices = list_2trk0trk_psiInput[i]
494 list_2trk0trk_obj[i].NumberOfPsiDaughters = 4
495 list_2trk0trk_obj[i].MassLowerCut = 0.
496 list_2trk0trk_obj[i].MassUpperCut = X_hi
497 list_2trk0trk_obj[i].Chi2Cut = 30.
498 list_2trk0trk_obj[i].MaxCandidates = 15
499 list_2trk0trk_obj[i].MaxnPV = 100
501 list_2trk0trk_obj[i].TrkVertexFitterTool = vkalvrt
502 list_2trk0trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
503 list_2trk0trk_obj[i].RefPVContainerName =
"BPHY23_"+list_2trk0trk_hypo[i]+
"_RefPrimaryVertices"
504 list_2trk0trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_2trk0trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_2trk0trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_2trk0trk_hypo[i]+
"_CascadeVtx3"]
505 list_2trk0trk_obj[i].RefitPV =
True
506 list_2trk0trk_obj[i].Vtx1Daug3MassHypo = list_2trk0trk_dau3Mass[i]
507 list_2trk0trk_obj[i].Vtx1Daug4MassHypo = list_2trk0trk_dau4Mass[i]
508 list_2trk0trk_obj[i].ApplyJpsiMassConstraint =
True
509 list_2trk0trk_obj[i].JpsiMass = list_2trk0trk_jpsiMass[i]
510 list_2trk0trk_obj[i].ApplyPsiMassConstraint =
True
511 list_2trk0trk_obj[i].PsiMass = list_2trk0trk_psiMass[i]
512 list_2trk0trk_obj[i].ApplyJpsi2MassConstraint =
True
513 list_2trk0trk_obj[i].Jpsi2Mass = list_2trk0trk_jpsi2Mass[i]
515 list2_2trk0trk_hypo = [
"Psi2Jpsi0",
"Psi2Psi0",
"Psi2Upsi0",
516 "X3872Jpsi0",
"X3872Psi0",
"X3872Upsi0"]
517 list2_2trk0trk_psi1Input = [
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_Psi4Body",
518 "BPHY23Revtx_X3872",
"BPHY23Revtx_X3872",
"BPHY23Revtx_X3872"]
519 list2_2trk0trk_psi2Input = [
"BPHY23Revtx_Jpsi",
"BPHY23Revtx_Psi",
"BPHY23Revtx_Upsi",
520 "BPHY23Revtx_Jpsi",
"BPHY23Revtx_Psi",
"BPHY23Revtx_Upsi"]
521 list2_2trk0trk_jpsi2lo = [Jpsi_lo, Psi_lo, Upsi_lo, Jpsi_lo, Psi_lo, Upsi_lo]
522 list2_2trk0trk_jpsi2hi = [Jpsi_hi, Psi_hi, Upsi_hi, Jpsi_hi, Psi_hi, Upsi_hi]
523 list2_2trk0trk_jpsi1mass = [Jpsimass, Jpsimass, Jpsimass, Jpsimass, Jpsimass, Jpsimass]
524 list2_2trk0trk_psi1mass = [Psi2Smass, Psi2Smass, Psi2Smass, X3872mass, X3872mass, X3872mass]
525 list2_2trk0trk_jpsi2mass = [Jpsimass, Psi2Smass, Upsimass, Jpsimass, Psi2Smass, Upsimass]
527 list2_2trk0trk_obj = []
528 for hypo
in list2_2trk0trk_hypo:
529 list2_2trk0trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY23_"+hypo) )
531 for i
in range(len(list2_2trk0trk_obj)):
532 list2_2trk0trk_obj[i].HypothesisName = list2_2trk0trk_hypo[i]
533 list2_2trk0trk_obj[i].Psi1Vertices = list2_2trk0trk_psi1Input[i]
534 list2_2trk0trk_obj[i].Psi2Vertices = list2_2trk0trk_psi2Input[i]
535 list2_2trk0trk_obj[i].MaxCandidates = 15
536 list2_2trk0trk_obj[i].NumberOfPsi1Daughters = 4
537 list2_2trk0trk_obj[i].NumberOfPsi2Daughters = 2
538 list2_2trk0trk_obj[i].Jpsi1MassLowerCut = Jpsi_lo
539 list2_2trk0trk_obj[i].Jpsi1MassUpperCut = Jpsi_hi
540 list2_2trk0trk_obj[i].Psi1MassLowerCut = Psi_lo
541 list2_2trk0trk_obj[i].Psi1MassUpperCut = Psi_hi
542 list2_2trk0trk_obj[i].Jpsi2MassLowerCut = list2_2trk0trk_jpsi2lo[i]
543 list2_2trk0trk_obj[i].Jpsi2MassUpperCut = list2_2trk0trk_jpsi2hi[i]
544 list2_2trk0trk_obj[i].MassLowerCut = 0.
545 list2_2trk0trk_obj[i].MassUpperCut = X_hi
546 list2_2trk0trk_obj[i].Jpsi1Mass = list2_2trk0trk_jpsi1mass[i]
547 list2_2trk0trk_obj[i].Psi1Mass = list2_2trk0trk_psi1mass[i]
548 list2_2trk0trk_obj[i].Jpsi2Mass = list2_2trk0trk_jpsi2mass[i]
549 list2_2trk0trk_obj[i].ApplyJpsi1MassConstraint =
True
550 list2_2trk0trk_obj[i].ApplyPsi1MassConstraint =
True
551 list2_2trk0trk_obj[i].ApplyJpsi2MassConstraint =
True
552 list2_2trk0trk_obj[i].Chi2Cut = 30.
554 list2_2trk0trk_obj[i].TrkVertexFitterTool = vkalvrt
555 list2_2trk0trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
556 list2_2trk0trk_obj[i].OutputVertexCollections = [
"BPHY23_"+list2_2trk0trk_hypo[i]+
"_SubVtx1",
"BPHY23_"+list2_2trk0trk_hypo[i]+
"_SubVtx2",
"BPHY23_"+list2_2trk0trk_hypo[i]+
"_MainVtx"]
557 list2_2trk0trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
558 list2_2trk0trk_obj[i].RefPVContainerName =
"BPHY23_"+list2_2trk0trk_hypo[i]+
"_RefPrimaryVertices"
559 list2_2trk0trk_obj[i].RefitPV =
True
560 list2_2trk0trk_obj[i].MaxnPV = 100
566 list_1trk0trk_hypo = [
"BpmJpsi0",
"BpmPsi0",
"BpmUpsi0"]
567 list_1trk0trk_psiInput = [
"BPHY23Revtx_Bpm",
"BPHY23Revtx_Bpm",
"BPHY23Revtx_Bpm"]
568 list_1trk0trk_jpsiInput = [
"BPHY23Revtx_Jpsi",
"BPHY23Revtx_Psi",
"BPHY23Revtx_Upsi"]
569 list_1trk0trk_jpsiMass = [Jpsimass, Jpsimass, Jpsimass]
570 list_1trk0trk_psiMass = [Bpmmass, Bpmmass, Bpmmass]
571 list_1trk0trk_dau3Mass = [Kmass, Kmass, Kmass]
572 list_1trk0trk_jpsi2Mass = [Jpsimass, Psi2Smass, Upsimass]
574 list_1trk0trk_obj = []
575 for hypo
in list_1trk0trk_hypo:
576 list_1trk0trk_obj.append( CompFactory.DerivationFramework.JpsiPlusPsiCascade(
"BPHY23_"+hypo) )
578 for i
in range(len(list_1trk0trk_obj)):
579 list_1trk0trk_obj[i].HypothesisName = list_1trk0trk_hypo[i]
580 list_1trk0trk_obj[i].JpsiVertices = list_1trk0trk_jpsiInput[i]
581 list_1trk0trk_obj[i].PsiVertices = list_1trk0trk_psiInput[i]
582 list_1trk0trk_obj[i].NumberOfPsiDaughters = 3
583 list_1trk0trk_obj[i].MassLowerCut = 0.
584 list_1trk0trk_obj[i].MassUpperCut = X_hi
585 list_1trk0trk_obj[i].Chi2Cut = 30.
586 list_1trk0trk_obj[i].MaxCandidates = 15
587 list_1trk0trk_obj[i].MaxnPV = 100
589 list_1trk0trk_obj[i].TrkVertexFitterTool = vkalvrt
590 list_1trk0trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
591 list_1trk0trk_obj[i].RefPVContainerName =
"BPHY23_"+list_1trk0trk_hypo[i]+
"_RefPrimaryVertices"
592 list_1trk0trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_1trk0trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_1trk0trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_1trk0trk_hypo[i]+
"_CascadeVtx3"]
593 list_1trk0trk_obj[i].RefitPV =
True
594 list_1trk0trk_obj[i].Vtx1Daug3MassHypo = list_1trk0trk_dau3Mass[i]
595 list_1trk0trk_obj[i].ApplyJpsiMassConstraint =
True
596 list_1trk0trk_obj[i].JpsiMass = list_1trk0trk_jpsiMass[i]
597 list_1trk0trk_obj[i].ApplyPsiMassConstraint =
True
598 list_1trk0trk_obj[i].PsiMass = list_1trk0trk_psiMass[i]
599 list_1trk0trk_obj[i].ApplyJpsi2MassConstraint =
True
600 list_1trk0trk_obj[i].Jpsi2Mass = list_1trk0trk_jpsi2Mass[i]
602 list2_1trk0trk_hypo = [
"Zc3900Jpsi0",
"Zc3900Psi0",
"Zc3900Upsi0"]
603 list2_1trk0trk_psi1Input = [
"BPHY23Revtx_Zc3900",
"BPHY23Revtx_Zc3900",
"BPHY23Revtx_Zc3900"]
604 list2_1trk0trk_psi2Input = [
"BPHY23Revtx_Jpsi",
"BPHY23Revtx_Psi",
"BPHY23Revtx_Upsi"]
605 list2_1trk0trk_jpsi2lo = [Jpsi_lo, Psi_lo, Upsi_lo]
606 list2_1trk0trk_jpsi2hi = [Jpsi_hi, Psi_hi, Upsi_hi]
607 list2_1trk0trk_jpsi1mass = [Jpsimass, Jpsimass, Jpsimass]
608 list2_1trk0trk_psi1mass = [Zcmass, Zcmass, Zcmass]
609 list2_1trk0trk_jpsi2mass = [Jpsimass, Psi2Smass, Upsimass]
611 list2_1trk0trk_obj = []
612 for hypo
in list2_1trk0trk_hypo:
613 list2_1trk0trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY23_"+hypo) )
615 for i
in range(len(list2_1trk0trk_obj)):
616 list2_1trk0trk_obj[i].HypothesisName = list2_1trk0trk_hypo[i]
617 list2_1trk0trk_obj[i].Psi1Vertices = list2_1trk0trk_psi1Input[i]
618 list2_1trk0trk_obj[i].Psi2Vertices = list2_1trk0trk_psi2Input[i]
619 list2_1trk0trk_obj[i].MaxCandidates = 15
620 list2_1trk0trk_obj[i].NumberOfPsi1Daughters = 3
621 list2_1trk0trk_obj[i].NumberOfPsi2Daughters = 2
622 list2_1trk0trk_obj[i].Jpsi1MassLowerCut = Jpsi_lo
623 list2_1trk0trk_obj[i].Jpsi1MassUpperCut = Jpsi_hi
624 list2_1trk0trk_obj[i].Psi1MassLowerCut = Zc_lo
625 list2_1trk0trk_obj[i].Psi1MassUpperCut = Zc_hi
626 list2_1trk0trk_obj[i].Jpsi2MassLowerCut = list2_1trk0trk_jpsi2lo[i]
627 list2_1trk0trk_obj[i].Jpsi2MassUpperCut = list2_1trk0trk_jpsi2hi[i]
628 list2_1trk0trk_obj[i].MassLowerCut = 0.
629 list2_1trk0trk_obj[i].MassUpperCut = X_hi
630 list2_1trk0trk_obj[i].Jpsi1Mass = list2_1trk0trk_jpsi1mass[i]
631 list2_1trk0trk_obj[i].Psi1Mass = list2_1trk0trk_psi1mass[i]
632 list2_1trk0trk_obj[i].Jpsi2Mass = list2_1trk0trk_jpsi2mass[i]
633 list2_1trk0trk_obj[i].ApplyJpsi1MassConstraint =
True
634 list2_1trk0trk_obj[i].ApplyPsi1MassConstraint =
True
635 list2_1trk0trk_obj[i].ApplyJpsi2MassConstraint =
True
636 list2_1trk0trk_obj[i].Chi2Cut = 30.
638 list2_1trk0trk_obj[i].TrkVertexFitterTool = vkalvrt
639 list2_1trk0trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
640 list2_1trk0trk_obj[i].OutputVertexCollections = [
"BPHY23_"+list2_1trk0trk_hypo[i]+
"_SubVtx1",
"BPHY23_"+list2_1trk0trk_hypo[i]+
"_SubVtx2",
"BPHY23_"+list2_1trk0trk_hypo[i]+
"_MainVtx"]
641 list2_1trk0trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
642 list2_1trk0trk_obj[i].RefPVContainerName =
"BPHY23_"+list2_1trk0trk_hypo[i]+
"_RefPrimaryVertices"
643 list2_1trk0trk_obj[i].RefitPV =
True
644 list2_1trk0trk_obj[i].MaxnPV = 100
650 list_1trk1trk_hypo = [
"BpmZc3900",
"BpmBpm"]
651 list_1trk1trk_psi1Input = [
"BPHY23Revtx_Bpm",
"BPHY23Revtx_Bpm"]
652 list_1trk1trk_psi2Input = [
"BPHY23Revtx_Zc3900",
"BPHY23Revtx_Bpm"]
653 list_1trk1trk_jpsi1Mass = [Jpsimass, Jpsimass]
654 list_1trk1trk_psi1Mass = [Bpmmass, Bpmmass]
655 list_1trk1trk_p1dau3Mass = [Kmass, Kmass]
656 list_1trk1trk_jpsi2Mass = [Jpsimass, Jpsimass]
657 list_1trk1trk_psi2Mass = [Zcmass, Bpmmass]
658 list_1trk1trk_p2dau3Mass = [Pimass, Kmass]
660 list_1trk1trk_obj = []
661 for hypo
in list_1trk1trk_hypo:
662 list_1trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade(
"BPHY23_"+hypo) )
664 for i
in range(len(list_1trk1trk_obj)):
665 list_1trk1trk_obj[i].HypothesisName = list_1trk1trk_hypo[i]
666 list_1trk1trk_obj[i].Psi1Vertices = list_1trk1trk_psi1Input[i]
667 list_1trk1trk_obj[i].Psi2Vertices = list_1trk1trk_psi2Input[i]
668 list_1trk1trk_obj[i].NumberOfPsi1Daughters = 3
669 list_1trk1trk_obj[i].NumberOfPsi2Daughters = 3
670 list_1trk1trk_obj[i].MassLowerCut = 0.
671 list_1trk1trk_obj[i].MassUpperCut = X_hi
672 list_1trk1trk_obj[i].Chi2CutPsi1 = 5.
673 list_1trk1trk_obj[i].Chi2CutPsi2 = 5.
674 list_1trk1trk_obj[i].Chi2Cut = 30.
675 list_1trk1trk_obj[i].MaxCandidates = 15
676 list_1trk1trk_obj[i].RemoveDuplicatePairs =
True
677 list_1trk1trk_obj[i].MaxnPV = 100
679 list_1trk1trk_obj[i].TrkVertexFitterTool = vkalvrt
680 list_1trk1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
681 list_1trk1trk_obj[i].RefPVContainerName =
"BPHY23_"+list_1trk1trk_hypo[i]+
"_RefPrimaryVertices"
682 list_1trk1trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_1trk1trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_1trk1trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_1trk1trk_hypo[i]+
"_CascadeVtx3"]
683 list_1trk1trk_obj[i].RefitPV =
True
684 list_1trk1trk_obj[i].Vtx1Daug3MassHypo = list_1trk1trk_p1dau3Mass[i]
685 list_1trk1trk_obj[i].Vtx2Daug3MassHypo = list_1trk1trk_p2dau3Mass[i]
686 list_1trk1trk_obj[i].ApplyJpsi1MassConstraint =
True
687 list_1trk1trk_obj[i].Jpsi1Mass = list_1trk1trk_jpsi1Mass[i]
688 list_1trk1trk_obj[i].ApplyPsi1MassConstraint =
True
689 list_1trk1trk_obj[i].Psi1Mass = list_1trk1trk_psi1Mass[i]
690 list_1trk1trk_obj[i].ApplyJpsi2MassConstraint =
True
691 list_1trk1trk_obj[i].Jpsi2Mass = list_1trk1trk_jpsi2Mass[i]
692 if list_1trk1trk_psi2Mass[i] != Zcmass:
693 list_1trk1trk_obj[i].ApplyPsi2MassConstraint =
True
694 list_1trk1trk_obj[i].Psi2Mass = list_1trk1trk_psi2Mass[i]
696 list2_1trk1trk_hypo = [
"Zc3900Zc3900"]
697 list2_1trk1trk_psi1Input = [
"BPHY23Revtx_Zc3900"]
698 list2_1trk1trk_psi2Input = [
"BPHY23Revtx_Zc3900"]
699 list2_1trk1trk_jpsi1mass = [Jpsimass]
700 list2_1trk1trk_psi1mass = [Zcmass]
701 list2_1trk1trk_jpsi2mass = [Jpsimass]
702 list2_1trk1trk_psi2mass = [Zcmass]
704 list2_1trk1trk_obj = []
705 for hypo
in list2_1trk1trk_hypo:
706 list2_1trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY23_"+hypo) )
708 for i
in range(len(list2_1trk1trk_obj)):
709 list2_1trk1trk_obj[i].HypothesisName = list2_1trk1trk_hypo[i]
710 list2_1trk1trk_obj[i].Psi1Vertices = list2_1trk1trk_psi1Input[i]
711 list2_1trk1trk_obj[i].Psi2Vertices = list2_1trk1trk_psi2Input[i]
712 list2_1trk1trk_obj[i].MaxCandidates = 15
713 list2_1trk1trk_obj[i].NumberOfPsi1Daughters = 3
714 list2_1trk1trk_obj[i].NumberOfPsi2Daughters = 3
715 list2_1trk1trk_obj[i].Jpsi1MassLowerCut = Jpsi_lo
716 list2_1trk1trk_obj[i].Jpsi1MassUpperCut = Jpsi_hi
717 list2_1trk1trk_obj[i].Psi1MassLowerCut = Zc_lo
718 list2_1trk1trk_obj[i].Psi1MassUpperCut = Zc_hi
719 list2_1trk1trk_obj[i].Jpsi2MassLowerCut = Jpsi_lo
720 list2_1trk1trk_obj[i].Jpsi2MassUpperCut = Jpsi_hi
721 list2_1trk1trk_obj[i].Psi2MassLowerCut = Zc_lo
722 list2_1trk1trk_obj[i].Psi2MassUpperCut = Zc_hi
723 list2_1trk1trk_obj[i].MassLowerCut = 0.
724 list2_1trk1trk_obj[i].MassUpperCut = X_hi
725 list2_1trk1trk_obj[i].Jpsi1Mass = list2_1trk1trk_jpsi1mass[i]
726 list2_1trk1trk_obj[i].Psi1Mass = list2_1trk1trk_psi1mass[i]
727 list2_1trk1trk_obj[i].Jpsi2Mass = list2_1trk1trk_jpsi2mass[i]
728 list2_1trk1trk_obj[i].Psi2Mass = list2_1trk1trk_psi2mass[i]
729 list2_1trk1trk_obj[i].ApplyJpsi1MassConstraint =
True
730 list2_1trk1trk_obj[i].ApplyPsi1MassConstraint =
True
731 list2_1trk1trk_obj[i].ApplyJpsi2MassConstraint =
True
732 list2_1trk1trk_obj[i].ApplyPsi2MassConstraint =
True
733 list2_1trk1trk_obj[i].Chi2Cut = 30.
735 list2_1trk1trk_obj[i].TrkVertexFitterTool = vkalvrt
736 list2_1trk1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
737 list2_1trk1trk_obj[i].OutputVertexCollections = [
"BPHY23_"+list2_1trk1trk_hypo[i]+
"_SubVtx1",
"BPHY23_"+list2_1trk1trk_hypo[i]+
"_SubVtx2",
"BPHY23_"+list2_1trk1trk_hypo[i]+
"_MainVtx"]
738 list2_1trk1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
739 list2_1trk1trk_obj[i].RefPVContainerName =
"BPHY23_"+list2_1trk1trk_hypo[i]+
"_RefPrimaryVertices"
740 list2_1trk1trk_obj[i].RefitPV =
True
741 list2_1trk1trk_obj[i].MaxnPV = 100
747 list_2trk1trk_hypo = [
"Bs2KZc3900",
"Bs2KBpm",
748 "B0KpiZc3900",
"B0KpiBpm",
749 "B0piKZc3900",
"B0piKBpm"]
750 list_2trk1trk_psi1Input = [
"BPHY23Revtx_Bs0",
"BPHY23Revtx_Bs0",
751 "BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0Kpi",
752 "BPHY23Revtx_B0piK",
"BPHY23Revtx_B0piK"]
753 list_2trk1trk_psi2Input = [
"BPHY23Revtx_Zc3900",
"BPHY23Revtx_Bpm",
754 "BPHY23Revtx_Zc3900",
"BPHY23Revtx_Bpm",
755 "BPHY23Revtx_Zc3900",
"BPHY23Revtx_Bpm"]
756 list_2trk1trk_jpsi1Mass = [Jpsimass, Jpsimass,
759 list_2trk1trk_psi1Mass = [Bs0mass, Bs0mass,
762 list_2trk1trk_p1dau3Mass = [Kmass, Kmass,
765 list_2trk1trk_p1dau4Mass = [Kmass, Kmass,
768 list_2trk1trk_jpsi2Mass = [Jpsimass, Jpsimass,
771 list_2trk1trk_psi2Mass = [Zcmass, Bpmmass,
774 list_2trk1trk_p2dau3Mass = [Pimass, Kmass,
778 list_2trk1trk_obj = []
779 for hypo
in list_2trk1trk_hypo:
780 list_2trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade(
"BPHY23_"+hypo) )
782 for i
in range(len(list_2trk1trk_obj)):
783 list_2trk1trk_obj[i].HypothesisName = list_2trk1trk_hypo[i]
784 list_2trk1trk_obj[i].Psi1Vertices = list_2trk1trk_psi1Input[i]
785 list_2trk1trk_obj[i].Psi2Vertices = list_2trk1trk_psi2Input[i]
786 list_2trk1trk_obj[i].NumberOfPsi1Daughters = 4
787 list_2trk1trk_obj[i].NumberOfPsi2Daughters = 3
788 list_2trk1trk_obj[i].MassLowerCut = 0.
789 list_2trk1trk_obj[i].MassUpperCut = X_hi
790 list_2trk1trk_obj[i].Chi2CutPsi1 = 5.
791 list_2trk1trk_obj[i].Chi2CutPsi2 = 5.
792 list_2trk1trk_obj[i].Chi2Cut = 30.
793 list_2trk1trk_obj[i].MaxCandidates = 15
794 list_2trk1trk_obj[i].MaxnPV = 100
796 list_2trk1trk_obj[i].TrkVertexFitterTool = vkalvrt
797 list_2trk1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
798 list_2trk1trk_obj[i].RefPVContainerName =
"BPHY23_"+list_2trk1trk_hypo[i]+
"_RefPrimaryVertices"
799 list_2trk1trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_2trk1trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_2trk1trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_2trk1trk_hypo[i]+
"_CascadeVtx3"]
800 list_2trk1trk_obj[i].RefitPV =
True
801 list_2trk1trk_obj[i].Vtx1Daug3MassHypo = list_2trk1trk_p1dau3Mass[i]
802 list_2trk1trk_obj[i].Vtx1Daug4MassHypo = list_2trk1trk_p1dau4Mass[i]
803 list_2trk1trk_obj[i].Vtx2Daug3MassHypo = list_2trk1trk_p2dau3Mass[i]
804 list_2trk1trk_obj[i].ApplyJpsi1MassConstraint =
True
805 list_2trk1trk_obj[i].Jpsi1Mass = list_2trk1trk_jpsi1Mass[i]
806 list_2trk1trk_obj[i].ApplyPsi1MassConstraint =
True
807 list_2trk1trk_obj[i].Psi1Mass = list_2trk1trk_psi1Mass[i]
808 list_2trk1trk_obj[i].ApplyJpsi2MassConstraint =
True
809 list_2trk1trk_obj[i].Jpsi2Mass = list_2trk1trk_jpsi2Mass[i]
810 if list_2trk1trk_psi2Mass[i] != Zcmass:
811 list_2trk1trk_obj[i].ApplyPsi2MassConstraint =
True
812 list_2trk1trk_obj[i].Psi2Mass = list_2trk1trk_psi2Mass[i]
814 list2_2trk1trk_hypo = [
"Psi2Zc3900",
"X3872Zc3900"]
815 list2_2trk1trk_psi1Input = [
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_X3872"]
816 list2_2trk1trk_psi2Input = [
"BPHY23Revtx_Zc3900",
"BPHY23Revtx_Zc3900"]
817 list2_2trk1trk_jpsi1mass = [Jpsimass, Jpsimass]
818 list2_2trk1trk_psi1mass = [Psi2Smass, X3872mass]
819 list2_2trk1trk_jpsi2mass = [Jpsimass, Jpsimass]
820 list2_2trk1trk_psi2mass = [Zcmass, Zcmass]
822 list2_2trk1trk_obj = []
823 for hypo
in list2_2trk1trk_hypo:
824 list2_2trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY23_"+hypo) )
826 for i
in range(len(list2_2trk1trk_obj)):
827 list2_2trk1trk_obj[i].HypothesisName = list2_2trk1trk_hypo[i]
828 list2_2trk1trk_obj[i].Psi1Vertices = list2_2trk1trk_psi1Input[i]
829 list2_2trk1trk_obj[i].Psi2Vertices = list2_2trk1trk_psi2Input[i]
830 list2_2trk1trk_obj[i].MaxCandidates = 15
831 list2_2trk1trk_obj[i].NumberOfPsi1Daughters = 4
832 list2_2trk1trk_obj[i].NumberOfPsi2Daughters = 3
833 list2_2trk1trk_obj[i].Jpsi1MassLowerCut = Jpsi_lo
834 list2_2trk1trk_obj[i].Jpsi1MassUpperCut = Jpsi_hi
835 list2_2trk1trk_obj[i].Psi1MassLowerCut = Psi_lo
836 list2_2trk1trk_obj[i].Psi1MassUpperCut = Psi_hi
837 list2_2trk1trk_obj[i].Jpsi2MassLowerCut = Jpsi_lo
838 list2_2trk1trk_obj[i].Jpsi2MassUpperCut = Jpsi_hi
839 list2_2trk1trk_obj[i].Psi2MassLowerCut = Zc_lo
840 list2_2trk1trk_obj[i].Psi2MassUpperCut = Zc_hi
841 list2_2trk1trk_obj[i].MassLowerCut = 0.
842 list2_2trk1trk_obj[i].MassUpperCut = X_hi
843 list2_2trk1trk_obj[i].Jpsi1Mass = list2_2trk1trk_jpsi1mass[i]
844 list2_2trk1trk_obj[i].Psi1Mass = list2_2trk1trk_psi1mass[i]
845 list2_2trk1trk_obj[i].Jpsi2Mass = list2_2trk1trk_jpsi2mass[i]
846 list2_2trk1trk_obj[i].Psi2Mass = list2_2trk1trk_psi2mass[i]
847 list2_2trk1trk_obj[i].ApplyJpsi1MassConstraint =
True
848 list2_2trk1trk_obj[i].ApplyPsi1MassConstraint =
True
849 list2_2trk1trk_obj[i].ApplyJpsi2MassConstraint =
True
850 list2_2trk1trk_obj[i].ApplyPsi2MassConstraint =
True
851 list2_2trk1trk_obj[i].Chi2Cut = 30.
853 list2_2trk1trk_obj[i].TrkVertexFitterTool = vkalvrt
854 list2_2trk1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
855 list2_2trk1trk_obj[i].OutputVertexCollections = [
"BPHY23_"+list2_2trk1trk_hypo[i]+
"_SubVtx1",
"BPHY23_"+list2_2trk1trk_hypo[i]+
"_SubVtx2",
"BPHY23_"+list2_2trk1trk_hypo[i]+
"_MainVtx"]
856 list2_2trk1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
857 list2_2trk1trk_obj[i].RefPVContainerName =
"BPHY23_"+list2_2trk1trk_hypo[i]+
"_RefPrimaryVertices"
858 list2_2trk1trk_obj[i].RefitPV =
True
859 list2_2trk1trk_obj[i].MaxnPV = 100
865 list_1trk2trk_hypo = [
"BpmPsi2",
"BpmX3872"]
866 list_1trk2trk_psi1Input = [
"BPHY23Revtx_Bpm",
"BPHY23Revtx_Bpm"]
867 list_1trk2trk_psi2Input = [
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_X3872"]
868 list_1trk2trk_jpsi1Mass = [Jpsimass, Jpsimass]
869 list_1trk2trk_psi1Mass = [Bpmmass, Bpmmass]
870 list_1trk2trk_p1dau3Mass = [Kmass, Kmass]
871 list_1trk2trk_jpsi2Mass = [Jpsimass, Jpsimass]
872 list_1trk2trk_psi2Mass = [Psi2Smass, X3872mass]
873 list_1trk2trk_p2dau3Mass = [Pimass, Pimass]
874 list_1trk2trk_p2dau4Mass = [Pimass, Pimass]
876 list_1trk2trk_obj = []
877 for hypo
in list_1trk2trk_hypo:
878 list_1trk2trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade(
"BPHY23_"+hypo) )
880 for i
in range(len(list_1trk2trk_obj)):
881 list_1trk2trk_obj[i].HypothesisName = list_1trk2trk_hypo[i]
882 list_1trk2trk_obj[i].Psi1Vertices = list_1trk2trk_psi1Input[i]
883 list_1trk2trk_obj[i].Psi2Vertices = list_1trk2trk_psi2Input[i]
884 list_1trk2trk_obj[i].NumberOfPsi1Daughters = 3
885 list_1trk2trk_obj[i].NumberOfPsi2Daughters = 4
886 list_1trk2trk_obj[i].MassLowerCut = 0.
887 list_1trk2trk_obj[i].MassUpperCut = X_hi
888 list_1trk2trk_obj[i].Chi2CutPsi1 = 5.
889 list_1trk2trk_obj[i].Chi2CutPsi2 = 5.
890 list_1trk2trk_obj[i].Chi2Cut = 30.
891 list_1trk2trk_obj[i].MaxCandidates = 15
892 list_1trk2trk_obj[i].MaxnPV = 100
894 list_1trk2trk_obj[i].TrkVertexFitterTool = vkalvrt
895 list_1trk2trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
896 list_1trk2trk_obj[i].RefPVContainerName =
"BPHY23_"+list_1trk2trk_hypo[i]+
"_RefPrimaryVertices"
897 list_1trk2trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_1trk2trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_1trk2trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_1trk2trk_hypo[i]+
"_CascadeVtx3"]
898 list_1trk2trk_obj[i].RefitPV =
True
899 list_1trk2trk_obj[i].Vtx1Daug3MassHypo = list_1trk2trk_p1dau3Mass[i]
900 list_1trk2trk_obj[i].Vtx2Daug3MassHypo = list_1trk2trk_p2dau3Mass[i]
901 list_1trk2trk_obj[i].Vtx2Daug4MassHypo = list_1trk2trk_p2dau4Mass[i]
902 list_1trk2trk_obj[i].ApplyJpsi1MassConstraint =
True
903 list_1trk2trk_obj[i].Jpsi1Mass = list_1trk2trk_jpsi1Mass[i]
904 list_1trk2trk_obj[i].ApplyPsi1MassConstraint =
True
905 list_1trk2trk_obj[i].Psi1Mass = list_1trk2trk_psi1Mass[i]
906 list_1trk2trk_obj[i].ApplyJpsi2MassConstraint =
True
907 list_1trk2trk_obj[i].Jpsi2Mass = list_1trk2trk_jpsi2Mass[i]
908 list_1trk2trk_obj[i].ApplyPsi2MassConstraint =
True
909 list_1trk2trk_obj[i].Psi2Mass = list_1trk2trk_psi2Mass[i]
915 list_2trk2trk_hypo = [
"Bs2KPsi2",
"B0KpiPsi2",
"B0piKPsi2",
916 "Bs2KX3872",
"B0KpiX3872",
"B0piKX3872",
917 "Bs2KBs2K",
"Bs2KB0Kpi",
"Bs2KB0piK",
918 "B0KpiB0Kpi",
"B0KpiB0piK",
"B0piKB0piK"]
919 list_2trk2trk_psi1Input = [
"BPHY23Revtx_Bs0",
"BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0piK",
920 "BPHY23Revtx_Bs0",
"BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0piK",
921 "BPHY23Revtx_Bs0",
"BPHY23Revtx_Bs0",
"BPHY23Revtx_Bs0",
922 "BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0piK"]
923 list_2trk2trk_psi2Input = [
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_Psi4Body",
924 "BPHY23Revtx_X3872",
"BPHY23Revtx_X3872",
"BPHY23Revtx_X3872",
925 "BPHY23Revtx_Bs0",
"BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0piK",
926 "BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0piK",
"BPHY23Revtx_B0piK"]
927 list_2trk2trk_jpsi1Mass = [Jpsimass, Jpsimass, Jpsimass,
928 Jpsimass, Jpsimass, Jpsimass,
929 Jpsimass, Jpsimass, Jpsimass,
930 Jpsimass, Jpsimass, Jpsimass]
931 list_2trk2trk_psi1Mass = [Bs0mass, B0mass, B0mass,
932 Bs0mass, B0mass, B0mass,
933 Bs0mass, Bs0mass, Bs0mass,
934 B0mass, B0mass, B0mass]
935 list_2trk2trk_p1dau3Mass = [Kmass, Kmass, Pimass,
936 Kmass, Kmass, Pimass,
938 Kmass, Kmass, Pimass]
939 list_2trk2trk_p1dau4Mass = [Kmass, Pimass, Kmass,
940 Kmass, Pimass, Kmass,
942 Pimass, Pimass, Kmass]
943 list_2trk2trk_jpsi2Mass = [Jpsimass, Jpsimass, Jpsimass,
944 Jpsimass, Jpsimass, Jpsimass,
945 Jpsimass, Jpsimass, Jpsimass,
946 Jpsimass, Jpsimass, Jpsimass]
947 list_2trk2trk_psi2Mass = [Psi2Smass, Psi2Smass, Psi2Smass,
948 X3872mass, X3872mass, X3872mass,
949 Bs0mass, B0mass, B0mass,
950 B0mass, B0mass, B0mass]
951 list_2trk2trk_p2dau3Mass = [Pimass, Pimass, Pimass,
952 Pimass, Pimass, Pimass,
953 Kmass, Kmass, Pimass,
954 Kmass, Pimass, Pimass]
955 list_2trk2trk_p2dau4Mass = [Pimass, Pimass, Pimass,
956 Pimass, Pimass, Pimass,
957 Kmass, Pimass, Kmass,
958 Pimass, Kmass, Kmass]
960 list_2trk2trk_obj = []
961 for hypo
in list_2trk2trk_hypo:
962 list_2trk2trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade(
"BPHY23_"+hypo) )
964 for i
in range(len(list_2trk2trk_obj)):
965 list_2trk2trk_obj[i].HypothesisName = list_2trk2trk_hypo[i]
966 list_2trk2trk_obj[i].Psi1Vertices = list_2trk2trk_psi1Input[i]
967 list_2trk2trk_obj[i].Psi2Vertices = list_2trk2trk_psi2Input[i]
968 list_2trk2trk_obj[i].NumberOfPsi1Daughters = 4
969 list_2trk2trk_obj[i].NumberOfPsi2Daughters = 4
970 list_2trk2trk_obj[i].MassLowerCut = 0.
971 list_2trk2trk_obj[i].MassUpperCut = X_hi
972 list_2trk2trk_obj[i].Chi2CutPsi1 = 4.
973 list_2trk2trk_obj[i].Chi2CutPsi2 = 4.
974 list_2trk2trk_obj[i].Chi2Cut = 30.
975 list_2trk2trk_obj[i].MaxCandidates = 15
976 list_2trk2trk_obj[i].RemoveDuplicatePairs =
True
977 list_2trk2trk_obj[i].MaxnPV = 100
979 list_2trk2trk_obj[i].TrkVertexFitterTool = vkalvrt
980 list_2trk2trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
981 list_2trk2trk_obj[i].RefPVContainerName =
"BPHY23_"+list_2trk2trk_hypo[i]+
"_RefPrimaryVertices"
982 list_2trk2trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_2trk2trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_2trk2trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_2trk2trk_hypo[i]+
"_CascadeVtx3"]
983 list_2trk2trk_obj[i].RefitPV =
True
984 list_2trk2trk_obj[i].Vtx1Daug3MassHypo = list_2trk2trk_p1dau3Mass[i]
985 list_2trk2trk_obj[i].Vtx1Daug4MassHypo = list_2trk2trk_p1dau4Mass[i]
986 list_2trk2trk_obj[i].Vtx2Daug3MassHypo = list_2trk2trk_p2dau3Mass[i]
987 list_2trk2trk_obj[i].Vtx2Daug4MassHypo = list_2trk2trk_p2dau4Mass[i]
988 list_2trk2trk_obj[i].ApplyJpsi1MassConstraint =
True
989 list_2trk2trk_obj[i].Jpsi1Mass = list_2trk2trk_jpsi1Mass[i]
990 list_2trk2trk_obj[i].ApplyPsi1MassConstraint =
True
991 list_2trk2trk_obj[i].Psi1Mass = list_2trk2trk_psi1Mass[i]
992 list_2trk2trk_obj[i].ApplyJpsi2MassConstraint =
True
993 list_2trk2trk_obj[i].Jpsi2Mass = list_2trk2trk_jpsi2Mass[i]
994 list_2trk2trk_obj[i].ApplyPsi2MassConstraint =
True
995 list_2trk2trk_obj[i].Psi2Mass = list_2trk2trk_psi2Mass[i]
997 list2_2trk2trk_hypo = [
"Psi2Psi2",
"Psi2X3872",
"X3872X3872"]
998 list2_2trk2trk_psi1Input = [
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_X3872"]
999 list2_2trk2trk_psi2Input = [
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_X3872",
"BPHY23Revtx_X3872"]
1000 list2_2trk2trk_jpsi1mass = [Jpsimass, Jpsimass, Jpsimass]
1001 list2_2trk2trk_psi1mass = [Psi2Smass, Psi2Smass, X3872mass]
1002 list2_2trk2trk_jpsi2mass = [Jpsimass, Jpsimass, Jpsimass]
1003 list2_2trk2trk_psi2mass = [Psi2Smass, X3872mass, X3872mass]
1005 list2_2trk2trk_obj = []
1006 for hypo
in list2_2trk2trk_hypo:
1007 list2_2trk2trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY23_"+hypo) )
1009 for i
in range(len(list2_2trk2trk_obj)):
1010 list2_2trk2trk_obj[i].HypothesisName = list2_2trk2trk_hypo[i]
1011 list2_2trk2trk_obj[i].Psi1Vertices = list2_2trk2trk_psi1Input[i]
1012 list2_2trk2trk_obj[i].Psi2Vertices = list2_2trk2trk_psi2Input[i]
1013 list2_2trk2trk_obj[i].MaxCandidates = 15
1014 list2_2trk2trk_obj[i].NumberOfPsi1Daughters = 4
1015 list2_2trk2trk_obj[i].NumberOfPsi2Daughters = 4
1016 list2_2trk2trk_obj[i].Jpsi1MassLowerCut = Jpsi_lo
1017 list2_2trk2trk_obj[i].Jpsi1MassUpperCut = Jpsi_hi
1018 list2_2trk2trk_obj[i].Psi1MassLowerCut = Psi_lo
1019 list2_2trk2trk_obj[i].Psi1MassUpperCut = Psi_hi
1020 list2_2trk2trk_obj[i].Jpsi2MassLowerCut = Jpsi_lo
1021 list2_2trk2trk_obj[i].Jpsi2MassUpperCut = Jpsi_hi
1022 list2_2trk2trk_obj[i].Psi2MassLowerCut = Psi_lo
1023 list2_2trk2trk_obj[i].Psi2MassUpperCut = Psi_hi
1024 list2_2trk2trk_obj[i].MassLowerCut = 0.
1025 list2_2trk2trk_obj[i].MassUpperCut = X_hi
1026 list2_2trk2trk_obj[i].Jpsi1Mass = list2_2trk2trk_jpsi1mass[i]
1027 list2_2trk2trk_obj[i].Psi1Mass = list2_2trk2trk_psi1mass[i]
1028 list2_2trk2trk_obj[i].Jpsi2Mass = list2_2trk2trk_jpsi2mass[i]
1029 list2_2trk2trk_obj[i].Psi2Mass = list2_2trk2trk_psi2mass[i]
1030 list2_2trk2trk_obj[i].ApplyJpsi1MassConstraint =
True
1031 list2_2trk2trk_obj[i].ApplyPsi1MassConstraint =
True
1032 list2_2trk2trk_obj[i].ApplyJpsi2MassConstraint =
True
1033 list2_2trk2trk_obj[i].ApplyPsi2MassConstraint =
True
1034 list2_2trk2trk_obj[i].Chi2Cut = 30.
1036 list2_2trk2trk_obj[i].TrkVertexFitterTool = vkalvrt
1037 list2_2trk2trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
1038 list2_2trk2trk_obj[i].OutputVertexCollections = [
"BPHY23_"+list2_2trk2trk_hypo[i]+
"_SubVtx1",
"BPHY23_"+list2_2trk2trk_hypo[i]+
"_SubVtx2",
"BPHY23_"+list2_2trk2trk_hypo[i]+
"_MainVtx"]
1039 list2_2trk2trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
1040 list2_2trk2trk_obj[i].RefPVContainerName =
"BPHY23_"+list2_2trk2trk_hypo[i]+
"_RefPrimaryVertices"
1041 list2_2trk2trk_obj[i].RefitPV =
True
1042 list2_2trk2trk_obj[i].MaxnPV = 100
1045 list_all_obj = list_2trk0trk_obj + list_1trk0trk_obj + list_1trk1trk_obj + list_2trk1trk_obj + list_1trk2trk_obj + list_2trk2trk_obj
1046 list2_all_obj = list2_2trk0trk_obj + list2_1trk0trk_obj + list2_1trk1trk_obj + list2_2trk1trk_obj + list2_2trk2trk_obj
1048 OutputCollections = []
1049 RefPVContainers = []
1050 RefPVAuxContainers = []
1051 passedCandidates = []
1053 for obj
in list_all_obj:
1054 OutputCollections += obj.CascadeVertexCollections
1055 RefPVContainers += [
"xAOD::VertexContainer#BPHY23_" + obj.HypothesisName +
"_RefPrimaryVertices"]
1056 RefPVAuxContainers += [
"xAOD::VertexAuxContainer#BPHY23_" + obj.HypothesisName +
"_RefPrimaryVerticesAux."]
1057 passedCandidates += [
"BPHY23_" + obj.HypothesisName +
"_CascadeVtx3"]
1059 for obj
in list2_all_obj:
1060 OutputCollections += obj.OutputVertexCollections
1061 RefPVContainers += [
"xAOD::VertexContainer#BPHY23_" + obj.HypothesisName +
"_RefPrimaryVertices"]
1062 RefPVAuxContainers += [
"xAOD::VertexAuxContainer#BPHY23_" + obj.HypothesisName +
"_RefPrimaryVerticesAux."]
1063 passedCandidates += [
"BPHY23_" + obj.HypothesisName +
"_MainVtx"]
1065 BPHY23_SelectEvent = CompFactory.DerivationFramework.AnyVertexSkimmingTool(name =
"BPHY23_SelectEvent", VertexContainerNames = passedCandidates)
1066 acc.addPublicTool(BPHY23_SelectEvent)
1068 augmentation_tools = [BPHY23_Reco_mumu, BPHY23FourTrackReco_PsiX3872, BPHY23FourTrackReco_Bs0, BPHY23FourTrackReco_B0, BPHY23ThreeTrackReco_Zc3900, BPHY23ThreeTrackReco_Bpm, BPHY23Rev_Psi4Body, BPHY23Rev_X3872, BPHY23Rev_Bs0, BPHY23Rev_B0Kpi, BPHY23Rev_B0piK, BPHY23Rev_Zc3900, BPHY23Rev_Bpm, BPHY23Select_Jpsi, BPHY23Select_Psi, BPHY23Select_Upsi, BPHY23Rev_Jpsi, BPHY23Rev_Psi, BPHY23Rev_Upsi] + list_all_obj + list2_all_obj
1069 for t
in augmentation_tools : acc.addPublicTool(t)
1071 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
1073 AugmentationTools = augmentation_tools,
1074 SkimmingTools = [BPHY23_SelectEvent]
1077 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
1078 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
1079 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
1080 BPHY23SlimmingHelper =
SlimmingHelper(
"BPHY23SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
1081 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import getDefaultAllVariables
1083 BPHY23_StaticContent = []
1086 BPHY23SlimmingHelper.IncludeMuonTriggerContent =
True
1087 BPHY23SlimmingHelper.IncludeBPhysTriggerContent =
True
1090 BPHY23_AllVariables += [
"PrimaryVertices"]
1091 BPHY23_StaticContent += RefPVContainers
1092 BPHY23_StaticContent += RefPVAuxContainers
1095 BPHY23_AllVariables += [
"InDetTrackParticles"]
1100 BPHY23_AllVariables += [
"CombinedMuonTrackParticles",
"ExtrapolatedMuonTrackParticles"]
1103 BPHY23_AllVariables += [
"Muons",
"MuonSegments"]
1106 for output
in OutputCollections:
1107 BPHY23_StaticContent += [
"xAOD::VertexContainer#%s" % output]
1108 BPHY23_StaticContent += [
"xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % output]
1112 BPHY23_AllVariables += [
"TruthEvents",
"TruthParticles",
"TruthVertices",
"MuonTruthParticles"]
1114 BPHY23SlimmingHelper.SmartCollections = [
"Muons",
"PrimaryVertices",
"InDetTrackParticles"]
1115 BPHY23SlimmingHelper.AllVariables = BPHY23_AllVariables
1116 BPHY23SlimmingHelper.StaticContent = BPHY23_StaticContent
1118 BPHY23ItemList = BPHY23SlimmingHelper.GetItemList()
1119 acc.merge(
OutputStreamCfg(flags,
"DAOD_BPHY23", ItemList=BPHY23ItemList, AcceptAlgs=[
"BPHY23Kernel"]))
1120 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_BPHY23", AcceptAlgs=[
"BPHY23Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
1121 acc.printConfig(withDetails=
True, summariseProps=
True, onlyComponents = [], printDefaults=
True, printComponentsOnly=
False)