15 from AthenaServices.PartPropSvcConfig
import PartPropSvcCfg
16 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import (BPHY_V0ToolCfg, BPHY_InDetDetailedTrackSelectorToolCfg, BPHY_VertexPointEstimatorCfg, BPHY_TrkVKalVrtFitterCfg)
17 from JpsiUpsilonTools.JpsiUpsilonToolsConfig
import PrimaryVertexRefittingToolCfg
20 isSimulation = flags.Input.isMC
24 BPHY25_AugOriginalCounts = CompFactory.DerivationFramework.AugOriginalCounts(
25 name =
"BPHY25_AugOriginalCounts",
26 VertexContainer =
"PrimaryVertices",
27 TrackContainer =
"InDetTrackParticles",
28 TrackLRTContainer =
"InDetLargeD0TrackParticles" if doLRT
else "" )
29 acc.addPublicTool(BPHY25_AugOriginalCounts)
31 mainIDInput =
"InDetWithLRTTrackParticles" if doLRT
else "InDetTrackParticles"
33 from DerivationFrameworkInDet.InDetToolsConfig
import InDetLRTMergeCfg
34 acc.merge(
InDetLRTMergeCfg( flags, OutputTrackParticleLocation = mainIDInput ))
36 TrkToRelink = [
"InDetTrackParticles",
"InDetLargeD0TrackParticles"]
if doLRT
else [
"InDetTrackParticles"]
38 V0Tools = acc.popToolsAndMerge(
BPHY_V0ToolCfg(flags, BPHYDerivationName))
40 acc.addPublicTool(vkalvrt)
41 acc.addPublicTool(V0Tools)
43 acc.addPublicTool(trackselect)
45 acc.addPublicTool(vpest)
47 acc.addPublicTool(pvrefitter)
48 from TrkConfig.TrkV0FitterConfig
import TrkV0VertexFitter_InDetExtrCfg
50 acc.addPublicTool(v0fitter)
51 from TrackToVertex.TrackToVertexConfig
import InDetTrackToVertexCfg
53 acc.addPublicTool(tracktovtxtool)
54 from TrkConfig.TrkVKalVrtFitterConfig
import V0VKalVrtFitterCfg
56 flags, BPHYDerivationName+
"_GammaFitter",
60 InputParticleMasses = [0.511,0.511] ))
61 acc.addPublicTool(gammafitter)
62 from InDetConfig.InDetTrackSelectorToolConfig
import V0InDetConversionTrackSelectorToolCfg
64 acc.addPublicTool(v0trackselect)
65 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
67 acc.addPublicTool(extrapolator)
97 Lambdab0mass = 5619.60
99 BPHY25JpsiFinder = CompFactory.Analysis.JpsiFinder(
100 name =
"BPHY25JpsiFinder",
103 TrackAndTrack =
False,
104 assumeDiMuons =
True,
105 trackThresholdPt = 3800.,
106 invMassLower = Jpsi_lo,
107 invMassUpper = Jpsi_hi,
109 oppChargesOnly =
True,
110 atLeastOneComb =
True,
111 useCombinedMeasurement =
False,
112 muonCollectionKey =
"Muons",
113 TrackParticleCollection =
"InDetTrackParticles",
114 V0VertexFitterTool =
None,
116 TrkVertexFitterTool = vkalvrt,
117 TrackSelectorTool = trackselect,
118 VertexPointEstimator = vpest,
120 acc.addPublicTool(BPHY25JpsiFinder)
122 BPHY25_Reco_mumu = CompFactory.DerivationFramework.Reco_Vertex(
123 name =
"BPHY25_Reco_mumu",
124 VertexSearchTool = BPHY25JpsiFinder,
125 OutputVtxContainerName =
"BPHY25OniaCandidates",
126 PVContainerName =
"PrimaryVertices",
127 RelinkTracks = TrkToRelink,
129 PVRefitter = pvrefitter,
134 BPHY25B0_Jpsi2Trk = CompFactory.Analysis.JpsiPlus2Tracks(
135 name =
"BPHY25B0_Jpsi2Trk",
136 kaonkaonHypothesis =
False,
137 pionpionHypothesis =
False,
138 kaonpionHypothesis =
True,
139 kaonprotonHypothesis =
False,
140 trkThresholdPt = 760.,
142 oppChargesOnly =
False,
143 JpsiMassLower = Jpsi_lo,
144 JpsiMassUpper = Jpsi_hi,
145 TrkQuadrupletMassLower = B_lo-100,
146 TrkQuadrupletMassUpper = B_hi+100,
149 DiTrackMassLower = 500.,
150 DiTrackMassUpper = 1100.,
152 JpsiContainerKey =
"BPHY25OniaCandidates",
153 TrackParticleCollection =
"InDetTrackParticles",
154 MuonsUsedInJpsi =
"Muons",
155 ExcludeJpsiMuonsOnly =
True,
156 TrkVertexFitterTool = vkalvrt,
157 TrackSelectorTool = trackselect,
158 UseMassConstraint =
True)
159 acc.addPublicTool(BPHY25B0_Jpsi2Trk)
162 BPHY25Bpm_Jpsi1Trk = CompFactory.Analysis.JpsiPlus1Track(
163 name =
"BPHY25Bpm_Jpsi1Trk",
164 pionHypothesis =
False,
165 kaonHypothesis =
True,
166 trkThresholdPt = 950.,
168 JpsiMassLower = Jpsi_lo,
169 JpsiMassUpper = Jpsi_hi,
170 TrkTrippletMassLower = B_lo-100,
171 TrkTrippletMassUpper = B_hi+100,
175 JpsiContainerKey =
"BPHY25OniaCandidates",
176 TrackParticleCollection =
"InDetTrackParticles",
177 MuonsUsedInJpsi =
"Muons",
178 ExcludeJpsiMuonsOnly =
True,
179 TrkVertexFitterTool = vkalvrt,
180 TrackSelectorTool = trackselect,
181 UseMassConstraint =
True)
182 acc.addPublicTool(BPHY25Bpm_Jpsi1Trk)
184 BPHY25FourTrackReco_B0 = CompFactory.DerivationFramework.Reco_Vertex(
185 name =
"BPHY25FourTrackReco_B0",
186 VertexSearchTool = BPHY25B0_Jpsi2Trk,
187 OutputVtxContainerName =
"BPHY25FourTrack_B0",
188 PVContainerName =
"PrimaryVertices",
189 RelinkTracks = TrkToRelink,
191 PVRefitter = pvrefitter,
195 BPHY25ThreeTrackReco_Bpm = CompFactory.DerivationFramework.Reco_Vertex(
196 name =
"BPHY25ThreeTrackReco_Bpm",
197 VertexSearchTool = BPHY25Bpm_Jpsi1Trk,
198 OutputVtxContainerName =
"BPHY25ThreeTrack_Bpm",
199 PVContainerName =
"PrimaryVertices",
200 RelinkTracks = TrkToRelink,
202 PVRefitter = pvrefitter,
206 BPHY25Select_Jpsi = CompFactory.DerivationFramework.Select_onia2mumu(
207 name =
"BPHY25Select_Jpsi",
208 HypothesisName =
"Jpsi",
209 InputVtxContainerName =
"BPHY25OniaCandidates",
211 TrkMasses = [Mumass, Mumass],
221 list_disV_hypo = [
"JpsiXi",
"JpsiOmg"]
222 list_disV_jxHypo = [
"Jpsi",
"Jpsi"]
223 list_disV_disVLo = [Xi_lo, Omg_lo]
224 list_disV_disVHi = [Xi_hi, Omg_hi]
225 list_disV_disVDau3Mass = [Pimass, Kmass]
226 list_disV_disVDaug3MinPt = [650., 750.]
227 list_disV_jxMass = [Jpsimass, Jpsimass]
228 list_disV_disVMass = [Ximass, Omegamass]
231 for hypo
in list_disV_hypo:
232 list_disV_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
234 for i
in range(len(list_disV_obj)):
235 list_disV_obj[i].JXVertices =
"BPHY25OniaCandidates"
236 list_disV_obj[i].JXVtxHypoNames = [list_disV_jxHypo[i]]
237 list_disV_obj[i].TrackParticleCollection = mainIDInput
238 list_disV_obj[i].RelinkTracks = TrkToRelink
241 list_disV_obj[i].OutputV0VtxCollection =
"V0Collection"
243 list_disV_obj[i].V0Vertices =
"V0Collection"
244 list_disV_obj[i].UseImprovedMass =
True
245 list_disV_obj[i].LambdaMassLowerCut = Ld_lo
246 list_disV_obj[i].LambdaMassUpperCut = Ld_hi
247 list_disV_obj[i].KsMassLowerCut = Ks_lo
248 list_disV_obj[i].KsMassUpperCut = Ks_hi
249 list_disV_obj[i].DisplacedMassLowerCut = list_disV_disVLo[i]
250 list_disV_obj[i].DisplacedMassUpperCut = list_disV_disVHi[i]
251 list_disV_obj[i].MassLowerCut = 0.
252 list_disV_obj[i].MassUpperCut = 12200.
253 list_disV_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_disV_hypo[i]+
"_CascadeVtx1_sub",
"BPHY25_"+list_disV_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_disV_hypo[i]+
"_CascadeMainVtx"]
254 list_disV_obj[i].HasJXSubVertex =
False
255 list_disV_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
256 list_disV_obj[i].V0Hypothesis =
"Lambda"
257 list_disV_obj[i].MassCutGamma = 10.
258 list_disV_obj[i].Chi2CutGamma = 3.
259 list_disV_obj[i].LxyV0Cut = 5.
260 list_disV_obj[i].LxyDisVtxCut = 5.
261 list_disV_obj[i].HypothesisName = list_disV_hypo[i]
262 list_disV_obj[i].NumberOfJXDaughters = 2
263 list_disV_obj[i].JXDaug1MassHypo = Mumass
264 list_disV_obj[i].JXDaug2MassHypo = Mumass
265 list_disV_obj[i].NumberOfDisVDaughters = 3
266 list_disV_obj[i].DisVDaug3MassHypo = list_disV_disVDau3Mass[i]
267 list_disV_obj[i].DisVDaug3MinPt = list_disV_disVDaug3MinPt[i]
268 list_disV_obj[i].JpsiMass = list_disV_jxMass[i]
269 list_disV_obj[i].LambdaMass = Lambdamass
270 list_disV_obj[i].KsMass = Ksmass
271 list_disV_obj[i].DisVtxMass = list_disV_disVMass[i]
272 list_disV_obj[i].ApplyJpsiMassConstraint =
True
273 list_disV_obj[i].ApplyV0MassConstraint =
True
274 list_disV_obj[i].ApplyDisVMassConstraint =
True
275 list_disV_obj[i].ApplyMainVMassConstraint =
False
276 list_disV_obj[i].Chi2CutV0 = 4.
277 list_disV_obj[i].Chi2CutDisV = 4.
278 list_disV_obj[i].Chi2Cut = 4.
279 list_disV_obj[i].Trackd0Cut = 3.0
280 list_disV_obj[i].MaxJXCandidates = 10
281 list_disV_obj[i].MaxV0Candidates = 20
282 list_disV_obj[i].MaxDisVCandidates = 30
283 list_disV_obj[i].MaxMainVCandidates = 30
284 list_disV_obj[i].RefitPV =
True
285 list_disV_obj[i].MaxnPV = 50
286 list_disV_obj[i].RefPVContainerName =
"BPHY25_"+list_disV_hypo[i]+
"_RefPrimaryVertices"
287 list_disV_obj[i].TrkVertexFitterTool = vkalvrt
288 list_disV_obj[i].V0VertexFitterTool = v0fitter
289 list_disV_obj[i].GammaFitterTool = gammafitter
290 list_disV_obj[i].PVRefitter = pvrefitter
291 list_disV_obj[i].V0Tools = V0Tools
292 list_disV_obj[i].TrackToVertexTool = tracktovtxtool
293 list_disV_obj[i].V0TrackSelectorTool = v0trackselect
294 list_disV_obj[i].TrackSelectorTool = trackselect
295 list_disV_obj[i].Extrapolator = extrapolator
300 list_BpmLd_hypo = [
"BpmLd"]
301 list_BpmLd_jxInput = [
"BPHY25ThreeTrack_Bpm"]
302 list_BpmLd_jxDau3Mass = [Kmass]
303 list_BpmLd_jxMassLo = [B_lo]
304 list_BpmLd_jxMassHi = [B_hi]
307 for hypo
in list_BpmLd_hypo:
308 list_BpmLd_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
310 for i
in range(len(list_BpmLd_obj)):
311 list_BpmLd_obj[i].JXVertices = list_BpmLd_jxInput[i]
312 list_BpmLd_obj[i].TrackParticleCollection = mainIDInput
313 list_BpmLd_obj[i].RelinkTracks = TrkToRelink
314 list_BpmLd_obj[i].V0Vertices =
"V0Collection"
315 list_BpmLd_obj[i].UseImprovedMass =
True
316 list_BpmLd_obj[i].LambdaMassLowerCut = Ld_lo
317 list_BpmLd_obj[i].LambdaMassUpperCut = Ld_hi
318 list_BpmLd_obj[i].KsMassLowerCut = Ks_lo
319 list_BpmLd_obj[i].KsMassUpperCut = Ks_hi
320 list_BpmLd_obj[i].JXMassLowerCut = list_BpmLd_jxMassLo[i]
321 list_BpmLd_obj[i].JXMassUpperCut = list_BpmLd_jxMassHi[i]
322 list_BpmLd_obj[i].JpsiMassLowerCut = Jpsi_lo
323 list_BpmLd_obj[i].JpsiMassUpperCut = Jpsi_hi
324 list_BpmLd_obj[i].MassLowerCut = 6200.
325 list_BpmLd_obj[i].MassUpperCut = 100000.
326 list_BpmLd_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_BpmLd_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_BpmLd_hypo[i]+
"_CascadeVtx2",
"BPHY25_"+list_BpmLd_hypo[i]+
"_CascadeMainVtx"]
327 list_BpmLd_obj[i].HasJXSubVertex =
True
328 list_BpmLd_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
329 list_BpmLd_obj[i].V0Hypothesis =
"Lambda"
330 list_BpmLd_obj[i].MassCutGamma = 10.
331 list_BpmLd_obj[i].Chi2CutGamma = 3.
332 list_BpmLd_obj[i].LxyV0Cut = 5.
333 list_BpmLd_obj[i].HypothesisName = list_BpmLd_hypo[i]
334 list_BpmLd_obj[i].NumberOfJXDaughters = 3
335 list_BpmLd_obj[i].JXDaug1MassHypo = Mumass
336 list_BpmLd_obj[i].JXDaug2MassHypo = Mumass
337 list_BpmLd_obj[i].JXDaug3MassHypo = list_BpmLd_jxDau3Mass[i]
338 list_BpmLd_obj[i].JXPtOrdering =
False
339 list_BpmLd_obj[i].NumberOfDisVDaughters = 2
340 list_BpmLd_obj[i].JpsiMass = Jpsimass
341 list_BpmLd_obj[i].LambdaMass = Lambdamass
342 list_BpmLd_obj[i].KsMass = Ksmass
343 list_BpmLd_obj[i].ApplyJpsiMassConstraint =
True
344 list_BpmLd_obj[i].ApplyJXMassConstraint =
False
345 list_BpmLd_obj[i].ApplyV0MassConstraint =
False
346 list_BpmLd_obj[i].ApplyMainVMassConstraint =
False
347 list_BpmLd_obj[i].Chi2CutV0 = 4.
348 list_BpmLd_obj[i].Chi2Cut = 4.
349 list_BpmLd_obj[i].Trackd0Cut = 3.0
350 list_BpmLd_obj[i].MaxJXCandidates = 20
351 list_BpmLd_obj[i].MaxV0Candidates = 20
352 list_BpmLd_obj[i].MaxMainVCandidates = 30
353 list_BpmLd_obj[i].RefitPV =
True
354 list_BpmLd_obj[i].MaxnPV = 50
355 list_BpmLd_obj[i].RefPVContainerName =
"BPHY25_"+list_BpmLd_hypo[i]+
"_RefPrimaryVertices"
356 list_BpmLd_obj[i].TrkVertexFitterTool = vkalvrt
357 list_BpmLd_obj[i].V0VertexFitterTool = v0fitter
358 list_BpmLd_obj[i].GammaFitterTool = gammafitter
359 list_BpmLd_obj[i].PVRefitter = pvrefitter
360 list_BpmLd_obj[i].V0Tools = V0Tools
361 list_BpmLd_obj[i].TrackToVertexTool = tracktovtxtool
362 list_BpmLd_obj[i].V0TrackSelectorTool = v0trackselect
363 list_BpmLd_obj[i].TrackSelectorTool = trackselect
364 list_BpmLd_obj[i].Extrapolator = extrapolator
370 list_B0Ld_hypo = [
"B0KpiLd",
"B0piKLd"]
371 list_B0Ld_jxInput = [
"BPHY25FourTrack_B0",
"BPHY25FourTrack_B0"]
372 list_B0Ld_jxMass = [B0mass, B0mass]
373 list_B0Ld_jxDau3Mass = [Kmass, Pimass]
374 list_B0Ld_jxDau4Mass = [Pimass, Kmass]
375 list_B0Ld_jxMassLo = [B_lo, B_lo]
376 list_B0Ld_jxMassHi = [B_hi, B_hi]
379 for hypo
in list_B0Ld_hypo:
380 list_B0Ld_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
382 for i
in range(len(list_B0Ld_obj)):
383 list_B0Ld_obj[i].JXVertices = list_B0Ld_jxInput[i]
384 list_B0Ld_obj[i].TrackParticleCollection = mainIDInput
385 list_B0Ld_obj[i].RelinkTracks = TrkToRelink
386 list_B0Ld_obj[i].V0Vertices =
"V0Collection"
387 list_B0Ld_obj[i].UseImprovedMass =
True
388 list_B0Ld_obj[i].LambdaMassLowerCut = Ld_lo
389 list_B0Ld_obj[i].LambdaMassUpperCut = Ld_hi
390 list_B0Ld_obj[i].KsMassLowerCut = Ks_lo
391 list_B0Ld_obj[i].KsMassUpperCut = Ks_hi
392 list_B0Ld_obj[i].JXMassLowerCut = list_B0Ld_jxMassLo[i]
393 list_B0Ld_obj[i].JXMassUpperCut = list_B0Ld_jxMassHi[i]
394 list_B0Ld_obj[i].JpsiMassLowerCut = Jpsi_lo
395 list_B0Ld_obj[i].JpsiMassUpperCut = Jpsi_hi
396 list_B0Ld_obj[i].MassLowerCut = 0.
397 list_B0Ld_obj[i].MassUpperCut = 100000.
398 list_B0Ld_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_B0Ld_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_B0Ld_hypo[i]+
"_CascadeVtx2",
"BPHY25_"+list_B0Ld_hypo[i]+
"_CascadeMainVtx"]
399 list_B0Ld_obj[i].HasJXSubVertex =
True
400 list_B0Ld_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
401 list_B0Ld_obj[i].V0Hypothesis =
"Lambda"
402 list_B0Ld_obj[i].MassCutGamma = 10.
403 list_B0Ld_obj[i].Chi2CutGamma = 3.
404 list_B0Ld_obj[i].LxyV0Cut = 5.
405 list_B0Ld_obj[i].HypothesisName = list_B0Ld_hypo[i]
406 list_B0Ld_obj[i].NumberOfJXDaughters = 4
407 list_B0Ld_obj[i].JXDaug1MassHypo = Mumass
408 list_B0Ld_obj[i].JXDaug2MassHypo = Mumass
409 list_B0Ld_obj[i].JXDaug3MassHypo = list_B0Ld_jxDau3Mass[i]
410 list_B0Ld_obj[i].JXDaug4MassHypo = list_B0Ld_jxDau4Mass[i]
411 list_B0Ld_obj[i].JXPtOrdering =
False
412 list_B0Ld_obj[i].NumberOfDisVDaughters = 2
413 list_B0Ld_obj[i].JXMass = list_B0Ld_jxMass[i]
414 list_B0Ld_obj[i].JpsiMass = Jpsimass
415 list_B0Ld_obj[i].LambdaMass = Lambdamass
416 list_B0Ld_obj[i].KsMass = Ksmass
417 list_B0Ld_obj[i].ApplyJXMassConstraint =
True
418 list_B0Ld_obj[i].ApplyJpsiMassConstraint =
True
419 list_B0Ld_obj[i].ApplyV0MassConstraint =
False
420 list_B0Ld_obj[i].ApplyMainVMassConstraint =
False
421 list_B0Ld_obj[i].Chi2CutV0 = 4.
422 list_B0Ld_obj[i].Chi2Cut = 4.
423 list_B0Ld_obj[i].Trackd0Cut = 3.0
424 list_B0Ld_obj[i].MaxJXCandidates = 20
425 list_B0Ld_obj[i].MaxV0Candidates = 20
426 list_B0Ld_obj[i].MaxMainVCandidates = 30
427 list_B0Ld_obj[i].RefitPV =
True
428 list_B0Ld_obj[i].MaxnPV = 50
429 list_B0Ld_obj[i].RefPVContainerName =
"BPHY25_"+list_B0Ld_hypo[i]+
"_RefPrimaryVertices"
430 list_B0Ld_obj[i].TrkVertexFitterTool = vkalvrt
431 list_B0Ld_obj[i].V0VertexFitterTool = v0fitter
432 list_B0Ld_obj[i].GammaFitterTool = gammafitter
433 list_B0Ld_obj[i].PVRefitter = pvrefitter
434 list_B0Ld_obj[i].V0Tools = V0Tools
435 list_B0Ld_obj[i].TrackToVertexTool = tracktovtxtool
436 list_B0Ld_obj[i].V0TrackSelectorTool = v0trackselect
437 list_B0Ld_obj[i].TrackSelectorTool = trackselect
438 list_B0Ld_obj[i].Extrapolator = extrapolator
444 list_B0Ks_hypo = [
"B0KpiKs",
"B0piKKs"]
445 list_B0Ks_jxInput = [
"BPHY25FourTrack_B0",
"BPHY25FourTrack_B0"]
446 list_B0Ks_jxMass = [B0mass, B0mass]
447 list_B0Ks_jxDau3Mass = [Kmass, Pimass]
448 list_B0Ks_jxDau4Mass = [Pimass, Kmass]
449 list_B0Ks_jxMassLo = [B_lo, B_lo]
450 list_B0Ks_jxMassHi = [B_hi, B_hi]
453 for hypo
in list_B0Ks_hypo:
454 list_B0Ks_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
456 for i
in range(len(list_B0Ks_obj)):
457 list_B0Ks_obj[i].JXVertices = list_B0Ks_jxInput[i]
458 list_B0Ks_obj[i].TrackParticleCollection = mainIDInput
459 list_B0Ks_obj[i].RelinkTracks = TrkToRelink
460 list_B0Ks_obj[i].V0Vertices =
"V0Collection"
461 list_B0Ks_obj[i].UseImprovedMass =
True
462 list_B0Ks_obj[i].LambdaMassLowerCut = Ld_lo
463 list_B0Ks_obj[i].LambdaMassUpperCut = Ld_hi
464 list_B0Ks_obj[i].KsMassLowerCut = Ks_lo
465 list_B0Ks_obj[i].KsMassUpperCut = Ks_hi
466 list_B0Ks_obj[i].JXMassLowerCut = list_B0Ks_jxMassLo[i]
467 list_B0Ks_obj[i].JXMassUpperCut = list_B0Ks_jxMassHi[i]
468 list_B0Ks_obj[i].JpsiMassLowerCut = Jpsi_lo
469 list_B0Ks_obj[i].JpsiMassUpperCut = Jpsi_hi
470 list_B0Ks_obj[i].MassLowerCut = 0.
471 list_B0Ks_obj[i].MassUpperCut = 9400.
472 list_B0Ks_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_B0Ks_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_B0Ks_hypo[i]+
"_CascadeVtx2",
"BPHY25_"+list_B0Ks_hypo[i]+
"_CascadeMainVtx"]
473 list_B0Ks_obj[i].HasJXSubVertex =
True
474 list_B0Ks_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
475 list_B0Ks_obj[i].V0Hypothesis =
"Ks"
476 list_B0Ks_obj[i].MassCutGamma = 10.
477 list_B0Ks_obj[i].Chi2CutGamma = 3.
478 list_B0Ks_obj[i].LxyV0Cut = 5.
479 list_B0Ks_obj[i].HypothesisName = list_B0Ks_hypo[i]
480 list_B0Ks_obj[i].NumberOfJXDaughters = 4
481 list_B0Ks_obj[i].JXDaug1MassHypo = Mumass
482 list_B0Ks_obj[i].JXDaug2MassHypo = Mumass
483 list_B0Ks_obj[i].JXDaug3MassHypo = list_B0Ks_jxDau3Mass[i]
484 list_B0Ks_obj[i].JXDaug4MassHypo = list_B0Ks_jxDau4Mass[i]
485 list_B0Ks_obj[i].JXPtOrdering =
False
486 list_B0Ks_obj[i].NumberOfDisVDaughters = 2
487 list_B0Ks_obj[i].JXMass = list_B0Ks_jxMass[i]
488 list_B0Ks_obj[i].JpsiMass = Jpsimass
489 list_B0Ks_obj[i].LambdaMass = Lambdamass
490 list_B0Ks_obj[i].KsMass = Ksmass
491 list_B0Ks_obj[i].ApplyJXMassConstraint =
True
492 list_B0Ks_obj[i].ApplyJpsiMassConstraint =
True
493 list_B0Ks_obj[i].ApplyV0MassConstraint =
True
494 list_B0Ks_obj[i].ApplyMainVMassConstraint =
False
495 list_B0Ks_obj[i].Chi2CutV0 = 4.
496 list_B0Ks_obj[i].Chi2Cut = 4.
497 list_B0Ks_obj[i].Trackd0Cut = 3.0
498 list_B0Ks_obj[i].MaxJXCandidates = 20
499 list_B0Ks_obj[i].MaxV0Candidates = 20
500 list_B0Ks_obj[i].MaxMainVCandidates = 30
501 list_B0Ks_obj[i].RefitPV =
True
502 list_B0Ks_obj[i].MaxnPV = 50
503 list_B0Ks_obj[i].RefPVContainerName =
"BPHY25_"+list_B0Ks_hypo[i]+
"_RefPrimaryVertices"
504 list_B0Ks_obj[i].TrkVertexFitterTool = vkalvrt
505 list_B0Ks_obj[i].V0VertexFitterTool = v0fitter
506 list_B0Ks_obj[i].GammaFitterTool = gammafitter
507 list_B0Ks_obj[i].PVRefitter = pvrefitter
508 list_B0Ks_obj[i].V0Tools = V0Tools
509 list_B0Ks_obj[i].TrackToVertexTool = tracktovtxtool
510 list_B0Ks_obj[i].V0TrackSelectorTool = v0trackselect
511 list_B0Ks_obj[i].TrackSelectorTool = trackselect
512 list_B0Ks_obj[i].Extrapolator = extrapolator
519 list_3bodyA_hypo = [
"Bpm3body",
"Xibpm3body"]
520 list_3bodyA_extraTrkMass = [Protonmass, Pimass]
521 list_3bodyA_extraTrkPt = [480.0, 760.0]
522 list_3bodyA_massLo = [B_lo, Xib_lo]
523 list_3bodyA_massHi = [B_hi, Xib_hi]
526 for hypo
in list_3bodyA_hypo:
527 list_3bodyA_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
529 for i
in range(len(list_3bodyA_obj)):
530 list_3bodyA_obj[i].JXVertices =
"BPHY25OniaCandidates"
531 list_3bodyA_obj[i].JXVtxHypoNames = [
"Jpsi"]
532 list_3bodyA_obj[i].TrackParticleCollection = mainIDInput
533 list_3bodyA_obj[i].RelinkTracks = TrkToRelink
534 list_3bodyA_obj[i].V0Vertices =
"V0Collection"
535 list_3bodyA_obj[i].UseImprovedMass =
True
536 list_3bodyA_obj[i].LambdaMassLowerCut = Ld_lo
537 list_3bodyA_obj[i].LambdaMassUpperCut = Ld_hi
538 list_3bodyA_obj[i].KsMassLowerCut = Ks_lo
539 list_3bodyA_obj[i].KsMassUpperCut = Ks_hi
540 list_3bodyA_obj[i].JpsiMassLowerCut = Jpsi_lo
541 list_3bodyA_obj[i].JpsiMassUpperCut = Jpsi_hi
542 list_3bodyA_obj[i].MassLowerCut = list_3bodyA_massLo[i]
543 list_3bodyA_obj[i].MassUpperCut = list_3bodyA_massHi[i]
544 list_3bodyA_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_3bodyA_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_3bodyA_hypo[i]+
"_CascadeMainVtx"]
545 list_3bodyA_obj[i].HasJXSubVertex =
False
546 list_3bodyA_obj[i].HasJXV0SubVertex =
False
547 list_3bodyA_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
548 list_3bodyA_obj[i].V0Hypothesis =
"Lambda"
549 list_3bodyA_obj[i].MassCutGamma = 10.
550 list_3bodyA_obj[i].Chi2CutGamma = 3.
551 list_3bodyA_obj[i].LxyV0Cut = 5.
552 list_3bodyA_obj[i].HypothesisName = list_3bodyA_hypo[i]
553 list_3bodyA_obj[i].NumberOfJXDaughters = 2
554 list_3bodyA_obj[i].JXDaug1MassHypo = Mumass
555 list_3bodyA_obj[i].JXDaug2MassHypo = Mumass
556 list_3bodyA_obj[i].NumberOfDisVDaughters = 2
557 list_3bodyA_obj[i].ExtraTrack1MassHypo = list_3bodyA_extraTrkMass[i]
558 list_3bodyA_obj[i].ExtraTrack1MinPt = list_3bodyA_extraTrkPt[i]
559 list_3bodyA_obj[i].JpsiMass = Jpsimass
560 list_3bodyA_obj[i].LambdaMass = Lambdamass
561 list_3bodyA_obj[i].KsMass = Ksmass
562 list_3bodyA_obj[i].ApplyJpsiMassConstraint =
True
563 list_3bodyA_obj[i].ApplyV0MassConstraint =
True
564 list_3bodyA_obj[i].ApplyMainVMassConstraint =
False
565 list_3bodyA_obj[i].Chi2CutV0 = 4.
566 list_3bodyA_obj[i].Chi2Cut = 4.
567 list_3bodyA_obj[i].Trackd0Cut = 3.0
568 list_3bodyA_obj[i].MaxJXCandidates = 10
569 list_3bodyA_obj[i].MaxV0Candidates = 20
570 list_3bodyA_obj[i].MaxMainVCandidates = 30
571 list_3bodyA_obj[i].RefitPV =
True
572 list_3bodyA_obj[i].MaxnPV = 50
573 list_3bodyA_obj[i].RefPVContainerName =
"BPHY25_"+list_3bodyA_hypo[i]+
"_RefPrimaryVertices"
574 list_3bodyA_obj[i].TrkVertexFitterTool = vkalvrt
575 list_3bodyA_obj[i].V0VertexFitterTool = v0fitter
576 list_3bodyA_obj[i].GammaFitterTool = gammafitter
577 list_3bodyA_obj[i].PVRefitter = pvrefitter
578 list_3bodyA_obj[i].V0Tools = V0Tools
579 list_3bodyA_obj[i].TrackToVertexTool = tracktovtxtool
580 list_3bodyA_obj[i].V0TrackSelectorTool = v0trackselect
581 list_3bodyA_obj[i].TrackSelectorTool = trackselect
582 list_3bodyA_obj[i].Extrapolator = extrapolator
588 list_RefA_hypo = [
"XibpmRef"]
589 list_RefA_extraTrkMass = [Pimass]
590 list_RefA_extraTrkPt = [760.0]
591 list_RefA_massLo = [Xib_lo]
592 list_RefA_massHi = [Xib_hi]
595 for hypo
in list_RefA_hypo:
596 list_RefA_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
598 for i
in range(len(list_RefA_obj)):
599 list_RefA_obj[i].JXVertices =
"BPHY25OniaCandidates"
600 list_RefA_obj[i].JXVtxHypoNames = [
"Jpsi"]
601 list_RefA_obj[i].TrackParticleCollection = mainIDInput
602 list_RefA_obj[i].RelinkTracks = TrkToRelink
603 list_RefA_obj[i].V0Vertices =
"V0Collection"
604 list_RefA_obj[i].UseImprovedMass =
True
605 list_RefA_obj[i].LambdaMassLowerCut = Ld_lo
606 list_RefA_obj[i].LambdaMassUpperCut = Ld_hi
607 list_RefA_obj[i].KsMassLowerCut = Ks_lo
608 list_RefA_obj[i].KsMassUpperCut = Ks_hi
609 list_RefA_obj[i].JpsiMassLowerCut = Jpsi_lo
610 list_RefA_obj[i].JpsiMassUpperCut = Jpsi_hi
611 list_RefA_obj[i].MassLowerCut = list_RefA_massLo[i]
612 list_RefA_obj[i].MassUpperCut = list_RefA_massHi[i]
613 list_RefA_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_RefA_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_RefA_hypo[i]+
"_CascadeVtx2",
"BPHY25_"+list_RefA_hypo[i]+
"_CascadeMainVtx"]
614 list_RefA_obj[i].HasJXSubVertex =
False
615 list_RefA_obj[i].HasJXV0SubVertex =
True
616 list_RefA_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
617 list_RefA_obj[i].V0Hypothesis =
"Lambda"
618 list_RefA_obj[i].MassCutGamma = 10.
619 list_RefA_obj[i].Chi2CutGamma = 3.
620 list_RefA_obj[i].LxyV0Cut = 5.
621 list_RefA_obj[i].HypothesisName = list_RefA_hypo[i]
622 list_RefA_obj[i].NumberOfJXDaughters = 2
623 list_RefA_obj[i].JXDaug1MassHypo = Mumass
624 list_RefA_obj[i].JXDaug2MassHypo = Mumass
625 list_RefA_obj[i].NumberOfDisVDaughters = 2
626 list_RefA_obj[i].ExtraTrack1MassHypo = list_RefA_extraTrkMass[i]
627 list_RefA_obj[i].ExtraTrack1MinPt = list_RefA_extraTrkPt[i]
628 list_RefA_obj[i].JpsiMass = Jpsimass
629 list_RefA_obj[i].LambdaMass = Lambdamass
630 list_RefA_obj[i].KsMass = Ksmass
631 list_RefA_obj[i].ApplyJpsiMassConstraint =
True
632 list_RefA_obj[i].ApplyV0MassConstraint =
True
633 list_RefA_obj[i].ApplyJXV0MassConstraint =
False
634 list_RefA_obj[i].ApplyMainVMassConstraint =
False
635 list_RefA_obj[i].Chi2CutV0 = 4.
636 list_RefA_obj[i].Chi2Cut = 4.
637 list_RefA_obj[i].Trackd0Cut = 3.0
638 list_RefA_obj[i].MaxJXCandidates = 10
639 list_RefA_obj[i].MaxV0Candidates = 20
640 list_RefA_obj[i].MaxMainVCandidates = 30
641 list_RefA_obj[i].RefitPV =
True
642 list_RefA_obj[i].MaxnPV = 50
643 list_RefA_obj[i].RefPVContainerName =
"BPHY25_"+list_RefA_hypo[i]+
"_RefPrimaryVertices"
644 list_RefA_obj[i].TrkVertexFitterTool = vkalvrt
645 list_RefA_obj[i].V0VertexFitterTool = v0fitter
646 list_RefA_obj[i].GammaFitterTool = gammafitter
647 list_RefA_obj[i].PVRefitter = pvrefitter
648 list_RefA_obj[i].V0Tools = V0Tools
649 list_RefA_obj[i].TrackToVertexTool = tracktovtxtool
650 list_RefA_obj[i].V0TrackSelectorTool = v0trackselect
651 list_RefA_obj[i].TrackSelectorTool = trackselect
652 list_RefA_obj[i].Extrapolator = extrapolator
659 list_3bodyB_hypo = [
"Xib03body",
"Lambdab03body"]
660 list_3bodyB_extraTrkMass = [Pimass, Kmass]
661 list_3bodyB_extraTrkPt = [660.0, 660.0]
662 list_3bodyB_massLo = [Xib_lo, Ldb0_lo]
663 list_3bodyB_massHi = [Xib_hi, Ldb0_hi]
666 for hypo
in list_3bodyB_hypo:
667 list_3bodyB_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
669 for i
in range(len(list_3bodyB_obj)):
670 list_3bodyB_obj[i].JXVertices =
"BPHY25OniaCandidates"
671 list_3bodyB_obj[i].JXVtxHypoNames = [
"Jpsi"]
672 list_3bodyB_obj[i].TrackParticleCollection = mainIDInput
673 list_3bodyB_obj[i].RelinkTracks = TrkToRelink
674 list_3bodyB_obj[i].V0Vertices =
"V0Collection"
675 list_3bodyB_obj[i].UseImprovedMass =
True
676 list_3bodyB_obj[i].LambdaMassLowerCut = Ld_lo
677 list_3bodyB_obj[i].LambdaMassUpperCut = Ld_hi
678 list_3bodyB_obj[i].KsMassLowerCut = Ks_lo
679 list_3bodyB_obj[i].KsMassUpperCut = Ks_hi
680 list_3bodyB_obj[i].JpsiMassLowerCut = Jpsi_lo
681 list_3bodyB_obj[i].JpsiMassUpperCut = Jpsi_hi
682 list_3bodyB_obj[i].DisplacedMassLowerCut = Xi_lo
683 list_3bodyB_obj[i].DisplacedMassUpperCut = Xi_hi
684 list_3bodyB_obj[i].MassLowerCut = list_3bodyB_massLo[i]
685 list_3bodyB_obj[i].MassUpperCut = list_3bodyB_massHi[i]
686 list_3bodyB_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_3bodyB_hypo[i]+
"_CascadeVtx1_sub",
"BPHY25_"+list_3bodyB_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_3bodyB_hypo[i]+
"_CascadeMainVtx"]
687 list_3bodyB_obj[i].HasJXSubVertex =
False
688 list_3bodyB_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
689 list_3bodyB_obj[i].V0Hypothesis =
"Lambda"
690 list_3bodyB_obj[i].MassCutGamma = 10.
691 list_3bodyB_obj[i].Chi2CutGamma = 3.
692 list_3bodyB_obj[i].LxyV0Cut = 5.
693 list_3bodyB_obj[i].LxyDisVtxCut = 5.
694 list_3bodyB_obj[i].HypothesisName = list_3bodyB_hypo[i]
695 list_3bodyB_obj[i].NumberOfJXDaughters = 2
696 list_3bodyB_obj[i].JXDaug1MassHypo = Mumass
697 list_3bodyB_obj[i].JXDaug2MassHypo = Mumass
698 list_3bodyB_obj[i].NumberOfDisVDaughters = 3
699 list_3bodyB_obj[i].DisVDaug3MassHypo = Pimass
700 list_3bodyB_obj[i].DisVDaug3MinPt = 650.
701 list_3bodyB_obj[i].ExtraTrack1MassHypo = list_3bodyB_extraTrkMass[i]
702 list_3bodyB_obj[i].ExtraTrack1MinPt = list_3bodyB_extraTrkPt[i]
703 list_3bodyB_obj[i].JpsiMass = Jpsimass
704 list_3bodyB_obj[i].LambdaMass = Lambdamass
705 list_3bodyB_obj[i].KsMass = Ksmass
706 list_3bodyB_obj[i].DisVtxMass = Ximass
707 list_3bodyB_obj[i].ApplyJpsiMassConstraint =
True
708 list_3bodyB_obj[i].ApplyV0MassConstraint =
True
709 list_3bodyB_obj[i].ApplyDisVMassConstraint =
True
710 list_3bodyB_obj[i].ApplyMainVMassConstraint =
False
711 list_3bodyB_obj[i].Chi2CutV0 = 4.
712 list_3bodyB_obj[i].Chi2CutDisV = 4.
713 list_3bodyB_obj[i].Chi2Cut = 4.
714 list_3bodyB_obj[i].Trackd0Cut = 3.0
715 list_3bodyB_obj[i].MaxJXCandidates = 10
716 list_3bodyB_obj[i].MaxV0Candidates = 20
717 list_3bodyB_obj[i].MaxDisVCandidates = 30
718 list_3bodyB_obj[i].MaxMainVCandidates = 30
719 list_3bodyB_obj[i].RefitPV =
True
720 list_3bodyB_obj[i].MaxnPV = 50
721 list_3bodyB_obj[i].RefPVContainerName =
"BPHY25_"+list_3bodyB_hypo[i]+
"_RefPrimaryVertices"
722 list_3bodyB_obj[i].TrkVertexFitterTool = vkalvrt
723 list_3bodyB_obj[i].V0VertexFitterTool = v0fitter
724 list_3bodyB_obj[i].GammaFitterTool = gammafitter
725 list_3bodyB_obj[i].PVRefitter = pvrefitter
726 list_3bodyB_obj[i].V0Tools = V0Tools
727 list_3bodyB_obj[i].TrackToVertexTool = tracktovtxtool
728 list_3bodyB_obj[i].V0TrackSelectorTool = v0trackselect
729 list_3bodyB_obj[i].TrackSelectorTool = trackselect
730 list_3bodyB_obj[i].Extrapolator = extrapolator
736 list_2V0A_hypo = [
"Jpsi2V0A"]
739 for hypo
in list_2V0A_hypo:
740 list_2V0A_obj.append( CompFactory.DerivationFramework.JpsiXPlus2V0(
"BPHY25_"+hypo) )
742 for i
in range(len(list_2V0A_obj)):
743 list_2V0A_obj[i].JXVertices =
"BPHY25OniaCandidates"
744 list_2V0A_obj[i].JXVtxHypoNames = [
"Jpsi"]
745 list_2V0A_obj[i].TrackParticleCollection = mainIDInput
746 list_2V0A_obj[i].RelinkTracks = TrkToRelink
747 list_2V0A_obj[i].V0Vertices =
"V0Collection"
748 list_2V0A_obj[i].UseImprovedMass =
True
749 list_2V0A_obj[i].LambdaMassLowerCut = Ld_lo
750 list_2V0A_obj[i].LambdaMassUpperCut = Ld_hi
751 list_2V0A_obj[i].KsMassLowerCut = Ks_lo
752 list_2V0A_obj[i].KsMassUpperCut = Ks_hi
753 list_2V0A_obj[i].JpsiMassLowerCut = Jpsi_lo
754 list_2V0A_obj[i].JpsiMassUpperCut = Jpsi_hi
755 list_2V0A_obj[i].MassLowerCut = 0.
756 list_2V0A_obj[i].MassUpperCut = 9400.
757 list_2V0A_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_2V0A_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_2V0A_hypo[i]+
"_CascadeVtx2",
"BPHY25_"+list_2V0A_hypo[i]+
"_CascadeMainVtx"]
758 list_2V0A_obj[i].HasJXSubVertex =
False
759 list_2V0A_obj[i].HasJXV02SubVertex =
False
760 list_2V0A_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
761 list_2V0A_obj[i].V01Hypothesis =
"Lambda/Ks"
762 list_2V0A_obj[i].V02Hypothesis =
"Lambda/Ks"
763 list_2V0A_obj[i].LxyV01Cut = 5.
764 list_2V0A_obj[i].LxyV02Cut = 5.
765 list_2V0A_obj[i].MassCutGamma = 10.
766 list_2V0A_obj[i].Chi2CutGamma = 3.
767 list_2V0A_obj[i].HypothesisName = list_2V0A_hypo[i]
768 list_2V0A_obj[i].NumberOfJXDaughters = 2
769 list_2V0A_obj[i].JXDaug1MassHypo = Mumass
770 list_2V0A_obj[i].JXDaug2MassHypo = Mumass
771 list_2V0A_obj[i].JpsiMass = Jpsimass
772 list_2V0A_obj[i].LambdaMass = Lambdamass
773 list_2V0A_obj[i].KsMass = Ksmass
774 list_2V0A_obj[i].ApplyJpsiMassConstraint =
True
775 list_2V0A_obj[i].ApplyV01MassConstraint =
True
776 list_2V0A_obj[i].ApplyV02MassConstraint =
True
777 list_2V0A_obj[i].ApplyMainVMassConstraint =
False
778 list_2V0A_obj[i].Chi2CutV0 = 4.
779 list_2V0A_obj[i].Chi2Cut = 4.
780 list_2V0A_obj[i].Trackd0Cut = 3.0
781 list_2V0A_obj[i].MaxJXCandidates = 10
782 list_2V0A_obj[i].MaxV0Candidates = 20
783 list_2V0A_obj[i].MaxMainVCandidates = 30
784 list_2V0A_obj[i].RefitPV =
True
785 list_2V0A_obj[i].MaxnPV = 50
786 list_2V0A_obj[i].RefPVContainerName =
"BPHY25_"+list_2V0A_hypo[i]+
"_RefPrimaryVertices"
787 list_2V0A_obj[i].TrkVertexFitterTool = vkalvrt
788 list_2V0A_obj[i].V0VertexFitterTool = v0fitter
789 list_2V0A_obj[i].GammaFitterTool = gammafitter
790 list_2V0A_obj[i].PVRefitter = pvrefitter
791 list_2V0A_obj[i].V0Tools = V0Tools
792 list_2V0A_obj[i].TrackToVertexTool = tracktovtxtool
793 list_2V0A_obj[i].V0TrackSelectorTool = v0trackselect
794 list_2V0A_obj[i].Extrapolator = extrapolator
796 list_2V0B_hypo = [
"Jpsi2V0B1",
"Jpsi2V0B2"]
797 list_2V0B_v02hypo = [
"Lambda",
"Ks"]
798 list_2V0B_jxv02mass = [Lambdab0mass, B0mass]
799 list_2V0B_jxv02massLo = [Ldb0_lo, B_lo]
800 list_2V0B_jxv02massHi = [Ldb0_hi, B_hi]
803 for hypo
in list_2V0B_hypo:
804 list_2V0B_obj.append( CompFactory.DerivationFramework.JpsiXPlus2V0(
"BPHY25_"+hypo) )
806 for i
in range(len(list_2V0B_obj)):
807 list_2V0B_obj[i].JXVertices =
"BPHY25OniaCandidates"
808 list_2V0B_obj[i].JXVtxHypoNames = [
"Jpsi"]
809 list_2V0B_obj[i].TrackParticleCollection = mainIDInput
810 list_2V0B_obj[i].RelinkTracks = TrkToRelink
811 list_2V0B_obj[i].V0Vertices =
"V0Collection"
812 list_2V0B_obj[i].UseImprovedMass =
True
813 list_2V0B_obj[i].LambdaMassLowerCut = Ld_lo
814 list_2V0B_obj[i].LambdaMassUpperCut = Ld_hi
815 list_2V0B_obj[i].KsMassLowerCut = Ks_lo
816 list_2V0B_obj[i].KsMassUpperCut = Ks_hi
817 list_2V0B_obj[i].JpsiMassLowerCut = Jpsi_lo
818 list_2V0B_obj[i].JpsiMassUpperCut = Jpsi_hi
819 list_2V0B_obj[i].JXV02MassLowerCut = list_2V0B_jxv02massLo[i]
820 list_2V0B_obj[i].JXV02MassUpperCut = list_2V0B_jxv02massHi[i]
821 list_2V0B_obj[i].MassLowerCut = 0.
822 list_2V0B_obj[i].MassUpperCut = 9400.
823 list_2V0B_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_2V0B_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_2V0B_hypo[i]+
"_CascadeVtx2",
"BPHY25_"+list_2V0B_hypo[i]+
"_CascadeVtx3",
"BPHY25_"+list_2V0B_hypo[i]+
"_CascadeMainVtx"]
824 list_2V0B_obj[i].HasJXSubVertex =
True
825 list_2V0B_obj[i].HasJXV02SubVertex =
True
826 list_2V0B_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
827 list_2V0B_obj[i].V01Hypothesis =
"Lambda/Ks"
828 list_2V0B_obj[i].V02Hypothesis = list_2V0B_v02hypo[i]
829 list_2V0B_obj[i].LxyV01Cut = 5.
830 list_2V0B_obj[i].LxyV02Cut = 5.
831 list_2V0B_obj[i].MassCutGamma = 10.
832 list_2V0B_obj[i].Chi2CutGamma = 3.
833 list_2V0B_obj[i].HypothesisName = list_2V0B_hypo[i]
834 list_2V0B_obj[i].NumberOfJXDaughters = 2
835 list_2V0B_obj[i].JXDaug1MassHypo = Mumass
836 list_2V0B_obj[i].JXDaug2MassHypo = Mumass
837 list_2V0B_obj[i].JpsiMass = Jpsimass
838 list_2V0B_obj[i].LambdaMass = Lambdamass
839 list_2V0B_obj[i].KsMass = Ksmass
840 list_2V0B_obj[i].JXV02VtxMass = list_2V0B_jxv02mass[i]
841 list_2V0B_obj[i].ApplyJpsiMassConstraint =
True
842 list_2V0B_obj[i].ApplyV01MassConstraint =
True
843 list_2V0B_obj[i].ApplyV02MassConstraint =
True
844 list_2V0B_obj[i].ApplyJXV02MassConstraint =
True
845 list_2V0B_obj[i].ApplyMainVMassConstraint =
False
846 list_2V0B_obj[i].Chi2CutV0 = 4.
847 list_2V0B_obj[i].Chi2Cut = 4.
848 list_2V0B_obj[i].Trackd0Cut = 3.0
849 list_2V0B_obj[i].MaxJXCandidates = 10
850 list_2V0B_obj[i].MaxV0Candidates = 20
851 list_2V0B_obj[i].MaxMainVCandidates = 30
852 list_2V0B_obj[i].RefitPV =
True
853 list_2V0B_obj[i].MaxnPV = 50
854 list_2V0B_obj[i].RefPVContainerName =
"BPHY25_"+list_2V0B_hypo[i]+
"_RefPrimaryVertices"
855 list_2V0B_obj[i].TrkVertexFitterTool = vkalvrt
856 list_2V0B_obj[i].V0VertexFitterTool = v0fitter
857 list_2V0B_obj[i].GammaFitterTool = gammafitter
858 list_2V0B_obj[i].PVRefitter = pvrefitter
859 list_2V0B_obj[i].V0Tools = V0Tools
860 list_2V0B_obj[i].TrackToVertexTool = tracktovtxtool
861 list_2V0B_obj[i].V0TrackSelectorTool = v0trackselect
862 list_2V0B_obj[i].Extrapolator = extrapolator
864 BPHY25Rev_JpsiXi = CompFactory.DerivationFramework.ReVertex(
865 name =
"BPHY25Rev_JpsiXi",
866 InputVtxContainerName =
"BPHY25_JpsiXi_CascadeMainVtx",
867 TrackIndices = [ 0, 1 ],
868 UseMassConstraint =
True,
869 VertexMass = Jpsimass,
870 MassInputParticles = [Mumass, Mumass],
872 TrkVertexFitterTool = vkalvrt,
873 PVRefitter = pvrefitter,
876 PVContainerName =
"BPHY25_JpsiXi_RefPrimaryVertices",
877 OutputVtxContainerName =
"BPHY25_JpsiXi_JpsiVtx")
879 BPHY25Rev_JpsiOmg = CompFactory.DerivationFramework.ReVertex(
880 name =
"BPHY25Rev_JpsiOmg",
881 InputVtxContainerName =
"BPHY25_JpsiOmg_CascadeMainVtx",
882 TrackIndices = [ 0, 1 ],
883 UseMassConstraint =
True,
884 VertexMass = Jpsimass,
885 MassInputParticles = [Mumass, Mumass],
887 TrkVertexFitterTool = vkalvrt,
888 PVRefitter = pvrefitter,
891 PVContainerName =
"BPHY25_JpsiOmg_RefPrimaryVertices",
892 OutputVtxContainerName =
"BPHY25_JpsiOmg_JpsiVtx")
894 BPHY25Rev_BpmLd = CompFactory.DerivationFramework.ReVertex(
895 name =
"BPHY25Rev_BpmLd",
896 InputVtxContainerName =
"BPHY25_BpmLd_CascadeVtx2",
897 TrackIndices = [ 0, 1, 2 ],
898 SubVertexTrackIndices = [ 1, 2 ],
899 UseMassConstraint =
True,
900 SubVertexMass = Jpsimass,
901 MassInputParticles = [Mumass, Mumass, Kmass],
903 TrkVertexFitterTool = vkalvrt,
904 PVRefitter = pvrefitter,
907 PVContainerName =
"BPHY25_BpmLd_RefPrimaryVertices",
908 OutputVtxContainerName =
"BPHY25_BpmLd_BpmVtx")
910 BPHY25Rev_B0KpiLd = CompFactory.DerivationFramework.ReVertex(
911 name =
"BPHY25Rev_B0KpiLd",
912 InputVtxContainerName =
"BPHY25_B0KpiLd_CascadeVtx2",
913 TrackIndices = [ 0, 1, 2, 3 ],
914 SubVertexTrackIndices = [ 1, 2 ],
915 UseMassConstraint =
True,
917 SubVertexMass = Jpsimass,
918 MassInputParticles = [Mumass, Mumass, Kmass, Pimass],
920 TrkVertexFitterTool = vkalvrt,
921 PVRefitter = pvrefitter,
924 PVContainerName =
"BPHY25_B0KpiLd_RefPrimaryVertices",
925 OutputVtxContainerName =
"BPHY25_B0KpiLd_B0Vtx")
927 BPHY25Rev_B0piKLd = CompFactory.DerivationFramework.ReVertex(
928 name =
"BPHY25Rev_B0piKLd",
929 InputVtxContainerName =
"BPHY25_B0piKLd_CascadeVtx2",
930 TrackIndices = [ 0, 1, 2, 3 ],
931 SubVertexTrackIndices = [ 1, 2 ],
932 UseMassConstraint =
True,
934 SubVertexMass = Jpsimass,
935 MassInputParticles = [Mumass, Mumass, Pimass, Kmass],
937 TrkVertexFitterTool = vkalvrt,
938 PVRefitter = pvrefitter,
941 PVContainerName =
"BPHY25_B0piKLd_RefPrimaryVertices",
942 OutputVtxContainerName =
"BPHY25_B0piKLd_B0Vtx")
944 BPHY25Rev_B0KpiKs = CompFactory.DerivationFramework.ReVertex(
945 name =
"BPHY25Rev_B0KpiKs",
946 InputVtxContainerName =
"BPHY25_B0KpiKs_CascadeVtx2",
947 TrackIndices = [ 0, 1, 2, 3 ],
948 SubVertexTrackIndices = [ 1, 2 ],
949 UseMassConstraint =
True,
951 SubVertexMass = Jpsimass,
952 MassInputParticles = [Mumass, Mumass, Kmass, Pimass],
954 TrkVertexFitterTool = vkalvrt,
955 PVRefitter = pvrefitter,
958 PVContainerName =
"BPHY25_B0KpiKs_RefPrimaryVertices",
959 OutputVtxContainerName =
"BPHY25_B0KpiKs_B0Vtx")
961 BPHY25Rev_B0piKKs = CompFactory.DerivationFramework.ReVertex(
962 name =
"BPHY25Rev_B0piKKs",
963 InputVtxContainerName =
"BPHY25_B0piKKs_CascadeVtx2",
964 TrackIndices = [ 0, 1, 2, 3 ],
965 SubVertexTrackIndices = [ 1, 2 ],
966 UseMassConstraint =
True,
968 SubVertexMass = Jpsimass,
969 MassInputParticles = [Mumass, Mumass, Pimass, Kmass],
971 TrkVertexFitterTool = vkalvrt,
972 PVRefitter = pvrefitter,
975 PVContainerName =
"BPHY25_B0piKKs_RefPrimaryVertices",
976 OutputVtxContainerName =
"BPHY25_B0piKKs_B0Vtx")
978 BPHY25Rev_Bpm3body = CompFactory.DerivationFramework.ReVertex(
979 name =
"BPHY25Rev_Bpm3body",
980 InputVtxContainerName =
"BPHY25_Bpm3body_CascadeMainVtx",
981 TrackIndices = [ 0, 1, 2 ],
982 SubVertexTrackIndices = [ 1, 2 ],
983 UseMassConstraint =
True,
984 SubVertexMass = Jpsimass,
985 MassInputParticles = [Mumass, Mumass, Protonmass],
987 TrkVertexFitterTool = vkalvrt,
988 PVRefitter = pvrefitter,
991 PVContainerName =
"BPHY25_Bpm3body_RefPrimaryVertices",
992 OutputVtxContainerName =
"BPHY25_Bpm3body_JpsiPVtx")
994 BPHY25Rev_Xibpm3body = CompFactory.DerivationFramework.ReVertex(
995 name =
"BPHY25Rev_Xibpm3body",
996 InputVtxContainerName =
"BPHY25_Xibpm3body_CascadeMainVtx",
997 TrackIndices = [ 0, 1, 2 ],
998 SubVertexTrackIndices = [ 1, 2 ],
999 UseMassConstraint =
True,
1000 SubVertexMass = Jpsimass,
1001 MassInputParticles = [Mumass, Mumass, Pimass],
1003 TrkVertexFitterTool = vkalvrt,
1004 PVRefitter = pvrefitter,
1007 PVContainerName =
"BPHY25_Xibpm3body_RefPrimaryVertices",
1008 OutputVtxContainerName =
"BPHY25_Xibpm3body_JpsiPiVtx")
1010 BPHY25Rev_XibpmRef = CompFactory.DerivationFramework.ReVertex(
1011 name =
"BPHY25Rev_XibpmRef",
1012 InputVtxContainerName =
"BPHY25_XibpmRef_CascadeVtx2",
1013 TrackIndices = [ 0, 1 ],
1014 UseMassConstraint =
True,
1015 VertexMass = Jpsimass,
1016 MassInputParticles = [Mumass, Mumass],
1018 TrkVertexFitterTool = vkalvrt,
1019 PVRefitter = pvrefitter,
1022 PVContainerName =
"BPHY25_XibpmRef_RefPrimaryVertices",
1023 OutputVtxContainerName =
"BPHY25_XibpmRef_JpsiVtx")
1025 BPHY25Rev_Xib03body = CompFactory.DerivationFramework.ReVertex(
1026 name =
"BPHY25Rev_Xib03body",
1027 InputVtxContainerName =
"BPHY25_Xib03body_CascadeMainVtx",
1028 TrackIndices = [ 0, 1 ],
1029 UseMassConstraint =
True,
1030 VertexMass = Jpsimass,
1031 MassInputParticles = [Mumass, Mumass],
1033 TrkVertexFitterTool = vkalvrt,
1034 PVRefitter = pvrefitter,
1037 PVContainerName =
"BPHY25_Xib03body_RefPrimaryVertices",
1038 OutputVtxContainerName =
"BPHY25_Xib03body_JpsiVtx")
1040 BPHY25Rev_Lambdab03body = CompFactory.DerivationFramework.ReVertex(
1041 name =
"BPHY25Rev_Lambdab03body",
1042 InputVtxContainerName =
"BPHY25_Lambdab03body_CascadeMainVtx",
1043 TrackIndices = [ 0, 1 ],
1044 UseMassConstraint =
True,
1045 VertexMass = Jpsimass,
1046 MassInputParticles = [Mumass, Mumass],
1048 TrkVertexFitterTool = vkalvrt,
1049 PVRefitter = pvrefitter,
1052 PVContainerName =
"BPHY25_Lambdab03body_RefPrimaryVertices",
1053 OutputVtxContainerName =
"BPHY25_Lambdab03body_JpsiVtx")
1055 BPHY25Rev_Jpsi2V0A = CompFactory.DerivationFramework.ReVertex(
1056 name =
"BPHY25Rev_Jpsi2V0A",
1057 InputVtxContainerName =
"BPHY25_Jpsi2V0A_CascadeMainVtx",
1058 TrackIndices = [ 0, 1 ],
1059 UseMassConstraint =
True,
1060 VertexMass = Jpsimass,
1061 MassInputParticles = [Mumass, Mumass],
1063 TrkVertexFitterTool = vkalvrt,
1064 PVRefitter = pvrefitter,
1067 PVContainerName =
"BPHY25_Jpsi2V0A_RefPrimaryVertices",
1068 OutputVtxContainerName =
"BPHY25_Jpsi2V0A_JpsiVtx")
1070 BPHY25Rev_Jpsi2V0B1 = CompFactory.DerivationFramework.ReVertex(
1071 name =
"BPHY25Rev_Jpsi2V0B1",
1072 InputVtxContainerName =
"BPHY25_Jpsi2V0B1_CascadeVtx3",
1073 TrackIndices = [ 0, 1 ],
1074 UseMassConstraint =
True,
1075 VertexMass = Jpsimass,
1076 MassInputParticles = [Mumass, Mumass],
1078 TrkVertexFitterTool = vkalvrt,
1079 PVRefitter = pvrefitter,
1082 PVContainerName =
"BPHY25_Jpsi2V0B1_RefPrimaryVertices",
1083 OutputVtxContainerName =
"BPHY25_Jpsi2V0B1_JpsiVtx")
1085 BPHY25Rev_Jpsi2V0B2 = CompFactory.DerivationFramework.ReVertex(
1086 name =
"BPHY25Rev_Jpsi2V0B2",
1087 InputVtxContainerName =
"BPHY25_Jpsi2V0B2_CascadeVtx3",
1088 TrackIndices = [ 0, 1 ],
1089 UseMassConstraint =
True,
1090 VertexMass = Jpsimass,
1091 MassInputParticles = [Mumass, Mumass],
1093 TrkVertexFitterTool = vkalvrt,
1094 PVRefitter = pvrefitter,
1097 PVContainerName =
"BPHY25_Jpsi2V0B2_RefPrimaryVertices",
1098 OutputVtxContainerName =
"BPHY25_Jpsi2V0B2_JpsiVtx")
1101 RefPVContainers = [ ]
1102 RefPVAuxContainers = [ ]
1103 passedCandidates = [ ]
1105 list_obj = list_disV_obj + list_BpmLd_obj + list_B0Ld_obj + list_B0Ks_obj + list_3bodyA_obj + list_RefA_obj + list_3bodyB_obj + list_2V0A_obj + list_2V0B_obj
1106 list_rev = [BPHY25Rev_JpsiXi, BPHY25Rev_JpsiOmg, BPHY25Rev_BpmLd, BPHY25Rev_B0KpiLd, BPHY25Rev_B0piKLd, BPHY25Rev_B0KpiKs, BPHY25Rev_B0piKKs, BPHY25Rev_Bpm3body, BPHY25Rev_Xibpm3body, BPHY25Rev_XibpmRef, BPHY25Rev_Xib03body, BPHY25Rev_Lambdab03body, BPHY25Rev_Jpsi2V0A, BPHY25Rev_Jpsi2V0B1, BPHY25Rev_Jpsi2V0B2]
1108 for obj
in list_obj:
1109 Collections += obj.CascadeVertexCollections
1110 RefPVContainers += [
"xAOD::VertexContainer#BPHY25_" + obj.HypothesisName +
"_RefPrimaryVertices"]
1111 RefPVAuxContainers += [
"xAOD::VertexAuxContainer#BPHY25_" + obj.HypothesisName +
"_RefPrimaryVerticesAux."]
1112 passedCandidates += [
"BPHY25_" + obj.HypothesisName +
"_CascadeMainVtx"]
1114 for obj
in list_rev:
1115 Collections += [ obj.OutputVtxContainerName ]
1117 BPHY25_SelectEvent = CompFactory.DerivationFramework.AnyVertexSkimmingTool(name =
"BPHY25_SelectEvent", VertexContainerNames = passedCandidates)
1118 acc.addPublicTool(BPHY25_SelectEvent)
1120 augmentation_tools = [BPHY25_AugOriginalCounts, BPHY25_Reco_mumu, BPHY25FourTrackReco_B0, BPHY25ThreeTrackReco_Bpm, BPHY25Select_Jpsi] + list_obj + list_rev
1121 for t
in augmentation_tools : acc.addPublicTool(t)
1123 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
1125 AugmentationTools = augmentation_tools,
1126 SkimmingTools = [BPHY25_SelectEvent]
1129 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
1130 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
1131 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
1132 BPHY25SlimmingHelper =
SlimmingHelper(
"BPHY25SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
1133 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import getDefaultAllVariables
1135 BPHY25_StaticContent = []
1138 BPHY25SlimmingHelper.IncludeMuonTriggerContent =
True
1139 BPHY25SlimmingHelper.IncludeBPhysTriggerContent =
True
1142 BPHY25_AllVariables += [
"PrimaryVertices"]
1143 BPHY25_StaticContent += RefPVContainers
1144 BPHY25_StaticContent += RefPVAuxContainers
1147 BPHY25_AllVariables += [
"InDetTrackParticles",
"InDetLargeD0TrackParticles"]
1152 BPHY25_AllVariables += [
"CombinedMuonTrackParticles",
"ExtrapolatedMuonTrackParticles"]
1155 BPHY25_AllVariables += [
"Muons",
"MuonSegments"]
1158 for collection
in Collections:
1159 BPHY25_StaticContent += [
"xAOD::VertexContainer#%s" % collection]
1160 BPHY25_StaticContent += [
"xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % collection]
1164 BPHY25_AllVariables += [
"TruthEvents",
"TruthParticles",
"TruthVertices",
"MuonTruthParticles"]
1166 BPHY25SlimmingHelper.SmartCollections = [
"Muons",
"PrimaryVertices",
"InDetTrackParticles",
"InDetLargeD0TrackParticles"]
1167 BPHY25SlimmingHelper.AllVariables = BPHY25_AllVariables
1168 BPHY25SlimmingHelper.StaticContent = BPHY25_StaticContent
1170 BPHY25ItemList = BPHY25SlimmingHelper.GetItemList()
1171 acc.merge(
OutputStreamCfg(flags,
"DAOD_BPHY25", ItemList=BPHY25ItemList, AcceptAlgs=[
"BPHY25Kernel"]))
1172 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_BPHY25", AcceptAlgs=[
"BPHY25Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
1173 acc.printConfig(withDetails=
True, summariseProps=
True, onlyComponents = [], printDefaults=
True, printComponentsOnly=
False)