ATLAS Offline Software
Functions | Variables
BPHY23 Namespace Reference

Functions

def BPHY23Cfg (flags)
 

Variables

string BPHYDerivationName = "BPHY23"
 
string streamName = "StreamDAOD_BPHY23"
 

Function Documentation

◆ BPHY23Cfg()

def BPHY23.BPHY23Cfg (   flags)

Definition at line 16 of file BPHY23.py.

16 def BPHY23Cfg(flags):
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
20  acc = ComponentAccumulator()
21  acc.getPrimaryAndMerge(PartPropSvcCfg(flags))
22  isSimulation = flags.Input.isMC
23  V0Tools = acc.popToolsAndMerge(BPHY_V0ToolCfg(flags, BPHYDerivationName))
24  vkalvrt = acc.popToolsAndMerge(BPHY_TrkVKalVrtFitterCfg(flags, BPHYDerivationName)) # VKalVrt vertex fitter
25  acc.addPublicTool(vkalvrt)
26  acc.addPublicTool(V0Tools)
27  trackselect = acc.popToolsAndMerge(BPHY_InDetDetailedTrackSelectorToolCfg(flags, BPHYDerivationName))
28  acc.addPublicTool(trackselect)
29  vpest = acc.popToolsAndMerge(BPHY_VertexPointEstimatorCfg(flags, BPHYDerivationName))
30  acc.addPublicTool(vpest)
31 
32  # mass bounds and constants used in the following
33  X_hi = 141000.0
34 
35  Jpsi_lo = 2600.0
36  Jpsi_hi = 3500.0
37  Zc_lo = 3650.0
38  Zc_hi = 4150.0
39  Psi_lo = 3350.0
40  Psi_hi = 4200.0
41  B_lo = 4850.0
42  B_hi = 5700.0
43  Bs0_lo = 4950.0
44  Bs0_hi = 5800.0
45  Upsi_lo = 8900.0
46  Upsi_hi = 9900.0
47 
48  Mumass = 105.658
49  Pimass = 139.570
50  Kmass = 493.677
51  Jpsimass = 3096.916
52  Psi2Smass = 3686.10
53  X3872mass = 3871.65
54  Zcmass = 3887.1
55  Bpmmass = 5279.34
56  B0mass = 5279.66
57  Bs0mass = 5366.92
58  Upsimass = 9460.30
59 
60  BPHY23JpsiFinder = CompFactory.Analysis.JpsiFinder(
61  name = "BPHY23JpsiFinder",
62  muAndMu = True,
63  muAndTrack = False,
64  TrackAndTrack = False,
65  assumeDiMuons = True, # If true, will assume dimu hypothesis and use PDG value for mu mass
66  trackThresholdPt = 2400.,
67  invMassLower = Jpsi_lo,
68  invMassUpper = Upsi_hi,
69  Chi2Cut = 10.,
70  oppChargesOnly = True,
71  atLeastOneComb = True,
72  useCombinedMeasurement = False, # Only takes effect if combOnly=True
73  muonCollectionKey = "Muons",
74  TrackParticleCollection = "InDetTrackParticles",
75  V0VertexFitterTool = None,
76  useV0Fitter = False, # if False a TrkVertexFitterTool will be used
77  TrkVertexFitterTool = vkalvrt, # VKalVrt vertex fitter
78  TrackSelectorTool = trackselect,
79  VertexPointEstimator = vpest,
80  useMCPCuts = False )
81  acc.addPublicTool(BPHY23JpsiFinder)
82 
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",
89  V0Tools = V0Tools,
90  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
91  DoVertexType = 1)
92 
93 
94  # X(3872), Psi(2S) -> J/psi + pi pi
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.,
102  trkMaxEta = 2.6,
103  oppChargesOnly = False,
104  JpsiMassLower = Jpsi_lo,
105  JpsiMassUpper = Jpsi_hi,
106  TrkQuadrupletMassLower = Psi_lo,
107  TrkQuadrupletMassUpper = Psi_hi,
108  Chi2Cut = 10.,
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)
117 
118  # Bs0 -> J/psi + K K
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.,
126  trkMaxEta = 2.6,
127  oppChargesOnly = False,
128  JpsiMassLower = Jpsi_lo,
129  JpsiMassUpper = Jpsi_hi,
130  TrkQuadrupletMassLower = Bs0_lo,
131  TrkQuadrupletMassUpper = Bs0_hi,
132  Chi2Cut = 10.,
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)
141 
142  # B0 -> J/psi + K pi
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.,
150  trkMaxEta = 2.6,
151  oppChargesOnly = False,
152  JpsiMassLower = Jpsi_lo,
153  JpsiMassUpper = Jpsi_hi,
154  TrkQuadrupletMassLower = B_lo,
155  TrkQuadrupletMassUpper = B_hi,
156  Chi2Cut = 10.,
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)
165 
166 
167  # Zc(3900)+ -> J/psi pi
168  BPHY23Zc3900_Jpsi1Trk = CompFactory.Analysis.JpsiPlus1Track(
169  name = "BPHY23Zc3900_Jpsi1Trk",
170  pionHypothesis = True,
171  kaonHypothesis = False,
172  trkThresholdPt = 380.,
173  trkMaxEta = 2.6,
174  JpsiMassLower = Jpsi_lo,
175  JpsiMassUpper = Jpsi_hi,
176  TrkTrippletMassLower = Zc_lo,
177  TrkTrippletMassUpper = Zc_hi,
178  Chi2Cut = 10.0,
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)
187 
188  # B+ -> J/psi K
189  BPHY23Bpm_Jpsi1Trk = CompFactory.Analysis.JpsiPlus1Track(
190  name = "BPHY23Bpm_Jpsi1Trk",
191  pionHypothesis = False,
192  kaonHypothesis = True,
193  trkThresholdPt = 380.,
194  trkMaxEta = 2.6,
195  JpsiMassLower = Jpsi_lo,
196  JpsiMassUpper = Jpsi_hi,
197  TrkTrippletMassLower = B_lo,
198  TrkTrippletMassUpper = B_hi,
199  Chi2Cut = 10.0,
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)
208 
209  BPHY23FourTrackReco_PsiX3872 = CompFactory.DerivationFramework.Reco_Vertex(
210  name = "BPHY23FourTrackReco_PsiX3872",
211  VertexSearchTool = BPHY23PsiX3872_Jpsi2Trk,
212  OutputVtxContainerName = "BPHY23FourTrack_PsiX3872",
213  PVContainerName = "PrimaryVertices",
214  V0Tools = V0Tools,
215  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
216  RefitPV = False,
217  DoVertexType = 0)
218 
219  BPHY23FourTrackReco_Bs0 = CompFactory.DerivationFramework.Reco_Vertex(
220  name = "BPHY23FourTrackReco_Bs0",
221  VertexSearchTool = BPHY23Bs0_Jpsi2Trk,
222  OutputVtxContainerName = "BPHY23FourTrack_Bs0",
223  PVContainerName = "PrimaryVertices",
224  V0Tools = V0Tools,
225  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
226  RefitPV = False,
227  DoVertexType = 0)
228 
229  BPHY23FourTrackReco_B0 = CompFactory.DerivationFramework.Reco_Vertex(
230  name = "BPHY23FourTrackReco_B0",
231  VertexSearchTool = BPHY23B0_Jpsi2Trk,
232  OutputVtxContainerName = "BPHY23FourTrack_B0",
233  PVContainerName = "PrimaryVertices",
234  V0Tools = V0Tools,
235  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
236  RefitPV = False,
237  DoVertexType = 0)
238 
239  BPHY23ThreeTrackReco_Zc3900 = CompFactory.DerivationFramework.Reco_Vertex(
240  name = "BPHY23ThreeTrackReco_Zc3900",
241  VertexSearchTool = BPHY23Zc3900_Jpsi1Trk,
242  OutputVtxContainerName = "BPHY23ThreeTrack_Zc3900",
243  PVContainerName = "PrimaryVertices",
244  V0Tools = V0Tools,
245  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
246  RefitPV = False,
247  DoVertexType = 0)
248 
249  BPHY23ThreeTrackReco_Bpm = CompFactory.DerivationFramework.Reco_Vertex(
250  name = "BPHY23ThreeTrackReco_Bpm",
251  VertexSearchTool = BPHY23Bpm_Jpsi1Trk,
252  OutputVtxContainerName = "BPHY23ThreeTrack_Bpm",
253  PVContainerName = "PrimaryVertices",
254  V0Tools = V0Tools,
255  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
256  RefitPV = False,
257  DoVertexType = 0)
258 
259  # revertex with mass constraints to reduce combinatorics
260  # Psi(2S) -> J/psi pi pi
261  BPHY23Rev_Psi4Body = CompFactory.DerivationFramework.ReVertex(
262  name = "BPHY23Rev_Psi4Body",
263  InputVtxContainerName = "BPHY23FourTrack_PsiX3872",
264  TrackIndices = [ 0, 1, 2, 3 ],
265  SubVertexTrackIndices = [ 1, 2 ],
266  RefitPV = False,
267  UseMassConstraint = True,
268  VertexMass = Psi2Smass,
269  SubVertexMass = Jpsimass,
270  MassInputParticles = [Mumass, Mumass, Pimass, Pimass],
271  Chi2Cut = 25.,
272  TrkVertexFitterTool = vkalvrt,
273  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
274  V0Tools = V0Tools,
275  OutputVtxContainerName = "BPHY23Revtx_Psi4Body")
276 
277  # X(3872) -> J/psi pi pi
278  BPHY23Rev_X3872 = CompFactory.DerivationFramework.ReVertex(
279  name = "BPHY23Rev_X3872",
280  InputVtxContainerName = "BPHY23FourTrack_PsiX3872",
281  TrackIndices = [ 0, 1, 2, 3 ],
282  SubVertexTrackIndices = [ 1, 2 ],
283  RefitPV = False,
284  UseMassConstraint = True,
285  VertexMass = X3872mass,
286  SubVertexMass = Jpsimass,
287  MassInputParticles = [Mumass, Mumass, Pimass, Pimass],
288  Chi2Cut = 25.,
289  TrkVertexFitterTool = vkalvrt,
290  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
291  V0Tools = V0Tools,
292  OutputVtxContainerName = "BPHY23Revtx_X3872")
293 
294  # Bs0 -> J/psi K K
295  BPHY23Rev_Bs0 = CompFactory.DerivationFramework.ReVertex(
296  name = "BPHY23Rev_Bs0",
297  InputVtxContainerName = "BPHY23FourTrack_Bs0",
298  TrackIndices = [ 0, 1, 2, 3 ],
299  SubVertexTrackIndices = [ 1, 2 ],
300  RefitPV = False,
301  UseMassConstraint = True,
302  VertexMass = Bs0mass,
303  SubVertexMass = Jpsimass,
304  MassInputParticles = [Mumass, Mumass, Kmass, Kmass],
305  Chi2Cut = 25.,
306  TrkVertexFitterTool = vkalvrt,
307  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
308  V0Tools = V0Tools,
309  OutputVtxContainerName = "BPHY23Revtx_Bs0")
310 
311  # B0 -> J/psi K pi
312  BPHY23Rev_B0Kpi = CompFactory.DerivationFramework.ReVertex(
313  name = "BPHY23Rev_B0Kpi",
314  InputVtxContainerName = "BPHY23FourTrack_B0",
315  TrackIndices = [ 0, 1, 2, 3 ],
316  SubVertexTrackIndices = [ 1, 2 ],
317  RefitPV = False,
318  UseMassConstraint = True,
319  VertexMass = B0mass,
320  SubVertexMass = Jpsimass,
321  MassInputParticles = [Mumass, Mumass, Kmass, Pimass],
322  Chi2Cut = 25.,
323  TrkVertexFitterTool = vkalvrt,
324  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
325  V0Tools = V0Tools,
326  OutputVtxContainerName = "BPHY23Revtx_B0Kpi")
327 
328  # B0 -> J/psi pi K
329  BPHY23Rev_B0piK = CompFactory.DerivationFramework.ReVertex(
330  name = "BPHY23Rev_B0piK",
331  InputVtxContainerName = "BPHY23FourTrack_B0",
332  TrackIndices = [ 0, 1, 2, 3 ],
333  SubVertexTrackIndices = [ 1, 2 ],
334  RefitPV = False,
335  UseMassConstraint = True,
336  VertexMass = B0mass,
337  SubVertexMass = Jpsimass,
338  MassInputParticles = [Mumass, Mumass, Pimass, Kmass],
339  Chi2Cut = 25.,
340  TrkVertexFitterTool = vkalvrt,
341  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
342  V0Tools = V0Tools,
343  OutputVtxContainerName = "BPHY23Revtx_B0piK")
344 
345  # Zc3900 -> J/psi pi
346  BPHY23Rev_Zc3900 = CompFactory.DerivationFramework.ReVertex(
347  name = "BPHY23Rev_Zc3900",
348  InputVtxContainerName = "BPHY23ThreeTrack_Zc3900",
349  TrackIndices = [ 0, 1, 2 ],
350  SubVertexTrackIndices = [ 1, 2 ],
351  RefitPV = False,
352  UseMassConstraint = True,
353  SubVertexMass = Jpsimass,
354  MassInputParticles = [Mumass, Mumass, Pimass],
355  Chi2Cut = 25.,
356  BMassLower = Zc_lo,
357  BMassUpper = Zc_hi,
358  TrkVertexFitterTool = vkalvrt,
359  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
360  V0Tools = V0Tools,
361  OutputVtxContainerName = "BPHY23Revtx_Zc3900")
362 
363  # Bpm -> J/psi K
364  BPHY23Rev_Bpm = CompFactory.DerivationFramework.ReVertex(
365  name = "BPHY23Rev_Bpm",
366  InputVtxContainerName = "BPHY23ThreeTrack_Bpm",
367  TrackIndices = [ 0, 1, 2 ],
368  SubVertexTrackIndices = [ 1, 2 ],
369  RefitPV = False,
370  UseMassConstraint = True,
371  VertexMass = Bpmmass,
372  SubVertexMass = Jpsimass,
373  MassInputParticles = [Mumass, Mumass, Kmass],
374  Chi2Cut = 25.,
375  TrkVertexFitterTool = vkalvrt,
376  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
377  V0Tools = V0Tools,
378  OutputVtxContainerName = "BPHY23Revtx_Bpm")
379 
380 
381  BPHY23Select_Jpsi = CompFactory.DerivationFramework.Select_onia2mumu(
382  name = "BPHY23Select_Jpsi",
383  HypothesisName = "Jpsi",
384  InputVtxContainerName = "BPHY23OniaCandidates",
385  V0Tools = V0Tools,
386  TrkMasses = [Mumass, Mumass],
387  MassMin = Jpsi_lo,
388  MassMax = Jpsi_hi,
389  DoVertexType = 0)
390 
391  BPHY23Select_Psi = CompFactory.DerivationFramework.Select_onia2mumu(
392  name = "BPHY23Select_Psi",
393  HypothesisName = "Psi",
394  InputVtxContainerName = "BPHY23OniaCandidates",
395  V0Tools = V0Tools,
396  TrkMasses = [Mumass, Mumass],
397  MassMin = Psi_lo,
398  MassMax = Psi_hi,
399  DoVertexType = 0)
400 
401  BPHY23Select_Upsi = CompFactory.DerivationFramework.Select_onia2mumu(
402  name = "BPHY23Select_Upsi",
403  HypothesisName = "Upsi",
404  InputVtxContainerName = "BPHY23OniaCandidates",
405  V0Tools = V0Tools,
406  TrkMasses = [Mumass, Mumass],
407  MassMin = Upsi_lo,
408  MassMax = Upsi_hi,
409  DoVertexType = 0)
410 
411  BPHY23Rev_Jpsi = CompFactory.DerivationFramework.ReVertex(
412  name = "BPHY23Rev_Jpsi",
413  InputVtxContainerName = "BPHY23OniaCandidates",
414  HypothesisNames = [ "Jpsi" ],
415  TrackIndices = [ 0, 1 ],
416  RefitPV = False,
417  UseMassConstraint = True,
418  VertexMass = Jpsimass,
419  MassInputParticles = [Mumass, Mumass],
420  Chi2Cut = 50.,
421  TrkVertexFitterTool = vkalvrt,
422  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
423  V0Tools = V0Tools,
424  OutputVtxContainerName = "BPHY23Revtx_Jpsi")
425 
426  BPHY23Rev_Psi = CompFactory.DerivationFramework.ReVertex(
427  name = "BPHY23Rev_Psi",
428  InputVtxContainerName = "BPHY23OniaCandidates",
429  HypothesisNames = [ "Psi" ],
430  TrackIndices = [ 0, 1 ],
431  RefitPV = False,
432  UseMassConstraint = True,
433  VertexMass = Psi2Smass,
434  MassInputParticles = [Mumass, Mumass],
435  Chi2Cut = 50.,
436  TrkVertexFitterTool = vkalvrt,
437  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
438  V0Tools = V0Tools,
439  OutputVtxContainerName = "BPHY23Revtx_Psi")
440 
441  BPHY23Rev_Upsi = CompFactory.DerivationFramework.ReVertex(
442  name = "BPHY23Rev_Upsi",
443  InputVtxContainerName = "BPHY23OniaCandidates",
444  HypothesisNames = [ "Upsi" ],
445  TrackIndices = [ 0, 1 ],
446  RefitPV = False,
447  UseMassConstraint = True,
448  VertexMass = Upsimass,
449  MassInputParticles = [Mumass, Mumass],
450  Chi2Cut = 50.,
451  TrkVertexFitterTool = vkalvrt,
452  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
453  V0Tools = V0Tools,
454  OutputVtxContainerName = "BPHY23Revtx_Upsi")
455 
456 
457 
460 
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,
477  Kmass, Kmass, Kmass,
478  Pimass, Pimass, Pimass]
479  list_2trk0trk_dau4Mass = [Kmass, Kmass, Kmass,
480  Pimass, Pimass, Pimass,
481  Kmass, Kmass, Kmass]
482  list_2trk0trk_jpsi2Mass = [Jpsimass, Psi2Smass, Upsimass,
483  Jpsimass, Psi2Smass, Upsimass,
484  Jpsimass, Psi2Smass, Upsimass]
485 
486  list_2trk0trk_obj = []
487  for hypo in list_2trk0trk_hypo:
488  list_2trk0trk_obj.append( CompFactory.DerivationFramework.JpsiPlusPsiCascade("BPHY23_"+hypo) )
489 
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
500  list_2trk0trk_obj[i].PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
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]
514 
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]
526 
527  list2_2trk0trk_obj = []
528  for hypo in list2_2trk0trk_hypo:
529  list2_2trk0trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex("BPHY23_"+hypo) )
530 
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.
553  list2_2trk0trk_obj[i].PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
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
561 
562 
565 
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]
573 
574  list_1trk0trk_obj = []
575  for hypo in list_1trk0trk_hypo:
576  list_1trk0trk_obj.append( CompFactory.DerivationFramework.JpsiPlusPsiCascade("BPHY23_"+hypo) )
577 
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
588  list_1trk0trk_obj[i].PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
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]
601 
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]
610 
611  list2_1trk0trk_obj = []
612  for hypo in list2_1trk0trk_hypo:
613  list2_1trk0trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex("BPHY23_"+hypo) )
614 
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.
637  list2_1trk0trk_obj[i].PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
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
645 
646 
649 
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]
659 
660  list_1trk1trk_obj = []
661  for hypo in list_1trk1trk_hypo:
662  list_1trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade("BPHY23_"+hypo) )
663 
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
678  list_1trk1trk_obj[i].PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
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]
695 
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]
703 
704  list2_1trk1trk_obj = []
705  for hypo in list2_1trk1trk_hypo:
706  list2_1trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex("BPHY23_"+hypo) )
707 
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.
734  list2_1trk1trk_obj[i].PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
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
742 
743 
746 
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,
757  Jpsimass, Jpsimass,
758  Jpsimass, Jpsimass]
759  list_2trk1trk_psi1Mass = [Bs0mass, Bs0mass,
760  B0mass, B0mass,
761  B0mass, B0mass]
762  list_2trk1trk_p1dau3Mass = [Kmass, Kmass,
763  Kmass, Kmass,
764  Pimass, Pimass]
765  list_2trk1trk_p1dau4Mass = [Kmass, Kmass,
766  Pimass, Pimass,
767  Kmass, Kmass]
768  list_2trk1trk_jpsi2Mass = [Jpsimass, Jpsimass,
769  Jpsimass, Jpsimass,
770  Jpsimass, Jpsimass]
771  list_2trk1trk_psi2Mass = [Zcmass, Bpmmass,
772  Zcmass, Bpmmass,
773  Zcmass, Bpmmass]
774  list_2trk1trk_p2dau3Mass = [Pimass, Kmass,
775  Pimass, Kmass,
776  Pimass, Kmass]
777 
778  list_2trk1trk_obj = []
779  for hypo in list_2trk1trk_hypo:
780  list_2trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade("BPHY23_"+hypo) )
781 
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
795  list_2trk1trk_obj[i].PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
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]
813 
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]
821 
822  list2_2trk1trk_obj = []
823  for hypo in list2_2trk1trk_hypo:
824  list2_2trk1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex("BPHY23_"+hypo) )
825 
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.
852  list2_2trk1trk_obj[i].PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
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
860 
861 
864 
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]
875 
876  list_1trk2trk_obj = []
877  for hypo in list_1trk2trk_hypo:
878  list_1trk2trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade("BPHY23_"+hypo) )
879 
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
893  list_1trk2trk_obj[i].PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
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]
910 
911 
914 
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,
937  Kmass, Kmass, Kmass,
938  Kmass, Kmass, Pimass]
939  list_2trk2trk_p1dau4Mass = [Kmass, Pimass, Kmass,
940  Kmass, Pimass, Kmass,
941  Kmass, Kmass, 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]
959 
960  list_2trk2trk_obj = []
961  for hypo in list_2trk2trk_hypo:
962  list_2trk2trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiCascade("BPHY23_"+hypo) )
963 
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
978  list_2trk2trk_obj[i].PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
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]
996 
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]
1004 
1005  list2_2trk2trk_obj = []
1006  for hypo in list2_2trk2trk_hypo:
1007  list2_2trk2trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex("BPHY23_"+hypo) )
1008 
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.
1035  list2_2trk2trk_obj[i].PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
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
1043 
1044 
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
1047 
1048  OutputCollections = []
1049  RefPVContainers = []
1050  RefPVAuxContainers = []
1051  passedCandidates = []
1052 
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"]
1058 
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"]
1064 
1065  BPHY23_SelectEvent = CompFactory.DerivationFramework.AnyVertexSkimmingTool(name = "BPHY23_SelectEvent", VertexContainerNames = passedCandidates)
1066  acc.addPublicTool(BPHY23_SelectEvent)
1067 
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)
1070 
1071  acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
1072  "BPHY23Kernel",
1073  AugmentationTools = augmentation_tools,
1074  SkimmingTools = [BPHY23_SelectEvent]
1075  ))
1076 
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
1082  BPHY23_AllVariables = getDefaultAllVariables()
1083  BPHY23_StaticContent = []
1084 
1085  # Needed for trigger objects
1086  BPHY23SlimmingHelper.IncludeMuonTriggerContent = True
1087  BPHY23SlimmingHelper.IncludeBPhysTriggerContent = True
1088 
1089 
1090  BPHY23_AllVariables += ["PrimaryVertices"]
1091  BPHY23_StaticContent += RefPVContainers
1092  BPHY23_StaticContent += RefPVAuxContainers
1093 
1094 
1095  BPHY23_AllVariables += ["InDetTrackParticles"]
1096 
1097 
1100  BPHY23_AllVariables += ["CombinedMuonTrackParticles", "ExtrapolatedMuonTrackParticles"]
1101 
1102 
1103  BPHY23_AllVariables += ["Muons", "MuonSegments"]
1104 
1105 
1106  for output in OutputCollections:
1107  BPHY23_StaticContent += ["xAOD::VertexContainer#%s" % output]
1108  BPHY23_StaticContent += ["xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % output]
1109 
1110  # Truth information for MC only
1111  if isSimulation:
1112  BPHY23_AllVariables += ["TruthEvents","TruthParticles","TruthVertices","MuonTruthParticles"]
1113 
1114  BPHY23SlimmingHelper.SmartCollections = ["Muons", "PrimaryVertices", "InDetTrackParticles"]
1115  BPHY23SlimmingHelper.AllVariables = BPHY23_AllVariables
1116  BPHY23SlimmingHelper.StaticContent = BPHY23_StaticContent
1117 
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)
1122  return acc

Variable Documentation

◆ BPHYDerivationName

string BPHY23.BPHYDerivationName = "BPHY23"

Definition at line 13 of file BPHY23.py.

◆ streamName

string BPHY23.streamName = "StreamDAOD_BPHY23"

Definition at line 14 of file BPHY23.py.

python.HIGG1D1CustomVertexConfig.PrimaryVertexRefittingToolCfg
def PrimaryVertexRefittingToolCfg(flags, **kwargs)
Definition: HIGG1D1CustomVertexConfig.py:7
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:12
commonBPHYMethodsCfg.BPHY_TrkVKalVrtFitterCfg
def BPHY_TrkVKalVrtFitterCfg(flags, BPHYDerivationName, **kwargs)
Definition: commonBPHYMethodsCfg.py:6
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
python.PartPropSvcConfig.PartPropSvcCfg
def PartPropSvcCfg(flags, **kwargs)
Definition: PartPropSvcConfig.py:6
commonBPHYMethodsCfg.BPHY_V0ToolCfg
def BPHY_V0ToolCfg(flags, BPHYDerivationName)
Definition: commonBPHYMethodsCfg.py:11
python.InDetConversionFinderToolsConfig.BPHY_VertexPointEstimatorCfg
def BPHY_VertexPointEstimatorCfg(flags, name="BPHY_VertexPointEstimator", **kwargs)
Definition: InDetConversionFinderToolsConfig.py:69
commonBPHYMethodsCfg.getDefaultAllVariables
def getDefaultAllVariables()
Definition: commonBPHYMethodsCfg.py:32
BPHY23.BPHY23Cfg
def BPHY23Cfg(flags)
Definition: BPHY23.py:16
python.InDetTrackSelectorToolConfig.BPHY_InDetDetailedTrackSelectorToolCfg
def BPHY_InDetDetailedTrackSelectorToolCfg(flags, name='BPHY_InDetDetailedTrackSelectorTool', **kwargs)
Definition: InDetTrackSelectorToolConfig.py:213
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:222
SlimmingHelper
Definition: SlimmingHelper.py:1