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)
98 BPHY25JpsiFinder = CompFactory.Analysis.JpsiFinder(
99 name =
"BPHY25JpsiFinder",
102 TrackAndTrack =
False,
103 assumeDiMuons =
True,
104 trackThresholdPt = 3800.,
105 invMassLower = Jpsi_lo,
106 invMassUpper = Jpsi_hi,
108 oppChargesOnly =
True,
109 atLeastOneComb =
True,
110 useCombinedMeasurement =
False,
111 muonCollectionKey =
"Muons",
112 TrackParticleCollection =
"InDetTrackParticles",
113 V0VertexFitterTool =
None,
115 TrkVertexFitterTool = vkalvrt,
116 TrackSelectorTool = trackselect,
117 VertexPointEstimator = vpest,
119 acc.addPublicTool(BPHY25JpsiFinder)
121 BPHY25_Reco_mumu = CompFactory.DerivationFramework.Reco_Vertex(
122 name =
"BPHY25_Reco_mumu",
123 VertexSearchTool = BPHY25JpsiFinder,
124 OutputVtxContainerName =
"BPHY25OniaCandidates",
125 PVContainerName =
"PrimaryVertices",
126 RelinkTracks = TrkToRelink,
128 PVRefitter = pvrefitter,
133 BPHY25Bc_Jpsi1Trk = CompFactory.Analysis.JpsiPlus1Track(
134 name =
"BPHY25Bc_Jpsi1Trk",
135 pionHypothesis =
True,
136 kaonHypothesis =
False,
137 trkThresholdPt = 3320.,
139 JpsiMassLower = Jpsi_lo,
140 JpsiMassUpper = Jpsi_hi,
141 TrkTrippletMassLower = Bc_lo-100,
142 TrkTrippletMassUpper = Bc_hi+100,
146 JpsiContainerKey =
"BPHY25OniaCandidates",
147 TrackParticleCollection =
"InDetTrackParticles",
148 MuonsUsedInJpsi =
"Muons",
149 ExcludeJpsiMuonsOnly =
True,
150 TrkVertexFitterTool = vkalvrt,
151 TrackSelectorTool = trackselect,
152 UseMassConstraint =
True)
153 acc.addPublicTool(BPHY25Bc_Jpsi1Trk)
156 BPHY25B0_Jpsi2Trk = CompFactory.Analysis.JpsiPlus2Tracks(
157 name =
"BPHY25B0_Jpsi2Trk",
158 kaonkaonHypothesis =
False,
159 pionpionHypothesis =
False,
160 kaonpionHypothesis =
True,
161 kaonprotonHypothesis =
False,
162 trkThresholdPt = 760.,
164 oppChargesOnly =
False,
165 JpsiMassLower = Jpsi_lo,
166 JpsiMassUpper = Jpsi_hi,
167 TrkQuadrupletMassLower = B_lo-100,
168 TrkQuadrupletMassUpper = B_hi+100,
171 DiTrackMassLower = 500.,
172 DiTrackMassUpper = 1100.,
174 JpsiContainerKey =
"BPHY25OniaCandidates",
175 TrackParticleCollection =
"InDetTrackParticles",
176 MuonsUsedInJpsi =
"Muons",
177 ExcludeJpsiMuonsOnly =
True,
178 TrkVertexFitterTool = vkalvrt,
179 TrackSelectorTool = trackselect,
180 UseMassConstraint =
True)
181 acc.addPublicTool(BPHY25B0_Jpsi2Trk)
186 BPHY25ThreeTrackReco_Bc = CompFactory.DerivationFramework.Reco_Vertex(
187 name =
"BPHY25ThreeTrackReco_Bc",
188 VertexSearchTool = BPHY25Bc_Jpsi1Trk,
189 OutputVtxContainerName =
"BPHY25_BcToJpsiPi",
190 PVContainerName =
"PrimaryVertices",
191 RefPVContainerName =
"BPHY25_BcToJpsiPi_RefPrimaryVertices",
192 RelinkTracks = TrkToRelink,
194 PVRefitter = pvrefitter,
199 BPHY25FourTrackReco_B0 = CompFactory.DerivationFramework.Reco_Vertex(
200 name =
"BPHY25FourTrackReco_B0",
201 VertexSearchTool = BPHY25B0_Jpsi2Trk,
202 OutputVtxContainerName =
"BPHY25FourTrack_B0",
203 PVContainerName =
"PrimaryVertices",
204 RelinkTracks = TrkToRelink,
206 PVRefitter = pvrefitter,
210 BPHY25Select_Jpsi = CompFactory.DerivationFramework.Select_onia2mumu(
211 name =
"BPHY25Select_Jpsi",
212 HypothesisName =
"Jpsi",
213 InputVtxContainerName =
"BPHY25OniaCandidates",
215 TrkMasses = [Mumass, Mumass],
225 list_disV_hypo = [
"JpsiXi",
"JpsiOmg"]
226 list_disV_jxHypo = [
"Jpsi",
"Jpsi"]
227 list_disV_disVLo = [Xi_lo, Omg_lo]
228 list_disV_disVHi = [Xi_hi, Omg_hi]
229 list_disV_disVDau3Mass = [Pimass, Kmass]
230 list_disV_disVDaug3MinPt = [650., 750.]
231 list_disV_jxMass = [Jpsimass, Jpsimass]
232 list_disV_disVMass = [Ximass, Omegamass]
235 for hypo
in list_disV_hypo:
236 list_disV_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
238 for i
in range(len(list_disV_obj)):
239 list_disV_obj[i].JXVertices =
"BPHY25OniaCandidates"
240 list_disV_obj[i].JXVtxHypoNames = [list_disV_jxHypo[i]]
241 list_disV_obj[i].TrackParticleCollection = mainIDInput
242 list_disV_obj[i].RelinkTracks = TrkToRelink
245 list_disV_obj[i].OutputV0VtxCollection =
"V0Collection"
247 list_disV_obj[i].V0Vertices =
"V0Collection"
248 list_disV_obj[i].UseImprovedMass =
True
249 list_disV_obj[i].LambdaMassLowerCut = Ld_lo
250 list_disV_obj[i].LambdaMassUpperCut = Ld_hi
251 list_disV_obj[i].KsMassLowerCut = Ks_lo
252 list_disV_obj[i].KsMassUpperCut = Ks_hi
253 list_disV_obj[i].DisplacedMassLowerCut = list_disV_disVLo[i]
254 list_disV_obj[i].DisplacedMassUpperCut = list_disV_disVHi[i]
255 list_disV_obj[i].MassLowerCut = 0.
256 list_disV_obj[i].MassUpperCut = 12200.
257 list_disV_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_disV_hypo[i]+
"_CascadeVtx1_sub",
"BPHY25_"+list_disV_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_disV_hypo[i]+
"_CascadeMainVtx"]
258 list_disV_obj[i].HasJXSubVertex =
False
259 list_disV_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
260 list_disV_obj[i].V0Hypothesis =
"Lambda"
261 list_disV_obj[i].MassCutGamma = 10.
262 list_disV_obj[i].Chi2CutGamma = 3.
263 list_disV_obj[i].LxyV0Cut = 5.
264 list_disV_obj[i].LxyDisVtxCut = 5.
265 list_disV_obj[i].HypothesisName = list_disV_hypo[i]
266 list_disV_obj[i].NumberOfJXDaughters = 2
267 list_disV_obj[i].JXDaug1MassHypo = Mumass
268 list_disV_obj[i].JXDaug2MassHypo = Mumass
269 list_disV_obj[i].NumberOfDisVDaughters = 3
270 list_disV_obj[i].DisVDaug3MassHypo = list_disV_disVDau3Mass[i]
271 list_disV_obj[i].DisVDaug3MinPt = list_disV_disVDaug3MinPt[i]
272 list_disV_obj[i].JpsiMass = list_disV_jxMass[i]
273 list_disV_obj[i].LambdaMass = Lambdamass
274 list_disV_obj[i].KsMass = Ksmass
275 list_disV_obj[i].DisVtxMass = list_disV_disVMass[i]
276 list_disV_obj[i].ApplyJpsiMassConstraint =
True
277 list_disV_obj[i].ApplyV0MassConstraint =
True
278 list_disV_obj[i].ApplyDisVMassConstraint =
True
279 list_disV_obj[i].ApplyMainVMassConstraint =
False
280 list_disV_obj[i].Chi2CutV0 = 4.
281 list_disV_obj[i].Chi2CutDisV = 4.
282 list_disV_obj[i].Chi2Cut = 4.
283 list_disV_obj[i].Trackd0Cut = 3.0
284 list_disV_obj[i].MaxJXCandidates = 10
285 list_disV_obj[i].MaxV0Candidates = 20
286 list_disV_obj[i].MaxDisVCandidates = 30
287 list_disV_obj[i].MaxMainVCandidates = 30
288 list_disV_obj[i].RefitPV =
True
289 list_disV_obj[i].MaxnPV = 50
290 list_disV_obj[i].RefPVContainerName =
"BPHY25_"+list_disV_hypo[i]+
"_RefPrimaryVertices"
291 list_disV_obj[i].TrkVertexFitterTool = vkalvrt
292 list_disV_obj[i].V0VertexFitterTool = v0fitter
293 list_disV_obj[i].GammaFitterTool = gammafitter
294 list_disV_obj[i].PVRefitter = pvrefitter
295 list_disV_obj[i].V0Tools = V0Tools
296 list_disV_obj[i].TrackToVertexTool = tracktovtxtool
297 list_disV_obj[i].V0TrackSelectorTool = v0trackselect
298 list_disV_obj[i].TrackSelectorTool = trackselect
299 list_disV_obj[i].Extrapolator = extrapolator
306 list_trkLd_hypo = [
"B0KpiLd",
"B0piKLd"]
307 list_trkLd_jxInput = [
"BPHY25FourTrack_B0",
"BPHY25FourTrack_B0"]
308 list_trkLd_jxMass = [B0mass, B0mass]
309 list_trkLd_jxDau3Mass = [Kmass, Pimass]
310 list_trkLd_jxDau4Mass = [Pimass, Kmass]
311 list_trkLd_jxMassLo = [B_lo, B_lo]
312 list_trkLd_jxMassHi = [B_hi, B_hi]
315 for hypo
in list_trkLd_hypo:
316 list_trkLd_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
318 for i
in range(len(list_trkLd_obj)):
319 list_trkLd_obj[i].JXVertices = list_trkLd_jxInput[i]
320 list_trkLd_obj[i].TrackParticleCollection = mainIDInput
321 list_trkLd_obj[i].RelinkTracks = TrkToRelink
322 list_trkLd_obj[i].V0Vertices =
"V0Collection"
323 list_trkLd_obj[i].UseImprovedMass =
True
324 list_trkLd_obj[i].LambdaMassLowerCut = Ld_lo
325 list_trkLd_obj[i].LambdaMassUpperCut = Ld_hi
326 list_trkLd_obj[i].KsMassLowerCut = Ks_lo
327 list_trkLd_obj[i].KsMassUpperCut = Ks_hi
328 list_trkLd_obj[i].MassLowerCut = 0.
329 list_trkLd_obj[i].MassUpperCut = 9400.
330 list_trkLd_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_trkLd_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_trkLd_hypo[i]+
"_CascadeVtx2",
"BPHY25_"+list_trkLd_hypo[i]+
"_CascadeMainVtx"]
331 list_trkLd_obj[i].HasJXSubVertex =
True
332 list_trkLd_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
333 list_trkLd_obj[i].V0Hypothesis =
"Lambda/Ks"
334 list_trkLd_obj[i].MassCutGamma = 10.
335 list_trkLd_obj[i].Chi2CutGamma = 3.
336 list_trkLd_obj[i].LxyV0Cut = 5.
337 list_trkLd_obj[i].HypothesisName = list_trkLd_hypo[i]
338 list_trkLd_obj[i].NumberOfJXDaughters = 4
339 list_trkLd_obj[i].JXDaug1MassHypo = Mumass
340 list_trkLd_obj[i].JXDaug2MassHypo = Mumass
341 list_trkLd_obj[i].JXDaug3MassHypo = list_trkLd_jxDau3Mass[i]
342 list_trkLd_obj[i].JXDaug4MassHypo = list_trkLd_jxDau4Mass[i]
343 list_trkLd_obj[i].JXPtOrdering =
False
344 list_trkLd_obj[i].JXMassLowerCut = list_trkLd_jxMassLo[i]
345 list_trkLd_obj[i].JXMassUpperCut = list_trkLd_jxMassHi[i]
346 list_trkLd_obj[i].JpsiMassLowerCut = Jpsi_lo
347 list_trkLd_obj[i].JpsiMassUpperCut = Jpsi_hi
348 list_trkLd_obj[i].DisplacedMassLowerCut = 500.
349 list_trkLd_obj[i].DisplacedMassUpperCut = 1100.
350 list_trkLd_obj[i].NumberOfDisVDaughters = 2
351 list_trkLd_obj[i].JXMass = list_trkLd_jxMass[i]
352 list_trkLd_obj[i].JpsiMass = Jpsimass
353 list_trkLd_obj[i].LambdaMass = Lambdamass
354 list_trkLd_obj[i].KsMass = Ksmass
355 list_trkLd_obj[i].ApplyJXMassConstraint =
True
356 list_trkLd_obj[i].ApplyJpsiMassConstraint =
True
357 list_trkLd_obj[i].ApplyV0MassConstraint =
True
358 list_trkLd_obj[i].ApplyMainVMassConstraint =
False
359 list_trkLd_obj[i].Chi2CutV0 = 4.
360 list_trkLd_obj[i].Chi2Cut = 4.
361 list_trkLd_obj[i].Trackd0Cut = 3.0
362 list_trkLd_obj[i].MaxJXCandidates = 20
363 list_trkLd_obj[i].MaxV0Candidates = 20
364 list_trkLd_obj[i].MaxMainVCandidates = 30
365 list_trkLd_obj[i].RefitPV =
True
366 list_trkLd_obj[i].MaxnPV = 50
367 list_trkLd_obj[i].RefPVContainerName =
"BPHY25_"+list_trkLd_hypo[i]+
"_RefPrimaryVertices"
368 list_trkLd_obj[i].TrkVertexFitterTool = vkalvrt
369 list_trkLd_obj[i].V0VertexFitterTool = v0fitter
370 list_trkLd_obj[i].GammaFitterTool = gammafitter
371 list_trkLd_obj[i].PVRefitter = pvrefitter
372 list_trkLd_obj[i].V0Tools = V0Tools
373 list_trkLd_obj[i].TrackToVertexTool = tracktovtxtool
374 list_trkLd_obj[i].V0TrackSelectorTool = v0trackselect
375 list_trkLd_obj[i].TrackSelectorTool = trackselect
376 list_trkLd_obj[i].Extrapolator = extrapolator
382 list_3bodyA_hypo = [
"Bc_3body"]
383 list_3bodyA_extraTrk1Mass = [Kmass]
384 list_3bodyA_extraTrk2Mass = [Pimass]
385 list_3bodyA_extraTrk3Mass = [Pimass]
388 for hypo
in list_3bodyA_hypo:
389 list_3bodyA_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced(
"BPHY25_"+hypo) )
391 for i
in range(len(list_3bodyA_obj)):
392 list_3bodyA_obj[i].JXVertices =
"BPHY25OniaCandidates"
393 list_3bodyA_obj[i].JXVtxHypoNames = [
"Jpsi"]
394 list_3bodyA_obj[i].TrackParticleCollection = mainIDInput
395 list_3bodyA_obj[i].RelinkTracks = TrkToRelink
396 list_3bodyA_obj[i].V0Vertices =
"V0Collection"
397 list_3bodyA_obj[i].UseImprovedMass =
True
398 list_3bodyA_obj[i].LambdaMassLowerCut = Ld_lo
399 list_3bodyA_obj[i].LambdaMassUpperCut = Ld_hi
400 list_3bodyA_obj[i].KsMassLowerCut = Ks_lo
401 list_3bodyA_obj[i].KsMassUpperCut = Ks_hi
402 list_3bodyA_obj[i].MassLowerCut = 5900.
403 list_3bodyA_obj[i].MassUpperCut = 6650.
404 list_3bodyA_obj[i].CascadeVertexCollections = [
"BPHY25_"+list_3bodyA_hypo[i]+
"_CascadeVtx1",
"BPHY25_"+list_3bodyA_hypo[i]+
"_CascadeVtx2",
"BPHY25_"+list_3bodyA_hypo[i]+
"_CascadeMainVtx"]
405 list_3bodyA_obj[i].VxPrimaryCandidateName =
"PrimaryVertices"
406 list_3bodyA_obj[i].V0Hypothesis =
"Ks"
407 list_3bodyA_obj[i].MassCutGamma = 10.
408 list_3bodyA_obj[i].Chi2CutGamma = 3.
409 list_3bodyA_obj[i].LxyV0Cut = 5.
410 list_3bodyA_obj[i].HypothesisName = list_3bodyA_hypo[i]
411 list_3bodyA_obj[i].NumberOfJXDaughters = 2
412 list_3bodyA_obj[i].JXDaug1MassHypo = Mumass
413 list_3bodyA_obj[i].JXDaug2MassHypo = Mumass
414 list_3bodyA_obj[i].NumberOfDisVDaughters = 2
415 list_3bodyA_obj[i].ExtraTrack1MassHypo = list_3bodyA_extraTrk1Mass[i]
416 list_3bodyA_obj[i].ExtraTrack1MinPt = 2000.
417 list_3bodyA_obj[i].ExtraTrack2MassHypo = list_3bodyA_extraTrk2Mass[i]
418 list_3bodyA_obj[i].ExtraTrack2MinPt = 1610.
419 list_3bodyA_obj[i].ExtraTrack3MassHypo = list_3bodyA_extraTrk3Mass[i]
420 list_3bodyA_obj[i].ExtraTrack3MinPt = 1230.
421 list_3bodyA_obj[i].LxyDpmCut = 0.12
422 list_3bodyA_obj[i].DpmMassLowerCut = Dpm_lo
423 list_3bodyA_obj[i].DpmMassUpperCut = Dpm_hi
424 list_3bodyA_obj[i].MaxMesonCandidates = 30
425 list_3bodyA_obj[i].MesonPtOrdering =
True
426 list_3bodyA_obj[i].DpmMass = Dpmmass
427 list_3bodyA_obj[i].JpsiMass = Jpsimass
428 list_3bodyA_obj[i].LambdaMass = Lambdamass
429 list_3bodyA_obj[i].KsMass = Ksmass
430 list_3bodyA_obj[i].ApplyJpsiMassConstraint =
True
431 list_3bodyA_obj[i].ApplyV0MassConstraint =
True
432 list_3bodyA_obj[i].ApplyDpmMassConstraint =
True
433 list_3bodyA_obj[i].ApplyMainVMassConstraint =
False
434 list_3bodyA_obj[i].Chi2CutV0 = 4.
435 list_3bodyA_obj[i].Chi2CutDpm = 3.
436 list_3bodyA_obj[i].Chi2Cut = 4.
437 list_3bodyA_obj[i].Trackd0Cut = 3.0
438 list_3bodyA_obj[i].MaxJXCandidates = 10
439 list_3bodyA_obj[i].MaxV0Candidates = 20
440 list_3bodyA_obj[i].MaxMainVCandidates = 30
441 list_3bodyA_obj[i].RefitPV =
True
442 list_3bodyA_obj[i].MaxnPV = 50
443 list_3bodyA_obj[i].RefPVContainerName =
"BPHY25_"+list_3bodyA_hypo[i]+
"_RefPrimaryVertices"
444 list_3bodyA_obj[i].TrkVertexFitterTool = vkalvrt
445 list_3bodyA_obj[i].V0VertexFitterTool = v0fitter
446 list_3bodyA_obj[i].GammaFitterTool = gammafitter
447 list_3bodyA_obj[i].PVRefitter = pvrefitter
448 list_3bodyA_obj[i].V0Tools = V0Tools
449 list_3bodyA_obj[i].TrackToVertexTool = tracktovtxtool
450 list_3bodyA_obj[i].V0TrackSelectorTool = v0trackselect
451 list_3bodyA_obj[i].TrackSelectorTool = trackselect
452 list_3bodyA_obj[i].Extrapolator = extrapolator
454 Collections = [
"BPHY25_BcToJpsiPi" ]
455 RefPVContainers = [
"xAOD::VertexContainer#BPHY25_BcToJpsiPi_RefPrimaryVertices" ]
456 RefPVAuxContainers = [
"xAOD::VertexAuxContainer#BPHY25_BcToJpsiPi_RefPrimaryVerticesAux." ]
457 passedCandidates = [
"BPHY25_BcToJpsiPi" ]
459 list_obj = list_disV_obj + list_trkLd_obj + list_3bodyA_obj
462 Collections += obj.CascadeVertexCollections
463 RefPVContainers += [
"xAOD::VertexContainer#BPHY25_" + obj.HypothesisName +
"_RefPrimaryVertices"]
464 RefPVAuxContainers += [
"xAOD::VertexAuxContainer#BPHY25_" + obj.HypothesisName +
"_RefPrimaryVerticesAux."]
465 passedCandidates += [
"BPHY25_" + obj.HypothesisName +
"_CascadeMainVtx"]
467 BPHY25_SelectEvent = CompFactory.DerivationFramework.AnyVertexSkimmingTool(name =
"BPHY25_SelectEvent", VertexContainerNames = passedCandidates)
468 acc.addPublicTool(BPHY25_SelectEvent)
470 augmentation_tools = [BPHY25_AugOriginalCounts, BPHY25_Reco_mumu, BPHY25ThreeTrackReco_Bc, BPHY25FourTrackReco_B0, BPHY25Select_Jpsi] + list_obj
471 for t
in augmentation_tools : acc.addPublicTool(t)
473 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
475 AugmentationTools = augmentation_tools,
476 SkimmingTools = [BPHY25_SelectEvent]
479 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
480 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
481 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
482 BPHY25SlimmingHelper =
SlimmingHelper(
"BPHY25SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
483 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import getDefaultAllVariables
485 BPHY25_StaticContent = []
488 BPHY25SlimmingHelper.IncludeMuonTriggerContent =
True
489 BPHY25SlimmingHelper.IncludeBPhysTriggerContent =
True
492 BPHY25_AllVariables += [
"PrimaryVertices"]
493 BPHY25_StaticContent += RefPVContainers
494 BPHY25_StaticContent += RefPVAuxContainers
497 BPHY25_AllVariables += [
"InDetTrackParticles",
"InDetLargeD0TrackParticles"]
502 BPHY25_AllVariables += [
"CombinedMuonTrackParticles",
"ExtrapolatedMuonTrackParticles"]
505 BPHY25_AllVariables += [
"Muons",
"MuonSegments"]
508 for collection
in Collections:
509 BPHY25_StaticContent += [
"xAOD::VertexContainer#%s" % collection]
510 BPHY25_StaticContent += [
"xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % collection]
514 BPHY25_AllVariables += [
"TruthEvents",
"TruthParticles",
"TruthVertices",
"MuonTruthParticles"]
516 BPHY25SlimmingHelper.SmartCollections = [
"Muons",
"PrimaryVertices",
"InDetTrackParticles",
"InDetLargeD0TrackParticles"]
517 BPHY25SlimmingHelper.AllVariables = BPHY25_AllVariables
518 BPHY25SlimmingHelper.StaticContent = BPHY25_StaticContent
520 BPHY25ItemList = BPHY25SlimmingHelper.GetItemList()
521 acc.merge(
OutputStreamCfg(flags,
"DAOD_BPHY25", ItemList=BPHY25ItemList, AcceptAlgs=[
"BPHY25Kernel"]))
522 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_BPHY25", AcceptAlgs=[
"BPHY25Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
523 acc.printConfig(withDetails=
True, summariseProps=
True, onlyComponents = [], printDefaults=
True, printComponentsOnly=
False)