16 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import (BPHY_V0ToolCfg, BPHY_InDetDetailedTrackSelectorToolCfg, BPHY_VertexPointEstimatorCfg, BPHY_TrkVKalVrtFitterCfg)
17 from JpsiUpsilonTools.JpsiUpsilonToolsConfig
import PrimaryVertexRefittingToolCfg
18 acc = ComponentAccumulator()
19 isSimulation = flags.Input.isMC
20 V0Tools = acc.popToolsAndMerge(BPHY_V0ToolCfg(flags, BPHYDerivationName))
21 vkalvrt = acc.popToolsAndMerge(BPHY_TrkVKalVrtFitterCfg(flags, BPHYDerivationName))
22 acc.addPublicTool(vkalvrt)
23 acc.addPublicTool(V0Tools)
24 trackselect = acc.popToolsAndMerge(BPHY_InDetDetailedTrackSelectorToolCfg(flags, BPHYDerivationName))
25 acc.addPublicTool(trackselect)
26 vpest = acc.popToolsAndMerge(BPHY_VertexPointEstimatorCfg(flags, BPHYDerivationName))
27 acc.addPublicTool(vpest)
28 PVrefit = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
29 acc.addPublicTool(PVrefit)
48 BPHY13PhiFinder_mumu = CompFactory.Analysis.JpsiFinder(
49 name =
"BPHY13PhiFinder_mumu",
52 TrackAndTrack =
False,
54 muonThresholdPt = 2400.,
55 trackThresholdPt = 2400.,
56 invMassLower = Phi_lo,
57 invMassUpper = Phi_hi,
59 oppChargesOnly =
True,
60 atLeastOneComb =
True,
61 useCombinedMeasurement =
False,
62 muonCollectionKey =
"Muons",
63 TrackParticleCollection =
"InDetTrackParticles",
64 TrkVertexFitterTool = vkalvrt,
65 TrackSelectorTool = trackselect,
66 VertexPointEstimator = vpest,
68 acc.addPublicTool(BPHY13PhiFinder_mumu)
70 BPHY13JpsiFinder_mumu = CompFactory.Analysis.JpsiFinder(
71 name =
"BPHY13JpsiFinder_mumu",
74 TrackAndTrack =
False,
76 muonThresholdPt = 2400.,
77 trackThresholdPt = 2400.,
78 invMassLower = Jpsi_lo,
79 invMassUpper = Jpsi_hi,
81 oppChargesOnly =
True,
82 atLeastOneComb =
True,
83 useCombinedMeasurement =
False,
84 muonCollectionKey =
"Muons",
85 TrackParticleCollection =
"InDetTrackParticles",
86 TrkVertexFitterTool = vkalvrt,
87 TrackSelectorTool = trackselect,
88 VertexPointEstimator = vpest,
90 acc.addPublicTool(BPHY13JpsiFinder_mumu)
92 BPHY13PsiFinder_mumu = CompFactory.Analysis.JpsiFinder(
93 name =
"BPHY13PsiFinder_mumu",
96 TrackAndTrack =
False,
98 muonThresholdPt = 2400.,
99 trackThresholdPt = 2400.,
100 invMassLower = Psi_lo,
101 invMassUpper = Psi_hi,
103 oppChargesOnly =
True,
104 atLeastOneComb =
True,
105 useCombinedMeasurement =
False,
106 muonCollectionKey =
"Muons",
107 TrackParticleCollection =
"InDetTrackParticles",
108 TrkVertexFitterTool = vkalvrt,
109 TrackSelectorTool = trackselect,
110 VertexPointEstimator = vpest,
112 acc.addPublicTool(BPHY13PsiFinder_mumu)
114 BPHY13UpsiFinder_mumu = CompFactory.Analysis.JpsiFinder(
115 name =
"BPHY13UpsiFinder_mumu",
118 TrackAndTrack =
False,
119 assumeDiMuons =
True,
120 muonThresholdPt = 2400.,
121 trackThresholdPt = 2400.,
122 invMassLower = Upsi_lo,
123 invMassUpper = Upsi_hi,
125 oppChargesOnly =
True,
126 atLeastOneComb =
True,
127 useCombinedMeasurement =
False,
128 muonCollectionKey =
"Muons",
129 TrackParticleCollection =
"InDetTrackParticles",
130 TrkVertexFitterTool = vkalvrt,
131 TrackSelectorTool = trackselect,
132 VertexPointEstimator = vpest,
134 acc.addPublicTool(BPHY13UpsiFinder_mumu)
136 BPHY13DimuFinder_mumu = CompFactory.Analysis.JpsiFinder(
137 name =
"BPHY13DimuFinder_mumu",
140 TrackAndTrack =
False,
141 assumeDiMuons =
True,
142 muonThresholdPt = 2400.,
143 trackThresholdPt = 2400.,
144 invMassLower = Dimu_lo,
145 invMassUpper = Dimu_hi,
147 oppChargesOnly =
True,
148 atLeastOneComb =
True,
149 useCombinedMeasurement =
False,
150 muonCollectionKey =
"Muons",
151 TrackParticleCollection =
"InDetTrackParticles",
152 TrkVertexFitterTool = vkalvrt,
153 TrackSelectorTool = trackselect,
154 VertexPointEstimator = vpest,
156 acc.addPublicTool(BPHY13DimuFinder_mumu)
159 BPHY13PhiFinder_mutrk = CompFactory.Analysis.JpsiFinder(
160 name =
"BPHY13PhiFinder_mutrk",
163 TrackAndTrack =
False,
164 assumeDiMuons =
True,
165 muonThresholdPt = 2400.,
166 trackThresholdPt = 2400.,
167 invMassLower = Phi_lo,
168 invMassUpper = Phi_hi,
170 oppChargesOnly =
True,
171 atLeastOneComb =
False,
172 useCombinedMeasurement =
False,
173 muonCollectionKey =
"Muons",
174 TrackParticleCollection =
"InDetTrackParticles",
175 TrkVertexFitterTool = vkalvrt,
176 TrackSelectorTool = trackselect,
177 VertexPointEstimator = vpest,
179 doTagAndProbe =
True)
180 acc.addPublicTool(BPHY13PhiFinder_mutrk)
182 BPHY13JpsiFinder_mutrk = CompFactory.Analysis.JpsiFinder(
183 name =
"BPHY13JpsiFinder_mutrk",
186 TrackAndTrack =
False,
187 assumeDiMuons =
True,
188 muonThresholdPt = 2400.,
189 trackThresholdPt = 2400.,
190 invMassLower = Jpsi_lo,
191 invMassUpper = Jpsi_hi,
193 oppChargesOnly =
True,
194 atLeastOneComb =
False,
195 useCombinedMeasurement =
False,
196 muonCollectionKey =
"Muons",
197 TrackParticleCollection =
"InDetTrackParticles",
198 TrkVertexFitterTool = vkalvrt,
199 TrackSelectorTool = trackselect,
200 VertexPointEstimator = vpest,
202 doTagAndProbe =
True )
203 acc.addPublicTool(BPHY13JpsiFinder_mutrk)
205 BPHY13PsiFinder_mutrk = CompFactory.Analysis.JpsiFinder(
206 name =
"BPHY13PsiFinder_mutrk",
209 TrackAndTrack =
False,
210 assumeDiMuons =
True,
211 muonThresholdPt = 2400.,
212 trackThresholdPt = 2400.,
213 invMassLower = Psi_lo,
214 invMassUpper = Psi_hi,
216 oppChargesOnly =
True,
217 atLeastOneComb =
False,
218 useCombinedMeasurement =
False,
219 muonCollectionKey =
"Muons",
220 TrackParticleCollection =
"InDetTrackParticles",
221 TrkVertexFitterTool = vkalvrt,
222 TrackSelectorTool = trackselect,
223 VertexPointEstimator = vpest,
225 doTagAndProbe =
True )
226 acc.addPublicTool(BPHY13PsiFinder_mutrk)
228 BPHY13UpsiFinder_mutrk = CompFactory.Analysis.JpsiFinder(
229 name =
"BPHY13UpsiFinder_mutrk",
232 TrackAndTrack =
False,
233 assumeDiMuons =
True,
234 muonThresholdPt = 2400.,
235 trackThresholdPt = 2400.,
236 invMassLower = Upsi_lo,
237 invMassUpper = Upsi_hi,
239 oppChargesOnly =
True,
240 atLeastOneComb =
False,
241 useCombinedMeasurement =
False,
242 muonCollectionKey =
"Muons",
243 TrackParticleCollection =
"InDetTrackParticles",
244 TrkVertexFitterTool = vkalvrt,
245 TrackSelectorTool = trackselect,
246 VertexPointEstimator = vpest,
248 doTagAndProbe =
True )
249 acc.addPublicTool(BPHY13UpsiFinder_mutrk)
251 BPHY13DimuFinder_mutrk = CompFactory.Analysis.JpsiFinder(
252 name =
"BPHY13DimuFinder_mutrk",
255 TrackAndTrack =
False,
256 assumeDiMuons =
True,
257 muonThresholdPt = 2400.,
258 trackThresholdPt = 2400.,
259 invMassLower = Dimu_lo,
260 invMassUpper = Dimu_hi,
262 oppChargesOnly =
True,
263 atLeastOneComb =
False,
264 useCombinedMeasurement =
False,
265 muonCollectionKey =
"Muons",
266 TrackParticleCollection =
"InDetTrackParticles",
267 TrkVertexFitterTool = vkalvrt,
268 TrackSelectorTool = trackselect,
269 VertexPointEstimator = vpest,
271 doTagAndProbe =
True )
272 acc.addPublicTool(BPHY13DimuFinder_mutrk)
275 BPHY13_Reco_Phimumu = CompFactory.DerivationFramework.Reco_Vertex(
276 name =
"BPHY13_Reco_Phimumu",
277 VertexSearchTool = BPHY13PhiFinder_mumu,
278 OutputVtxContainerName =
"BPHY13Phimumu",
279 PVContainerName =
"PrimaryVertices",
280 RefPVContainerName =
"SHOULDNOTBEUSED",
282 PVRefitter = PVrefit,
285 BPHY13_Reco_Jpsimumu = CompFactory.DerivationFramework.Reco_Vertex(
286 name =
"BPHY13_Reco_Jpsimumu",
287 VertexSearchTool = BPHY13JpsiFinder_mumu,
288 OutputVtxContainerName =
"BPHY13Jpsimumu",
289 PVContainerName =
"PrimaryVertices",
290 RefPVContainerName =
"SHOULDNOTBEUSED",
292 PVRefitter = PVrefit,
295 BPHY13_Reco_Psimumu = CompFactory.DerivationFramework.Reco_Vertex(
296 name =
"BPHY13_Reco_Psimumu",
297 VertexSearchTool = BPHY13PsiFinder_mumu,
298 OutputVtxContainerName =
"BPHY13Psimumu",
299 PVContainerName =
"PrimaryVertices",
300 RefPVContainerName =
"SHOULDNOTBEUSED",
302 PVRefitter = PVrefit,
305 BPHY13_Reco_Upsimumu = CompFactory.DerivationFramework.Reco_Vertex(
306 name =
"BPHY13_Reco_Upsimumu",
307 VertexSearchTool = BPHY13UpsiFinder_mumu,
308 OutputVtxContainerName =
"BPHY13Upsimumu",
309 PVContainerName =
"PrimaryVertices",
310 RefPVContainerName =
"SHOULDNOTBEUSED",
312 PVRefitter = PVrefit,
315 BPHY13_Reco_Dimumumu = CompFactory.DerivationFramework.Reco_Vertex(
316 name =
"BPHY13_Reco_Dimumumu",
317 VertexSearchTool = BPHY13DimuFinder_mumu,
318 OutputVtxContainerName =
"BPHY13Dimumumu",
319 PVContainerName =
"PrimaryVertices",
320 RefPVContainerName =
"SHOULDNOTBEUSED",
322 PVRefitter = PVrefit,
326 BPHY13_Reco_Phimutrk = CompFactory.DerivationFramework.Reco_Vertex(
327 name =
"BPHY13_Reco_Phimutrk",
328 VertexSearchTool = BPHY13PhiFinder_mutrk,
329 OutputVtxContainerName =
"BPHY13Phimutrk",
330 PVContainerName =
"PrimaryVertices",
331 RefPVContainerName =
"SHOULDNOTBEUSED",
333 PVRefitter = PVrefit,
336 BPHY13_Reco_Jpsimutrk = CompFactory.DerivationFramework.Reco_Vertex(
337 name =
"BPHY13_Reco_Jpsimutrk",
338 VertexSearchTool = BPHY13JpsiFinder_mutrk,
339 OutputVtxContainerName =
"BPHY13Jpsimutrk",
340 PVContainerName =
"PrimaryVertices",
341 RefPVContainerName =
"SHOULDNOTBEUSED",
343 PVRefitter = PVrefit,
346 BPHY13_Reco_Psimutrk = CompFactory.DerivationFramework.Reco_Vertex(
347 name =
"BPHY13_Reco_Psimutrk",
348 VertexSearchTool = BPHY13PsiFinder_mutrk,
349 OutputVtxContainerName =
"BPHY13Psimutrk",
350 PVContainerName =
"PrimaryVertices",
351 RefPVContainerName =
"SHOULDNOTBEUSED",
353 PVRefitter = PVrefit,
356 BPHY13_Reco_Upsimutrk = CompFactory.DerivationFramework.Reco_Vertex(
357 name =
"BPHY13_Reco_Upsimutrk",
358 VertexSearchTool = BPHY13UpsiFinder_mutrk,
359 OutputVtxContainerName =
"BPHY13Upsimutrk",
360 PVContainerName =
"PrimaryVertices",
361 RefPVContainerName =
"SHOULDNOTBEUSED",
363 PVRefitter = PVrefit,
366 BPHY13_Reco_Dimumutrk = CompFactory.DerivationFramework.Reco_Vertex(
367 name =
"BPHY13_Reco_Dimumutrk",
368 VertexSearchTool = BPHY13DimuFinder_mutrk,
369 OutputVtxContainerName =
"BPHY13Dimumutrk",
370 PVContainerName =
"PrimaryVertices",
371 RefPVContainerName =
"SHOULDNOTBEUSED",
373 PVRefitter = PVrefit,
377 BPHY13_Rev_Phimumu = CompFactory.DerivationFramework.ReVertex(
378 name =
"BPHY13_Rev_Phimumu",
379 InputVtxContainerName =
"BPHY13Phimumu",
380 TrackIndices = [ 0, 1 ],
382 UseMassConstraint =
True,
383 VertexMass = Phimass,
384 MassInputParticles = [Mumass, Mumass],
386 PVRefitter = PVrefit,
388 TrkVertexFitterTool = vkalvrt,
389 OutputVtxContainerName =
"BPHY13Phimumu_revtx")
391 BPHY13_Rev_Jpsimumu = CompFactory.DerivationFramework.ReVertex(
392 name =
"BPHY13_Rev_Jpsimumu",
393 InputVtxContainerName =
"BPHY13Jpsimumu",
394 TrackIndices = [ 0, 1 ],
396 UseMassConstraint =
True,
397 VertexMass = Jpsimass,
398 MassInputParticles = [Mumass, Mumass],
400 PVRefitter = PVrefit,
402 TrkVertexFitterTool = vkalvrt,
403 OutputVtxContainerName =
"BPHY13Jpsimumu_revtx")
405 BPHY13_Rev_Psimumu = CompFactory.DerivationFramework.ReVertex(
406 name =
"BPHY13_Rev_Psimumu",
407 InputVtxContainerName =
"BPHY13Psimumu",
408 TrackIndices = [ 0, 1 ],
410 UseMassConstraint =
True,
411 VertexMass = Psi2Smass,
412 MassInputParticles = [Mumass, Mumass],
414 PVRefitter = PVrefit,
416 TrkVertexFitterTool = vkalvrt,
417 OutputVtxContainerName =
"BPHY13Psimumu_revtx")
419 BPHY13_Rev_Upsimumu = CompFactory.DerivationFramework.ReVertex(
420 name =
"BPHY13_Rev_Upsimumu",
421 InputVtxContainerName =
"BPHY13Upsimumu",
422 TrackIndices = [ 0, 1 ],
424 UseMassConstraint =
True,
425 VertexMass = Upsimass,
426 MassInputParticles = [Mumass, Mumass],
428 PVRefitter = PVrefit,
430 TrkVertexFitterTool = vkalvrt,
431 OutputVtxContainerName =
"BPHY13Upsimumu_revtx")
434 BPHY13_Rev_Phimutrk = CompFactory.DerivationFramework.ReVertex(
435 name =
"BPHY13_Rev_Phimutrk",
436 InputVtxContainerName =
"BPHY13Phimutrk",
437 TrackIndices = [ 0, 1 ],
439 UseMassConstraint =
True,
440 VertexMass = Phimass,
441 MassInputParticles = [Mumass, Mumass],
443 PVRefitter = PVrefit,
445 TrkVertexFitterTool = vkalvrt,
446 OutputVtxContainerName =
"BPHY13Phimutrk_revtx")
448 BPHY13_Rev_Jpsimutrk = CompFactory.DerivationFramework.ReVertex(
449 name =
"BPHY13_Rev_Jpsimutrk",
450 InputVtxContainerName =
"BPHY13Jpsimutrk",
451 TrackIndices = [ 0, 1 ],
453 UseMassConstraint =
True,
454 VertexMass = Jpsimass,
455 MassInputParticles = [Mumass, Mumass],
457 PVRefitter = PVrefit,
459 TrkVertexFitterTool = vkalvrt,
460 OutputVtxContainerName =
"BPHY13Jpsimutrk_revtx")
462 BPHY13_Rev_Psimutrk = CompFactory.DerivationFramework.ReVertex(
463 name =
"BPHY13_Rev_Psimutrk",
464 InputVtxContainerName =
"BPHY13Psimutrk",
465 TrackIndices = [ 0, 1 ],
467 UseMassConstraint =
True,
468 VertexMass = Psi2Smass,
469 MassInputParticles = [Mumass, Mumass],
471 PVRefitter = PVrefit,
473 TrkVertexFitterTool = vkalvrt,
474 OutputVtxContainerName =
"BPHY13Psimutrk_revtx")
476 BPHY13_Rev_Upsimutrk = CompFactory.DerivationFramework.ReVertex(
477 name =
"BPHY13_Rev_Upsimutrk",
478 InputVtxContainerName =
"BPHY13Upsimutrk",
479 TrackIndices = [ 0, 1 ],
481 UseMassConstraint =
True,
482 VertexMass = Upsimass,
483 MassInputParticles = [Mumass, Mumass],
485 PVRefitter = PVrefit,
487 TrkVertexFitterTool = vkalvrt,
488 OutputVtxContainerName =
"BPHY13Upsimutrk_revtx")
491 list_4mu_hypo = [
"UpsiUpsi_4mu",
"UpsiPsi_4mu",
"UpsiJpsi_4mu",
"UpsiPhi_4mu",
492 "PsiPsi_4mu",
"PsiJpsi_4mu",
"PsiPhi_4mu",
493 "JpsiJpsi_4mu",
"JpsiPhi_4mu",
"PhiPhi_4mu",
495 list_4mu_psi1Input = [
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
496 "BPHY13Psimumu_revtx",
"BPHY13Psimumu_revtx",
"BPHY13Psimumu_revtx",
497 "BPHY13Jpsimumu_revtx",
"BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
498 "BPHY13Upsimumu_revtx"]
499 list_4mu_psi2Input = [
"BPHY13Upsimumu_revtx",
"BPHY13Psimumu_revtx",
"BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
500 "BPHY13Psimumu_revtx",
"BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
501 "BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
"BPHY13Phimumu_revtx",
503 list_4mu_jpsi1lo = [Upsi_lo,Upsi_lo,Upsi_lo,Upsi_lo,
504 Psi_lo,Psi_lo,Psi_lo,
505 Jpsi_lo,Jpsi_lo,Phi_lo,
507 list_4mu_jpsi1hi = [Upsi_hi,Upsi_hi,Upsi_hi,Upsi_hi,
508 Psi_hi,Psi_hi,Psi_hi,
509 Jpsi_hi,Jpsi_hi,Phi_hi,
511 list_4mu_jpsi1mass = [Upsimass, Upsimass, Upsimass, Upsimass,
512 Psi2Smass, Psi2Smass, Psi2Smass,
513 Jpsimass, Jpsimass, Phimass,
515 list_4mu_jpsi2lo = [Upsi_lo,Psi_lo,Jpsi_lo,Phi_lo,
516 Psi_lo,Jpsi_lo,Phi_lo,
517 Jpsi_lo,Phi_lo,Phi_lo,
519 list_4mu_jpsi2hi = [Upsi_hi,Psi_hi,Jpsi_hi,Phi_hi,
520 Psi_hi,Jpsi_hi,Phi_hi,
521 Jpsi_hi,Phi_hi,Phi_hi,
523 list_4mu_jpsi2mass = [Upsimass, Psi2Smass, Jpsimass, Phimass,
524 Psi2Smass, Jpsimass, Phimass,
525 Jpsimass, Phimass, Phimass]
528 for hypo
in list_4mu_hypo:
529 list_4mu_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY13_"+hypo) )
531 for i
in range(len(list_4mu_obj)):
532 list_4mu_obj[i].HypothesisName = list_4mu_hypo[i]
533 list_4mu_obj[i].Psi1Vertices = list_4mu_psi1Input[i]
534 list_4mu_obj[i].Psi2Vertices = list_4mu_psi2Input[i]
535 list_4mu_obj[i].NumberOfPsi1Daughters = 2
536 list_4mu_obj[i].NumberOfPsi2Daughters = 2
537 list_4mu_obj[i].Jpsi1MassLowerCut = list_4mu_jpsi1lo[i]
538 list_4mu_obj[i].Jpsi1MassUpperCut = list_4mu_jpsi1hi[i]
539 list_4mu_obj[i].Jpsi2MassLowerCut = list_4mu_jpsi2lo[i]
540 list_4mu_obj[i].Jpsi2MassUpperCut = list_4mu_jpsi2hi[i]
541 list_4mu_obj[i].MassLowerCut = 0.
542 list_4mu_obj[i].MassUpperCut = 31000.
543 list_4mu_obj[i].Jpsi1Mass = list_4mu_jpsi1mass[i]
544 list_4mu_obj[i].ApplyJpsi1MassConstraint =
True
545 if i == len(list_4mu_obj)-1:
546 list_4mu_obj[i].ApplyJpsi2MassConstraint =
False
548 list_4mu_obj[i].Jpsi2Mass = list_4mu_jpsi2mass[i]
549 list_4mu_obj[i].ApplyJpsi2MassConstraint =
True
550 list_4mu_obj[i].Chi2Cut = 25.
551 list_4mu_obj[i].PVRefitter = PVrefit
552 list_4mu_obj[i].TrkVertexFitterTool = vkalvrt
553 list_4mu_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
554 list_4mu_obj[i].OutputVertexCollections = [
"BPHY13_"+list_4mu_hypo[i]+
"_SubVtx1",
"BPHY13_"+list_4mu_hypo[i]+
"_SubVtx2",
"BPHY13_"+list_4mu_hypo[i]+
"_MainVtx"]
555 list_4mu_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
556 list_4mu_obj[i].RefPVContainerName =
"BPHY13_"+list_4mu_hypo[i]+
"_RefPrimaryVertices"
557 list_4mu_obj[i].RefitPV =
True
558 list_4mu_obj[i].MaxnPV = 100
561 list_3mu1trk_hypo = [
"UpsiUpsi_3mu1trk",
"UpsiPsi_3mu1trk",
"UpsiJpsi_3mu1trk",
"UpsiPhi_3mu1trk",
562 "PsiPsi_3mu1trk",
"PsiJpsi_3mu1trk",
"PsiPhi_3mu1trk",
563 "JpsiJpsi_3mu1trk",
"JpsiPhi_3mu1trk",
"PhiPhi_3mu1trk",
564 "PsiUpsi_3mu1trk",
"JpsiUpsi_3mu1trk",
"PhiUpsi_3mu1trk",
565 "JpsiPsi_3mu1trk",
"PhiPsi_3mu1trk",
"PhiJpsi_3mu1trk",
566 "UpsiDimu_3mu1trk",
"DimuUpsi_3mu1trk"]
567 list_3mu1trk_psi1Input = [
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
568 "BPHY13Psimumu_revtx",
"BPHY13Psimumu_revtx",
"BPHY13Psimumu_revtx",
569 "BPHY13Jpsimumu_revtx",
"BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
570 "BPHY13Psimumu_revtx",
"BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
571 "BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
"BPHY13Phimumu_revtx",
572 "BPHY13Upsimumu_revtx",
"BPHY13Dimumumu"]
573 list_3mu1trk_psi2Input = [
"BPHY13Upsimutrk_revtx",
"BPHY13Psimutrk_revtx",
"BPHY13Jpsimutrk_revtx",
"BPHY13Phimutrk_revtx",
574 "BPHY13Psimutrk_revtx",
"BPHY13Jpsimutrk_revtx",
"BPHY13Phimutrk_revtx",
575 "BPHY13Jpsimutrk_revtx",
"BPHY13Phimutrk_revtx",
"BPHY13Phimutrk_revtx",
576 "BPHY13Upsimutrk_revtx",
"BPHY13Upsimutrk_revtx",
"BPHY13Upsimutrk_revtx",
577 "BPHY13Psimutrk_revtx",
"BPHY13Psimutrk_revtx",
"BPHY13Jpsimutrk_revtx",
578 "BPHY13Dimumutrk",
"BPHY13Upsimutrk_revtx"]
579 list_3mu1trk_jpsi1lo = [Upsi_lo,Upsi_lo,Upsi_lo,Upsi_lo,
580 Psi_lo,Psi_lo,Psi_lo,
581 Jpsi_lo,Jpsi_lo,Phi_lo,
582 Psi_lo,Jpsi_lo,Phi_lo,
583 Jpsi_lo,Phi_lo,Phi_lo,
585 list_3mu1trk_jpsi1hi = [Upsi_hi,Upsi_hi,Upsi_hi,Upsi_hi,
586 Psi_hi,Psi_hi,Psi_hi,
587 Jpsi_hi,Jpsi_hi,Phi_hi,
588 Psi_hi,Jpsi_hi,Phi_hi,
589 Jpsi_hi,Phi_hi,Phi_hi,
591 list_3mu1trk_jpsi1mass = [Upsimass, Upsimass, Upsimass, Upsimass,
592 Psi2Smass, Psi2Smass, Psi2Smass,
593 Jpsimass, Jpsimass, Phimass,
594 Psi2Smass, Jpsimass, Phimass,
595 Jpsimass, Phimass, Phimass,
597 list_3mu1trk_jpsi2lo = [Upsi_lo,Psi_lo,Jpsi_lo,Phi_lo,
598 Psi_lo,Jpsi_lo,Phi_lo,
599 Jpsi_lo,Phi_lo,Phi_lo,
600 Upsi_lo,Upsi_lo,Upsi_lo,
601 Psi_lo,Psi_lo,Jpsi_lo,
603 list_3mu1trk_jpsi2hi = [Upsi_hi,Psi_hi,Jpsi_hi,Phi_hi,
604 Psi_hi,Jpsi_hi,Phi_hi,
605 Jpsi_hi,Phi_hi,Phi_hi,
606 Upsi_hi,Upsi_hi,Upsi_hi,
607 Psi_hi,Psi_hi,Jpsi_hi,
609 list_3mu1trk_jpsi2mass = [Upsimass, Psi2Smass, Jpsimass, Phimass,
610 Psi2Smass, Jpsimass, Phimass,
611 Jpsimass, Phimass, Phimass,
612 Upsimass, Upsimass, Upsimass,
613 Psi2Smass, Psi2Smass, Jpsimass,
616 list_3mu1trk_obj = []
617 for hypo
in list_3mu1trk_hypo:
618 list_3mu1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY13_"+hypo) )
620 for i
in range(len(list_3mu1trk_obj)):
621 list_3mu1trk_obj[i].HypothesisName = list_3mu1trk_hypo[i]
622 list_3mu1trk_obj[i].Psi1Vertices = list_3mu1trk_psi1Input[i]
623 list_3mu1trk_obj[i].Psi2Vertices = list_3mu1trk_psi2Input[i]
624 list_3mu1trk_obj[i].NumberOfPsi1Daughters = 2
625 list_3mu1trk_obj[i].NumberOfPsi2Daughters = 2
626 list_3mu1trk_obj[i].MaxCandidates = 20
627 list_3mu1trk_obj[i].Jpsi1MassLowerCut = list_3mu1trk_jpsi1lo[i]
628 list_3mu1trk_obj[i].Jpsi1MassUpperCut = list_3mu1trk_jpsi1hi[i]
629 list_3mu1trk_obj[i].Jpsi2MassLowerCut = list_3mu1trk_jpsi2lo[i]
630 list_3mu1trk_obj[i].Jpsi2MassUpperCut = list_3mu1trk_jpsi2hi[i]
631 list_3mu1trk_obj[i].MassLowerCut = 0.
632 list_3mu1trk_obj[i].MassUpperCut = 31000.
633 if i == len(list_3mu1trk_obj)-2:
634 list_3mu1trk_obj[i].Jpsi1Mass = list_3mu1trk_jpsi1mass[i]
635 list_3mu1trk_obj[i].ApplyJpsi1MassConstraint =
True
636 list_3mu1trk_obj[i].ApplyJpsi2MassConstraint =
False
637 elif i == len(list_3mu1trk_obj)-1:
638 list_3mu1trk_obj[i].Jpsi2Mass = list_3mu1trk_jpsi2mass[i]
639 list_3mu1trk_obj[i].ApplyJpsi1MassConstraint =
False
640 list_3mu1trk_obj[i].ApplyJpsi2MassConstraint =
True
642 list_3mu1trk_obj[i].Jpsi1Mass = list_3mu1trk_jpsi1mass[i]
643 list_3mu1trk_obj[i].Jpsi2Mass = list_3mu1trk_jpsi2mass[i]
644 list_3mu1trk_obj[i].ApplyJpsi1MassConstraint =
True
645 list_3mu1trk_obj[i].ApplyJpsi2MassConstraint =
True
646 list_3mu1trk_obj[i].Chi2Cut = 25.
647 list_3mu1trk_obj[i].PVRefitter = PVrefit
648 list_3mu1trk_obj[i].TrkVertexFitterTool = vkalvrt
649 list_3mu1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
650 list_3mu1trk_obj[i].OutputVertexCollections = [
"BPHY13_"+list_3mu1trk_hypo[i]+
"_SubVtx1",
"BPHY13_"+list_3mu1trk_hypo[i]+
"_SubVtx2",
"BPHY13_"+list_3mu1trk_hypo[i]+
"_MainVtx"]
651 list_3mu1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
652 list_3mu1trk_obj[i].RefPVContainerName =
"BPHY13_"+list_3mu1trk_hypo[i]+
"_RefPrimaryVertices"
653 list_3mu1trk_obj[i].RefitPV =
True
654 list_3mu1trk_obj[i].MaxnPV = 100
657 list_all_obj = list_4mu_obj + list_3mu1trk_obj
659 OutputCollections = []
661 RefPVAuxContainers = []
662 passedCandidates = []
664 for obj
in list_all_obj:
665 OutputCollections += obj.OutputVertexCollections
666 RefPVContainers += [
"xAOD::VertexContainer#BPHY13_" + obj.HypothesisName +
"_RefPrimaryVertices"]
667 RefPVAuxContainers += [
"xAOD::VertexAuxContainer#BPHY13_" + obj.HypothesisName +
"_RefPrimaryVerticesAux."]
668 passedCandidates += [
"BPHY13_" + obj.HypothesisName +
"_MainVtx" ]
670 BPHY13_SelectEvent = CompFactory.DerivationFramework.AnyVertexSkimmingTool(name =
"BPHY13_SelectEvent", VertexContainerNames = passedCandidates)
671 acc.addPublicTool(BPHY13_SelectEvent)
673 augmentation_tools = [BPHY13_Reco_Phimumu, BPHY13_Reco_Jpsimumu, BPHY13_Reco_Psimumu, BPHY13_Reco_Upsimumu, BPHY13_Reco_Dimumumu, BPHY13_Reco_Phimutrk, BPHY13_Reco_Jpsimutrk, BPHY13_Reco_Psimutrk, BPHY13_Reco_Upsimutrk, BPHY13_Reco_Dimumutrk, BPHY13_Rev_Phimumu, BPHY13_Rev_Jpsimumu, BPHY13_Rev_Psimumu, BPHY13_Rev_Upsimumu, BPHY13_Rev_Phimutrk, BPHY13_Rev_Jpsimutrk, BPHY13_Rev_Psimutrk, BPHY13_Rev_Upsimutrk] + list_all_obj
674 for t
in augmentation_tools : acc.addPublicTool(t)
676 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
678 AugmentationTools = augmentation_tools,
679 SkimmingTools = [BPHY13_SelectEvent]
682 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
683 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
684 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
685 BPHY13SlimmingHelper =
SlimmingHelper(
"BPHY13SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
686 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import getDefaultAllVariables
687 BPHY13_AllVariables = getDefaultAllVariables()
688 BPHY13_StaticContent = []
691 BPHY13SlimmingHelper.IncludeMuonTriggerContent =
True
692 BPHY13SlimmingHelper.IncludeBPhysTriggerContent =
True
695 BPHY13_AllVariables += [
"PrimaryVertices"]
696 BPHY13_StaticContent += RefPVContainers
697 BPHY13_StaticContent += RefPVAuxContainers
700 BPHY13_AllVariables += [
"InDetTrackParticles"]
705 BPHY13_AllVariables += [
"CombinedMuonTrackParticles",
"ExtrapolatedMuonTrackParticles"]
708 BPHY13_AllVariables += [
"Muons",
"MuonSegments"]
711 for output
in OutputCollections:
712 BPHY13_StaticContent += [
"xAOD::VertexContainer#%s" % output]
713 BPHY13_StaticContent += [
"xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % output]
717 BPHY13_AllVariables += [
"TruthEvents",
"TruthParticles",
"TruthVertices",
"MuonTruthParticles"]
719 BPHY13SlimmingHelper.SmartCollections = [
"Muons",
"PrimaryVertices",
"InDetTrackParticles"]
720 BPHY13SlimmingHelper.AllVariables = BPHY13_AllVariables
721 BPHY13SlimmingHelper.StaticContent = BPHY13_StaticContent
723 BPHY13ItemList = BPHY13SlimmingHelper.GetItemList()
724 acc.merge(OutputStreamCfg(flags,
"DAOD_BPHY13", ItemList=BPHY13ItemList, AcceptAlgs=[
"BPHY13Kernel"]))
725 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_BPHY13", AcceptAlgs=[
"BPHY13Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
726 acc.printConfig(withDetails=
True, summariseProps=
True, onlyComponents = [], printDefaults=
True)