16 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import (BPHY_V0ToolCfg, BPHY_InDetDetailedTrackSelectorToolCfg, BPHY_VertexPointEstimatorCfg, BPHY_TrkVKalVrtFitterCfg)
17 from JpsiUpsilonTools.JpsiUpsilonToolsConfig
import PrimaryVertexRefittingToolCfg
18 acc = ComponentAccumulator()
19 from AthenaServices.PartPropSvcConfig
import PartPropSvcCfg
20 acc.getPrimaryAndMerge(PartPropSvcCfg(flags))
21 isSimulation = flags.Input.isMC
22 V0Tools = acc.popToolsAndMerge(BPHY_V0ToolCfg(flags, BPHYDerivationName))
23 vkalvrt = acc.popToolsAndMerge(BPHY_TrkVKalVrtFitterCfg(flags, BPHYDerivationName))
24 acc.addPublicTool(vkalvrt)
25 acc.addPublicTool(V0Tools)
26 trackselect = acc.popToolsAndMerge(BPHY_InDetDetailedTrackSelectorToolCfg(flags, BPHYDerivationName))
27 acc.addPublicTool(trackselect)
28 vpest = acc.popToolsAndMerge(BPHY_VertexPointEstimatorCfg(flags, BPHYDerivationName))
29 acc.addPublicTool(vpest)
30 PVrefit = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
31 acc.addPublicTool(PVrefit)
50 BPHY13PhiFinder_mumu = CompFactory.Analysis.JpsiFinder(
51 name =
"BPHY13PhiFinder_mumu",
54 TrackAndTrack =
False,
56 muonThresholdPt = 2400.,
57 trackThresholdPt = 2400.,
58 invMassLower = Phi_lo,
59 invMassUpper = Phi_hi,
61 oppChargesOnly =
True,
62 atLeastOneComb =
True,
63 useCombinedMeasurement =
False,
64 muonCollectionKey =
"Muons",
65 TrackParticleCollection =
"InDetTrackParticles",
66 TrkVertexFitterTool = vkalvrt,
67 TrackSelectorTool = trackselect,
68 VertexPointEstimator = vpest,
70 acc.addPublicTool(BPHY13PhiFinder_mumu)
72 BPHY13JpsiFinder_mumu = CompFactory.Analysis.JpsiFinder(
73 name =
"BPHY13JpsiFinder_mumu",
76 TrackAndTrack =
False,
78 muonThresholdPt = 2400.,
79 trackThresholdPt = 2400.,
80 invMassLower = Jpsi_lo,
81 invMassUpper = Jpsi_hi,
83 oppChargesOnly =
True,
84 atLeastOneComb =
True,
85 useCombinedMeasurement =
False,
86 muonCollectionKey =
"Muons",
87 TrackParticleCollection =
"InDetTrackParticles",
88 TrkVertexFitterTool = vkalvrt,
89 TrackSelectorTool = trackselect,
90 VertexPointEstimator = vpest,
92 acc.addPublicTool(BPHY13JpsiFinder_mumu)
94 BPHY13PsiFinder_mumu = CompFactory.Analysis.JpsiFinder(
95 name =
"BPHY13PsiFinder_mumu",
98 TrackAndTrack =
False,
100 muonThresholdPt = 2400.,
101 trackThresholdPt = 2400.,
102 invMassLower = Psi_lo,
103 invMassUpper = Psi_hi,
105 oppChargesOnly =
True,
106 atLeastOneComb =
True,
107 useCombinedMeasurement =
False,
108 muonCollectionKey =
"Muons",
109 TrackParticleCollection =
"InDetTrackParticles",
110 TrkVertexFitterTool = vkalvrt,
111 TrackSelectorTool = trackselect,
112 VertexPointEstimator = vpest,
114 acc.addPublicTool(BPHY13PsiFinder_mumu)
116 BPHY13UpsiFinder_mumu = CompFactory.Analysis.JpsiFinder(
117 name =
"BPHY13UpsiFinder_mumu",
120 TrackAndTrack =
False,
121 assumeDiMuons =
True,
122 muonThresholdPt = 2400.,
123 trackThresholdPt = 2400.,
124 invMassLower = Upsi_lo,
125 invMassUpper = Upsi_hi,
127 oppChargesOnly =
True,
128 atLeastOneComb =
True,
129 useCombinedMeasurement =
False,
130 muonCollectionKey =
"Muons",
131 TrackParticleCollection =
"InDetTrackParticles",
132 TrkVertexFitterTool = vkalvrt,
133 TrackSelectorTool = trackselect,
134 VertexPointEstimator = vpest,
136 acc.addPublicTool(BPHY13UpsiFinder_mumu)
138 BPHY13DimuFinder_mumu = CompFactory.Analysis.JpsiFinder(
139 name =
"BPHY13DimuFinder_mumu",
142 TrackAndTrack =
False,
143 assumeDiMuons =
True,
144 muonThresholdPt = 2400.,
145 trackThresholdPt = 2400.,
146 invMassLower = Dimu_lo,
147 invMassUpper = Dimu_hi,
149 oppChargesOnly =
True,
150 atLeastOneComb =
True,
151 useCombinedMeasurement =
False,
152 muonCollectionKey =
"Muons",
153 TrackParticleCollection =
"InDetTrackParticles",
154 TrkVertexFitterTool = vkalvrt,
155 TrackSelectorTool = trackselect,
156 VertexPointEstimator = vpest,
158 acc.addPublicTool(BPHY13DimuFinder_mumu)
161 BPHY13PhiFinder_mutrk = CompFactory.Analysis.JpsiFinder(
162 name =
"BPHY13PhiFinder_mutrk",
165 TrackAndTrack =
False,
166 assumeDiMuons =
True,
167 muonThresholdPt = 2400.,
168 trackThresholdPt = 2400.,
169 invMassLower = Phi_lo,
170 invMassUpper = Phi_hi,
172 oppChargesOnly =
True,
173 atLeastOneComb =
False,
174 useCombinedMeasurement =
False,
175 muonCollectionKey =
"Muons",
176 TrackParticleCollection =
"InDetTrackParticles",
177 TrkVertexFitterTool = vkalvrt,
178 TrackSelectorTool = trackselect,
179 VertexPointEstimator = vpest,
181 doTagAndProbe =
True)
182 acc.addPublicTool(BPHY13PhiFinder_mutrk)
184 BPHY13JpsiFinder_mutrk = CompFactory.Analysis.JpsiFinder(
185 name =
"BPHY13JpsiFinder_mutrk",
188 TrackAndTrack =
False,
189 assumeDiMuons =
True,
190 muonThresholdPt = 2400.,
191 trackThresholdPt = 2400.,
192 invMassLower = Jpsi_lo,
193 invMassUpper = Jpsi_hi,
195 oppChargesOnly =
True,
196 atLeastOneComb =
False,
197 useCombinedMeasurement =
False,
198 muonCollectionKey =
"Muons",
199 TrackParticleCollection =
"InDetTrackParticles",
200 TrkVertexFitterTool = vkalvrt,
201 TrackSelectorTool = trackselect,
202 VertexPointEstimator = vpest,
204 doTagAndProbe =
True )
205 acc.addPublicTool(BPHY13JpsiFinder_mutrk)
207 BPHY13PsiFinder_mutrk = CompFactory.Analysis.JpsiFinder(
208 name =
"BPHY13PsiFinder_mutrk",
211 TrackAndTrack =
False,
212 assumeDiMuons =
True,
213 muonThresholdPt = 2400.,
214 trackThresholdPt = 2400.,
215 invMassLower = Psi_lo,
216 invMassUpper = Psi_hi,
218 oppChargesOnly =
True,
219 atLeastOneComb =
False,
220 useCombinedMeasurement =
False,
221 muonCollectionKey =
"Muons",
222 TrackParticleCollection =
"InDetTrackParticles",
223 TrkVertexFitterTool = vkalvrt,
224 TrackSelectorTool = trackselect,
225 VertexPointEstimator = vpest,
227 doTagAndProbe =
True )
228 acc.addPublicTool(BPHY13PsiFinder_mutrk)
230 BPHY13UpsiFinder_mutrk = CompFactory.Analysis.JpsiFinder(
231 name =
"BPHY13UpsiFinder_mutrk",
234 TrackAndTrack =
False,
235 assumeDiMuons =
True,
236 muonThresholdPt = 2400.,
237 trackThresholdPt = 2400.,
238 invMassLower = Upsi_lo,
239 invMassUpper = Upsi_hi,
241 oppChargesOnly =
True,
242 atLeastOneComb =
False,
243 useCombinedMeasurement =
False,
244 muonCollectionKey =
"Muons",
245 TrackParticleCollection =
"InDetTrackParticles",
246 TrkVertexFitterTool = vkalvrt,
247 TrackSelectorTool = trackselect,
248 VertexPointEstimator = vpest,
250 doTagAndProbe =
True )
251 acc.addPublicTool(BPHY13UpsiFinder_mutrk)
253 BPHY13DimuFinder_mutrk = CompFactory.Analysis.JpsiFinder(
254 name =
"BPHY13DimuFinder_mutrk",
257 TrackAndTrack =
False,
258 assumeDiMuons =
True,
259 muonThresholdPt = 2400.,
260 trackThresholdPt = 2400.,
261 invMassLower = Dimu_lo,
262 invMassUpper = Dimu_hi,
264 oppChargesOnly =
True,
265 atLeastOneComb =
False,
266 useCombinedMeasurement =
False,
267 muonCollectionKey =
"Muons",
268 TrackParticleCollection =
"InDetTrackParticles",
269 TrkVertexFitterTool = vkalvrt,
270 TrackSelectorTool = trackselect,
271 VertexPointEstimator = vpest,
273 doTagAndProbe =
True )
274 acc.addPublicTool(BPHY13DimuFinder_mutrk)
277 BPHY13_Reco_Phimumu = CompFactory.DerivationFramework.Reco_Vertex(
278 name =
"BPHY13_Reco_Phimumu",
279 VertexSearchTool = BPHY13PhiFinder_mumu,
280 OutputVtxContainerName =
"BPHY13Phimumu",
281 PVContainerName =
"PrimaryVertices",
282 RefPVContainerName =
"SHOULDNOTBEUSED",
284 PVRefitter = PVrefit,
287 BPHY13_Reco_Jpsimumu = CompFactory.DerivationFramework.Reco_Vertex(
288 name =
"BPHY13_Reco_Jpsimumu",
289 VertexSearchTool = BPHY13JpsiFinder_mumu,
290 OutputVtxContainerName =
"BPHY13Jpsimumu",
291 PVContainerName =
"PrimaryVertices",
292 RefPVContainerName =
"SHOULDNOTBEUSED",
294 PVRefitter = PVrefit,
297 BPHY13_Reco_Psimumu = CompFactory.DerivationFramework.Reco_Vertex(
298 name =
"BPHY13_Reco_Psimumu",
299 VertexSearchTool = BPHY13PsiFinder_mumu,
300 OutputVtxContainerName =
"BPHY13Psimumu",
301 PVContainerName =
"PrimaryVertices",
302 RefPVContainerName =
"SHOULDNOTBEUSED",
304 PVRefitter = PVrefit,
307 BPHY13_Reco_Upsimumu = CompFactory.DerivationFramework.Reco_Vertex(
308 name =
"BPHY13_Reco_Upsimumu",
309 VertexSearchTool = BPHY13UpsiFinder_mumu,
310 OutputVtxContainerName =
"BPHY13Upsimumu",
311 PVContainerName =
"PrimaryVertices",
312 RefPVContainerName =
"SHOULDNOTBEUSED",
314 PVRefitter = PVrefit,
317 BPHY13_Reco_Dimumumu = CompFactory.DerivationFramework.Reco_Vertex(
318 name =
"BPHY13_Reco_Dimumumu",
319 VertexSearchTool = BPHY13DimuFinder_mumu,
320 OutputVtxContainerName =
"BPHY13Dimumumu",
321 PVContainerName =
"PrimaryVertices",
322 RefPVContainerName =
"SHOULDNOTBEUSED",
324 PVRefitter = PVrefit,
328 BPHY13_Reco_Phimutrk = CompFactory.DerivationFramework.Reco_Vertex(
329 name =
"BPHY13_Reco_Phimutrk",
330 VertexSearchTool = BPHY13PhiFinder_mutrk,
331 OutputVtxContainerName =
"BPHY13Phimutrk",
332 PVContainerName =
"PrimaryVertices",
333 RefPVContainerName =
"SHOULDNOTBEUSED",
335 PVRefitter = PVrefit,
338 BPHY13_Reco_Jpsimutrk = CompFactory.DerivationFramework.Reco_Vertex(
339 name =
"BPHY13_Reco_Jpsimutrk",
340 VertexSearchTool = BPHY13JpsiFinder_mutrk,
341 OutputVtxContainerName =
"BPHY13Jpsimutrk",
342 PVContainerName =
"PrimaryVertices",
343 RefPVContainerName =
"SHOULDNOTBEUSED",
345 PVRefitter = PVrefit,
348 BPHY13_Reco_Psimutrk = CompFactory.DerivationFramework.Reco_Vertex(
349 name =
"BPHY13_Reco_Psimutrk",
350 VertexSearchTool = BPHY13PsiFinder_mutrk,
351 OutputVtxContainerName =
"BPHY13Psimutrk",
352 PVContainerName =
"PrimaryVertices",
353 RefPVContainerName =
"SHOULDNOTBEUSED",
355 PVRefitter = PVrefit,
358 BPHY13_Reco_Upsimutrk = CompFactory.DerivationFramework.Reco_Vertex(
359 name =
"BPHY13_Reco_Upsimutrk",
360 VertexSearchTool = BPHY13UpsiFinder_mutrk,
361 OutputVtxContainerName =
"BPHY13Upsimutrk",
362 PVContainerName =
"PrimaryVertices",
363 RefPVContainerName =
"SHOULDNOTBEUSED",
365 PVRefitter = PVrefit,
368 BPHY13_Reco_Dimumutrk = CompFactory.DerivationFramework.Reco_Vertex(
369 name =
"BPHY13_Reco_Dimumutrk",
370 VertexSearchTool = BPHY13DimuFinder_mutrk,
371 OutputVtxContainerName =
"BPHY13Dimumutrk",
372 PVContainerName =
"PrimaryVertices",
373 RefPVContainerName =
"SHOULDNOTBEUSED",
375 PVRefitter = PVrefit,
379 BPHY13_Rev_Phimumu = CompFactory.DerivationFramework.ReVertex(
380 name =
"BPHY13_Rev_Phimumu",
381 InputVtxContainerName =
"BPHY13Phimumu",
382 TrackIndices = [ 0, 1 ],
384 UseMassConstraint =
True,
385 VertexMass = Phimass,
386 MassInputParticles = [Mumass, Mumass],
388 PVRefitter = PVrefit,
390 TrkVertexFitterTool = vkalvrt,
391 OutputVtxContainerName =
"BPHY13Phimumu_revtx")
393 BPHY13_Rev_Jpsimumu = CompFactory.DerivationFramework.ReVertex(
394 name =
"BPHY13_Rev_Jpsimumu",
395 InputVtxContainerName =
"BPHY13Jpsimumu",
396 TrackIndices = [ 0, 1 ],
398 UseMassConstraint =
True,
399 VertexMass = Jpsimass,
400 MassInputParticles = [Mumass, Mumass],
402 PVRefitter = PVrefit,
404 TrkVertexFitterTool = vkalvrt,
405 OutputVtxContainerName =
"BPHY13Jpsimumu_revtx")
407 BPHY13_Rev_Psimumu = CompFactory.DerivationFramework.ReVertex(
408 name =
"BPHY13_Rev_Psimumu",
409 InputVtxContainerName =
"BPHY13Psimumu",
410 TrackIndices = [ 0, 1 ],
412 UseMassConstraint =
True,
413 VertexMass = Psi2Smass,
414 MassInputParticles = [Mumass, Mumass],
416 PVRefitter = PVrefit,
418 TrkVertexFitterTool = vkalvrt,
419 OutputVtxContainerName =
"BPHY13Psimumu_revtx")
421 BPHY13_Rev_Upsimumu = CompFactory.DerivationFramework.ReVertex(
422 name =
"BPHY13_Rev_Upsimumu",
423 InputVtxContainerName =
"BPHY13Upsimumu",
424 TrackIndices = [ 0, 1 ],
426 UseMassConstraint =
True,
427 VertexMass = Upsimass,
428 MassInputParticles = [Mumass, Mumass],
430 PVRefitter = PVrefit,
432 TrkVertexFitterTool = vkalvrt,
433 OutputVtxContainerName =
"BPHY13Upsimumu_revtx")
436 BPHY13_Rev_Phimutrk = CompFactory.DerivationFramework.ReVertex(
437 name =
"BPHY13_Rev_Phimutrk",
438 InputVtxContainerName =
"BPHY13Phimutrk",
439 TrackIndices = [ 0, 1 ],
441 UseMassConstraint =
True,
442 VertexMass = Phimass,
443 MassInputParticles = [Mumass, Mumass],
445 PVRefitter = PVrefit,
447 TrkVertexFitterTool = vkalvrt,
448 OutputVtxContainerName =
"BPHY13Phimutrk_revtx")
450 BPHY13_Rev_Jpsimutrk = CompFactory.DerivationFramework.ReVertex(
451 name =
"BPHY13_Rev_Jpsimutrk",
452 InputVtxContainerName =
"BPHY13Jpsimutrk",
453 TrackIndices = [ 0, 1 ],
455 UseMassConstraint =
True,
456 VertexMass = Jpsimass,
457 MassInputParticles = [Mumass, Mumass],
459 PVRefitter = PVrefit,
461 TrkVertexFitterTool = vkalvrt,
462 OutputVtxContainerName =
"BPHY13Jpsimutrk_revtx")
464 BPHY13_Rev_Psimutrk = CompFactory.DerivationFramework.ReVertex(
465 name =
"BPHY13_Rev_Psimutrk",
466 InputVtxContainerName =
"BPHY13Psimutrk",
467 TrackIndices = [ 0, 1 ],
469 UseMassConstraint =
True,
470 VertexMass = Psi2Smass,
471 MassInputParticles = [Mumass, Mumass],
473 PVRefitter = PVrefit,
475 TrkVertexFitterTool = vkalvrt,
476 OutputVtxContainerName =
"BPHY13Psimutrk_revtx")
478 BPHY13_Rev_Upsimutrk = CompFactory.DerivationFramework.ReVertex(
479 name =
"BPHY13_Rev_Upsimutrk",
480 InputVtxContainerName =
"BPHY13Upsimutrk",
481 TrackIndices = [ 0, 1 ],
483 UseMassConstraint =
True,
484 VertexMass = Upsimass,
485 MassInputParticles = [Mumass, Mumass],
487 PVRefitter = PVrefit,
489 TrkVertexFitterTool = vkalvrt,
490 OutputVtxContainerName =
"BPHY13Upsimutrk_revtx")
493 list_4mu_hypo = [
"UpsiUpsi_4mu",
"UpsiPsi_4mu",
"UpsiJpsi_4mu",
"UpsiPhi_4mu",
494 "PsiPsi_4mu",
"PsiJpsi_4mu",
"PsiPhi_4mu",
495 "JpsiJpsi_4mu",
"JpsiPhi_4mu",
"PhiPhi_4mu",
497 list_4mu_psi1Input = [
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
498 "BPHY13Psimumu_revtx",
"BPHY13Psimumu_revtx",
"BPHY13Psimumu_revtx",
499 "BPHY13Jpsimumu_revtx",
"BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
500 "BPHY13Upsimumu_revtx"]
501 list_4mu_psi2Input = [
"BPHY13Upsimumu_revtx",
"BPHY13Psimumu_revtx",
"BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
502 "BPHY13Psimumu_revtx",
"BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
503 "BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
"BPHY13Phimumu_revtx",
505 list_4mu_jpsi1lo = [Upsi_lo,Upsi_lo,Upsi_lo,Upsi_lo,
506 Psi_lo,Psi_lo,Psi_lo,
507 Jpsi_lo,Jpsi_lo,Phi_lo,
509 list_4mu_jpsi1hi = [Upsi_hi,Upsi_hi,Upsi_hi,Upsi_hi,
510 Psi_hi,Psi_hi,Psi_hi,
511 Jpsi_hi,Jpsi_hi,Phi_hi,
513 list_4mu_jpsi1mass = [Upsimass, Upsimass, Upsimass, Upsimass,
514 Psi2Smass, Psi2Smass, Psi2Smass,
515 Jpsimass, Jpsimass, Phimass,
517 list_4mu_jpsi2lo = [Upsi_lo,Psi_lo,Jpsi_lo,Phi_lo,
518 Psi_lo,Jpsi_lo,Phi_lo,
519 Jpsi_lo,Phi_lo,Phi_lo,
521 list_4mu_jpsi2hi = [Upsi_hi,Psi_hi,Jpsi_hi,Phi_hi,
522 Psi_hi,Jpsi_hi,Phi_hi,
523 Jpsi_hi,Phi_hi,Phi_hi,
525 list_4mu_jpsi2mass = [Upsimass, Psi2Smass, Jpsimass, Phimass,
526 Psi2Smass, Jpsimass, Phimass,
527 Jpsimass, Phimass, Phimass]
530 for hypo
in list_4mu_hypo:
531 list_4mu_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY13_"+hypo) )
533 for i
in range(len(list_4mu_obj)):
534 list_4mu_obj[i].HypothesisName = list_4mu_hypo[i]
535 list_4mu_obj[i].Psi1Vertices = list_4mu_psi1Input[i]
536 list_4mu_obj[i].Psi2Vertices = list_4mu_psi2Input[i]
537 list_4mu_obj[i].NumberOfPsi1Daughters = 2
538 list_4mu_obj[i].NumberOfPsi2Daughters = 2
539 list_4mu_obj[i].Jpsi1MassLowerCut = list_4mu_jpsi1lo[i]
540 list_4mu_obj[i].Jpsi1MassUpperCut = list_4mu_jpsi1hi[i]
541 list_4mu_obj[i].Jpsi2MassLowerCut = list_4mu_jpsi2lo[i]
542 list_4mu_obj[i].Jpsi2MassUpperCut = list_4mu_jpsi2hi[i]
543 list_4mu_obj[i].MassLowerCut = 0.
544 list_4mu_obj[i].MassUpperCut = 31000.
545 list_4mu_obj[i].Jpsi1Mass = list_4mu_jpsi1mass[i]
546 list_4mu_obj[i].ApplyJpsi1MassConstraint =
True
547 if i == len(list_4mu_obj)-1:
548 list_4mu_obj[i].ApplyJpsi2MassConstraint =
False
550 list_4mu_obj[i].Jpsi2Mass = list_4mu_jpsi2mass[i]
551 list_4mu_obj[i].ApplyJpsi2MassConstraint =
True
552 list_4mu_obj[i].Chi2Cut = 25.
553 list_4mu_obj[i].PVRefitter = PVrefit
554 list_4mu_obj[i].TrkVertexFitterTool = vkalvrt
555 list_4mu_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
556 list_4mu_obj[i].OutputVertexCollections = [
"BPHY13_"+list_4mu_hypo[i]+
"_SubVtx1",
"BPHY13_"+list_4mu_hypo[i]+
"_SubVtx2",
"BPHY13_"+list_4mu_hypo[i]+
"_MainVtx"]
557 list_4mu_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
558 list_4mu_obj[i].RefPVContainerName =
"BPHY13_"+list_4mu_hypo[i]+
"_RefPrimaryVertices"
559 list_4mu_obj[i].RefitPV =
True
560 list_4mu_obj[i].MaxnPV = 100
563 list_3mu1trk_hypo = [
"UpsiUpsi_3mu1trk",
"UpsiPsi_3mu1trk",
"UpsiJpsi_3mu1trk",
"UpsiPhi_3mu1trk",
564 "PsiPsi_3mu1trk",
"PsiJpsi_3mu1trk",
"PsiPhi_3mu1trk",
565 "JpsiJpsi_3mu1trk",
"JpsiPhi_3mu1trk",
"PhiPhi_3mu1trk",
566 "PsiUpsi_3mu1trk",
"JpsiUpsi_3mu1trk",
"PhiUpsi_3mu1trk",
567 "JpsiPsi_3mu1trk",
"PhiPsi_3mu1trk",
"PhiJpsi_3mu1trk",
568 "UpsiDimu_3mu1trk",
"DimuUpsi_3mu1trk"]
569 list_3mu1trk_psi1Input = [
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
570 "BPHY13Psimumu_revtx",
"BPHY13Psimumu_revtx",
"BPHY13Psimumu_revtx",
571 "BPHY13Jpsimumu_revtx",
"BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
572 "BPHY13Psimumu_revtx",
"BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
573 "BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
"BPHY13Phimumu_revtx",
574 "BPHY13Upsimumu_revtx",
"BPHY13Dimumumu"]
575 list_3mu1trk_psi2Input = [
"BPHY13Upsimutrk_revtx",
"BPHY13Psimutrk_revtx",
"BPHY13Jpsimutrk_revtx",
"BPHY13Phimutrk_revtx",
576 "BPHY13Psimutrk_revtx",
"BPHY13Jpsimutrk_revtx",
"BPHY13Phimutrk_revtx",
577 "BPHY13Jpsimutrk_revtx",
"BPHY13Phimutrk_revtx",
"BPHY13Phimutrk_revtx",
578 "BPHY13Upsimutrk_revtx",
"BPHY13Upsimutrk_revtx",
"BPHY13Upsimutrk_revtx",
579 "BPHY13Psimutrk_revtx",
"BPHY13Psimutrk_revtx",
"BPHY13Jpsimutrk_revtx",
580 "BPHY13Dimumutrk",
"BPHY13Upsimutrk_revtx"]
581 list_3mu1trk_jpsi1lo = [Upsi_lo,Upsi_lo,Upsi_lo,Upsi_lo,
582 Psi_lo,Psi_lo,Psi_lo,
583 Jpsi_lo,Jpsi_lo,Phi_lo,
584 Psi_lo,Jpsi_lo,Phi_lo,
585 Jpsi_lo,Phi_lo,Phi_lo,
587 list_3mu1trk_jpsi1hi = [Upsi_hi,Upsi_hi,Upsi_hi,Upsi_hi,
588 Psi_hi,Psi_hi,Psi_hi,
589 Jpsi_hi,Jpsi_hi,Phi_hi,
590 Psi_hi,Jpsi_hi,Phi_hi,
591 Jpsi_hi,Phi_hi,Phi_hi,
593 list_3mu1trk_jpsi1mass = [Upsimass, Upsimass, Upsimass, Upsimass,
594 Psi2Smass, Psi2Smass, Psi2Smass,
595 Jpsimass, Jpsimass, Phimass,
596 Psi2Smass, Jpsimass, Phimass,
597 Jpsimass, Phimass, Phimass,
599 list_3mu1trk_jpsi2lo = [Upsi_lo,Psi_lo,Jpsi_lo,Phi_lo,
600 Psi_lo,Jpsi_lo,Phi_lo,
601 Jpsi_lo,Phi_lo,Phi_lo,
602 Upsi_lo,Upsi_lo,Upsi_lo,
603 Psi_lo,Psi_lo,Jpsi_lo,
605 list_3mu1trk_jpsi2hi = [Upsi_hi,Psi_hi,Jpsi_hi,Phi_hi,
606 Psi_hi,Jpsi_hi,Phi_hi,
607 Jpsi_hi,Phi_hi,Phi_hi,
608 Upsi_hi,Upsi_hi,Upsi_hi,
609 Psi_hi,Psi_hi,Jpsi_hi,
611 list_3mu1trk_jpsi2mass = [Upsimass, Psi2Smass, Jpsimass, Phimass,
612 Psi2Smass, Jpsimass, Phimass,
613 Jpsimass, Phimass, Phimass,
614 Upsimass, Upsimass, Upsimass,
615 Psi2Smass, Psi2Smass, Jpsimass,
618 list_3mu1trk_obj = []
619 for hypo
in list_3mu1trk_hypo:
620 list_3mu1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY13_"+hypo) )
622 for i
in range(len(list_3mu1trk_obj)):
623 list_3mu1trk_obj[i].HypothesisName = list_3mu1trk_hypo[i]
624 list_3mu1trk_obj[i].Psi1Vertices = list_3mu1trk_psi1Input[i]
625 list_3mu1trk_obj[i].Psi2Vertices = list_3mu1trk_psi2Input[i]
626 list_3mu1trk_obj[i].NumberOfPsi1Daughters = 2
627 list_3mu1trk_obj[i].NumberOfPsi2Daughters = 2
628 list_3mu1trk_obj[i].MaxCandidates = 20
629 list_3mu1trk_obj[i].Jpsi1MassLowerCut = list_3mu1trk_jpsi1lo[i]
630 list_3mu1trk_obj[i].Jpsi1MassUpperCut = list_3mu1trk_jpsi1hi[i]
631 list_3mu1trk_obj[i].Jpsi2MassLowerCut = list_3mu1trk_jpsi2lo[i]
632 list_3mu1trk_obj[i].Jpsi2MassUpperCut = list_3mu1trk_jpsi2hi[i]
633 list_3mu1trk_obj[i].MassLowerCut = 0.
634 list_3mu1trk_obj[i].MassUpperCut = 31000.
635 if i == len(list_3mu1trk_obj)-2:
636 list_3mu1trk_obj[i].Jpsi1Mass = list_3mu1trk_jpsi1mass[i]
637 list_3mu1trk_obj[i].ApplyJpsi1MassConstraint =
True
638 list_3mu1trk_obj[i].ApplyJpsi2MassConstraint =
False
639 elif i == len(list_3mu1trk_obj)-1:
640 list_3mu1trk_obj[i].Jpsi2Mass = list_3mu1trk_jpsi2mass[i]
641 list_3mu1trk_obj[i].ApplyJpsi1MassConstraint =
False
642 list_3mu1trk_obj[i].ApplyJpsi2MassConstraint =
True
644 list_3mu1trk_obj[i].Jpsi1Mass = list_3mu1trk_jpsi1mass[i]
645 list_3mu1trk_obj[i].Jpsi2Mass = list_3mu1trk_jpsi2mass[i]
646 list_3mu1trk_obj[i].ApplyJpsi1MassConstraint =
True
647 list_3mu1trk_obj[i].ApplyJpsi2MassConstraint =
True
648 list_3mu1trk_obj[i].Chi2Cut = 25.
649 list_3mu1trk_obj[i].PVRefitter = PVrefit
650 list_3mu1trk_obj[i].TrkVertexFitterTool = vkalvrt
651 list_3mu1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
652 list_3mu1trk_obj[i].OutputVertexCollections = [
"BPHY13_"+list_3mu1trk_hypo[i]+
"_SubVtx1",
"BPHY13_"+list_3mu1trk_hypo[i]+
"_SubVtx2",
"BPHY13_"+list_3mu1trk_hypo[i]+
"_MainVtx"]
653 list_3mu1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
654 list_3mu1trk_obj[i].RefPVContainerName =
"BPHY13_"+list_3mu1trk_hypo[i]+
"_RefPrimaryVertices"
655 list_3mu1trk_obj[i].RefitPV =
True
656 list_3mu1trk_obj[i].MaxnPV = 100
659 list_all_obj = list_4mu_obj + list_3mu1trk_obj
661 OutputCollections = []
663 RefPVAuxContainers = []
664 passedCandidates = []
666 for obj
in list_all_obj:
667 OutputCollections += obj.OutputVertexCollections
668 RefPVContainers += [
"xAOD::VertexContainer#BPHY13_" + obj.HypothesisName +
"_RefPrimaryVertices"]
669 RefPVAuxContainers += [
"xAOD::VertexAuxContainer#BPHY13_" + obj.HypothesisName +
"_RefPrimaryVerticesAux."]
670 passedCandidates += [
"BPHY13_" + obj.HypothesisName +
"_MainVtx" ]
672 BPHY13_SelectEvent = CompFactory.DerivationFramework.AnyVertexSkimmingTool(name =
"BPHY13_SelectEvent", VertexContainerNames = passedCandidates)
673 acc.addPublicTool(BPHY13_SelectEvent)
675 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
676 for t
in augmentation_tools : acc.addPublicTool(t)
678 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
680 AugmentationTools = augmentation_tools,
681 SkimmingTools = [BPHY13_SelectEvent]
684 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
685 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
686 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
687 BPHY13SlimmingHelper =
SlimmingHelper(
"BPHY13SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
688 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import getDefaultAllVariables
689 BPHY13_AllVariables = getDefaultAllVariables()
690 BPHY13_StaticContent = []
693 BPHY13SlimmingHelper.IncludeMuonTriggerContent =
True
694 BPHY13SlimmingHelper.IncludeBPhysTriggerContent =
True
697 BPHY13_AllVariables += [
"PrimaryVertices"]
698 BPHY13_StaticContent += RefPVContainers
699 BPHY13_StaticContent += RefPVAuxContainers
702 BPHY13_AllVariables += [
"InDetTrackParticles"]
707 BPHY13_AllVariables += [
"CombinedMuonTrackParticles",
"ExtrapolatedMuonTrackParticles"]
710 BPHY13_AllVariables += [
"Muons",
"MuonSegments"]
713 for output
in OutputCollections:
714 BPHY13_StaticContent += [
"xAOD::VertexContainer#%s" % output]
715 BPHY13_StaticContent += [
"xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % output]
719 BPHY13_AllVariables += [
"TruthEvents",
"TruthParticles",
"TruthVertices",
"MuonTruthParticles"]
721 BPHY13SlimmingHelper.SmartCollections = [
"Muons",
"PrimaryVertices",
"InDetTrackParticles"]
722 BPHY13SlimmingHelper.AllVariables = BPHY13_AllVariables
723 BPHY13SlimmingHelper.StaticContent = BPHY13_StaticContent
725 BPHY13ItemList = BPHY13SlimmingHelper.GetItemList()
726 acc.merge(OutputStreamCfg(flags,
"DAOD_BPHY13", ItemList=BPHY13ItemList, AcceptAlgs=[
"BPHY13Kernel"]))
727 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_BPHY13", AcceptAlgs=[
"BPHY13Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
728 acc.printConfig(withDetails=
True, summariseProps=
True, onlyComponents = [], printDefaults=
True)