9 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
10 from AthenaConfiguration.ComponentFactory
import CompFactory
11 from AthenaConfiguration.Enums
import MetadataCategory
13 BPHYDerivationName =
"BPHY23"
14 streamName =
"StreamDAOD_BPHY23"
17 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import (BPHY_V0ToolCfg, BPHY_InDetDetailedTrackSelectorToolCfg, BPHY_VertexPointEstimatorCfg, BPHY_TrkVKalVrtFitterCfg)
18 from JpsiUpsilonTools.JpsiUpsilonToolsConfig
import PrimaryVertexRefittingToolCfg
20 isSimulation = flags.Input.isMC
21 V0Tools = acc.popToolsAndMerge(
BPHY_V0ToolCfg(flags, BPHYDerivationName))
23 acc.addPublicTool(vkalvrt)
24 acc.addPublicTool(V0Tools)
26 acc.addPublicTool(trackselect)
28 acc.addPublicTool(vpest)
58 BPHY23JpsiFinder = CompFactory.Analysis.JpsiFinder(
59 name =
"BPHY23JpsiFinder",
62 TrackAndTrack =
False,
64 trackThresholdPt = 2400.,
65 invMassLower = Jpsi_lo,
66 invMassUpper = Upsi_hi,
68 oppChargesOnly =
True,
69 atLeastOneComb =
True,
70 useCombinedMeasurement =
False,
71 muonCollectionKey =
"Muons",
72 TrackParticleCollection =
"InDetTrackParticles",
73 V0VertexFitterTool =
None,
75 TrkVertexFitterTool = vkalvrt,
76 TrackSelectorTool = trackselect,
77 VertexPointEstimator = vpest,
79 acc.addPublicTool(BPHY23JpsiFinder)
81 BPHY23_Reco_mumu = CompFactory.DerivationFramework.Reco_Vertex(
82 name =
"BPHY23_Reco_mumu",
83 VertexSearchTool = BPHY23JpsiFinder,
84 OutputVtxContainerName =
"BPHY23OniaCandidates",
85 PVContainerName =
"PrimaryVertices",
86 RefPVContainerName =
"SHOULDNOTBEUSED",
93 BPHY23PsiX3872_Jpsi2Trk = CompFactory.Analysis.JpsiPlus2Tracks(
94 name =
"BPHY23PsiX3872_Jpsi2Trk",
95 kaonkaonHypothesis =
False,
96 pionpionHypothesis =
True,
97 kaonpionHypothesis =
False,
98 kaonprotonHypothesis =
False,
99 trkThresholdPt = 380.,
101 oppChargesOnly =
False,
102 JpsiMassLower = Jpsi_lo,
103 JpsiMassUpper = Jpsi_hi,
104 TrkQuadrupletMassLower = Psi_lo,
105 TrkQuadrupletMassUpper = Psi_hi,
107 JpsiContainerKey =
"BPHY23OniaCandidates",
108 TrackParticleCollection =
"InDetTrackParticles",
109 MuonsUsedInJpsi =
"Muons",
110 ExcludeJpsiMuonsOnly =
True,
111 TrkVertexFitterTool = vkalvrt,
112 TrackSelectorTool = trackselect,
113 UseMassConstraint =
False)
114 acc.addPublicTool(BPHY23PsiX3872_Jpsi2Trk)
117 BPHY23Bs0_Jpsi2Trk = CompFactory.Analysis.JpsiPlus2Tracks(
118 name =
"BPHY23Bs0_Jpsi2Trk",
119 kaonkaonHypothesis =
True,
120 pionpionHypothesis =
False,
121 kaonpionHypothesis =
False,
122 kaonprotonHypothesis =
False,
123 trkThresholdPt = 380.,
125 oppChargesOnly =
False,
126 JpsiMassLower = Jpsi_lo,
127 JpsiMassUpper = Jpsi_hi,
128 TrkQuadrupletMassLower = Bs0_lo,
129 TrkQuadrupletMassUpper = Bs0_hi,
131 JpsiContainerKey =
"BPHY23OniaCandidates",
132 TrackParticleCollection =
"InDetTrackParticles",
133 MuonsUsedInJpsi =
"Muons",
134 ExcludeJpsiMuonsOnly =
True,
135 TrkVertexFitterTool = vkalvrt,
136 TrackSelectorTool = trackselect,
137 UseMassConstraint =
False)
138 acc.addPublicTool(BPHY23Bs0_Jpsi2Trk)
141 BPHY23B0_Jpsi2Trk = CompFactory.Analysis.JpsiPlus2Tracks(
142 name =
"BPHY23B0_Jpsi2Trk",
143 kaonkaonHypothesis =
False,
144 pionpionHypothesis =
False,
145 kaonpionHypothesis =
True,
146 kaonprotonHypothesis =
False,
147 trkThresholdPt = 380.,
149 oppChargesOnly =
False,
150 JpsiMassLower = Jpsi_lo,
151 JpsiMassUpper = Jpsi_hi,
152 TrkQuadrupletMassLower = B_lo,
153 TrkQuadrupletMassUpper = B_hi,
155 JpsiContainerKey =
"BPHY23OniaCandidates",
156 TrackParticleCollection =
"InDetTrackParticles",
157 MuonsUsedInJpsi =
"Muons",
158 ExcludeJpsiMuonsOnly =
True,
159 TrkVertexFitterTool = vkalvrt,
160 TrackSelectorTool = trackselect,
161 UseMassConstraint =
False)
162 acc.addPublicTool(BPHY23B0_Jpsi2Trk)
166 BPHY23Zc3900_Jpsi1Trk = CompFactory.Analysis.JpsiPlus1Track(
167 name =
"BPHY23Zc3900_Jpsi1Trk",
168 pionHypothesis =
True,
169 kaonHypothesis =
False,
170 trkThresholdPt = 380.,
172 JpsiMassLower = Jpsi_lo,
173 JpsiMassUpper = Jpsi_hi,
174 TrkTrippletMassLower = Zc_lo,
175 TrkTrippletMassUpper = Zc_hi,
177 JpsiContainerKey =
"BPHY23OniaCandidates",
178 TrackParticleCollection =
"InDetTrackParticles",
179 MuonsUsedInJpsi =
"Muons",
180 ExcludeJpsiMuonsOnly =
True,
181 TrkVertexFitterTool = vkalvrt,
182 TrackSelectorTool = trackselect,
183 UseMassConstraint =
False)
184 acc.addPublicTool(BPHY23Zc3900_Jpsi1Trk)
187 BPHY23Bpm_Jpsi1Trk = CompFactory.Analysis.JpsiPlus1Track(
188 name =
"BPHY23Bpm_Jpsi1Trk",
189 pionHypothesis =
False,
190 kaonHypothesis =
True,
191 trkThresholdPt = 380.,
193 JpsiMassLower = Jpsi_lo,
194 JpsiMassUpper = Jpsi_hi,
195 TrkTrippletMassLower = B_lo,
196 TrkTrippletMassUpper = B_hi,
198 JpsiContainerKey =
"BPHY23OniaCandidates",
199 TrackParticleCollection =
"InDetTrackParticles",
200 MuonsUsedInJpsi =
"Muons",
201 ExcludeJpsiMuonsOnly =
True,
202 TrkVertexFitterTool = vkalvrt,
203 TrackSelectorTool = trackselect,
204 UseMassConstraint =
False)
205 acc.addPublicTool(BPHY23Bpm_Jpsi1Trk)
207 BPHY23FourTrackReco_PsiX3872 = CompFactory.DerivationFramework.Reco_Vertex(
208 name =
"BPHY23FourTrackReco_PsiX3872",
209 VertexSearchTool = BPHY23PsiX3872_Jpsi2Trk,
210 OutputVtxContainerName =
"BPHY23FourTrack_PsiX3872",
211 PVContainerName =
"PrimaryVertices",
217 BPHY23FourTrackReco_Bs0 = CompFactory.DerivationFramework.Reco_Vertex(
218 name =
"BPHY23FourTrackReco_Bs0",
219 VertexSearchTool = BPHY23Bs0_Jpsi2Trk,
220 OutputVtxContainerName =
"BPHY23FourTrack_Bs0",
221 PVContainerName =
"PrimaryVertices",
227 BPHY23FourTrackReco_B0 = CompFactory.DerivationFramework.Reco_Vertex(
228 name =
"BPHY23FourTrackReco_B0",
229 VertexSearchTool = BPHY23B0_Jpsi2Trk,
230 OutputVtxContainerName =
"BPHY23FourTrack_B0",
231 PVContainerName =
"PrimaryVertices",
237 BPHY23ThreeTrackReco_Zc3900 = CompFactory.DerivationFramework.Reco_Vertex(
238 name =
"BPHY23ThreeTrackReco_Zc3900",
239 VertexSearchTool = BPHY23Zc3900_Jpsi1Trk,
240 OutputVtxContainerName =
"BPHY23ThreeTrack_Zc3900",
241 PVContainerName =
"PrimaryVertices",
247 BPHY23ThreeTrackReco_Bpm = CompFactory.DerivationFramework.Reco_Vertex(
248 name =
"BPHY23ThreeTrackReco_Bpm",
249 VertexSearchTool = BPHY23Bpm_Jpsi1Trk,
250 OutputVtxContainerName =
"BPHY23ThreeTrack_Bpm",
251 PVContainerName =
"PrimaryVertices",
259 BPHY23Rev_Psi4Body = CompFactory.DerivationFramework.ReVertex(
260 name =
"BPHY23Rev_Psi4Body",
261 InputVtxContainerName =
"BPHY23FourTrack_PsiX3872",
262 TrackIndices = [ 0, 1, 2, 3 ],
263 SubVertexTrackIndices = [ 1, 2 ],
265 UseMassConstraint =
True,
266 VertexMass = Psi2Smass,
267 SubVertexMass = Jpsimass,
268 MassInputParticles = [Mumass, Mumass, Pimass, Pimass],
270 TrkVertexFitterTool = vkalvrt,
273 OutputVtxContainerName =
"BPHY23Revtx_Psi4Body")
276 BPHY23Rev_X3872 = CompFactory.DerivationFramework.ReVertex(
277 name =
"BPHY23Rev_X3872",
278 InputVtxContainerName =
"BPHY23FourTrack_PsiX3872",
279 TrackIndices = [ 0, 1, 2, 3 ],
280 SubVertexTrackIndices = [ 1, 2 ],
282 UseMassConstraint =
True,
283 VertexMass = X3872mass,
284 SubVertexMass = Jpsimass,
285 MassInputParticles = [Mumass, Mumass, Pimass, Pimass],
287 TrkVertexFitterTool = vkalvrt,
290 OutputVtxContainerName =
"BPHY23Revtx_X3872")
293 BPHY23Rev_Bs0 = CompFactory.DerivationFramework.ReVertex(
294 name =
"BPHY23Rev_Bs0",
295 InputVtxContainerName =
"BPHY23FourTrack_Bs0",
296 TrackIndices = [ 0, 1, 2, 3 ],
297 SubVertexTrackIndices = [ 1, 2 ],
299 UseMassConstraint =
True,
300 VertexMass = Bs0mass,
301 SubVertexMass = Jpsimass,
302 MassInputParticles = [Mumass, Mumass, Kmass, Kmass],
304 TrkVertexFitterTool = vkalvrt,
307 OutputVtxContainerName =
"BPHY23Revtx_Bs0")
310 BPHY23Rev_B0Kpi = CompFactory.DerivationFramework.ReVertex(
311 name =
"BPHY23Rev_B0Kpi",
312 InputVtxContainerName =
"BPHY23FourTrack_B0",
313 TrackIndices = [ 0, 1, 2, 3 ],
314 SubVertexTrackIndices = [ 1, 2 ],
316 UseMassConstraint =
True,
318 SubVertexMass = Jpsimass,
319 MassInputParticles = [Mumass, Mumass, Kmass, Pimass],
321 TrkVertexFitterTool = vkalvrt,
324 OutputVtxContainerName =
"BPHY23Revtx_B0Kpi")
327 BPHY23Rev_B0piK = CompFactory.DerivationFramework.ReVertex(
328 name =
"BPHY23Rev_B0piK",
329 InputVtxContainerName =
"BPHY23FourTrack_B0",
330 TrackIndices = [ 0, 1, 2, 3 ],
331 SubVertexTrackIndices = [ 1, 2 ],
333 UseMassConstraint =
True,
335 SubVertexMass = Jpsimass,
336 MassInputParticles = [Mumass, Mumass, Pimass, Kmass],
338 TrkVertexFitterTool = vkalvrt,
341 OutputVtxContainerName =
"BPHY23Revtx_B0piK")
344 BPHY23Rev_Zc3900 = CompFactory.DerivationFramework.ReVertex(
345 name =
"BPHY23Rev_Zc3900",
346 InputVtxContainerName =
"BPHY23ThreeTrack_Zc3900",
347 TrackIndices = [ 0, 1, 2 ],
348 SubVertexTrackIndices = [ 1, 2 ],
350 UseMassConstraint =
True,
351 SubVertexMass = Jpsimass,
352 MassInputParticles = [Mumass, Mumass, Pimass],
356 TrkVertexFitterTool = vkalvrt,
359 OutputVtxContainerName =
"BPHY23Revtx_Zc3900")
362 BPHY23Rev_Bpm = CompFactory.DerivationFramework.ReVertex(
363 name =
"BPHY23Rev_Bpm",
364 InputVtxContainerName =
"BPHY23ThreeTrack_Bpm",
365 TrackIndices = [ 0, 1, 2 ],
366 SubVertexTrackIndices = [ 1, 2 ],
368 UseMassConstraint =
True,
369 VertexMass = Bpmmass,
370 SubVertexMass = Jpsimass,
371 MassInputParticles = [Mumass, Mumass, Kmass],
373 TrkVertexFitterTool = vkalvrt,
376 OutputVtxContainerName =
"BPHY23Revtx_Bpm")
379 BPHY23Select_Jpsi = CompFactory.DerivationFramework.Select_onia2mumu(
380 name =
"BPHY23Select_Jpsi",
381 HypothesisName =
"Jpsi",
382 InputVtxContainerName =
"BPHY23OniaCandidates",
384 TrkMasses = [Mumass, Mumass],
389 BPHY23Select_Psi = CompFactory.DerivationFramework.Select_onia2mumu(
390 name =
"BPHY23Select_Psi",
391 HypothesisName =
"Psi",
392 InputVtxContainerName =
"BPHY23OniaCandidates",
394 TrkMasses = [Mumass, Mumass],
399 BPHY23Select_Upsi = CompFactory.DerivationFramework.Select_onia2mumu(
400 name =
"BPHY23Select_Upsi",
401 HypothesisName =
"Upsi",
402 InputVtxContainerName =
"BPHY23OniaCandidates",
404 TrkMasses = [Mumass, Mumass],
409 BPHY23Rev_Jpsi = CompFactory.DerivationFramework.ReVertex(
410 name =
"BPHY23Rev_Jpsi",
411 InputVtxContainerName =
"BPHY23OniaCandidates",
412 HypothesisNames = [
"Jpsi" ],
413 TrackIndices = [ 0, 1 ],
415 UseMassConstraint =
True,
416 VertexMass = Jpsimass,
417 MassInputParticles = [Mumass, Mumass],
419 TrkVertexFitterTool = vkalvrt,
422 OutputVtxContainerName =
"BPHY23Revtx_Jpsi")
424 BPHY23Rev_Psi = CompFactory.DerivationFramework.ReVertex(
425 name =
"BPHY23Rev_Psi",
426 InputVtxContainerName =
"BPHY23OniaCandidates",
427 HypothesisNames = [
"Psi" ],
428 TrackIndices = [ 0, 1 ],
430 UseMassConstraint =
True,
431 VertexMass = Psi2Smass,
432 MassInputParticles = [Mumass, Mumass],
434 TrkVertexFitterTool = vkalvrt,
437 OutputVtxContainerName =
"BPHY23Revtx_Psi")
439 BPHY23Rev_Upsi = CompFactory.DerivationFramework.ReVertex(
440 name =
"BPHY23Rev_Upsi",
441 InputVtxContainerName =
"BPHY23OniaCandidates",
442 HypothesisNames = [
"Upsi" ],
443 TrackIndices = [ 0, 1 ],
445 UseMassConstraint =
True,
446 VertexMass = Upsimass,
447 MassInputParticles = [Mumass, Mumass],
449 TrkVertexFitterTool = vkalvrt,
452 OutputVtxContainerName =
"BPHY23Revtx_Upsi")
459 list_2trk0trk_hypo = [
"Bs2KJpsi0",
"Bs2KPsi0",
"Bs2KUpsi0",
460 "B0KpiJpsi0",
"B0KpiPsi0",
"B0KpiUpsi0",
461 "B0piKJpsi0",
"B0piKPsi0",
"B0piKUpsi0"]
462 list_2trk0trk_psiInput = [
"BPHY23Revtx_Bs0",
"BPHY23Revtx_Bs0",
"BPHY23Revtx_Bs0",
463 "BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0Kpi",
464 "BPHY23Revtx_B0piK",
"BPHY23Revtx_B0piK",
"BPHY23Revtx_B0piK"]
465 list_2trk0trk_jpsiInput = [
"BPHY23Revtx_Jpsi",
"BPHY23Revtx_Psi",
"BPHY23Revtx_Upsi",
466 "BPHY23Revtx_Jpsi",
"BPHY23Revtx_Psi",
"BPHY23Revtx_Upsi",
467 "BPHY23Revtx_Jpsi",
"BPHY23Revtx_Psi",
"BPHY23Revtx_Upsi"]
468 list_2trk0trk_jpsiMass = [Jpsimass, Jpsimass, Jpsimass,
469 Jpsimass, Jpsimass, Jpsimass,
470 Jpsimass, Jpsimass, Jpsimass]
471 list_2trk0trk_psiMass = [Bs0mass, Bs0mass, Bs0mass,
472 B0mass, B0mass, B0mass,
473 B0mass, B0mass, B0mass]
474 list_2trk0trk_dau3Mass = [Kmass, Kmass, Kmass,
476 Pimass, Pimass, Pimass]
477 list_2trk0trk_dau4Mass = [Kmass, Kmass, Kmass,
478 Pimass, Pimass, Pimass,
480 list_2trk0trk_jpsi2Mass = [Jpsimass, Psi2Smass, Upsimass,
481 Jpsimass, Psi2Smass, Upsimass,
482 Jpsimass, Psi2Smass, Upsimass]
484 list_2trk0trk_obj = []
485 for hypo
in list_2trk0trk_hypo:
486 list_2trk0trk_obj.append( CompFactory.DerivationFramework.JpsiPlusPsiCascade(
"BPHY23_"+hypo) )
488 for i
in range(len(list_2trk0trk_obj)):
489 list_2trk0trk_obj[i].HypothesisName = list_2trk0trk_hypo[i]
490 list_2trk0trk_obj[i].JpsiVertices = list_2trk0trk_jpsiInput[i]
491 list_2trk0trk_obj[i].PsiVertices = list_2trk0trk_psiInput[i]
492 list_2trk0trk_obj[i].NumberOfPsiDaughters = 4
493 list_2trk0trk_obj[i].MassLowerCut = 0.
494 list_2trk0trk_obj[i].MassUpperCut = X_hi
495 list_2trk0trk_obj[i].Chi2Cut = 30.
496 list_2trk0trk_obj[i].MaxCandidates = 15
497 list_2trk0trk_obj[i].MaxnPV = 100
499 list_2trk0trk_obj[i].TrkVertexFitterTool = vkalvrt
500 list_2trk0trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
501 list_2trk0trk_obj[i].RefPVContainerName =
"BPHY23_"+list_2trk0trk_hypo[i]+
"_RefPrimaryVertices"
502 list_2trk0trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_2trk0trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_2trk0trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_2trk0trk_hypo[i]+
"_CascadeVtx3"]
503 list_2trk0trk_obj[i].RefitPV =
True
504 list_2trk0trk_obj[i].Vtx1Daug3MassHypo = list_2trk0trk_dau3Mass[i]
505 list_2trk0trk_obj[i].Vtx1Daug4MassHypo = list_2trk0trk_dau4Mass[i]
506 list_2trk0trk_obj[i].ApplyJpsiMassConstraint =
True
507 list_2trk0trk_obj[i].JpsiMass = list_2trk0trk_jpsiMass[i]
508 list_2trk0trk_obj[i].ApplyPsiMassConstraint =
True
509 list_2trk0trk_obj[i].PsiMass = list_2trk0trk_psiMass[i]
510 list_2trk0trk_obj[i].ApplyJpsi2MassConstraint =
True
511 list_2trk0trk_obj[i].Jpsi2Mass = list_2trk0trk_jpsi2Mass[i]
513 list2_2trk0trk_hypo = [
"Psi2Jpsi0",
"Psi2Psi0",
"Psi2Upsi0",
514 "X3872Jpsi0",
"X3872Psi0",
"X3872Upsi0"]
515 list2_2trk0trk_psi1Input = [
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_Psi4Body",
516 "BPHY23Revtx_X3872",
"BPHY23Revtx_X3872",
"BPHY23Revtx_X3872"]
517 list2_2trk0trk_psi2Input = [
"BPHY23Revtx_Jpsi",
"BPHY23Revtx_Psi",
"BPHY23Revtx_Upsi",
518 "BPHY23Revtx_Jpsi",
"BPHY23Revtx_Psi",
"BPHY23Revtx_Upsi"]
519 list2_2trk0trk_jpsi2lo = [Jpsi_lo, Psi_lo, Upsi_lo, Jpsi_lo, Psi_lo, Upsi_lo]
520 list2_2trk0trk_jpsi2hi = [Jpsi_hi, Psi_hi, Upsi_hi, Jpsi_hi, Psi_hi, Upsi_hi]
521 list2_2trk0trk_jpsi1mass = [Jpsimass, Jpsimass, Jpsimass, Jpsimass, Jpsimass, Jpsimass]
522 list2_2trk0trk_psi1mass = [Psi2Smass, Psi2Smass, Psi2Smass, X3872mass, X3872mass, X3872mass]
523 list2_2trk0trk_jpsi2mass = [Jpsimass, Psi2Smass, Upsimass, Jpsimass, Psi2Smass, Upsimass]
525 list2_2trk0trk_obj = []
526 for hypo
in list2_2trk0trk_hypo:
527 list2_2trk0trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY23_"+hypo) )
529 for i
in range(len(list2_2trk0trk_obj)):
530 list2_2trk0trk_obj[i].HypothesisName = list2_2trk0trk_hypo[i]
531 list2_2trk0trk_obj[i].Psi1Vertices = list2_2trk0trk_psi1Input[i]
532 list2_2trk0trk_obj[i].Psi2Vertices = list2_2trk0trk_psi2Input[i]
533 list2_2trk0trk_obj[i].MaxCandidates = 15
534 list2_2trk0trk_obj[i].NumberOfPsi1Daughters = 4
535 list2_2trk0trk_obj[i].NumberOfPsi2Daughters = 2
536 list2_2trk0trk_obj[i].Jpsi1MassLowerCut = Jpsi_lo
537 list2_2trk0trk_obj[i].Jpsi1MassUpperCut = Jpsi_hi
538 list2_2trk0trk_obj[i].Psi1MassLowerCut = Psi_lo
539 list2_2trk0trk_obj[i].Psi1MassUpperCut = Psi_hi
540 list2_2trk0trk_obj[i].Jpsi2MassLowerCut = list2_2trk0trk_jpsi2lo[i]
541 list2_2trk0trk_obj[i].Jpsi2MassUpperCut = list2_2trk0trk_jpsi2hi[i]
542 list2_2trk0trk_obj[i].MassLowerCut = 0.
543 list2_2trk0trk_obj[i].MassUpperCut = X_hi
544 list2_2trk0trk_obj[i].Jpsi1Mass = list2_2trk0trk_jpsi1mass[i]
545 list2_2trk0trk_obj[i].Psi1Mass = list2_2trk0trk_psi1mass[i]
546 list2_2trk0trk_obj[i].Jpsi2Mass = list2_2trk0trk_jpsi2mass[i]
547 list2_2trk0trk_obj[i].ApplyJpsi1MassConstraint =
True
548 list2_2trk0trk_obj[i].ApplyPsi1MassConstraint =
True
549 list2_2trk0trk_obj[i].ApplyJpsi2MassConstraint =
True
550 list2_2trk0trk_obj[i].Chi2Cut = 30.
552 list2_2trk0trk_obj[i].TrkVertexFitterTool = vkalvrt
553 list2_2trk0trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
554 list2_2trk0trk_obj[i].OutputVertexCollections = [
"BPHY23_"+list2_2trk0trk_hypo[i]+
"_SubVtx1",
"BPHY23_"+list2_2trk0trk_hypo[i]+
"_SubVtx2",
"BPHY23_"+list2_2trk0trk_hypo[i]+
"_MainVtx"]
555 list2_2trk0trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
556 list2_2trk0trk_obj[i].RefPVContainerName =
"BPHY23_"+list2_2trk0trk_hypo[i]+
"_RefPrimaryVertices"
557 list2_2trk0trk_obj[i].RefitPV =
True
558 list2_2trk0trk_obj[i].MaxnPV = 100
564 list_1trk0trk_hypo = [
"BpmJpsi0",
"BpmPsi0",
"BpmUpsi0"]
565 list_1trk0trk_psiInput = [
"BPHY23Revtx_Bpm",
"BPHY23Revtx_Bpm",
"BPHY23Revtx_Bpm"]
566 list_1trk0trk_jpsiInput = [
"BPHY23Revtx_Jpsi",
"BPHY23Revtx_Psi",
"BPHY23Revtx_Upsi"]
567 list_1trk0trk_jpsiMass = [Jpsimass, Jpsimass, Jpsimass]
568 list_1trk0trk_psiMass = [Bpmmass, Bpmmass, Bpmmass]
569 list_1trk0trk_dau3Mass = [Kmass, Kmass, Kmass]
570 list_1trk0trk_jpsi2Mass = [Jpsimass, Psi2Smass, Upsimass]
572 list_1trk0trk_obj = []
573 for hypo
in list_1trk0trk_hypo:
574 list_1trk0trk_obj.append( CompFactory.DerivationFramework.JpsiPlusPsiCascade(
"BPHY23_"+hypo) )
576 for i
in range(len(list_1trk0trk_obj)):
577 list_1trk0trk_obj[i].HypothesisName = list_1trk0trk_hypo[i]
578 list_1trk0trk_obj[i].JpsiVertices = list_1trk0trk_jpsiInput[i]
579 list_1trk0trk_obj[i].PsiVertices = list_1trk0trk_psiInput[i]
580 list_1trk0trk_obj[i].NumberOfPsiDaughters = 3
581 list_1trk0trk_obj[i].MassLowerCut = 0.
582 list_1trk0trk_obj[i].MassUpperCut = X_hi
583 list_1trk0trk_obj[i].Chi2Cut = 30.
584 list_1trk0trk_obj[i].MaxCandidates = 15
585 list_1trk0trk_obj[i].MaxnPV = 100
587 list_1trk0trk_obj[i].TrkVertexFitterTool = vkalvrt
588 list_1trk0trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
589 list_1trk0trk_obj[i].RefPVContainerName =
"BPHY23_"+list_1trk0trk_hypo[i]+
"_RefPrimaryVertices"
590 list_1trk0trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_1trk0trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_1trk0trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_1trk0trk_hypo[i]+
"_CascadeVtx3"]
591 list_1trk0trk_obj[i].RefitPV =
True
592 list_1trk0trk_obj[i].Vtx1Daug3MassHypo = list_1trk0trk_dau3Mass[i]
593 list_1trk0trk_obj[i].ApplyJpsiMassConstraint =
True
594 list_1trk0trk_obj[i].JpsiMass = list_1trk0trk_jpsiMass[i]
595 list_1trk0trk_obj[i].ApplyPsiMassConstraint =
True
596 list_1trk0trk_obj[i].PsiMass = list_1trk0trk_psiMass[i]
597 list_1trk0trk_obj[i].ApplyJpsi2MassConstraint =
True
598 list_1trk0trk_obj[i].Jpsi2Mass = list_1trk0trk_jpsi2Mass[i]
600 list2_1trk0trk_hypo = [
"Zc3900Jpsi0",
"Zc3900Psi0",
"Zc3900Upsi0"]
601 list2_1trk0trk_psi1Input = [
"BPHY23Revtx_Zc3900",
"BPHY23Revtx_Zc3900",
"BPHY23Revtx_Zc3900"]
602 list2_1trk0trk_psi2Input = [
"BPHY23Revtx_Jpsi",
"BPHY23Revtx_Psi",
"BPHY23Revtx_Upsi"]
603 list2_1trk0trk_jpsi2lo = [Jpsi_lo, Psi_lo, Upsi_lo]
604 list2_1trk0trk_jpsi2hi = [Jpsi_hi, Psi_hi, Upsi_hi]
605 list2_1trk0trk_jpsi1mass = [Jpsimass, Jpsimass, Jpsimass]
606 list2_1trk0trk_psi1mass = [Zcmass, Zcmass, Zcmass]
607 list2_1trk0trk_jpsi2mass = [Jpsimass, Psi2Smass, Upsimass]
609 list2_1trk0trk_obj = []
610 for hypo
in list2_1trk0trk_hypo:
611 list2_1trk0trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY23_"+hypo) )
613 for i
in range(len(list2_1trk0trk_obj)):
614 list2_1trk0trk_obj[i].HypothesisName = list2_1trk0trk_hypo[i]
615 list2_1trk0trk_obj[i].Psi1Vertices = list2_1trk0trk_psi1Input[i]
616 list2_1trk0trk_obj[i].Psi2Vertices = list2_1trk0trk_psi2Input[i]
617 list2_1trk0trk_obj[i].MaxCandidates = 15
618 list2_1trk0trk_obj[i].NumberOfPsi1Daughters = 3
619 list2_1trk0trk_obj[i].NumberOfPsi2Daughters = 2
620 list2_1trk0trk_obj[i].Jpsi1MassLowerCut = Jpsi_lo
621 list2_1trk0trk_obj[i].Jpsi1MassUpperCut = Jpsi_hi
622 list2_1trk0trk_obj[i].Psi1MassLowerCut = Zc_lo
623 list2_1trk0trk_obj[i].Psi1MassUpperCut = Zc_hi
624 list2_1trk0trk_obj[i].Jpsi2MassLowerCut = list2_1trk0trk_jpsi2lo[i]
625 list2_1trk0trk_obj[i].Jpsi2MassUpperCut = list2_1trk0trk_jpsi2hi[i]
626 list2_1trk0trk_obj[i].MassLowerCut = 0.
627 list2_1trk0trk_obj[i].MassUpperCut = X_hi
628 list2_1trk0trk_obj[i].Jpsi1Mass = list2_1trk0trk_jpsi1mass[i]
629 list2_1trk0trk_obj[i].Psi1Mass = list2_1trk0trk_psi1mass[i]
630 list2_1trk0trk_obj[i].Jpsi2Mass = list2_1trk0trk_jpsi2mass[i]
631 list2_1trk0trk_obj[i].ApplyJpsi1MassConstraint =
True
632 list2_1trk0trk_obj[i].ApplyPsi1MassConstraint =
True
633 list2_1trk0trk_obj[i].ApplyJpsi2MassConstraint =
True
634 list2_1trk0trk_obj[i].Chi2Cut = 30.
636 list2_1trk0trk_obj[i].TrkVertexFitterTool = vkalvrt
637 list2_1trk0trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
638 list2_1trk0trk_obj[i].OutputVertexCollections = [
"BPHY23_"+list2_1trk0trk_hypo[i]+
"_SubVtx1",
"BPHY23_"+list2_1trk0trk_hypo[i]+
"_SubVtx2",
"BPHY23_"+list2_1trk0trk_hypo[i]+
"_MainVtx"]
639 list2_1trk0trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
640 list2_1trk0trk_obj[i].RefPVContainerName =
"BPHY23_"+list2_1trk0trk_hypo[i]+
"_RefPrimaryVertices"
641 list2_1trk0trk_obj[i].RefitPV =
True
642 list2_1trk0trk_obj[i].MaxnPV = 100
648 list_1trk1trk_hypo = [
"BpmZc3900",
"BpmBpm"]
649 list_1trk1trk_psi1Input = [
"BPHY23Revtx_Bpm",
"BPHY23Revtx_Bpm"]
650 list_1trk1trk_psi2Input = [
"BPHY23Revtx_Zc3900",
"BPHY23Revtx_Bpm"]
651 list_1trk1trk_jpsi1Mass = [Jpsimass, Jpsimass]
652 list_1trk1trk_psi1Mass = [Bpmmass, Bpmmass]
653 list_1trk1trk_p1dau3Mass = [Kmass, Kmass]
654 list_1trk1trk_jpsi2Mass = [Jpsimass, Jpsimass]
655 list_1trk1trk_psi2Mass = [Zcmass, Bpmmass]
656 list_1trk1trk_p2dau3Mass = [Pimass, Kmass]
658 list_1trk1trk_obj = []
659 for hypo
in list_1trk1trk_hypo:
660 list_1trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade(
"BPHY23_"+hypo) )
662 for i
in range(len(list_1trk1trk_obj)):
663 list_1trk1trk_obj[i].HypothesisName = list_1trk1trk_hypo[i]
664 list_1trk1trk_obj[i].Psi1Vertices = list_1trk1trk_psi1Input[i]
665 list_1trk1trk_obj[i].Psi2Vertices = list_1trk1trk_psi2Input[i]
666 list_1trk1trk_obj[i].NumberOfPsi1Daughters = 3
667 list_1trk1trk_obj[i].NumberOfPsi2Daughters = 3
668 list_1trk1trk_obj[i].MassLowerCut = 0.
669 list_1trk1trk_obj[i].MassUpperCut = X_hi
670 list_1trk1trk_obj[i].Chi2CutPsi1 = 5.
671 list_1trk1trk_obj[i].Chi2CutPsi2 = 5.
672 list_1trk1trk_obj[i].Chi2Cut = 30.
673 list_1trk1trk_obj[i].MaxCandidates = 15
674 list_1trk1trk_obj[i].RemoveDuplicatePairs =
True
675 list_1trk1trk_obj[i].MaxnPV = 100
677 list_1trk1trk_obj[i].TrkVertexFitterTool = vkalvrt
678 list_1trk1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
679 list_1trk1trk_obj[i].RefPVContainerName =
"BPHY23_"+list_1trk1trk_hypo[i]+
"_RefPrimaryVertices"
680 list_1trk1trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_1trk1trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_1trk1trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_1trk1trk_hypo[i]+
"_CascadeVtx3"]
681 list_1trk1trk_obj[i].RefitPV =
True
682 list_1trk1trk_obj[i].Vtx1Daug3MassHypo = list_1trk1trk_p1dau3Mass[i]
683 list_1trk1trk_obj[i].Vtx2Daug3MassHypo = list_1trk1trk_p2dau3Mass[i]
684 list_1trk1trk_obj[i].ApplyJpsi1MassConstraint =
True
685 list_1trk1trk_obj[i].Jpsi1Mass = list_1trk1trk_jpsi1Mass[i]
686 list_1trk1trk_obj[i].ApplyPsi1MassConstraint =
True
687 list_1trk1trk_obj[i].Psi1Mass = list_1trk1trk_psi1Mass[i]
688 list_1trk1trk_obj[i].ApplyJpsi2MassConstraint =
True
689 list_1trk1trk_obj[i].Jpsi2Mass = list_1trk1trk_jpsi2Mass[i]
690 if list_1trk1trk_psi2Mass[i] != Zcmass:
691 list_1trk1trk_obj[i].ApplyPsi2MassConstraint =
True
692 list_1trk1trk_obj[i].Psi2Mass = list_1trk1trk_psi2Mass[i]
694 list2_1trk1trk_hypo = [
"Zc3900Zc3900"]
695 list2_1trk1trk_psi1Input = [
"BPHY23Revtx_Zc3900"]
696 list2_1trk1trk_psi2Input = [
"BPHY23Revtx_Zc3900"]
697 list2_1trk1trk_jpsi1mass = [Jpsimass]
698 list2_1trk1trk_psi1mass = [Zcmass]
699 list2_1trk1trk_jpsi2mass = [Jpsimass]
700 list2_1trk1trk_psi2mass = [Zcmass]
702 list2_1trk1trk_obj = []
703 for hypo
in list2_1trk1trk_hypo:
704 list2_1trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY23_"+hypo) )
706 for i
in range(len(list2_1trk1trk_obj)):
707 list2_1trk1trk_obj[i].HypothesisName = list2_1trk1trk_hypo[i]
708 list2_1trk1trk_obj[i].Psi1Vertices = list2_1trk1trk_psi1Input[i]
709 list2_1trk1trk_obj[i].Psi2Vertices = list2_1trk1trk_psi2Input[i]
710 list2_1trk1trk_obj[i].MaxCandidates = 15
711 list2_1trk1trk_obj[i].NumberOfPsi1Daughters = 3
712 list2_1trk1trk_obj[i].NumberOfPsi2Daughters = 3
713 list2_1trk1trk_obj[i].Jpsi1MassLowerCut = Jpsi_lo
714 list2_1trk1trk_obj[i].Jpsi1MassUpperCut = Jpsi_hi
715 list2_1trk1trk_obj[i].Psi1MassLowerCut = Zc_lo
716 list2_1trk1trk_obj[i].Psi1MassUpperCut = Zc_hi
717 list2_1trk1trk_obj[i].Jpsi2MassLowerCut = Jpsi_lo
718 list2_1trk1trk_obj[i].Jpsi2MassUpperCut = Jpsi_hi
719 list2_1trk1trk_obj[i].Psi2MassLowerCut = Zc_lo
720 list2_1trk1trk_obj[i].Psi2MassUpperCut = Zc_hi
721 list2_1trk1trk_obj[i].MassLowerCut = 0.
722 list2_1trk1trk_obj[i].MassUpperCut = X_hi
723 list2_1trk1trk_obj[i].Jpsi1Mass = list2_1trk1trk_jpsi1mass[i]
724 list2_1trk1trk_obj[i].Psi1Mass = list2_1trk1trk_psi1mass[i]
725 list2_1trk1trk_obj[i].Jpsi2Mass = list2_1trk1trk_jpsi2mass[i]
726 list2_1trk1trk_obj[i].Psi2Mass = list2_1trk1trk_psi2mass[i]
727 list2_1trk1trk_obj[i].ApplyJpsi1MassConstraint =
True
728 list2_1trk1trk_obj[i].ApplyPsi1MassConstraint =
True
729 list2_1trk1trk_obj[i].ApplyJpsi2MassConstraint =
True
730 list2_1trk1trk_obj[i].ApplyPsi2MassConstraint =
True
731 list2_1trk1trk_obj[i].Chi2Cut = 30.
733 list2_1trk1trk_obj[i].TrkVertexFitterTool = vkalvrt
734 list2_1trk1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
735 list2_1trk1trk_obj[i].OutputVertexCollections = [
"BPHY23_"+list2_1trk1trk_hypo[i]+
"_SubVtx1",
"BPHY23_"+list2_1trk1trk_hypo[i]+
"_SubVtx2",
"BPHY23_"+list2_1trk1trk_hypo[i]+
"_MainVtx"]
736 list2_1trk1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
737 list2_1trk1trk_obj[i].RefPVContainerName =
"BPHY23_"+list2_1trk1trk_hypo[i]+
"_RefPrimaryVertices"
738 list2_1trk1trk_obj[i].RefitPV =
True
739 list2_1trk1trk_obj[i].MaxnPV = 100
745 list_2trk1trk_hypo = [
"Bs2KZc3900",
"Bs2KBpm",
746 "B0KpiZc3900",
"B0KpiBpm",
747 "B0piKZc3900",
"B0piKBpm"]
748 list_2trk1trk_psi1Input = [
"BPHY23Revtx_Bs0",
"BPHY23Revtx_Bs0",
749 "BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0Kpi",
750 "BPHY23Revtx_B0piK",
"BPHY23Revtx_B0piK"]
751 list_2trk1trk_psi2Input = [
"BPHY23Revtx_Zc3900",
"BPHY23Revtx_Bpm",
752 "BPHY23Revtx_Zc3900",
"BPHY23Revtx_Bpm",
753 "BPHY23Revtx_Zc3900",
"BPHY23Revtx_Bpm"]
754 list_2trk1trk_jpsi1Mass = [Jpsimass, Jpsimass,
757 list_2trk1trk_psi1Mass = [Bs0mass, Bs0mass,
760 list_2trk1trk_p1dau3Mass = [Kmass, Kmass,
763 list_2trk1trk_p1dau4Mass = [Kmass, Kmass,
766 list_2trk1trk_jpsi2Mass = [Jpsimass, Jpsimass,
769 list_2trk1trk_psi2Mass = [Zcmass, Bpmmass,
772 list_2trk1trk_p2dau3Mass = [Pimass, Kmass,
776 list_2trk1trk_obj = []
777 for hypo
in list_2trk1trk_hypo:
778 list_2trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade(
"BPHY23_"+hypo) )
780 for i
in range(len(list_2trk1trk_obj)):
781 list_2trk1trk_obj[i].HypothesisName = list_2trk1trk_hypo[i]
782 list_2trk1trk_obj[i].Psi1Vertices = list_2trk1trk_psi1Input[i]
783 list_2trk1trk_obj[i].Psi2Vertices = list_2trk1trk_psi2Input[i]
784 list_2trk1trk_obj[i].NumberOfPsi1Daughters = 4
785 list_2trk1trk_obj[i].NumberOfPsi2Daughters = 3
786 list_2trk1trk_obj[i].MassLowerCut = 0.
787 list_2trk1trk_obj[i].MassUpperCut = X_hi
788 list_2trk1trk_obj[i].Chi2CutPsi1 = 5.
789 list_2trk1trk_obj[i].Chi2CutPsi2 = 5.
790 list_2trk1trk_obj[i].Chi2Cut = 30.
791 list_2trk1trk_obj[i].MaxCandidates = 15
792 list_2trk1trk_obj[i].MaxnPV = 100
794 list_2trk1trk_obj[i].TrkVertexFitterTool = vkalvrt
795 list_2trk1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
796 list_2trk1trk_obj[i].RefPVContainerName =
"BPHY23_"+list_2trk1trk_hypo[i]+
"_RefPrimaryVertices"
797 list_2trk1trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_2trk1trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_2trk1trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_2trk1trk_hypo[i]+
"_CascadeVtx3"]
798 list_2trk1trk_obj[i].RefitPV =
True
799 list_2trk1trk_obj[i].Vtx1Daug3MassHypo = list_2trk1trk_p1dau3Mass[i]
800 list_2trk1trk_obj[i].Vtx1Daug4MassHypo = list_2trk1trk_p1dau4Mass[i]
801 list_2trk1trk_obj[i].Vtx2Daug3MassHypo = list_2trk1trk_p2dau3Mass[i]
802 list_2trk1trk_obj[i].ApplyJpsi1MassConstraint =
True
803 list_2trk1trk_obj[i].Jpsi1Mass = list_2trk1trk_jpsi1Mass[i]
804 list_2trk1trk_obj[i].ApplyPsi1MassConstraint =
True
805 list_2trk1trk_obj[i].Psi1Mass = list_2trk1trk_psi1Mass[i]
806 list_2trk1trk_obj[i].ApplyJpsi2MassConstraint =
True
807 list_2trk1trk_obj[i].Jpsi2Mass = list_2trk1trk_jpsi2Mass[i]
808 if list_2trk1trk_psi2Mass[i] != Zcmass:
809 list_2trk1trk_obj[i].ApplyPsi2MassConstraint =
True
810 list_2trk1trk_obj[i].Psi2Mass = list_2trk1trk_psi2Mass[i]
812 list2_2trk1trk_hypo = [
"Psi2Zc3900",
"X3872Zc3900"]
813 list2_2trk1trk_psi1Input = [
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_X3872"]
814 list2_2trk1trk_psi2Input = [
"BPHY23Revtx_Zc3900",
"BPHY23Revtx_Zc3900"]
815 list2_2trk1trk_jpsi1mass = [Jpsimass, Jpsimass]
816 list2_2trk1trk_psi1mass = [Psi2Smass, X3872mass]
817 list2_2trk1trk_jpsi2mass = [Jpsimass, Jpsimass]
818 list2_2trk1trk_psi2mass = [Zcmass, Zcmass]
820 list2_2trk1trk_obj = []
821 for hypo
in list2_2trk1trk_hypo:
822 list2_2trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY23_"+hypo) )
824 for i
in range(len(list2_2trk1trk_obj)):
825 list2_2trk1trk_obj[i].HypothesisName = list2_2trk1trk_hypo[i]
826 list2_2trk1trk_obj[i].Psi1Vertices = list2_2trk1trk_psi1Input[i]
827 list2_2trk1trk_obj[i].Psi2Vertices = list2_2trk1trk_psi2Input[i]
828 list2_2trk1trk_obj[i].MaxCandidates = 15
829 list2_2trk1trk_obj[i].NumberOfPsi1Daughters = 4
830 list2_2trk1trk_obj[i].NumberOfPsi2Daughters = 3
831 list2_2trk1trk_obj[i].Jpsi1MassLowerCut = Jpsi_lo
832 list2_2trk1trk_obj[i].Jpsi1MassUpperCut = Jpsi_hi
833 list2_2trk1trk_obj[i].Psi1MassLowerCut = Psi_lo
834 list2_2trk1trk_obj[i].Psi1MassUpperCut = Psi_hi
835 list2_2trk1trk_obj[i].Jpsi2MassLowerCut = Jpsi_lo
836 list2_2trk1trk_obj[i].Jpsi2MassUpperCut = Jpsi_hi
837 list2_2trk1trk_obj[i].Psi2MassLowerCut = Zc_lo
838 list2_2trk1trk_obj[i].Psi2MassUpperCut = Zc_hi
839 list2_2trk1trk_obj[i].MassLowerCut = 0.
840 list2_2trk1trk_obj[i].MassUpperCut = X_hi
841 list2_2trk1trk_obj[i].Jpsi1Mass = list2_2trk1trk_jpsi1mass[i]
842 list2_2trk1trk_obj[i].Psi1Mass = list2_2trk1trk_psi1mass[i]
843 list2_2trk1trk_obj[i].Jpsi2Mass = list2_2trk1trk_jpsi2mass[i]
844 list2_2trk1trk_obj[i].Psi2Mass = list2_2trk1trk_psi2mass[i]
845 list2_2trk1trk_obj[i].ApplyJpsi1MassConstraint =
True
846 list2_2trk1trk_obj[i].ApplyPsi1MassConstraint =
True
847 list2_2trk1trk_obj[i].ApplyJpsi2MassConstraint =
True
848 list2_2trk1trk_obj[i].ApplyPsi2MassConstraint =
True
849 list2_2trk1trk_obj[i].Chi2Cut = 30.
851 list2_2trk1trk_obj[i].TrkVertexFitterTool = vkalvrt
852 list2_2trk1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
853 list2_2trk1trk_obj[i].OutputVertexCollections = [
"BPHY23_"+list2_2trk1trk_hypo[i]+
"_SubVtx1",
"BPHY23_"+list2_2trk1trk_hypo[i]+
"_SubVtx2",
"BPHY23_"+list2_2trk1trk_hypo[i]+
"_MainVtx"]
854 list2_2trk1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
855 list2_2trk1trk_obj[i].RefPVContainerName =
"BPHY23_"+list2_2trk1trk_hypo[i]+
"_RefPrimaryVertices"
856 list2_2trk1trk_obj[i].RefitPV =
True
857 list2_2trk1trk_obj[i].MaxnPV = 100
863 list_1trk2trk_hypo = [
"BpmPsi2",
"BpmX3872"]
864 list_1trk2trk_psi1Input = [
"BPHY23Revtx_Bpm",
"BPHY23Revtx_Bpm"]
865 list_1trk2trk_psi2Input = [
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_X3872"]
866 list_1trk2trk_jpsi1Mass = [Jpsimass, Jpsimass]
867 list_1trk2trk_psi1Mass = [Bpmmass, Bpmmass]
868 list_1trk2trk_p1dau3Mass = [Kmass, Kmass]
869 list_1trk2trk_jpsi2Mass = [Jpsimass, Jpsimass]
870 list_1trk2trk_psi2Mass = [Psi2Smass, X3872mass]
871 list_1trk2trk_p2dau3Mass = [Pimass, Pimass]
872 list_1trk2trk_p2dau4Mass = [Pimass, Pimass]
874 list_1trk2trk_obj = []
875 for hypo
in list_1trk2trk_hypo:
876 list_1trk2trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade(
"BPHY23_"+hypo) )
878 for i
in range(len(list_1trk2trk_obj)):
879 list_1trk2trk_obj[i].HypothesisName = list_1trk2trk_hypo[i]
880 list_1trk2trk_obj[i].Psi1Vertices = list_1trk2trk_psi1Input[i]
881 list_1trk2trk_obj[i].Psi2Vertices = list_1trk2trk_psi2Input[i]
882 list_1trk2trk_obj[i].NumberOfPsi1Daughters = 3
883 list_1trk2trk_obj[i].NumberOfPsi2Daughters = 4
884 list_1trk2trk_obj[i].MassLowerCut = 0.
885 list_1trk2trk_obj[i].MassUpperCut = X_hi
886 list_1trk2trk_obj[i].Chi2CutPsi1 = 5.
887 list_1trk2trk_obj[i].Chi2CutPsi2 = 5.
888 list_1trk2trk_obj[i].Chi2Cut = 30.
889 list_1trk2trk_obj[i].MaxCandidates = 15
890 list_1trk2trk_obj[i].MaxnPV = 100
892 list_1trk2trk_obj[i].TrkVertexFitterTool = vkalvrt
893 list_1trk2trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
894 list_1trk2trk_obj[i].RefPVContainerName =
"BPHY23_"+list_1trk2trk_hypo[i]+
"_RefPrimaryVertices"
895 list_1trk2trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_1trk2trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_1trk2trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_1trk2trk_hypo[i]+
"_CascadeVtx3"]
896 list_1trk2trk_obj[i].RefitPV =
True
897 list_1trk2trk_obj[i].Vtx1Daug3MassHypo = list_1trk2trk_p1dau3Mass[i]
898 list_1trk2trk_obj[i].Vtx2Daug3MassHypo = list_1trk2trk_p2dau3Mass[i]
899 list_1trk2trk_obj[i].Vtx2Daug4MassHypo = list_1trk2trk_p2dau4Mass[i]
900 list_1trk2trk_obj[i].ApplyJpsi1MassConstraint =
True
901 list_1trk2trk_obj[i].Jpsi1Mass = list_1trk2trk_jpsi1Mass[i]
902 list_1trk2trk_obj[i].ApplyPsi1MassConstraint =
True
903 list_1trk2trk_obj[i].Psi1Mass = list_1trk2trk_psi1Mass[i]
904 list_1trk2trk_obj[i].ApplyJpsi2MassConstraint =
True
905 list_1trk2trk_obj[i].Jpsi2Mass = list_1trk2trk_jpsi2Mass[i]
906 list_1trk2trk_obj[i].ApplyPsi2MassConstraint =
True
907 list_1trk2trk_obj[i].Psi2Mass = list_1trk2trk_psi2Mass[i]
913 list_2trk2trk_hypo = [
"Bs2KPsi2",
"B0KpiPsi2",
"B0piKPsi2",
914 "Bs2KX3872",
"B0KpiX3872",
"B0piKX3872",
915 "Bs2KBs2K",
"Bs2KB0Kpi",
"Bs2KB0piK",
916 "B0KpiB0Kpi",
"B0KpiB0piK",
"B0piKB0piK"]
917 list_2trk2trk_psi1Input = [
"BPHY23Revtx_Bs0",
"BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0piK",
918 "BPHY23Revtx_Bs0",
"BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0piK",
919 "BPHY23Revtx_Bs0",
"BPHY23Revtx_Bs0",
"BPHY23Revtx_Bs0",
920 "BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0piK"]
921 list_2trk2trk_psi2Input = [
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_Psi4Body",
922 "BPHY23Revtx_X3872",
"BPHY23Revtx_X3872",
"BPHY23Revtx_X3872",
923 "BPHY23Revtx_Bs0",
"BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0piK",
924 "BPHY23Revtx_B0Kpi",
"BPHY23Revtx_B0piK",
"BPHY23Revtx_B0piK"]
925 list_2trk2trk_jpsi1Mass = [Jpsimass, Jpsimass, Jpsimass,
926 Jpsimass, Jpsimass, Jpsimass,
927 Jpsimass, Jpsimass, Jpsimass,
928 Jpsimass, Jpsimass, Jpsimass]
929 list_2trk2trk_psi1Mass = [Bs0mass, B0mass, B0mass,
930 Bs0mass, B0mass, B0mass,
931 Bs0mass, Bs0mass, Bs0mass,
932 B0mass, B0mass, B0mass]
933 list_2trk2trk_p1dau3Mass = [Kmass, Kmass, Pimass,
934 Kmass, Kmass, Pimass,
936 Kmass, Kmass, Pimass]
937 list_2trk2trk_p1dau4Mass = [Kmass, Pimass, Kmass,
938 Kmass, Pimass, Kmass,
940 Pimass, Pimass, Kmass]
941 list_2trk2trk_jpsi2Mass = [Jpsimass, Jpsimass, Jpsimass,
942 Jpsimass, Jpsimass, Jpsimass,
943 Jpsimass, Jpsimass, Jpsimass,
944 Jpsimass, Jpsimass, Jpsimass]
945 list_2trk2trk_psi2Mass = [Psi2Smass, Psi2Smass, Psi2Smass,
946 X3872mass, X3872mass, X3872mass,
947 Bs0mass, B0mass, B0mass,
948 B0mass, B0mass, B0mass]
949 list_2trk2trk_p2dau3Mass = [Pimass, Pimass, Pimass,
950 Pimass, Pimass, Pimass,
951 Kmass, Kmass, Pimass,
952 Kmass, Pimass, Pimass]
953 list_2trk2trk_p2dau4Mass = [Pimass, Pimass, Pimass,
954 Pimass, Pimass, Pimass,
955 Kmass, Pimass, Kmass,
956 Pimass, Kmass, Kmass]
958 list_2trk2trk_obj = []
959 for hypo
in list_2trk2trk_hypo:
960 list_2trk2trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade(
"BPHY23_"+hypo) )
962 for i
in range(len(list_2trk2trk_obj)):
963 list_2trk2trk_obj[i].HypothesisName = list_2trk2trk_hypo[i]
964 list_2trk2trk_obj[i].Psi1Vertices = list_2trk2trk_psi1Input[i]
965 list_2trk2trk_obj[i].Psi2Vertices = list_2trk2trk_psi2Input[i]
966 list_2trk2trk_obj[i].NumberOfPsi1Daughters = 4
967 list_2trk2trk_obj[i].NumberOfPsi2Daughters = 4
968 list_2trk2trk_obj[i].MassLowerCut = 0.
969 list_2trk2trk_obj[i].MassUpperCut = X_hi
970 list_2trk2trk_obj[i].Chi2CutPsi1 = 4.
971 list_2trk2trk_obj[i].Chi2CutPsi2 = 4.
972 list_2trk2trk_obj[i].Chi2Cut = 30.
973 list_2trk2trk_obj[i].MaxCandidates = 15
974 list_2trk2trk_obj[i].RemoveDuplicatePairs =
True
975 list_2trk2trk_obj[i].MaxnPV = 100
977 list_2trk2trk_obj[i].TrkVertexFitterTool = vkalvrt
978 list_2trk2trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
979 list_2trk2trk_obj[i].RefPVContainerName =
"BPHY23_"+list_2trk2trk_hypo[i]+
"_RefPrimaryVertices"
980 list_2trk2trk_obj[i].CascadeVertexCollections = [
"BPHY23_"+list_2trk2trk_hypo[i]+
"_CascadeVtx1",
"BPHY23_"+list_2trk2trk_hypo[i]+
"_CascadeVtx2",
"BPHY23_"+list_2trk2trk_hypo[i]+
"_CascadeVtx3"]
981 list_2trk2trk_obj[i].RefitPV =
True
982 list_2trk2trk_obj[i].Vtx1Daug3MassHypo = list_2trk2trk_p1dau3Mass[i]
983 list_2trk2trk_obj[i].Vtx1Daug4MassHypo = list_2trk2trk_p1dau4Mass[i]
984 list_2trk2trk_obj[i].Vtx2Daug3MassHypo = list_2trk2trk_p2dau3Mass[i]
985 list_2trk2trk_obj[i].Vtx2Daug4MassHypo = list_2trk2trk_p2dau4Mass[i]
986 list_2trk2trk_obj[i].ApplyJpsi1MassConstraint =
True
987 list_2trk2trk_obj[i].Jpsi1Mass = list_2trk2trk_jpsi1Mass[i]
988 list_2trk2trk_obj[i].ApplyPsi1MassConstraint =
True
989 list_2trk2trk_obj[i].Psi1Mass = list_2trk2trk_psi1Mass[i]
990 list_2trk2trk_obj[i].ApplyJpsi2MassConstraint =
True
991 list_2trk2trk_obj[i].Jpsi2Mass = list_2trk2trk_jpsi2Mass[i]
992 list_2trk2trk_obj[i].ApplyPsi2MassConstraint =
True
993 list_2trk2trk_obj[i].Psi2Mass = list_2trk2trk_psi2Mass[i]
995 list2_2trk2trk_hypo = [
"Psi2Psi2",
"Psi2X3872",
"X3872X3872"]
996 list2_2trk2trk_psi1Input = [
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_X3872"]
997 list2_2trk2trk_psi2Input = [
"BPHY23Revtx_Psi4Body",
"BPHY23Revtx_X3872",
"BPHY23Revtx_X3872"]
998 list2_2trk2trk_jpsi1mass = [Jpsimass, Jpsimass, Jpsimass]
999 list2_2trk2trk_psi1mass = [Psi2Smass, Psi2Smass, X3872mass]
1000 list2_2trk2trk_jpsi2mass = [Jpsimass, Jpsimass, Jpsimass]
1001 list2_2trk2trk_psi2mass = [Psi2Smass, X3872mass, X3872mass]
1003 list2_2trk2trk_obj = []
1004 for hypo
in list2_2trk2trk_hypo:
1005 list2_2trk2trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY23_"+hypo) )
1007 for i
in range(len(list2_2trk2trk_obj)):
1008 list2_2trk2trk_obj[i].HypothesisName = list2_2trk2trk_hypo[i]
1009 list2_2trk2trk_obj[i].Psi1Vertices = list2_2trk2trk_psi1Input[i]
1010 list2_2trk2trk_obj[i].Psi2Vertices = list2_2trk2trk_psi2Input[i]
1011 list2_2trk2trk_obj[i].MaxCandidates = 15
1012 list2_2trk2trk_obj[i].NumberOfPsi1Daughters = 4
1013 list2_2trk2trk_obj[i].NumberOfPsi2Daughters = 4
1014 list2_2trk2trk_obj[i].Jpsi1MassLowerCut = Jpsi_lo
1015 list2_2trk2trk_obj[i].Jpsi1MassUpperCut = Jpsi_hi
1016 list2_2trk2trk_obj[i].Psi1MassLowerCut = Psi_lo
1017 list2_2trk2trk_obj[i].Psi1MassUpperCut = Psi_hi
1018 list2_2trk2trk_obj[i].Jpsi2MassLowerCut = Jpsi_lo
1019 list2_2trk2trk_obj[i].Jpsi2MassUpperCut = Jpsi_hi
1020 list2_2trk2trk_obj[i].Psi2MassLowerCut = Psi_lo
1021 list2_2trk2trk_obj[i].Psi2MassUpperCut = Psi_hi
1022 list2_2trk2trk_obj[i].MassLowerCut = 0.
1023 list2_2trk2trk_obj[i].MassUpperCut = X_hi
1024 list2_2trk2trk_obj[i].Jpsi1Mass = list2_2trk2trk_jpsi1mass[i]
1025 list2_2trk2trk_obj[i].Psi1Mass = list2_2trk2trk_psi1mass[i]
1026 list2_2trk2trk_obj[i].Jpsi2Mass = list2_2trk2trk_jpsi2mass[i]
1027 list2_2trk2trk_obj[i].Psi2Mass = list2_2trk2trk_psi2mass[i]
1028 list2_2trk2trk_obj[i].ApplyJpsi1MassConstraint =
True
1029 list2_2trk2trk_obj[i].ApplyPsi1MassConstraint =
True
1030 list2_2trk2trk_obj[i].ApplyJpsi2MassConstraint =
True
1031 list2_2trk2trk_obj[i].ApplyPsi2MassConstraint =
True
1032 list2_2trk2trk_obj[i].Chi2Cut = 30.
1034 list2_2trk2trk_obj[i].TrkVertexFitterTool = vkalvrt
1035 list2_2trk2trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
1036 list2_2trk2trk_obj[i].OutputVertexCollections = [
"BPHY23_"+list2_2trk2trk_hypo[i]+
"_SubVtx1",
"BPHY23_"+list2_2trk2trk_hypo[i]+
"_SubVtx2",
"BPHY23_"+list2_2trk2trk_hypo[i]+
"_MainVtx"]
1037 list2_2trk2trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
1038 list2_2trk2trk_obj[i].RefPVContainerName =
"BPHY23_"+list2_2trk2trk_hypo[i]+
"_RefPrimaryVertices"
1039 list2_2trk2trk_obj[i].RefitPV =
True
1040 list2_2trk2trk_obj[i].MaxnPV = 100
1043 list_all_obj = list_2trk0trk_obj + list_1trk0trk_obj + list_1trk1trk_obj + list_2trk1trk_obj + list_1trk2trk_obj + list_2trk2trk_obj
1044 list2_all_obj = list2_2trk0trk_obj + list2_1trk0trk_obj + list2_1trk1trk_obj + list2_2trk1trk_obj + list2_2trk2trk_obj
1046 OutputCollections = []
1047 RefPVContainers = []
1048 RefPVAuxContainers = []
1049 passedCandidates = []
1051 for obj
in list_all_obj:
1052 OutputCollections += obj.CascadeVertexCollections
1053 RefPVContainers += [
"xAOD::VertexContainer#BPHY23_" + obj.HypothesisName +
"_RefPrimaryVertices"]
1054 RefPVAuxContainers += [
"xAOD::VertexAuxContainer#BPHY23_" + obj.HypothesisName +
"_RefPrimaryVerticesAux."]
1055 passedCandidates += [
"BPHY23_" + obj.HypothesisName +
"_CascadeVtx3"]
1057 for obj
in list2_all_obj:
1058 OutputCollections += obj.OutputVertexCollections
1059 RefPVContainers += [
"xAOD::VertexContainer#BPHY23_" + obj.HypothesisName +
"_RefPrimaryVertices"]
1060 RefPVAuxContainers += [
"xAOD::VertexAuxContainer#BPHY23_" + obj.HypothesisName +
"_RefPrimaryVerticesAux."]
1061 passedCandidates += [
"BPHY23_" + obj.HypothesisName +
"_MainVtx"]
1063 BPHY23_SelectEvent = CompFactory.DerivationFramework.AnyVertexSkimmingTool(name =
"BPHY23_SelectEvent", VertexContainerNames = passedCandidates)
1064 acc.addPublicTool(BPHY23_SelectEvent)
1066 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
1067 for t
in augmentation_tools : acc.addPublicTool(t)
1069 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
1071 AugmentationTools = augmentation_tools,
1072 SkimmingTools = [BPHY23_SelectEvent]
1075 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
1076 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
1077 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
1078 BPHY23SlimmingHelper =
SlimmingHelper(
"BPHY23SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
1079 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import getDefaultAllVariables
1081 BPHY23_StaticContent = []
1084 BPHY23SlimmingHelper.IncludeMuonTriggerContent =
True
1085 BPHY23SlimmingHelper.IncludeBPhysTriggerContent =
True
1088 BPHY23_AllVariables += [
"PrimaryVertices"]
1089 BPHY23_StaticContent += RefPVContainers
1090 BPHY23_StaticContent += RefPVAuxContainers
1093 BPHY23_AllVariables += [
"InDetTrackParticles"]
1098 BPHY23_AllVariables += [
"CombinedMuonTrackParticles",
"ExtrapolatedMuonTrackParticles"]
1101 BPHY23_AllVariables += [
"Muons",
"MuonSegments"]
1104 for output
in OutputCollections:
1105 BPHY23_StaticContent += [
"xAOD::VertexContainer#%s" % output]
1106 BPHY23_StaticContent += [
"xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % output]
1110 BPHY23_AllVariables += [
"TruthEvents",
"TruthParticles",
"TruthVertices",
"MuonTruthParticles"]
1112 BPHY23SlimmingHelper.SmartCollections = [
"Muons",
"PrimaryVertices",
"InDetTrackParticles"]
1113 BPHY23SlimmingHelper.AllVariables = BPHY23_AllVariables
1114 BPHY23SlimmingHelper.StaticContent = BPHY23_StaticContent
1116 BPHY23ItemList = BPHY23SlimmingHelper.GetItemList()
1117 acc.merge(
OutputStreamCfg(flags,
"DAOD_BPHY23", ItemList=BPHY23ItemList, AcceptAlgs=[
"BPHY23Kernel"]))
1118 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_BPHY23", AcceptAlgs=[
"BPHY23Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
1119 acc.printConfig(withDetails=
True, summariseProps=
True, onlyComponents = [], printDefaults=
True, printComponentsOnly=
False)