8 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
9 from AthenaConfiguration.ComponentFactory
import CompFactory
10 from AthenaConfiguration.Enums
import MetadataCategory
12 BPHYDerivationName =
"BPHY13"
13 streamName =
"StreamDAOD_BPHY13"
16 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import (BPHY_V0ToolCfg, BPHY_InDetDetailedTrackSelectorToolCfg, BPHY_VertexPointEstimatorCfg, BPHY_TrkVKalVrtFitterCfg)
17 from JpsiUpsilonTools.JpsiUpsilonToolsConfig
import PrimaryVertexRefittingToolCfg
19 isSimulation = flags.Input.isMC
20 V0Tools = acc.popToolsAndMerge(
BPHY_V0ToolCfg(flags, BPHYDerivationName))
22 acc.addPublicTool(vkalvrt)
23 acc.addPublicTool(V0Tools)
25 acc.addPublicTool(trackselect)
27 acc.addPublicTool(vpest)
47 BPHY13PhiFinder_mumu = CompFactory.Analysis.JpsiFinder(
48 name =
"BPHY13PhiFinder_mumu",
51 TrackAndTrack =
False,
53 muonThresholdPt = 2400.,
54 trackThresholdPt = 2400.,
55 invMassLower = Phi_lo,
56 invMassUpper = Phi_hi,
58 oppChargesOnly =
True,
59 atLeastOneComb =
True,
60 useCombinedMeasurement =
False,
61 muonCollectionKey =
"Muons",
62 TrackParticleCollection =
"InDetTrackParticles",
63 V0VertexFitterTool =
None,
65 TrkVertexFitterTool = vkalvrt,
66 TrackSelectorTool = trackselect,
67 VertexPointEstimator = vpest,
69 acc.addPublicTool(BPHY13PhiFinder_mumu)
71 BPHY13JpsiFinder_mumu = CompFactory.Analysis.JpsiFinder(
72 name =
"BPHY13JpsiFinder_mumu",
75 TrackAndTrack =
False,
77 muonThresholdPt = 2400.,
78 trackThresholdPt = 2400.,
79 invMassLower = Jpsi_lo,
80 invMassUpper = Jpsi_hi,
82 oppChargesOnly =
True,
83 atLeastOneComb =
True,
84 useCombinedMeasurement =
False,
85 muonCollectionKey =
"Muons",
86 TrackParticleCollection =
"InDetTrackParticles",
87 V0VertexFitterTool =
None,
89 TrkVertexFitterTool = vkalvrt,
90 TrackSelectorTool = trackselect,
91 VertexPointEstimator = vpest,
93 acc.addPublicTool(BPHY13JpsiFinder_mumu)
95 BPHY13PsiFinder_mumu = CompFactory.Analysis.JpsiFinder(
96 name =
"BPHY13PsiFinder_mumu",
99 TrackAndTrack =
False,
100 assumeDiMuons =
True,
101 muonThresholdPt = 2400.,
102 trackThresholdPt = 2400.,
103 invMassLower = Psi_lo,
104 invMassUpper = Psi_hi,
106 oppChargesOnly =
True,
107 atLeastOneComb =
True,
108 useCombinedMeasurement =
False,
109 muonCollectionKey =
"Muons",
110 TrackParticleCollection =
"InDetTrackParticles",
111 V0VertexFitterTool =
None,
113 TrkVertexFitterTool = vkalvrt,
114 TrackSelectorTool = trackselect,
115 VertexPointEstimator = vpest,
117 acc.addPublicTool(BPHY13PsiFinder_mumu)
119 BPHY13UpsiFinder_mumu = CompFactory.Analysis.JpsiFinder(
120 name =
"BPHY13UpsiFinder_mumu",
123 TrackAndTrack =
False,
124 assumeDiMuons =
True,
125 muonThresholdPt = 2400.,
126 trackThresholdPt = 2400.,
127 invMassLower = Upsi_lo,
128 invMassUpper = Upsi_hi,
130 oppChargesOnly =
True,
131 atLeastOneComb =
True,
132 useCombinedMeasurement =
False,
133 muonCollectionKey =
"Muons",
134 TrackParticleCollection =
"InDetTrackParticles",
135 V0VertexFitterTool =
None,
137 TrkVertexFitterTool = vkalvrt,
138 TrackSelectorTool = trackselect,
139 VertexPointEstimator = vpest,
141 acc.addPublicTool(BPHY13UpsiFinder_mumu)
143 BPHY13DimuFinder_mumu = CompFactory.Analysis.JpsiFinder(
144 name =
"BPHY13DimuFinder_mumu",
147 TrackAndTrack =
False,
148 assumeDiMuons =
True,
149 muonThresholdPt = 2400.,
150 trackThresholdPt = 2400.,
151 invMassLower = Dimu_lo,
152 invMassUpper = Dimu_hi,
154 oppChargesOnly =
True,
155 atLeastOneComb =
True,
156 useCombinedMeasurement =
False,
157 muonCollectionKey =
"Muons",
158 TrackParticleCollection =
"InDetTrackParticles",
159 V0VertexFitterTool =
None,
161 TrkVertexFitterTool = vkalvrt,
162 TrackSelectorTool = trackselect,
163 VertexPointEstimator = vpest,
165 acc.addPublicTool(BPHY13DimuFinder_mumu)
168 BPHY13PhiFinder_mutrk = CompFactory.Analysis.JpsiFinder(
169 name =
"BPHY13PhiFinder_mutrk",
172 TrackAndTrack =
False,
173 assumeDiMuons =
True,
174 muonThresholdPt = 2400.,
175 trackThresholdPt = 2400.,
176 invMassLower = Phi_lo,
177 invMassUpper = Phi_hi,
179 oppChargesOnly =
True,
180 atLeastOneComb =
False,
181 useCombinedMeasurement =
False,
182 muonCollectionKey =
"Muons",
183 TrackParticleCollection =
"InDetTrackParticles",
184 V0VertexFitterTool =
None,
186 TrkVertexFitterTool = vkalvrt,
187 TrackSelectorTool = trackselect,
188 VertexPointEstimator = vpest,
190 doTagAndProbe =
True)
191 acc.addPublicTool(BPHY13PhiFinder_mutrk)
193 BPHY13JpsiFinder_mutrk = CompFactory.Analysis.JpsiFinder(
194 name =
"BPHY13JpsiFinder_mutrk",
197 TrackAndTrack =
False,
198 assumeDiMuons =
True,
199 muonThresholdPt = 2400.,
200 trackThresholdPt = 2400.,
201 invMassLower = Jpsi_lo,
202 invMassUpper = Jpsi_hi,
204 oppChargesOnly =
True,
205 atLeastOneComb =
False,
206 useCombinedMeasurement =
False,
207 muonCollectionKey =
"Muons",
208 TrackParticleCollection =
"InDetTrackParticles",
209 V0VertexFitterTool =
None,
211 TrkVertexFitterTool = vkalvrt,
212 TrackSelectorTool = trackselect,
213 VertexPointEstimator = vpest,
215 doTagAndProbe =
True )
216 acc.addPublicTool(BPHY13JpsiFinder_mutrk)
218 BPHY13PsiFinder_mutrk = CompFactory.Analysis.JpsiFinder(
219 name =
"BPHY13PsiFinder_mutrk",
222 TrackAndTrack =
False,
223 assumeDiMuons =
True,
224 muonThresholdPt = 2400.,
225 trackThresholdPt = 2400.,
226 invMassLower = Psi_lo,
227 invMassUpper = Psi_hi,
229 oppChargesOnly =
True,
230 atLeastOneComb =
False,
231 useCombinedMeasurement =
False,
232 muonCollectionKey =
"Muons",
233 TrackParticleCollection =
"InDetTrackParticles",
234 V0VertexFitterTool =
None,
236 TrkVertexFitterTool = vkalvrt,
237 TrackSelectorTool = trackselect,
238 VertexPointEstimator = vpest,
240 doTagAndProbe =
True )
241 acc.addPublicTool(BPHY13PsiFinder_mutrk)
243 BPHY13UpsiFinder_mutrk = CompFactory.Analysis.JpsiFinder(
244 name =
"BPHY13UpsiFinder_mutrk",
247 TrackAndTrack =
False,
248 assumeDiMuons =
True,
249 muonThresholdPt = 2400.,
250 trackThresholdPt = 2400.,
251 invMassLower = Upsi_lo,
252 invMassUpper = Upsi_hi,
254 oppChargesOnly =
True,
255 atLeastOneComb =
False,
256 useCombinedMeasurement =
False,
257 muonCollectionKey =
"Muons",
258 TrackParticleCollection =
"InDetTrackParticles",
259 V0VertexFitterTool =
None,
261 TrkVertexFitterTool = vkalvrt,
262 TrackSelectorTool = trackselect,
263 VertexPointEstimator = vpest,
265 doTagAndProbe =
True )
266 acc.addPublicTool(BPHY13UpsiFinder_mutrk)
268 BPHY13DimuFinder_mutrk = CompFactory.Analysis.JpsiFinder(
269 name =
"BPHY13DimuFinder_mutrk",
272 TrackAndTrack =
False,
273 assumeDiMuons =
True,
274 muonThresholdPt = 2400.,
275 trackThresholdPt = 2400.,
276 invMassLower = Dimu_lo,
277 invMassUpper = Dimu_hi,
279 oppChargesOnly =
True,
280 atLeastOneComb =
False,
281 useCombinedMeasurement =
False,
282 muonCollectionKey =
"Muons",
283 TrackParticleCollection =
"InDetTrackParticles",
284 V0VertexFitterTool =
None,
286 TrkVertexFitterTool = vkalvrt,
287 TrackSelectorTool = trackselect,
288 VertexPointEstimator = vpest,
290 doTagAndProbe =
True )
291 acc.addPublicTool(BPHY13DimuFinder_mutrk)
294 BPHY13_Reco_Phimumu = CompFactory.DerivationFramework.Reco_Vertex(
295 name =
"BPHY13_Reco_Phimumu",
296 VertexSearchTool = BPHY13PhiFinder_mumu,
297 OutputVtxContainerName =
"BPHY13Phimumu",
298 PVContainerName =
"PrimaryVertices",
299 RefPVContainerName =
"SHOULDNOTBEUSED",
304 BPHY13_Reco_Jpsimumu = CompFactory.DerivationFramework.Reco_Vertex(
305 name =
"BPHY13_Reco_Jpsimumu",
306 VertexSearchTool = BPHY13JpsiFinder_mumu,
307 OutputVtxContainerName =
"BPHY13Jpsimumu",
308 PVContainerName =
"PrimaryVertices",
309 RefPVContainerName =
"SHOULDNOTBEUSED",
314 BPHY13_Reco_Psimumu = CompFactory.DerivationFramework.Reco_Vertex(
315 name =
"BPHY13_Reco_Psimumu",
316 VertexSearchTool = BPHY13PsiFinder_mumu,
317 OutputVtxContainerName =
"BPHY13Psimumu",
318 PVContainerName =
"PrimaryVertices",
319 RefPVContainerName =
"SHOULDNOTBEUSED",
324 BPHY13_Reco_Upsimumu = CompFactory.DerivationFramework.Reco_Vertex(
325 name =
"BPHY13_Reco_Upsimumu",
326 VertexSearchTool = BPHY13UpsiFinder_mumu,
327 OutputVtxContainerName =
"BPHY13Upsimumu",
328 PVContainerName =
"PrimaryVertices",
329 RefPVContainerName =
"SHOULDNOTBEUSED",
334 BPHY13_Reco_Dimumumu = CompFactory.DerivationFramework.Reco_Vertex(
335 name =
"BPHY13_Reco_Dimumumu",
336 VertexSearchTool = BPHY13DimuFinder_mumu,
337 OutputVtxContainerName =
"BPHY13Dimumumu",
338 PVContainerName =
"PrimaryVertices",
339 RefPVContainerName =
"SHOULDNOTBEUSED",
345 BPHY13_Reco_Phimutrk = CompFactory.DerivationFramework.Reco_Vertex(
346 name =
"BPHY13_Reco_Phimutrk",
347 VertexSearchTool = BPHY13PhiFinder_mutrk,
348 OutputVtxContainerName =
"BPHY13Phimutrk",
349 PVContainerName =
"PrimaryVertices",
350 RefPVContainerName =
"SHOULDNOTBEUSED",
355 BPHY13_Reco_Jpsimutrk = CompFactory.DerivationFramework.Reco_Vertex(
356 name =
"BPHY13_Reco_Jpsimutrk",
357 VertexSearchTool = BPHY13JpsiFinder_mutrk,
358 OutputVtxContainerName =
"BPHY13Jpsimutrk",
359 PVContainerName =
"PrimaryVertices",
360 RefPVContainerName =
"SHOULDNOTBEUSED",
365 BPHY13_Reco_Psimutrk = CompFactory.DerivationFramework.Reco_Vertex(
366 name =
"BPHY13_Reco_Psimutrk",
367 VertexSearchTool = BPHY13PsiFinder_mutrk,
368 OutputVtxContainerName =
"BPHY13Psimutrk",
369 PVContainerName =
"PrimaryVertices",
370 RefPVContainerName =
"SHOULDNOTBEUSED",
375 BPHY13_Reco_Upsimutrk = CompFactory.DerivationFramework.Reco_Vertex(
376 name =
"BPHY13_Reco_Upsimutrk",
377 VertexSearchTool = BPHY13UpsiFinder_mutrk,
378 OutputVtxContainerName =
"BPHY13Upsimutrk",
379 PVContainerName =
"PrimaryVertices",
380 RefPVContainerName =
"SHOULDNOTBEUSED",
385 BPHY13_Reco_Dimumutrk = CompFactory.DerivationFramework.Reco_Vertex(
386 name =
"BPHY13_Reco_Dimumutrk",
387 VertexSearchTool = BPHY13DimuFinder_mutrk,
388 OutputVtxContainerName =
"BPHY13Dimumutrk",
389 PVContainerName =
"PrimaryVertices",
390 RefPVContainerName =
"SHOULDNOTBEUSED",
396 BPHY13_Rev_Phimumu = CompFactory.DerivationFramework.ReVertex(
397 name =
"BPHY13_Rev_Phimumu",
398 InputVtxContainerName =
"BPHY13Phimumu",
399 TrackIndices = [ 0, 1 ],
401 UseMassConstraint =
True,
402 VertexMass = Phimass,
403 MassInputParticles = [Mumass, Mumass],
407 TrkVertexFitterTool = vkalvrt,
408 OutputVtxContainerName =
"BPHY13Phimumu_revtx")
410 BPHY13_Rev_Jpsimumu = CompFactory.DerivationFramework.ReVertex(
411 name =
"BPHY13_Rev_Jpsimumu",
412 InputVtxContainerName =
"BPHY13Jpsimumu",
413 TrackIndices = [ 0, 1 ],
415 UseMassConstraint =
True,
416 VertexMass = Jpsimass,
417 MassInputParticles = [Mumass, Mumass],
421 TrkVertexFitterTool = vkalvrt,
422 OutputVtxContainerName =
"BPHY13Jpsimumu_revtx")
424 BPHY13_Rev_Psimumu = CompFactory.DerivationFramework.ReVertex(
425 name =
"BPHY13_Rev_Psimumu",
426 InputVtxContainerName =
"BPHY13Psimumu",
427 TrackIndices = [ 0, 1 ],
429 UseMassConstraint =
True,
430 VertexMass = Psi2Smass,
431 MassInputParticles = [Mumass, Mumass],
435 TrkVertexFitterTool = vkalvrt,
436 OutputVtxContainerName =
"BPHY13Psimumu_revtx")
438 BPHY13_Rev_Upsimumu = CompFactory.DerivationFramework.ReVertex(
439 name =
"BPHY13_Rev_Upsimumu",
440 InputVtxContainerName =
"BPHY13Upsimumu",
441 TrackIndices = [ 0, 1 ],
443 UseMassConstraint =
True,
444 VertexMass = Upsimass,
445 MassInputParticles = [Mumass, Mumass],
449 TrkVertexFitterTool = vkalvrt,
450 OutputVtxContainerName =
"BPHY13Upsimumu_revtx")
453 BPHY13_Rev_Phimutrk = CompFactory.DerivationFramework.ReVertex(
454 name =
"BPHY13_Rev_Phimutrk",
455 InputVtxContainerName =
"BPHY13Phimutrk",
456 TrackIndices = [ 0, 1 ],
458 UseMassConstraint =
True,
459 VertexMass = Phimass,
460 MassInputParticles = [Mumass, Mumass],
464 TrkVertexFitterTool = vkalvrt,
465 OutputVtxContainerName =
"BPHY13Phimutrk_revtx")
467 BPHY13_Rev_Jpsimutrk = CompFactory.DerivationFramework.ReVertex(
468 name =
"BPHY13_Rev_Jpsimutrk",
469 InputVtxContainerName =
"BPHY13Jpsimutrk",
470 TrackIndices = [ 0, 1 ],
472 UseMassConstraint =
True,
473 VertexMass = Jpsimass,
474 MassInputParticles = [Mumass, Mumass],
478 TrkVertexFitterTool = vkalvrt,
479 OutputVtxContainerName =
"BPHY13Jpsimutrk_revtx")
481 BPHY13_Rev_Psimutrk = CompFactory.DerivationFramework.ReVertex(
482 name =
"BPHY13_Rev_Psimutrk",
483 InputVtxContainerName =
"BPHY13Psimutrk",
484 TrackIndices = [ 0, 1 ],
486 UseMassConstraint =
True,
487 VertexMass = Psi2Smass,
488 MassInputParticles = [Mumass, Mumass],
492 TrkVertexFitterTool = vkalvrt,
493 OutputVtxContainerName =
"BPHY13Psimutrk_revtx")
495 BPHY13_Rev_Upsimutrk = CompFactory.DerivationFramework.ReVertex(
496 name =
"BPHY13_Rev_Upsimutrk",
497 InputVtxContainerName =
"BPHY13Upsimutrk",
498 TrackIndices = [ 0, 1 ],
500 UseMassConstraint =
True,
501 VertexMass = Upsimass,
502 MassInputParticles = [Mumass, Mumass],
506 TrkVertexFitterTool = vkalvrt,
507 OutputVtxContainerName =
"BPHY13Upsimutrk_revtx")
510 list_4mu_hypo = [
"UpsiUpsi_4mu",
"UpsiPsi_4mu",
"UpsiJpsi_4mu",
"UpsiPhi_4mu",
511 "PsiPsi_4mu",
"PsiJpsi_4mu",
"PsiPhi_4mu",
512 "JpsiJpsi_4mu",
"JpsiPhi_4mu",
"PhiPhi_4mu",
514 list_4mu_psi1Input = [
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
515 "BPHY13Psimumu_revtx",
"BPHY13Psimumu_revtx",
"BPHY13Psimumu_revtx",
516 "BPHY13Jpsimumu_revtx",
"BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
517 "BPHY13Upsimumu_revtx"]
518 list_4mu_psi2Input = [
"BPHY13Upsimumu_revtx",
"BPHY13Psimumu_revtx",
"BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
519 "BPHY13Psimumu_revtx",
"BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
520 "BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
"BPHY13Phimumu_revtx",
522 list_4mu_jpsi1lo = [Upsi_lo,Upsi_lo,Upsi_lo,Upsi_lo,
523 Psi_lo,Psi_lo,Psi_lo,
524 Jpsi_lo,Jpsi_lo,Phi_lo,
526 list_4mu_jpsi1hi = [Upsi_hi,Upsi_hi,Upsi_hi,Upsi_hi,
527 Psi_hi,Psi_hi,Psi_hi,
528 Jpsi_hi,Jpsi_hi,Phi_hi,
530 list_4mu_jpsi1mass = [Upsimass, Upsimass, Upsimass, Upsimass,
531 Psi2Smass, Psi2Smass, Psi2Smass,
532 Jpsimass, Jpsimass, Phimass,
534 list_4mu_jpsi2lo = [Upsi_lo,Psi_lo,Jpsi_lo,Phi_lo,
535 Psi_lo,Jpsi_lo,Phi_lo,
536 Jpsi_lo,Phi_lo,Phi_lo,
538 list_4mu_jpsi2hi = [Upsi_hi,Psi_hi,Jpsi_hi,Phi_hi,
539 Psi_hi,Jpsi_hi,Phi_hi,
540 Jpsi_hi,Phi_hi,Phi_hi,
542 list_4mu_jpsi2mass = [Upsimass, Psi2Smass, Jpsimass, Phimass,
543 Psi2Smass, Jpsimass, Phimass,
544 Jpsimass, Phimass, Phimass]
547 for hypo
in list_4mu_hypo:
548 list_4mu_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY13_"+hypo) )
550 for i
in range(len(list_4mu_obj)):
551 list_4mu_obj[i].HypothesisName = list_4mu_hypo[i]
552 list_4mu_obj[i].Psi1Vertices = list_4mu_psi1Input[i]
553 list_4mu_obj[i].Psi2Vertices = list_4mu_psi2Input[i]
554 list_4mu_obj[i].NumberOfPsi1Daughters = 2
555 list_4mu_obj[i].NumberOfPsi2Daughters = 2
556 list_4mu_obj[i].Jpsi1MassLowerCut = list_4mu_jpsi1lo[i]
557 list_4mu_obj[i].Jpsi1MassUpperCut = list_4mu_jpsi1hi[i]
558 list_4mu_obj[i].Jpsi2MassLowerCut = list_4mu_jpsi2lo[i]
559 list_4mu_obj[i].Jpsi2MassUpperCut = list_4mu_jpsi2hi[i]
560 list_4mu_obj[i].MassLowerCut = 0.
561 list_4mu_obj[i].MassUpperCut = 31000.
562 list_4mu_obj[i].Jpsi1Mass = list_4mu_jpsi1mass[i]
563 list_4mu_obj[i].ApplyJpsi1MassConstraint =
True
564 if i == len(list_4mu_obj)-1:
565 list_4mu_obj[i].ApplyJpsi2MassConstraint =
False
567 list_4mu_obj[i].Jpsi2Mass = list_4mu_jpsi2mass[i]
568 list_4mu_obj[i].ApplyJpsi2MassConstraint =
True
569 list_4mu_obj[i].Chi2Cut = 25.
571 list_4mu_obj[i].TrkVertexFitterTool = vkalvrt
572 list_4mu_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
573 list_4mu_obj[i].OutputVertexCollections = [
"BPHY13_"+list_4mu_hypo[i]+
"_SubVtx1",
"BPHY13_"+list_4mu_hypo[i]+
"_SubVtx2",
"BPHY13_"+list_4mu_hypo[i]+
"_MainVtx"]
574 list_4mu_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
575 list_4mu_obj[i].RefPVContainerName =
"BPHY13_"+list_4mu_hypo[i]+
"_RefPrimaryVertices"
576 list_4mu_obj[i].RefitPV =
True
577 list_4mu_obj[i].MaxnPV = 100
580 list_3mu1trk_hypo = [
"UpsiUpsi_3mu1trk",
"UpsiPsi_3mu1trk",
"UpsiJpsi_3mu1trk",
"UpsiPhi_3mu1trk",
581 "PsiPsi_3mu1trk",
"PsiJpsi_3mu1trk",
"PsiPhi_3mu1trk",
582 "JpsiJpsi_3mu1trk",
"JpsiPhi_3mu1trk",
"PhiPhi_3mu1trk",
583 "PsiUpsi_3mu1trk",
"JpsiUpsi_3mu1trk",
"PhiUpsi_3mu1trk",
584 "JpsiPsi_3mu1trk",
"PhiPsi_3mu1trk",
"PhiJpsi_3mu1trk",
585 "UpsiDimu_3mu1trk",
"DimuUpsi_3mu1trk"]
586 list_3mu1trk_psi1Input = [
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
"BPHY13Upsimumu_revtx",
587 "BPHY13Psimumu_revtx",
"BPHY13Psimumu_revtx",
"BPHY13Psimumu_revtx",
588 "BPHY13Jpsimumu_revtx",
"BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
589 "BPHY13Psimumu_revtx",
"BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
590 "BPHY13Jpsimumu_revtx",
"BPHY13Phimumu_revtx",
"BPHY13Phimumu_revtx",
591 "BPHY13Upsimumu_revtx",
"BPHY13Dimumumu"]
592 list_3mu1trk_psi2Input = [
"BPHY13Upsimutrk_revtx",
"BPHY13Psimutrk_revtx",
"BPHY13Jpsimutrk_revtx",
"BPHY13Phimutrk_revtx",
593 "BPHY13Psimutrk_revtx",
"BPHY13Jpsimutrk_revtx",
"BPHY13Phimutrk_revtx",
594 "BPHY13Jpsimutrk_revtx",
"BPHY13Phimutrk_revtx",
"BPHY13Phimutrk_revtx",
595 "BPHY13Upsimutrk_revtx",
"BPHY13Upsimutrk_revtx",
"BPHY13Upsimutrk_revtx",
596 "BPHY13Psimutrk_revtx",
"BPHY13Psimutrk_revtx",
"BPHY13Jpsimutrk_revtx",
597 "BPHY13Dimumutrk",
"BPHY13Upsimutrk_revtx"]
598 list_3mu1trk_jpsi1lo = [Upsi_lo,Upsi_lo,Upsi_lo,Upsi_lo,
599 Psi_lo,Psi_lo,Psi_lo,
600 Jpsi_lo,Jpsi_lo,Phi_lo,
601 Psi_lo,Jpsi_lo,Phi_lo,
602 Jpsi_lo,Phi_lo,Phi_lo,
604 list_3mu1trk_jpsi1hi = [Upsi_hi,Upsi_hi,Upsi_hi,Upsi_hi,
605 Psi_hi,Psi_hi,Psi_hi,
606 Jpsi_hi,Jpsi_hi,Phi_hi,
607 Psi_hi,Jpsi_hi,Phi_hi,
608 Jpsi_hi,Phi_hi,Phi_hi,
610 list_3mu1trk_jpsi1mass = [Upsimass, Upsimass, Upsimass, Upsimass,
611 Psi2Smass, Psi2Smass, Psi2Smass,
612 Jpsimass, Jpsimass, Phimass,
613 Psi2Smass, Jpsimass, Phimass,
614 Jpsimass, Phimass, Phimass,
616 list_3mu1trk_jpsi2lo = [Upsi_lo,Psi_lo,Jpsi_lo,Phi_lo,
617 Psi_lo,Jpsi_lo,Phi_lo,
618 Jpsi_lo,Phi_lo,Phi_lo,
619 Upsi_lo,Upsi_lo,Upsi_lo,
620 Psi_lo,Psi_lo,Jpsi_lo,
622 list_3mu1trk_jpsi2hi = [Upsi_hi,Psi_hi,Jpsi_hi,Phi_hi,
623 Psi_hi,Jpsi_hi,Phi_hi,
624 Jpsi_hi,Phi_hi,Phi_hi,
625 Upsi_hi,Upsi_hi,Upsi_hi,
626 Psi_hi,Psi_hi,Jpsi_hi,
628 list_3mu1trk_jpsi2mass = [Upsimass, Psi2Smass, Jpsimass, Phimass,
629 Psi2Smass, Jpsimass, Phimass,
630 Jpsimass, Phimass, Phimass,
631 Upsimass, Upsimass, Upsimass,
632 Psi2Smass, Psi2Smass, Jpsimass,
635 list_3mu1trk_obj = []
636 for hypo
in list_3mu1trk_hypo:
637 list_3mu1trk_obj.append( CompFactory.DerivationFramework.PsiPlusPsiSingleVertex(
"BPHY13_"+hypo) )
639 for i
in range(len(list_3mu1trk_obj)):
640 list_3mu1trk_obj[i].HypothesisName = list_3mu1trk_hypo[i]
641 list_3mu1trk_obj[i].Psi1Vertices = list_3mu1trk_psi1Input[i]
642 list_3mu1trk_obj[i].Psi2Vertices = list_3mu1trk_psi2Input[i]
643 list_3mu1trk_obj[i].NumberOfPsi1Daughters = 2
644 list_3mu1trk_obj[i].NumberOfPsi2Daughters = 2
645 list_3mu1trk_obj[i].MaxCandidates = 20
646 list_3mu1trk_obj[i].Jpsi1MassLowerCut = list_3mu1trk_jpsi1lo[i]
647 list_3mu1trk_obj[i].Jpsi1MassUpperCut = list_3mu1trk_jpsi1hi[i]
648 list_3mu1trk_obj[i].Jpsi2MassLowerCut = list_3mu1trk_jpsi2lo[i]
649 list_3mu1trk_obj[i].Jpsi2MassUpperCut = list_3mu1trk_jpsi2hi[i]
650 list_3mu1trk_obj[i].MassLowerCut = 0.
651 list_3mu1trk_obj[i].MassUpperCut = 31000.
652 if i == len(list_3mu1trk_obj)-2:
653 list_3mu1trk_obj[i].Jpsi1Mass = list_3mu1trk_jpsi1mass[i]
654 list_3mu1trk_obj[i].ApplyJpsi1MassConstraint =
True
655 list_3mu1trk_obj[i].ApplyJpsi2MassConstraint =
False
656 elif i == len(list_3mu1trk_obj)-1:
657 list_3mu1trk_obj[i].Jpsi2Mass = list_3mu1trk_jpsi2mass[i]
658 list_3mu1trk_obj[i].ApplyJpsi1MassConstraint =
False
659 list_3mu1trk_obj[i].ApplyJpsi2MassConstraint =
True
661 list_3mu1trk_obj[i].Jpsi1Mass = list_3mu1trk_jpsi1mass[i]
662 list_3mu1trk_obj[i].Jpsi2Mass = list_3mu1trk_jpsi2mass[i]
663 list_3mu1trk_obj[i].ApplyJpsi1MassConstraint =
True
664 list_3mu1trk_obj[i].ApplyJpsi2MassConstraint =
True
665 list_3mu1trk_obj[i].Chi2Cut = 25.
667 list_3mu1trk_obj[i].TrkVertexFitterTool = vkalvrt
668 list_3mu1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
669 list_3mu1trk_obj[i].OutputVertexCollections = [
"BPHY13_"+list_3mu1trk_hypo[i]+
"_SubVtx1",
"BPHY13_"+list_3mu1trk_hypo[i]+
"_SubVtx2",
"BPHY13_"+list_3mu1trk_hypo[i]+
"_MainVtx"]
670 list_3mu1trk_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
671 list_3mu1trk_obj[i].RefPVContainerName =
"BPHY13_"+list_3mu1trk_hypo[i]+
"_RefPrimaryVertices"
672 list_3mu1trk_obj[i].RefitPV =
True
673 list_3mu1trk_obj[i].MaxnPV = 100
676 list_all_obj = list_4mu_obj + list_3mu1trk_obj
678 OutputCollections = []
680 RefPVAuxContainers = []
681 passedCandidates = []
683 for obj
in list_all_obj:
684 OutputCollections += obj.OutputVertexCollections
685 RefPVContainers += [
"xAOD::VertexContainer#BPHY13_" + obj.HypothesisName +
"_RefPrimaryVertices"]
686 RefPVAuxContainers += [
"xAOD::VertexAuxContainer#BPHY13_" + obj.HypothesisName +
"_RefPrimaryVerticesAux."]
687 passedCandidates += [
"BPHY13_" + obj.HypothesisName +
"_MainVtx" ]
689 BPHY13_SelectEvent = CompFactory.DerivationFramework.AnyVertexSkimmingTool(name =
"BPHY13_SelectEvent", VertexContainerNames = passedCandidates)
690 acc.addPublicTool(BPHY13_SelectEvent)
692 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
693 for t
in augmentation_tools : acc.addPublicTool(t)
695 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
697 AugmentationTools = augmentation_tools,
698 SkimmingTools = [BPHY13_SelectEvent]
701 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
702 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
703 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
704 BPHY13SlimmingHelper =
SlimmingHelper(
"BPHY13SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
705 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import getDefaultAllVariables
707 BPHY13_StaticContent = []
710 BPHY13SlimmingHelper.IncludeMuonTriggerContent =
True
711 BPHY13SlimmingHelper.IncludeBPhysTriggerContent =
True
714 BPHY13_AllVariables += [
"PrimaryVertices"]
715 BPHY13_StaticContent += RefPVContainers
716 BPHY13_StaticContent += RefPVAuxContainers
719 BPHY13_AllVariables += [
"InDetTrackParticles"]
724 BPHY13_AllVariables += [
"CombinedMuonTrackParticles",
"ExtrapolatedMuonTrackParticles"]
727 BPHY13_AllVariables += [
"Muons",
"MuonSegments"]
730 for output
in OutputCollections:
731 BPHY13_StaticContent += [
"xAOD::VertexContainer#%s" % output]
732 BPHY13_StaticContent += [
"xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % output]
736 BPHY13_AllVariables += [
"TruthEvents",
"TruthParticles",
"TruthVertices",
"MuonTruthParticles"]
738 BPHY13SlimmingHelper.SmartCollections = [
"Muons",
"PrimaryVertices",
"InDetTrackParticles"]
739 BPHY13SlimmingHelper.AllVariables = BPHY13_AllVariables
740 BPHY13SlimmingHelper.StaticContent = BPHY13_StaticContent
742 BPHY13ItemList = BPHY13SlimmingHelper.GetItemList()
743 acc.merge(
OutputStreamCfg(flags,
"DAOD_BPHY13", ItemList=BPHY13ItemList, AcceptAlgs=[
"BPHY13Kernel"]))
744 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_BPHY13", AcceptAlgs=[
"BPHY13Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
745 acc.printConfig(withDetails=
True, summariseProps=
True, onlyComponents = [], printDefaults=
True, printComponentsOnly=
False)