15 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import (BPHY_V0ToolCfg, BPHY_InDetDetailedTrackSelectorToolCfg, BPHY_VertexPointEstimatorCfg, BPHY_TrkVKalVrtFitterCfg)
16 from JpsiUpsilonTools.JpsiUpsilonToolsConfig
import PrimaryVertexRefittingToolCfg
18 isSimulation = flags.Input.isMC
22 BPHY25_AugOriginalCounts = CompFactory.DerivationFramework.AugOriginalCounts(
23 name =
"BPHY25_AugOriginalCounts",
24 VertexContainer =
"PrimaryVertices",
25 TrackContainer =
"InDetTrackParticles",
26 TrackLRTContainer =
"InDetLargeD0TrackParticles" if doLRT
else "" )
27 acc.addPublicTool(BPHY25_AugOriginalCounts)
29 mainIDInput =
"InDetWithLRTTrackParticles" if doLRT
else "InDetTrackParticles"
31 from DerivationFrameworkInDet.InDetToolsConfig
import InDetLRTMergeCfg
33 OutputTrackParticleLocation = mainIDInput ))
35 TrkToRelink = [
"InDetTrackParticles",
"InDetLargeD0TrackParticles"]
if doLRT
else [
"InDetTrackParticles"]
37 V0Tools = acc.popToolsAndMerge(
BPHY_V0ToolCfg(flags, BPHYDerivationName))
39 acc.addPublicTool(vkalvrt)
40 acc.addPublicTool(V0Tools)
42 acc.addPublicTool(trackselect)
44 acc.addPublicTool(vpest)
46 acc.addPublicTool(pvrefitter)
47 from TrkConfig.TrkV0FitterConfig
import TrkV0VertexFitter_InDetExtrCfg
49 acc.addPublicTool(v0fitter)
50 from TrackToVertex.TrackToVertexConfig
import InDetTrackToVertexCfg
52 acc.addPublicTool(tracktovtxtool)
53 from TrkConfig.TrkVKalVrtFitterConfig
import V0VKalVrtFitterCfg
55 flags, BPHYDerivationName+
"_GammaFitter",
59 InputParticleMasses = [0.511,0.511] ))
60 acc.addPublicTool(gammafitter)
61 from InDetConfig.InDetTrackSelectorToolConfig
import V0InDetConversionTrackSelectorToolCfg
63 acc.addPublicTool(v0trackselect)
64 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
66 acc.addPublicTool(extrapolator)
108 Protonmass = 938.2721
114 Dstarpmmass = 2010.26
119 Lambdamass = 1115.683
120 Lambdab0mass = 5619.60
125 Sigmabpmass = 5810.56
126 Sigmabmmass = 5815.64
128 BPHY25JpsiFinder = CompFactory.Analysis.JpsiFinder(
129 name =
"BPHY25JpsiFinder",
132 TrackAndTrack =
False,
133 assumeDiMuons =
True,
134 trackThresholdPt = 3800.,
135 invMassLower = Jpsi_lo,
136 invMassUpper = Psi_hi,
138 oppChargesOnly =
True,
139 atLeastOneComb =
True,
140 useCombinedMeasurement =
False,
141 muonCollectionKey =
"Muons",
142 TrackParticleCollection =
"InDetTrackParticles",
143 V0VertexFitterTool =
None,
145 TrkVertexFitterTool = vkalvrt,
146 TrackSelectorTool = trackselect,
147 VertexPointEstimator = vpest,
149 acc.addPublicTool(BPHY25JpsiFinder)
151 BPHY25_Reco_mumu = CompFactory.DerivationFramework.Reco_Vertex(
152 name =
"BPHY25_Reco_mumu",
153 VertexSearchTool = BPHY25JpsiFinder,
154 OutputVtxContainerName =
"BPHY25OniaCandidates",
155 PVContainerName =
"PrimaryVertices",
156 RelinkTracks = TrkToRelink,
158 PVRefitter = pvrefitter,
163 BPHY25Bpm_Jpsi1Trk = CompFactory.Analysis.JpsiPlus1Track(
164 name =
"BPHY25Bpm_Jpsi1Trk",
165 pionHypothesis =
False,
166 kaonHypothesis =
True,
167 trkThresholdPt = 950.,
169 JpsiMassLower = Jpsi_lo,
170 JpsiMassUpper = Jpsi_hi,
171 TrkTrippletMassLower = B_lo,
172 TrkTrippletMassUpper = B_hi,
174 JpsiContainerKey =
"BPHY25OniaCandidates",
175 TrackParticleCollection =
"InDetTrackParticles",
176 MuonsUsedInJpsi =
"Muons",
177 ExcludeJpsiMuonsOnly =
True,
178 TrkVertexFitterTool = vkalvrt,
179 TrackSelectorTool = trackselect,
180 UseMassConstraint =
False)
181 acc.addPublicTool(BPHY25Bpm_Jpsi1Trk)
184 BPHY25Bs0_Jpsi2Trk = CompFactory.Analysis.JpsiPlus2Tracks(
185 name =
"BPHY25Bs0_Jpsi2Trk",
186 kaonkaonHypothesis =
True,
187 pionpionHypothesis =
False,
188 kaonpionHypothesis =
False,
189 kaonprotonHypothesis =
False,
190 trkThresholdPt = 760.,
192 oppChargesOnly =
False,
193 JpsiMassLower = Jpsi_lo,
194 JpsiMassUpper = Jpsi_hi,
195 TrkQuadrupletMassLower = Bs0_lo,
196 TrkQuadrupletMassUpper = Bs0_hi,
198 JpsiContainerKey =
"BPHY25OniaCandidates",
199 TrackParticleCollection =
"InDetTrackParticles",
200 MuonsUsedInJpsi =
"Muons",
201 ExcludeJpsiMuonsOnly =
True,
202 TrkVertexFitterTool = vkalvrt,
203 TrackSelectorTool = trackselect,
204 UseMassConstraint =
False)
205 acc.addPublicTool(BPHY25Bs0_Jpsi2Trk)
208 BPHY25B0_Jpsi2Trk = CompFactory.Analysis.JpsiPlus2Tracks(
209 name =
"BPHY25B0_Jpsi2Trk",
210 kaonkaonHypothesis =
False,
211 pionpionHypothesis =
False,
212 kaonpionHypothesis =
True,
213 kaonprotonHypothesis =
False,
214 trkThresholdPt = 760.,
216 oppChargesOnly =
False,
217 JpsiMassLower = Jpsi_lo,
218 JpsiMassUpper = Jpsi_hi,
219 TrkQuadrupletMassLower = B_lo,
220 TrkQuadrupletMassUpper = B_hi,
222 JpsiContainerKey =
"BPHY25OniaCandidates",
223 TrackParticleCollection =
"InDetTrackParticles",
224 MuonsUsedInJpsi =
"Muons",
225 ExcludeJpsiMuonsOnly =
True,
226 TrkVertexFitterTool = vkalvrt,
227 TrackSelectorTool = trackselect,
228 UseMassConstraint =
False)
229 acc.addPublicTool(BPHY25B0_Jpsi2Trk)
231 BPHY25ThreeTrackReco_Bpm = CompFactory.DerivationFramework.Reco_Vertex(
232 name =
"BPHY25ThreeTrackReco_Bpm",
233 VertexSearchTool = BPHY25Bpm_Jpsi1Trk,
234 OutputVtxContainerName =
"BPHY25ThreeTrack_Bpm",
235 PVContainerName =
"PrimaryVertices",
236 RelinkTracks = TrkToRelink,
238 PVRefitter = pvrefitter,
242 BPHY25FourTrackReco_Bs0 = CompFactory.DerivationFramework.Reco_Vertex(
243 name =
"BPHY25FourTrackReco_Bs0",
244 VertexSearchTool = BPHY25Bs0_Jpsi2Trk,
245 OutputVtxContainerName =
"BPHY25FourTrack_Bs0",
246 PVContainerName =
"PrimaryVertices",
247 RelinkTracks = TrkToRelink,
249 PVRefitter = pvrefitter,
253 BPHY25FourTrackReco_B0 = CompFactory.DerivationFramework.Reco_Vertex(
254 name =
"BPHY25FourTrackReco_B0",
255 VertexSearchTool = BPHY25B0_Jpsi2Trk,
256 OutputVtxContainerName =
"BPHY25FourTrack_B0",
257 PVContainerName =
"PrimaryVertices",
258 RelinkTracks = TrkToRelink,
260 PVRefitter = pvrefitter,
264 BPHY25Select_Jpsi = CompFactory.DerivationFramework.Select_onia2mumu(
265 name =
"BPHY25Select_Jpsi",
266 HypothesisName =
"Jpsi",
267 InputVtxContainerName =
"BPHY25OniaCandidates",
269 TrkMasses = [Mumass, Mumass],
274 BPHY25Select_Psi = CompFactory.DerivationFramework.Select_onia2mumu(
275 name =
"BPHY25Select_Psi",
276 HypothesisName =
"Psi",
277 InputVtxContainerName =
"BPHY25OniaCandidates",
279 TrkMasses = [Mumass, Mumass],
291 list_disV_hypo = [
"JpsiXi",
"PsiXi",
"JpsiOmg",
"PsiOmg"]
292 list_disV_jxHypo = [
"Jpsi",
"Psi",
"Jpsi",
"Psi"]
293 list_disV_disVLo = [Xi_lo, Xi_lo, Omg_lo, Omg_lo]
294 list_disV_disVHi = [Xi_hi, Xi_hi, Omg_hi, Omg_hi]
295 list_disV_disVDau3Mass = [Pimass, Pimass, Kmass, Kmass]
296 list_disV_jxMass = [Jpsimass, Psi2Smass, Jpsimass, Psi2Smass]
297 list_disV_disVMass = [Ximass, Ximass, Omegamass, Omegamass]
300 for hypo
in list_disV_hypo:
301 list_disV_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
303 for i
in range(len(list_disV_obj)):
304 list_disV_obj[i].JXVertices =
"BPHY25OniaCandidates"
305 list_disV_obj[i].JXVtxHypoNames = [list_disV_jxHypo[i]]
306 list_disV_obj[i].TrackParticleCollection = mainIDInput
307 list_disV_obj[i].RelinkTracks = TrkToRelink
310 list_disV_obj[i].OutoutV0VtxCollection =
"V0Collection"
312 list_disV_obj[i].V0Vertices =
"V0Collection"
313 list_disV_obj[i].V0MassLowerCut = Ld_lo
314 list_disV_obj[i].V0MassUpperCut = Ld_hi
315 list_disV_obj[i].DisplacedMassLowerCut = list_disV_disVLo[i]
316 list_disV_obj[i].DisplacedMassUpperCut = list_disV_disVHi[i]
317 list_disV_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_disV_hypo[i]+
"_CascadeVtx1_sub",
"BPHY25_"+list_disV_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_disV_hypo[i]+
"_CascadeMainVtx"]
318 list_disV_obj[i].HasJXSubVertex =
False
319 list_disV_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
320 list_disV_obj[i].V0Hypothesis =
"Lambda"
321 list_disV_obj[i].MassCutGamma = 10.
322 list_disV_obj[i].Chi2CutGamma = 3.
323 list_disV_obj[i].LxyV0Cut = 10.
324 list_disV_obj[i].LxyDisVtxCut = 10.
325 list_disV_obj[i].HypothesisName = list_disV_hypo[i]
326 list_disV_obj[i].NumberOfJXDaughters = 2
327 list_disV_obj[i].JXDaug1MassHypo = Mumass
328 list_disV_obj[i].JXDaug2MassHypo = Mumass
329 list_disV_obj[i].NumberOfDisVDaughters = 3
330 list_disV_obj[i].DisVDaug3MassHypo = list_disV_disVDau3Mass[i]
331 list_disV_obj[i].DisVDaug3MinPt = 850.
332 list_disV_obj[i].JpsiMass = list_disV_jxMass[i]
333 list_disV_obj[i].V0Mass = Lambdamass
334 list_disV_obj[i].DisVtxMass = list_disV_disVMass[i]
335 list_disV_obj[i].ApplyJpsiMassConstraint =
True
336 list_disV_obj[i].ApplyV0MassConstraint =
True
337 list_disV_obj[i].ApplyDisVMassConstraint =
True
338 list_disV_obj[i].Chi2CutV0 = 5.
339 list_disV_obj[i].Chi2CutDisV = 5.
340 list_disV_obj[i].Chi2Cut = 5.
341 list_disV_obj[i].Trackd0Cut = 2.5
342 list_disV_obj[i].MaxJXCandidates = 10
343 list_disV_obj[i].MaxV0Candidates = 20
344 list_disV_obj[i].MaxDisVCandidates = 30
345 list_disV_obj[i].MaxMainVCandidates = 30
346 list_disV_obj[i].RefitPV =
True
347 list_disV_obj[i].MaxnPV = 50
348 list_disV_obj[i].RefPVContainerName =
"BPHY25_"+list_disV_hypo[i]+
"_RefPrimaryVertices"
349 list_disV_obj[i].TrkVertexFitterTool = vkalvrt
350 list_disV_obj[i].V0VertexFitterTool = v0fitter
351 list_disV_obj[i].GammaFitterTool = gammafitter
352 list_disV_obj[i].PVRefitter = pvrefitter
353 list_disV_obj[i].V0Tools = V0Tools
354 list_disV_obj[i].TrackToVertexTool = tracktovtxtool
355 list_disV_obj[i].V0TrackSelectorTool = v0trackselect
356 list_disV_obj[i].TrackSelectorTool = trackselect
357 list_disV_obj[i].Extrapolator = extrapolator
363 list_trkLd_hypo = [
"BpmLd",
"Bs2KLd",
"B0KpiLd",
"B0piKLd"]
364 list_trkLd_jxInput = [
"BPHY25ThreeTrack_Bpm",
"BPHY25FourTrack_Bs0",
"BPHY25FourTrack_B0",
"BPHY25FourTrack_B0"]
365 list_trkLd_jxMass = [Bpmmass, Bs0mass, B0mass, B0mass]
366 list_trkLd_jxDau3Mass = [Kmass, Kmass, Kmass, Pimass]
367 list_trkLd_jxDau4Mass = [0, Kmass, Pimass, Kmass]
368 list_trkLd_jxMassLo = [B_lo, Bs0_lo, B_lo, B_lo]
369 list_trkLd_jxMassHi = [B_hi, Bs0_hi, B_hi, B_hi]
372 for hypo
in list_trkLd_hypo:
373 list_trkLd_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
375 for i
in range(len(list_trkLd_obj)):
376 list_trkLd_obj[i].JXVertices = list_trkLd_jxInput[i]
377 list_trkLd_obj[i].TrackParticleCollection = mainIDInput
378 list_trkLd_obj[i].RelinkTracks = TrkToRelink
379 list_trkLd_obj[i].V0Vertices =
"V0Collection"
380 list_trkLd_obj[i].V0MassLowerCut = Ld_lo
381 list_trkLd_obj[i].V0MassUpperCut = Ld_hi
382 list_trkLd_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_trkLd_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_trkLd_hypo[i]+
"_CascadeVtx2",
"BPHY25_"+list_trkLd_hypo[i]+
"_CascadeMainVtx"]
383 list_trkLd_obj[i].HasJXSubVertex =
True
384 list_trkLd_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
385 list_trkLd_obj[i].V0Hypothesis =
"Lambda"
386 list_trkLd_obj[i].MassCutGamma = 10.
387 list_trkLd_obj[i].Chi2CutGamma = 3.
388 list_trkLd_obj[i].LxyV0Cut = 20.
389 list_trkLd_obj[i].HypothesisName = list_trkLd_hypo[i]
391 list_trkLd_obj[i].NumberOfJXDaughters = 3
393 list_trkLd_obj[i].NumberOfJXDaughters = 4
394 list_trkLd_obj[i].JXDaug4MassHypo = list_trkLd_jxDau4Mass[i]
395 list_trkLd_obj[i].JXDaug1MassHypo = Mumass
396 list_trkLd_obj[i].JXDaug2MassHypo = Mumass
397 list_trkLd_obj[i].JXDaug3MassHypo = list_trkLd_jxDau3Mass[i]
398 list_trkLd_obj[i].JXPtOrdering =
True
399 list_trkLd_obj[i].JXMassLowerCut = list_trkLd_jxMassLo[i]
400 list_trkLd_obj[i].JXMassUpperCut = list_trkLd_jxMassHi[i]
401 list_trkLd_obj[i].JpsiMassLowerCut = Jpsi_lo
402 list_trkLd_obj[i].JpsiMassUpperCut = Jpsi_hi
403 list_trkLd_obj[i].NumberOfDisVDaughters = 2
404 list_trkLd_obj[i].JXMass = list_trkLd_jxMass[i]
405 list_trkLd_obj[i].JpsiMass = Jpsimass
406 list_trkLd_obj[i].V0Mass = Lambdamass
407 list_trkLd_obj[i].ApplyJXMassConstraint =
True
408 list_trkLd_obj[i].ApplyJpsiMassConstraint =
True
409 list_trkLd_obj[i].ApplyV0MassConstraint =
True
410 list_trkLd_obj[i].Chi2CutV0 = 5.
411 list_trkLd_obj[i].Chi2Cut = 5.
412 list_trkLd_obj[i].Trackd0Cut = 2.5
413 list_trkLd_obj[i].MaxJXCandidates = 20
414 list_trkLd_obj[i].MaxV0Candidates = 20
415 list_trkLd_obj[i].MaxMainVCandidates = 30
416 list_trkLd_obj[i].RefitPV =
True
417 list_trkLd_obj[i].MaxnPV = 50
418 list_trkLd_obj[i].RefPVContainerName =
"BPHY25_"+list_trkLd_hypo[i]+
"_RefPrimaryVertices"
419 list_trkLd_obj[i].TrkVertexFitterTool = vkalvrt
420 list_trkLd_obj[i].V0VertexFitterTool = v0fitter
421 list_trkLd_obj[i].GammaFitterTool = gammafitter
422 list_trkLd_obj[i].PVRefitter = pvrefitter
423 list_trkLd_obj[i].V0Tools = V0Tools
424 list_trkLd_obj[i].TrackToVertexTool = tracktovtxtool
425 list_trkLd_obj[i].V0TrackSelectorTool = v0trackselect
426 list_trkLd_obj[i].TrackSelectorTool = trackselect
427 list_trkLd_obj[i].Extrapolator = extrapolator
434 list_jpsietac_hypo = [
"JpsiEtac_Kpi",
"JpsiEtac_piK"]
435 list_jpsietac_extraTrk1Mass = [Kmass, Pimass]
436 list_jpsietac_extraTrk2Mass = [Pimass, Kmass]
438 list_jpsietac_obj = []
439 for hypo
in list_jpsietac_hypo:
440 list_jpsietac_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
442 for i
in range(len(list_jpsietac_obj)):
443 list_jpsietac_obj[i].JXVertices =
"BPHY25OniaCandidates"
444 list_jpsietac_obj[i].JXVtxHypoNames = [
"Jpsi"]
445 list_jpsietac_obj[i].TrackParticleCollection = mainIDInput
446 list_jpsietac_obj[i].RelinkTracks = TrkToRelink
447 list_jpsietac_obj[i].V0Vertices =
"V0Collection"
448 list_jpsietac_obj[i].V0MassLowerCut = Ks_lo
449 list_jpsietac_obj[i].V0MassUpperCut = Ks_hi
450 list_jpsietac_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_jpsietac_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_jpsietac_hypo[i]+
"_CascadeMainVtx"]
451 list_jpsietac_obj[i].HasJXSubVertex =
False
452 list_jpsietac_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
453 list_jpsietac_obj[i].V0Hypothesis =
"Ks"
454 list_jpsietac_obj[i].MassCutGamma = 10.
455 list_jpsietac_obj[i].Chi2CutGamma = 3.
456 list_jpsietac_obj[i].LxyV0Cut = 20.
457 list_jpsietac_obj[i].HypothesisName = list_jpsietac_hypo[i]
458 list_jpsietac_obj[i].NumberOfJXDaughters = 2
459 list_jpsietac_obj[i].JXDaug1MassHypo = Mumass
460 list_jpsietac_obj[i].JXDaug2MassHypo = Mumass
461 list_jpsietac_obj[i].NumberOfDisVDaughters = 2
462 list_jpsietac_obj[i].ExtraTrack1MassHypo = list_jpsietac_extraTrk1Mass[i]
463 list_jpsietac_obj[i].ExtraTrack1MinPt = 1900.
464 list_jpsietac_obj[i].ExtraTrack2MassHypo = list_jpsietac_extraTrk2Mass[i]
465 list_jpsietac_obj[i].ExtraTrack2MinPt = 1230.
466 list_jpsietac_obj[i].V0ExtraMassLowerCut = etac_lo
467 list_jpsietac_obj[i].V0ExtraMassUpperCut = etac_hi
468 list_jpsietac_obj[i].MaxMesonCandidates = 20
469 list_jpsietac_obj[i].MesonPtOrdering =
True
470 list_jpsietac_obj[i].V0ExtraMass = etacmass
471 list_jpsietac_obj[i].JpsiMass = Jpsimass
472 list_jpsietac_obj[i].V0Mass = Ksmass
473 list_jpsietac_obj[i].ApplyJpsiMassConstraint =
True
474 list_jpsietac_obj[i].ApplyV0MassConstraint =
True
475 list_jpsietac_obj[i].ApplyV0ExtraMassConstraint =
True
476 list_jpsietac_obj[i].Chi2CutV0 = 4.
477 list_jpsietac_obj[i].Chi2CutV0Extra = 4.
478 list_jpsietac_obj[i].Chi2Cut = 4.
479 list_jpsietac_obj[i].Trackd0Cut = 2.5
480 list_jpsietac_obj[i].MaxJXCandidates = 10
481 list_jpsietac_obj[i].MaxV0Candidates = 20
482 list_jpsietac_obj[i].MaxMainVCandidates = 30
483 list_jpsietac_obj[i].RefitPV =
True
484 list_jpsietac_obj[i].MaxnPV = 50
485 list_jpsietac_obj[i].RefPVContainerName =
"BPHY25_"+list_jpsietac_hypo[i]+
"_RefPrimaryVertices"
486 list_jpsietac_obj[i].TrkVertexFitterTool = vkalvrt
487 list_jpsietac_obj[i].V0VertexFitterTool = v0fitter
488 list_jpsietac_obj[i].GammaFitterTool = gammafitter
489 list_jpsietac_obj[i].PVRefitter = pvrefitter
490 list_jpsietac_obj[i].V0Tools = V0Tools
491 list_jpsietac_obj[i].TrackToVertexTool = tracktovtxtool
492 list_jpsietac_obj[i].V0TrackSelectorTool = v0trackselect
493 list_jpsietac_obj[i].TrackSelectorTool = trackselect
494 list_jpsietac_obj[i].Extrapolator = extrapolator
501 list_3bodyA_hypo = [
"Bc_3body"]
502 list_3bodyA_extraTrk1Mass = [Kmass]
503 list_3bodyA_extraTrk2Mass = [Pimass]
504 list_3bodyA_extraTrk3Mass = [Pimass]
507 for hypo
in list_3bodyA_hypo:
508 list_3bodyA_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
510 for i
in range(len(list_3bodyA_obj)):
511 list_3bodyA_obj[i].JXVertices =
"BPHY25OniaCandidates"
512 list_3bodyA_obj[i].JXVtxHypoNames = [
"Jpsi"]
513 list_3bodyA_obj[i].TrackParticleCollection = mainIDInput
514 list_3bodyA_obj[i].RelinkTracks = TrkToRelink
515 list_3bodyA_obj[i].V0Vertices =
"V0Collection"
516 list_3bodyA_obj[i].V0MassLowerCut = Ks_lo
517 list_3bodyA_obj[i].V0MassUpperCut = Ks_hi
518 list_3bodyA_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_3bodyA_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_3bodyA_hypo[i]+
"_CascadeVtx2",
"BPHY25_"+list_3bodyA_hypo[i]+
"_CascadeMainVtx"]
519 list_3bodyA_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
520 list_3bodyA_obj[i].V0Hypothesis =
"Ks"
521 list_3bodyA_obj[i].MassCutGamma = 10.
522 list_3bodyA_obj[i].Chi2CutGamma = 3.
523 list_3bodyA_obj[i].LxyV0Cut = 20.
524 list_3bodyA_obj[i].HypothesisName = list_3bodyA_hypo[i]
525 list_3bodyA_obj[i].NumberOfJXDaughters = 2
526 list_3bodyA_obj[i].JXDaug1MassHypo = Mumass
527 list_3bodyA_obj[i].JXDaug2MassHypo = Mumass
528 list_3bodyA_obj[i].NumberOfDisVDaughters = 2
529 list_3bodyA_obj[i].ExtraTrack1MassHypo = list_3bodyA_extraTrk1Mass[i]
530 list_3bodyA_obj[i].ExtraTrack1MinPt = 2370.
531 list_3bodyA_obj[i].ExtraTrack2MassHypo = list_3bodyA_extraTrk2Mass[i]
532 list_3bodyA_obj[i].ExtraTrack2MinPt = 1610.
533 list_3bodyA_obj[i].ExtraTrack3MassHypo = list_3bodyA_extraTrk3Mass[i]
534 list_3bodyA_obj[i].ExtraTrack3MinPt = 1230.
535 list_3bodyA_obj[i].LxyDpmCut = 0.25
536 list_3bodyA_obj[i].LxyD0Cut = 0.15
537 list_3bodyA_obj[i].DpmMassLowerCut = Dpm_lo
538 list_3bodyA_obj[i].DpmMassUpperCut = Dpm_hi
539 list_3bodyA_obj[i].D0MassLowerCut = D0_lo
540 list_3bodyA_obj[i].D0MassUpperCut = D0_hi
541 list_3bodyA_obj[i].DstarpmMassLowerCut = Dstarpm_lo
542 list_3bodyA_obj[i].DstarpmMassUpperCut = Dstarpm_hi
543 list_3bodyA_obj[i].MaxMesonCandidates = 30
544 list_3bodyA_obj[i].MesonPtOrdering =
True
545 list_3bodyA_obj[i].MassLowerCut = Bc_lo
546 list_3bodyA_obj[i].MassUpperCut = Bc_hi
547 list_3bodyA_obj[i].DpmMass = Dpmmass
548 list_3bodyA_obj[i].D0Mass = D0mass
549 list_3bodyA_obj[i].DstarpmMass = Dstarpmmass
550 list_3bodyA_obj[i].JpsiMass = Jpsimass
551 list_3bodyA_obj[i].V0Mass = Ksmass
552 list_3bodyA_obj[i].MainVtxMass = Bcmass
553 list_3bodyA_obj[i].ApplyJpsiMassConstraint =
True
554 list_3bodyA_obj[i].ApplyV0MassConstraint =
True
555 list_3bodyA_obj[i].ApplyDpmMassConstraint =
True
556 list_3bodyA_obj[i].ApplyD0MassConstraint =
True
557 list_3bodyA_obj[i].ApplyDstarpmMassConstraint =
True
558 list_3bodyA_obj[i].ApplyMainVMassConstraint =
True
559 list_3bodyA_obj[i].Chi2CutV0 = 4.
560 list_3bodyA_obj[i].Chi2CutJXDpm = 3.
561 list_3bodyA_obj[i].Chi2CutJXDstarpm = 3.
562 list_3bodyA_obj[i].Chi2Cut = 4.
563 list_3bodyA_obj[i].Trackd0Cut = 2.5
564 list_3bodyA_obj[i].MaxJXCandidates = 10
565 list_3bodyA_obj[i].MaxV0Candidates = 20
566 list_3bodyA_obj[i].MaxMainVCandidates = 30
567 list_3bodyA_obj[i].RefitPV =
True
568 list_3bodyA_obj[i].MaxnPV = 50
569 list_3bodyA_obj[i].RefPVContainerName =
"BPHY25_"+list_3bodyA_hypo[i]+
"_RefPrimaryVertices"
570 list_3bodyA_obj[i].TrkVertexFitterTool = vkalvrt
571 list_3bodyA_obj[i].V0VertexFitterTool = v0fitter
572 list_3bodyA_obj[i].GammaFitterTool = gammafitter
573 list_3bodyA_obj[i].PVRefitter = pvrefitter
574 list_3bodyA_obj[i].V0Tools = V0Tools
575 list_3bodyA_obj[i].TrackToVertexTool = tracktovtxtool
576 list_3bodyA_obj[i].V0TrackSelectorTool = v0trackselect
577 list_3bodyA_obj[i].TrackSelectorTool = trackselect
578 list_3bodyA_obj[i].Extrapolator = extrapolator
587 list_3bodyB_hypo = [
"Bpm_3body",
"Xib_3body",
"Sigmabp_3body",
"Sigmabm_3body"]
588 list_3bodyB_extraTrkMass = [Protonmass, Kmass, Pimass, Pimass]
589 list_3bodyB_mainVtxMass = [Bpmmass, Xibmass, Sigmabpmass, Sigmabmmass]
590 list_3bodyB_massLo = [B_lo, Xib_lo, Sigmabp_lo, Sigmabm_lo]
591 list_3bodyB_massHi = [B_hi, Xib_hi, Sigmabp_hi, Sigmabm_hi]
594 for hypo
in list_3bodyB_hypo:
595 list_3bodyB_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
597 for i
in range(len(list_3bodyB_obj)):
598 list_3bodyB_obj[i].JXVertices =
"BPHY25OniaCandidates"
599 list_3bodyB_obj[i].JXVtxHypoNames = [
"Jpsi"]
600 list_3bodyB_obj[i].TrackParticleCollection = mainIDInput
601 list_3bodyB_obj[i].RelinkTracks = TrkToRelink
602 list_3bodyB_obj[i].V0Vertices =
"V0Collection"
603 list_3bodyB_obj[i].V0MassLowerCut = Ld_lo
604 list_3bodyB_obj[i].V0MassUpperCut = Ld_hi
605 list_3bodyB_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_3bodyB_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_3bodyB_hypo[i]+
"_CascadeMainVtx"]
606 list_3bodyB_obj[i].HasJXSubVertex =
False
607 list_3bodyB_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
608 list_3bodyB_obj[i].V0Hypothesis =
"Lambda"
609 list_3bodyB_obj[i].MassCutGamma = 10.
610 list_3bodyB_obj[i].Chi2CutGamma = 3.
611 list_3bodyB_obj[i].LxyV0Cut = 20.
612 list_3bodyB_obj[i].HypothesisName = list_3bodyB_hypo[i]
613 list_3bodyB_obj[i].NumberOfJXDaughters = 2
614 list_3bodyB_obj[i].JXDaug1MassHypo = Mumass
615 list_3bodyB_obj[i].JXDaug2MassHypo = Mumass
616 list_3bodyB_obj[i].NumberOfDisVDaughters = 2
617 list_3bodyB_obj[i].ExtraTrack1MassHypo = list_3bodyB_extraTrkMass[i]
618 list_3bodyB_obj[i].ExtraTrack1MinPt = 480.
619 list_3bodyB_obj[i].MassLowerCut = list_3bodyB_massLo[i]
620 list_3bodyB_obj[i].MassUpperCut = list_3bodyB_massHi[i]
621 list_3bodyB_obj[i].JpsiMass = Jpsimass
622 list_3bodyB_obj[i].V0Mass = Lambdamass
623 list_3bodyB_obj[i].MainVtxMass = list_3bodyB_mainVtxMass[i]
624 list_3bodyB_obj[i].ApplyJpsiMassConstraint =
True
625 list_3bodyB_obj[i].ApplyV0MassConstraint =
True
626 list_3bodyB_obj[i].ApplyMainVMassConstraint =
True
627 list_3bodyB_obj[i].Chi2CutV0 = 5.
628 list_3bodyB_obj[i].Chi2Cut = 5.
629 list_3bodyB_obj[i].Trackd0Cut = 2.5
630 list_3bodyB_obj[i].MaxJXCandidates = 10
631 list_3bodyB_obj[i].MaxV0Candidates = 20
632 list_3bodyB_obj[i].MaxMainVCandidates = 30
633 list_3bodyB_obj[i].RefitPV =
True
634 list_3bodyB_obj[i].MaxnPV = 50
635 list_3bodyB_obj[i].RefPVContainerName =
"BPHY25_"+list_3bodyB_hypo[i]+
"_RefPrimaryVertices"
636 list_3bodyB_obj[i].TrkVertexFitterTool = vkalvrt
637 list_3bodyB_obj[i].V0VertexFitterTool = v0fitter
638 list_3bodyB_obj[i].GammaFitterTool = gammafitter
639 list_3bodyB_obj[i].PVRefitter = pvrefitter
640 list_3bodyB_obj[i].V0Tools = V0Tools
641 list_3bodyB_obj[i].TrackToVertexTool = tracktovtxtool
642 list_3bodyB_obj[i].V0TrackSelectorTool = v0trackselect
643 list_3bodyB_obj[i].TrackSelectorTool = trackselect
644 list_3bodyB_obj[i].Extrapolator = extrapolator
651 list_3bodyC_hypo = [
"Xib0_3body",
"Lambdab0_3body"]
652 list_3bodyC_extraTrkMass = [Pimass, Kmass]
653 list_3bodyC_mainVtxMass = [Xib0mass, Lambdab0mass]
654 list_3bodyC_massLo = [Xib_lo, Ldb0_lo]
655 list_3bodyC_massHi = [Xib_hi, Ldb0_hi]
658 for hypo
in list_3bodyC_hypo:
659 list_3bodyC_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
661 for i
in range(len(list_3bodyC_obj)):
662 list_3bodyC_obj[i].JXVertices =
"BPHY25OniaCandidates"
663 list_3bodyC_obj[i].JXVtxHypoNames = [
"Jpsi"]
664 list_3bodyC_obj[i].TrackParticleCollection = mainIDInput
665 list_3bodyC_obj[i].RelinkTracks = TrkToRelink
666 list_3bodyC_obj[i].V0Vertices =
"V0Collection"
667 list_3bodyC_obj[i].V0MassLowerCut = Ld_lo
668 list_3bodyC_obj[i].V0MassUpperCut = Ld_hi
669 list_3bodyC_obj[i].DisplacedMassLowerCut = Xi_lo
670 list_3bodyC_obj[i].DisplacedMassUpperCut = Xi_hi
671 list_3bodyC_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_3bodyC_hypo[i]+
"_CascadeVtx1_sub",
"BPHY25_"+list_3bodyC_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_3bodyC_hypo[i]+
"_CascadeMainVtx"]
672 list_3bodyC_obj[i].HasJXSubVertex =
False
673 list_3bodyC_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
674 list_3bodyC_obj[i].V0Hypothesis =
"Lambda"
675 list_3bodyC_obj[i].MassCutGamma = 10.
676 list_3bodyC_obj[i].Chi2CutGamma = 3.
677 list_3bodyC_obj[i].LxyV0Cut = 10.
678 list_3bodyC_obj[i].LxyDisVtxCut = 10.
679 list_3bodyC_obj[i].HypothesisName = list_3bodyC_hypo[i]
680 list_3bodyC_obj[i].NumberOfJXDaughters = 2
681 list_3bodyC_obj[i].JXDaug1MassHypo = Mumass
682 list_3bodyC_obj[i].JXDaug2MassHypo = Mumass
683 list_3bodyC_obj[i].NumberOfDisVDaughters = 3
684 list_3bodyC_obj[i].DisVDaug3MassHypo = Pimass
685 list_3bodyC_obj[i].DisVDaug3MinPt = 850.
686 list_3bodyC_obj[i].ExtraTrack1MassHypo = list_3bodyC_extraTrkMass[i]
687 list_3bodyC_obj[i].ExtraTrack1MinPt = 480.
688 list_3bodyC_obj[i].MassLowerCut = list_3bodyC_massLo[i]
689 list_3bodyC_obj[i].MassUpperCut = list_3bodyC_massHi[i]
690 list_3bodyC_obj[i].JpsiMass = Jpsimass
691 list_3bodyC_obj[i].V0Mass = Lambdamass
692 list_3bodyC_obj[i].DisVtxMass = Ximass
693 list_3bodyC_obj[i].MainVtxMass = list_3bodyC_mainVtxMass[i]
694 list_3bodyC_obj[i].ApplyJpsiMassConstraint =
True
695 list_3bodyC_obj[i].ApplyV0MassConstraint =
True
696 list_3bodyC_obj[i].ApplyDisVMassConstraint =
True
697 list_3bodyC_obj[i].ApplyMainVMassConstraint =
True
698 list_3bodyC_obj[i].Chi2CutV0 = 5.
699 list_3bodyC_obj[i].Chi2CutDisV = 5.
700 list_3bodyC_obj[i].Chi2Cut = 5.
701 list_3bodyC_obj[i].Trackd0Cut = 2.5
702 list_3bodyC_obj[i].MaxJXCandidates = 10
703 list_3bodyC_obj[i].MaxV0Candidates = 20
704 list_3bodyC_obj[i].MaxDisVCandidates = 30
705 list_3bodyC_obj[i].MaxMainVCandidates = 30
706 list_3bodyC_obj[i].RefitPV =
True
707 list_3bodyC_obj[i].MaxnPV = 50
708 list_3bodyC_obj[i].RefPVContainerName =
"BPHY25_"+list_3bodyC_hypo[i]+
"_RefPrimaryVertices"
709 list_3bodyC_obj[i].TrkVertexFitterTool = vkalvrt
710 list_3bodyC_obj[i].V0VertexFitterTool = v0fitter
711 list_3bodyC_obj[i].GammaFitterTool = gammafitter
712 list_3bodyC_obj[i].PVRefitter = pvrefitter
713 list_3bodyC_obj[i].V0Tools = V0Tools
714 list_3bodyC_obj[i].TrackToVertexTool = tracktovtxtool
715 list_3bodyC_obj[i].V0TrackSelectorTool = v0trackselect
716 list_3bodyC_obj[i].TrackSelectorTool = trackselect
717 list_3bodyC_obj[i].Extrapolator = extrapolator
724 list_2V0_hypo = [
"Bs0_2V0",
"Xib0_2V0"]
725 list_2V0_v02hypo = [
"Lambda",
"Ks"]
726 list_2V0_v02mass = [Lambdamass, Ksmass]
727 list_2V0_v02MassLo = [Ld_lo, Ks_lo]
728 list_2V0_v02MassHi = [Ld_hi, Ks_hi]
729 list_2V0_mainVtxMass = [Bs0mass, Xib0mass]
730 list_2V0_massLo = [Bs0_lo, Xib_lo]
731 list_2V0_massHi = [Bs0_hi, Xib_hi]
734 for hypo
in list_2V0_hypo:
735 list_2V0_obj.append( CompFactory.DerivationFramework.JpsiXPlus2V0(
"BPHY25_"+hypo) )
737 for i
in range(len(list_2V0_obj)):
738 list_2V0_obj[i].JXVertices =
"BPHY25OniaCandidates"
739 list_2V0_obj[i].JXVtxHypoNames = [
"Jpsi"]
740 list_2V0_obj[i].TrackParticleCollection = mainIDInput
741 list_2V0_obj[i].RelinkTracks = TrkToRelink
742 list_2V0_obj[i].V0Vertices =
"V0Collection"
743 list_2V0_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_2V0_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_2V0_hypo[i]+
"_CascadeVtx2",
"BPHY25_"+list_2V0_hypo[i]+
"_CascadeMainVtx"]
744 list_2V0_obj[i].HasJXSubVertex =
False
745 list_2V0_obj[i].HasJXV02SubVertex =
False
746 list_2V0_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
747 list_2V0_obj[i].V01Hypothesis =
"Lambda"
748 list_2V0_obj[i].V01MassLowerCut = Ld_lo
749 list_2V0_obj[i].V01MassUpperCut = Ld_hi
750 list_2V0_obj[i].LxyV01Cut = 20.
751 list_2V0_obj[i].V02Hypothesis = list_2V0_v02hypo[i]
752 list_2V0_obj[i].V02MassLowerCut = list_2V0_v02MassLo[i]
753 list_2V0_obj[i].V02MassUpperCut = list_2V0_v02MassHi[i]
754 list_2V0_obj[i].LxyV02Cut = 20.
755 list_2V0_obj[i].MassCutGamma = 10.
756 list_2V0_obj[i].Chi2CutGamma = 3.
757 list_2V0_obj[i].HypothesisName = list_2V0_hypo[i]
758 list_2V0_obj[i].NumberOfJXDaughters = 2
759 list_2V0_obj[i].JXDaug1MassHypo = Mumass
760 list_2V0_obj[i].JXDaug2MassHypo = Mumass
761 list_2V0_obj[i].MassLowerCut = list_2V0_massLo[i]
762 list_2V0_obj[i].MassUpperCut = list_2V0_massHi[i]
763 list_2V0_obj[i].JpsiMass = Jpsimass
764 list_2V0_obj[i].V01Mass = Lambdamass
765 list_2V0_obj[i].V02Mass = list_2V0_v02mass[i]
766 list_2V0_obj[i].MainVtxMass = list_2V0_mainVtxMass[i]
767 list_2V0_obj[i].ApplyJpsiMassConstraint =
True
768 list_2V0_obj[i].ApplyV01MassConstraint =
True
769 list_2V0_obj[i].ApplyV02MassConstraint =
True
770 list_2V0_obj[i].ApplyMainVMassConstraint =
True
771 list_2V0_obj[i].Chi2CutV0 = 5.
772 list_2V0_obj[i].Chi2Cut = 5.
773 list_2V0_obj[i].Trackd0Cut = 2.5
774 list_2V0_obj[i].MaxJXCandidates = 10
775 list_2V0_obj[i].MaxV0Candidates = 20
776 list_2V0_obj[i].MaxMainVCandidates = 30
777 list_2V0_obj[i].RefitPV =
True
778 list_2V0_obj[i].MaxnPV = 50
779 list_2V0_obj[i].RefPVContainerName =
"BPHY25_"+list_2V0_hypo[i]+
"_RefPrimaryVertices"
780 list_2V0_obj[i].TrkVertexFitterTool = vkalvrt
781 list_2V0_obj[i].V0VertexFitterTool = v0fitter
782 list_2V0_obj[i].GammaFitterTool = gammafitter
783 list_2V0_obj[i].PVRefitter = pvrefitter
784 list_2V0_obj[i].V0Tools = V0Tools
785 list_2V0_obj[i].TrackToVertexTool = tracktovtxtool
786 list_2V0_obj[i].V0TrackSelectorTool = v0trackselect
787 list_2V0_obj[i].Extrapolator = extrapolator
793 list_2V0_obj.append( CompFactory.DerivationFramework.JpsiXPlus2V0(
"BPHY25_Xibc_2V0") )
794 idx = len(list_2V0_obj)-1
795 list_2V0_obj[idx].JXVertices =
"BPHY25OniaCandidates"
796 list_2V0_obj[idx].JXVtxHypoNames = [
"Jpsi"]
797 list_2V0_obj[idx].TrackParticleCollection = mainIDInput
798 list_2V0_obj[idx].RelinkTracks = TrkToRelink
799 list_2V0_obj[idx].V0Vertices =
"V0Collection"
800 list_2V0_obj[idx].CascadeVertexCollections = [
"BPHY25_Xibc_2V0_CascadeVtx1",
"BPHY25_Xibc_2V0_CascadeVtx2",
"BPHY25_Xibc_2V0_CascadeVtx3",
"BPHY25_Xibc_2V0_CascadeMainVtx"]
801 list_2V0_obj[idx].HasJXSubVertex =
True
802 list_2V0_obj[idx].HasJXV02SubVertex =
True
803 list_2V0_obj[idx].VxPrimaryCandidateName =
"PrimaryVertices"
804 list_2V0_obj[idx].V01Hypothesis =
"Ks"
805 list_2V0_obj[idx].V01MassLowerCut = Ks_lo
806 list_2V0_obj[idx].V01MassUpperCut = Ks_hi
807 list_2V0_obj[idx].LxyV01Cut = 20.
808 list_2V0_obj[idx].V02Hypothesis =
"Lambda"
809 list_2V0_obj[idx].V02MassLowerCut = Ld_lo
810 list_2V0_obj[idx].V02MassUpperCut = Ld_hi
811 list_2V0_obj[idx].LxyV02Cut = 20.
812 list_2V0_obj[idx].MassCutGamma = 10.
813 list_2V0_obj[idx].Chi2CutGamma = 3.
814 list_2V0_obj[idx].HypothesisName =
"Xibc_2V0"
815 list_2V0_obj[idx].NumberOfJXDaughters = 2
816 list_2V0_obj[idx].JXDaug1MassHypo = Mumass
817 list_2V0_obj[idx].JXDaug2MassHypo = Mumass
818 list_2V0_obj[idx].JXV02MassLowerCut = Ldb0_lo
819 list_2V0_obj[idx].JXV02MassUpperCut = Ldb0_hi
820 list_2V0_obj[idx].JpsiMass = Jpsimass
821 list_2V0_obj[idx].V01Mass = Ksmass
822 list_2V0_obj[idx].V02Mass = Lambdamass
823 list_2V0_obj[idx].JXV02VtxMass = Lambdab0mass
824 list_2V0_obj[idx].ApplyJpsiMassConstraint =
True
825 list_2V0_obj[idx].ApplyV01MassConstraint =
True
826 list_2V0_obj[idx].ApplyV02MassConstraint =
True
827 list_2V0_obj[idx].ApplyJXV02MassConstraint =
True
828 list_2V0_obj[idx].Chi2CutV0 = 5.
829 list_2V0_obj[idx].Chi2Cut = 5.
830 list_2V0_obj[idx].Trackd0Cut = 2.5
831 list_2V0_obj[idx].MaxJXCandidates = 10
832 list_2V0_obj[idx].MaxV0Candidates = 20
833 list_2V0_obj[idx].MaxMainVCandidates = 30
834 list_2V0_obj[idx].RefitPV =
True
835 list_2V0_obj[idx].MaxnPV = 50
836 list_2V0_obj[idx].RefPVContainerName =
"BPHY25_Xibc_2V0_RefPrimaryVertices"
837 list_2V0_obj[idx].TrkVertexFitterTool = vkalvrt
838 list_2V0_obj[idx].V0VertexFitterTool = v0fitter
839 list_2V0_obj[idx].GammaFitterTool = gammafitter
840 list_2V0_obj[idx].PVRefitter = pvrefitter
841 list_2V0_obj[idx].V0Tools = V0Tools
842 list_2V0_obj[idx].TrackToVertexTool = tracktovtxtool
843 list_2V0_obj[idx].V0TrackSelectorTool = v0trackselect
844 list_2V0_obj[idx].Extrapolator = extrapolator
846 CascadeCollections = []
848 RefPVAuxContainers = []
849 passedCandidates = []
851 list_obj = list_disV_obj + list_trkLd_obj + list_jpsietac_obj + list_3bodyA_obj + list_3bodyB_obj + list_3bodyC_obj + list_2V0_obj
854 CascadeCollections += obj.CascadeVertexCollections
855 RefPVContainers += [
"xAOD::VertexContainer#BPHY25_" + obj.HypothesisName +
"_RefPrimaryVertices"]
856 RefPVAuxContainers += [
"xAOD::VertexAuxContainer#BPHY25_" + obj.HypothesisName +
"_RefPrimaryVerticesAux."]
857 passedCandidates += [
"BPHY25_" + obj.HypothesisName +
"_CascadeMainVtx"]
859 BPHY25_SelectEvent = CompFactory.DerivationFramework.AnyVertexSkimmingTool(name =
"BPHY25_SelectEvent", VertexContainerNames = passedCandidates)
860 acc.addPublicTool(BPHY25_SelectEvent)
862 augmentation_tools = [BPHY25_AugOriginalCounts, BPHY25_Reco_mumu, BPHY25ThreeTrackReco_Bpm, BPHY25FourTrackReco_Bs0, BPHY25FourTrackReco_B0, BPHY25Select_Jpsi, BPHY25Select_Psi] + list_obj
863 for t
in augmentation_tools : acc.addPublicTool(t)
865 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
867 AugmentationTools = augmentation_tools,
868 SkimmingTools = [BPHY25_SelectEvent]
871 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
872 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
873 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
874 BPHY25SlimmingHelper =
SlimmingHelper(
"BPHY25SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
875 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import getDefaultAllVariables
877 BPHY25_StaticContent = []
880 BPHY25SlimmingHelper.IncludeMuonTriggerContent =
True
881 BPHY25SlimmingHelper.IncludeBPhysTriggerContent =
True
884 BPHY25_AllVariables += [
"PrimaryVertices"]
885 BPHY25_StaticContent += RefPVContainers
886 BPHY25_StaticContent += RefPVAuxContainers
889 BPHY25_AllVariables += [
"InDetTrackParticles",
"InDetLargeD0TrackParticles"]
894 BPHY25_AllVariables += [
"CombinedMuonTrackParticles",
"ExtrapolatedMuonTrackParticles"]
897 BPHY25_AllVariables += [
"Muons",
"MuonSegments"]
900 for cascade
in CascadeCollections:
901 BPHY25_StaticContent += [
"xAOD::VertexContainer#%s" % cascade]
902 BPHY25_StaticContent += [
"xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % cascade]
906 BPHY25_AllVariables += [
"TruthEvents",
"TruthParticles",
"TruthVertices",
"MuonTruthParticles"]
908 BPHY25SlimmingHelper.SmartCollections = [
"Muons",
"PrimaryVertices",
"InDetTrackParticles",
"InDetLargeD0TrackParticles"]
909 BPHY25SlimmingHelper.AllVariables = BPHY25_AllVariables
910 BPHY25SlimmingHelper.StaticContent = BPHY25_StaticContent
912 BPHY25ItemList = BPHY25SlimmingHelper.GetItemList()
913 acc.merge(
OutputStreamCfg(flags,
"DAOD_BPHY25", ItemList=BPHY25ItemList, AcceptAlgs=[
"BPHY25Kernel"]))
914 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_BPHY25", AcceptAlgs=[
"BPHY25Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
915 acc.printConfig(withDetails=
True, summariseProps=
True, onlyComponents = [], printDefaults=
True, printComponentsOnly=
False)