ATLAS Offline Software
Functions | Variables
BPHY25 Namespace Reference

Functions

def BPHY25Cfg (flags)
 

Variables

string BPHYDerivationName = "BPHY25"
 
string streamName = "StreamDAOD_BPHY25"
 

Function Documentation

◆ BPHY25Cfg()

def BPHY25.BPHY25Cfg (   flags)

Definition at line 14 of file BPHY25.py.

14 def BPHY25Cfg(flags):
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
18  acc = ComponentAccumulator()
19  acc.getPrimaryAndMerge(PartPropSvcCfg(flags))
20  isSimulation = flags.Input.isMC
21 
22  doLRT = True
23  # Adds primary vertex counts and track counts to EventInfo before they are thinned
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)
30 
31  mainIDInput = "InDetWithLRTTrackParticles" if doLRT else "InDetTrackParticles"
32  if doLRT:
33  from DerivationFrameworkInDet.InDetToolsConfig import InDetLRTMergeCfg
34  acc.merge(InDetLRTMergeCfg( flags, OutputTrackParticleLocation = mainIDInput ))
35 
36  TrkToRelink = ["InDetTrackParticles", "InDetLargeD0TrackParticles"] if doLRT else ["InDetTrackParticles"]
37 
38  V0Tools = acc.popToolsAndMerge(BPHY_V0ToolCfg(flags, BPHYDerivationName))
39  vkalvrt = acc.popToolsAndMerge(BPHY_TrkVKalVrtFitterCfg(flags, BPHYDerivationName)) # VKalVrt vertex fitter
40  acc.addPublicTool(vkalvrt)
41  acc.addPublicTool(V0Tools)
42  trackselect = acc.popToolsAndMerge(BPHY_InDetDetailedTrackSelectorToolCfg(flags, BPHYDerivationName))
43  acc.addPublicTool(trackselect)
44  vpest = acc.popToolsAndMerge(BPHY_VertexPointEstimatorCfg(flags, BPHYDerivationName))
45  acc.addPublicTool(vpest)
46  pvrefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
47  acc.addPublicTool(pvrefitter)
48  from TrkConfig.TrkV0FitterConfig import TrkV0VertexFitter_InDetExtrCfg
49  v0fitter = acc.popToolsAndMerge(TrkV0VertexFitter_InDetExtrCfg(flags))
50  acc.addPublicTool(v0fitter)
51  from TrackToVertex.TrackToVertexConfig import InDetTrackToVertexCfg
52  tracktovtxtool = acc.popToolsAndMerge(InDetTrackToVertexCfg(flags))
53  acc.addPublicTool(tracktovtxtool)
54  from TrkConfig.TrkVKalVrtFitterConfig import V0VKalVrtFitterCfg
55  gammafitter = acc.popToolsAndMerge(V0VKalVrtFitterCfg(
56  flags, BPHYDerivationName+"_GammaFitter",
57  Robustness = 6,
58  usePhiCnst = True,
59  useThetaCnst = True,
60  InputParticleMasses = [0.511,0.511] ))
61  acc.addPublicTool(gammafitter)
62  from InDetConfig.InDetTrackSelectorToolConfig import V0InDetConversionTrackSelectorToolCfg
63  v0trackselect = acc.popToolsAndMerge(V0InDetConversionTrackSelectorToolCfg(flags))
64  acc.addPublicTool(v0trackselect)
65  from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
66  extrapolator = acc.popToolsAndMerge(AtlasExtrapolatorCfg(flags))
67  acc.addPublicTool(extrapolator)
68 
69  # mass limits and constants used in the following
70  Jpsi_lo = 2600.0
71  Jpsi_hi = 3500.0
72  Dpm_lo = 1700.0
73  Dpm_hi = 2039.0
74  B_lo = 5080.0
75  B_hi = 5480.0
76  Bc_lo = 5900.0
77  Bc_hi = 6700.0
78  Ks_lo = 430.0
79  Ks_hi = 565.0
80  Ld_lo = 1030.0
81  Ld_hi = 1200.0
82  Xi_lo = 1260.0
83  Xi_hi = 1383.0
84  Omg_lo = 1600.0
85  Omg_hi = 1745.0
86 
87  Mumass = 105.658
88  Pimass = 139.570
89  Kmass = 493.677
90  Ksmass = 497.611
91  Jpsimass = 3096.916
92  Dpmmass = 1869.66
93  B0mass = 5279.66
94  Lambdamass = 1115.683
95  Ximass = 1321.71
96  Omegamass = 1672.45
97 
98  BPHY25JpsiFinder = CompFactory.Analysis.JpsiFinder(
99  name = "BPHY25JpsiFinder",
100  muAndMu = True,
101  muAndTrack = False,
102  TrackAndTrack = False,
103  assumeDiMuons = True, # If true, will assume dimu hypothesis and use PDG value for mu mass
104  trackThresholdPt = 3800.,
105  invMassLower = Jpsi_lo,
106  invMassUpper = Jpsi_hi,
107  Chi2Cut = 4., # NDF=1 if no mass constraint
108  oppChargesOnly = True,
109  atLeastOneComb = True,
110  useCombinedMeasurement = False, # Only takes effect if combOnly=True
111  muonCollectionKey = "Muons",
112  TrackParticleCollection = "InDetTrackParticles",
113  V0VertexFitterTool = None,
114  useV0Fitter = False, # if False a TrkVertexFitterTool will be used
115  TrkVertexFitterTool = vkalvrt, # VKalVrt vertex fitter
116  TrackSelectorTool = trackselect,
117  VertexPointEstimator = vpest,
118  useMCPCuts = False )
119  acc.addPublicTool(BPHY25JpsiFinder)
120 
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,
127  V0Tools = V0Tools,
128  PVRefitter = pvrefitter,
129  RefitPV = False,
130  DoVertexType = 0)
131 
132  # Bc -> J/psi pi
133  BPHY25Bc_Jpsi1Trk = CompFactory.Analysis.JpsiPlus1Track(
134  name = "BPHY25Bc_Jpsi1Trk",
135  pionHypothesis = True,
136  kaonHypothesis = False,
137  trkThresholdPt = 3320.,
138  trkMaxEta = 2.6,
139  JpsiMassLower = Jpsi_lo,
140  JpsiMassUpper = Jpsi_hi,
141  TrkTrippletMassLower = Bc_lo-100,
142  TrkTrippletMassUpper = Bc_hi+100,
143  BMassLower = Bc_lo,
144  BMassUpper = Bc_hi,
145  Chi2Cut = 4.,
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)
154 
155  # B0 -> J/psi + K pi
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.,
163  trkMaxEta = 2.6,
164  oppChargesOnly = False,
165  JpsiMassLower = Jpsi_lo,
166  JpsiMassUpper = Jpsi_hi,
167  TrkQuadrupletMassLower = B_lo-100,
168  TrkQuadrupletMassUpper = B_hi+100,
169  BMassLower = B_lo,
170  BMassUpper = B_hi,
171  DiTrackMassLower = 500.,
172  DiTrackMassUpper = 1100.,
173  Chi2Cut = 4.,
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)
182 
183 
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,
193  V0Tools = V0Tools,
194  PVRefitter = pvrefitter,
195  RefitPV = True,
196  MaxPVrefit = 100,
197  DoVertexType = 7)
198 
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,
205  V0Tools = V0Tools,
206  PVRefitter = pvrefitter,
207  RefitPV = False,
208  DoVertexType = 0)
209 
210  BPHY25Select_Jpsi = CompFactory.DerivationFramework.Select_onia2mumu(
211  name = "BPHY25Select_Jpsi",
212  HypothesisName = "Jpsi",
213  InputVtxContainerName = "BPHY25OniaCandidates",
214  V0Tools = V0Tools,
215  TrkMasses = [Mumass, Mumass],
216  MassMin = Jpsi_lo,
217  MassMax = Jpsi_hi,
218  DoVertexType = 0)
219 
220 
224 
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]
233 
234  list_disV_obj = []
235  for hypo in list_disV_hypo:
236  list_disV_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced("BPHY25_"+hypo) )
237 
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
243  if i == 0:
244  # create V0 container for all following instances
245  list_disV_obj[i].OutputV0VtxCollection = "V0Collection"
246  else:
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
300 
301 
305 
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]
313 
314  list_trkLd_obj = []
315  for hypo in list_trkLd_hypo:
316  list_trkLd_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced("BPHY25_"+hypo) )
317 
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
377 
378 
381 
382  list_3bodyA_hypo = ["Bc_3body"]
383  list_3bodyA_extraTrk1Mass = [Kmass]
384  list_3bodyA_extraTrk2Mass = [Pimass]
385  list_3bodyA_extraTrk3Mass = [Pimass]
386 
387  list_3bodyA_obj = []
388  for hypo in list_3bodyA_hypo:
389  list_3bodyA_obj.append( CompFactory.DerivationFramework.JpsiXPlusDisplaced("BPHY25_"+hypo) )
390 
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
453 
454  Collections = [ "BPHY25_BcToJpsiPi" ]
455  RefPVContainers = [ "xAOD::VertexContainer#BPHY25_BcToJpsiPi_RefPrimaryVertices" ]
456  RefPVAuxContainers = [ "xAOD::VertexAuxContainer#BPHY25_BcToJpsiPi_RefPrimaryVerticesAux." ]
457  passedCandidates = [ "BPHY25_BcToJpsiPi" ]
458 
459  list_obj = list_disV_obj + list_trkLd_obj + list_3bodyA_obj
460 
461  for obj in list_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"]
466 
467  BPHY25_SelectEvent = CompFactory.DerivationFramework.AnyVertexSkimmingTool(name = "BPHY25_SelectEvent", VertexContainerNames = passedCandidates)
468  acc.addPublicTool(BPHY25_SelectEvent)
469 
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)
472 
473  acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
474  "BPHY25Kernel",
475  AugmentationTools = augmentation_tools,
476  SkimmingTools = [BPHY25_SelectEvent]
477  ))
478 
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
484  BPHY25_AllVariables = getDefaultAllVariables()
485  BPHY25_StaticContent = []
486 
487  # Needed for trigger objects
488  BPHY25SlimmingHelper.IncludeMuonTriggerContent = True
489  BPHY25SlimmingHelper.IncludeBPhysTriggerContent = True
490 
491 
492  BPHY25_AllVariables += ["PrimaryVertices"]
493  BPHY25_StaticContent += RefPVContainers
494  BPHY25_StaticContent += RefPVAuxContainers
495 
496 
497  BPHY25_AllVariables += ["InDetTrackParticles", "InDetLargeD0TrackParticles"]
498 
499 
502  BPHY25_AllVariables += ["CombinedMuonTrackParticles", "ExtrapolatedMuonTrackParticles"]
503 
504 
505  BPHY25_AllVariables += ["Muons", "MuonSegments"]
506 
507 
508  for collection in Collections:
509  BPHY25_StaticContent += ["xAOD::VertexContainer#%s" % collection]
510  BPHY25_StaticContent += ["xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % collection]
511 
512  # Truth information for MC only
513  if isSimulation:
514  BPHY25_AllVariables += ["TruthEvents","TruthParticles","TruthVertices","MuonTruthParticles"]
515 
516  BPHY25SlimmingHelper.SmartCollections = ["Muons", "PrimaryVertices", "InDetTrackParticles", "InDetLargeD0TrackParticles"]
517  BPHY25SlimmingHelper.AllVariables = BPHY25_AllVariables
518  BPHY25SlimmingHelper.StaticContent = BPHY25_StaticContent
519 
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)
524  return acc

Variable Documentation

◆ BPHYDerivationName

string BPHY25.BPHYDerivationName = "BPHY25"

Definition at line 11 of file BPHY25.py.

◆ streamName

string BPHY25.streamName = "StreamDAOD_BPHY25"

Definition at line 12 of file BPHY25.py.

python.HIGG1D1CustomVertexConfig.PrimaryVertexRefittingToolCfg
def PrimaryVertexRefittingToolCfg(flags, **kwargs)
Definition: HIGG1D1CustomVertexConfig.py:7
python.TrkV0FitterConfig.TrkV0VertexFitter_InDetExtrCfg
def TrkV0VertexFitter_InDetExtrCfg(flags, name="TrkV0VertexFitter_InDetExtr", **kwargs)
Definition: TrkV0FitterConfig.py:22
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:12
commonBPHYMethodsCfg.BPHY_TrkVKalVrtFitterCfg
def BPHY_TrkVKalVrtFitterCfg(flags, BPHYDerivationName, **kwargs)
Definition: commonBPHYMethodsCfg.py:6
BPHY25.BPHY25Cfg
def BPHY25Cfg(flags)
Definition: BPHY25.py:14
python.AtlasExtrapolatorConfig.AtlasExtrapolatorCfg
def AtlasExtrapolatorCfg(flags, name='AtlasExtrapolator')
Definition: AtlasExtrapolatorConfig.py:63
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
python.PartPropSvcConfig.PartPropSvcCfg
def PartPropSvcCfg(flags, **kwargs)
Definition: PartPropSvcConfig.py:6
commonBPHYMethodsCfg.BPHY_V0ToolCfg
def BPHY_V0ToolCfg(flags, BPHYDerivationName)
Definition: commonBPHYMethodsCfg.py:11
python.InDetConversionFinderToolsConfig.BPHY_VertexPointEstimatorCfg
def BPHY_VertexPointEstimatorCfg(flags, name="BPHY_VertexPointEstimator", **kwargs)
Definition: InDetConversionFinderToolsConfig.py:69
commonBPHYMethodsCfg.getDefaultAllVariables
def getDefaultAllVariables()
Definition: commonBPHYMethodsCfg.py:32
python.InDetToolsConfig.InDetLRTMergeCfg
def InDetLRTMergeCfg(flags, name="InDetLRTMerge", **kwargs)
Definition: InDetToolsConfig.py:14
python.TrkVKalVrtFitterConfig.V0VKalVrtFitterCfg
def V0VKalVrtFitterCfg(flags, name="V0VKalVrtFitter", **kwargs)
Definition: TrkVKalVrtFitterConfig.py:57
TrackToVertexConfig.InDetTrackToVertexCfg
def InDetTrackToVertexCfg(flags, name='InDetTrackToVertex', **kwargs)
Definition: TrackToVertexConfig.py:18
python.InDetTrackSelectorToolConfig.V0InDetConversionTrackSelectorToolCfg
def V0InDetConversionTrackSelectorToolCfg(flags, name='InDetV0VxTrackSelector', **kwargs)
Definition: InDetTrackSelectorToolConfig.py:38
python.InDetTrackSelectorToolConfig.BPHY_InDetDetailedTrackSelectorToolCfg
def BPHY_InDetDetailedTrackSelectorToolCfg(flags, name='BPHY_InDetDetailedTrackSelectorTool', **kwargs)
Definition: InDetTrackSelectorToolConfig.py:213
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:222
SlimmingHelper
Definition: SlimmingHelper.py:1