ATLAS Offline Software
Functions | Variables
BPHY5 Namespace Reference

Functions

def BPHY5Kernel (flags, Decays="BsB+BdKstBpipiX")
 
def BPHY5Cfg (flags)
 

Variables

string BPHYDerivationName = "BPHY5"
 
string streamName = "StreamDAOD_BPHY5"
 
string JpsiContainerName = "BPHY5JpsiCandidates"
 
string BsJpsiPhiContainerName = "BPHY5BsJpsiKKCandidates"
 
string BPlusContainerName = "BPHY5BpmJpsiKpmCandidates"
 
string BpipiContainerName = "BPHY5BJpsipipiXCandidates"
 
string BdJpsiKstContainerName = "BPHY5BdJpsiKstCandidates"
 

Function Documentation

◆ BPHY5Cfg()

def BPHY5.BPHY5Cfg (   flags)

Definition at line 402 of file BPHY5.py.

402 def BPHY5Cfg(flags):
403  doLRT = flags.Tracking.doLargeD0
404  isSimulation = flags.Input.isMC
405  acc = BPHY5Kernel(flags)
406  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
407  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
408  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
409  BPHY5SlimmingHelper = SlimmingHelper("BPHY5SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
410  from DerivationFrameworkBPhys.commonBPHYMethodsCfg import getDefaultAllVariables
411  AllVariables = getDefaultAllVariables()
412  StaticContent = []
413 
414  # Needed for trigger objects
415  BPHY5SlimmingHelper.IncludeMuonTriggerContent = True
416  BPHY5SlimmingHelper.IncludeBPhysTriggerContent = True
417 
418 
419  AllVariables += ["PrimaryVertices"]
420  StaticContent += ["xAOD::VertexContainer#BPHY5RefittedPrimaryVertices"]
421  StaticContent += ["xAOD::VertexAuxContainer#BPHY5RefittedPrimaryVerticesAux."]
422  StaticContent += ["xAOD::VertexContainer#BPHY5RefBplJpsiKplPrimaryVertices"]
423  StaticContent += ["xAOD::VertexAuxContainer#BPHY5RefBplJpsiKplPrimaryVerticesAux."]
424  StaticContent += ["xAOD::VertexContainer#BPHY5RefittedBPipiPrimaryVertices"]
425  StaticContent += ["xAOD::VertexAuxContainer#BPHY5RefittedBPipiPrimaryVerticesAux."]
426  StaticContent += ["xAOD::VertexContainer#BPHY5RefittedKstPrimaryVertices"]
427  StaticContent += ["xAOD::VertexAuxContainer#BPHY5RefittedKstPrimaryVerticesAux."]
428 
429 
430  AllVariables += ["InDetTrackParticles", "InDetLargeD0TrackParticles"] if doLRT else ["InDetTrackParticles"]
431 
432 
435  AllVariables += ["CombinedMuonTrackParticles"]
436  AllVariables += ["ExtrapolatedMuonTrackParticles"]
437 
438 
439  AllVariables += ["Muons", "MuonsLRT"] if doLRT else ["Muons"]
440 
441 
442 
443  StaticContent += ["xAOD::VertexContainer#%s" % JpsiContainerName]
444 
445  StaticContent += ["xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % JpsiContainerName]
446 
447  StaticContent += ["xAOD::VertexContainer#%s" % BsJpsiPhiContainerName]
448  StaticContent += ["xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % BsJpsiPhiContainerName]
449 
450  StaticContent += ["xAOD::VertexContainer#%s" % BPlusContainerName]
451  StaticContent += ["xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % BPlusContainerName]
452 
453  StaticContent += ["xAOD::VertexContainer#%s" % BpipiContainerName]
454  StaticContent += ["xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % BpipiContainerName]
455 
456  StaticContent += ["xAOD::VertexContainer#%s" % BdJpsiKstContainerName]
457  StaticContent += ["xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % BdJpsiKstContainerName]
458 
459  StaticContent += ["xAOD::VertexContainer#%sNoConstraint" % BsJpsiPhiContainerName]
460  StaticContent += ["xAOD::VertexAuxContainer#%sNoConstraintAux.-vxTrackAtVertex" % BsJpsiPhiContainerName]
461 
462  StaticContent += ["xAOD::VertexContainer#%sNoConstraint" % BdJpsiKstContainerName]
463  StaticContent += ["xAOD::VertexAuxContainer#%sNoConstraintAux.-vxTrackAtVertex" % BdJpsiKstContainerName]
464 
465  # Tagging information (in addition to that already requested by usual algorithms)
466  AllVariables += ["GSFTrackParticles", "MuonSpectrometerTrackParticles" ]
467  tagJetCollections = ['AntiKt4LCTopoJets', 'AntiKt4EMTopoJets', 'AntiKt4PV0TrackJets']
468 
469  AllVariables += [ "Kt4LCTopoOriginEventShape", "Kt4EMTopoOriginEventShape" ]
470  SmartVar = ["Photons", "Electrons", "LRTElectrons"] #[ tagJetCollections ]
471 
472  for jet_collection in tagJetCollections:
473  AllVariables += [jet_collection]
474  AllVariables += ["BTagging_%s" % (jet_collection[:-4]) ]
475  AllVariables += ["BTagging_%sJFVtx" % (jet_collection[:-4]) ]
476  AllVariables += ["BTagging_%sSecVtx" % (jet_collection[:-4]) ]
477 
478 
479  # Truth information for MC only
480  if isSimulation:
481  AllVariables += ["TruthEvents","TruthParticles","TruthVertices","MuonTruthParticles", "egammaTruthParticles" ]
482  AllVariables += ["AntiKt4TruthJets", "AntiKt4TruthWZJets" ]
483  tagJetCollections += [ "AntiKt4TruthJets", "AntiKt4TruthWZJets" ]
484 
485 
486  AllVariables = list(set(AllVariables)) # remove duplicates
487 
488  BPHY5SlimmingHelper.AllVariables = AllVariables
489  BPHY5SlimmingHelper.StaticContent = StaticContent
490  BPHY5SlimmingHelper.SmartCollections = SmartVar
491  BPHY5ItemList = BPHY5SlimmingHelper.GetItemList()
492  acc.merge(OutputStreamCfg(flags, "DAOD_BPHY5", ItemList=BPHY5ItemList, AcceptAlgs=["BPHY5Kernel"]))
493  acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_BPHY5", AcceptAlgs=["BPHY5Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
494  acc.printConfig(withDetails=True, summariseProps=True, onlyComponents = [], printDefaults=True, printComponentsOnly=False)
495  return acc

◆ BPHY5Kernel()

def BPHY5.BPHY5Kernel (   flags,
  Decays = "BsB+BdKstBpipiX" 
)

Definition at line 21 of file BPHY5.py.

21 def BPHY5Kernel(flags, Decays="BsB+BdKstBpipiX"):
22  from DerivationFrameworkBPhys.commonBPHYMethodsCfg import (BPHY_V0ToolCfg, BPHY_InDetDetailedTrackSelectorToolCfg, BPHY_VertexPointEstimatorCfg, BPHY_TrkVKalVrtFitterCfg)
23  from JpsiUpsilonTools.JpsiUpsilonToolsConfig import PrimaryVertexRefittingToolCfg
24  acc = ComponentAccumulator()
25  isSimulation = flags.Input.isMC
26 
27  doLRT = flags.Tracking.doLargeD0
28  if not doLRT : print("BPHY5: LRT tracks disabled")
29  mainMuonInput = "StdWithLRTMuons" if doLRT else "Muons"
30  mainIDInput = "InDetWithLRTTrackParticles" if doLRT else "InDetTrackParticles"
31  if doLRT:
32  from DerivationFrameworkLLP.LLPToolsConfig import LRTMuonMergerAlg
33  from AthenaConfiguration.Enums import LHCPeriod
34  acc.merge(LRTMuonMergerAlg( flags,
35  PromptMuonLocation = "Muons",
36  LRTMuonLocation = "MuonsLRT",
37  OutputMuonLocation = mainMuonInput,
38  CreateViewCollection = True,
39  UseRun3WP = flags.GeoModel.Run == LHCPeriod.Run3))
40  from DerivationFrameworkInDet.InDetToolsConfig import InDetLRTMergeCfg
41  acc.merge(InDetLRTMergeCfg(flags))
42 
43  BPHY5_AugOriginalCounts = CompFactory.DerivationFramework.AugOriginalCounts(
44  name = "BPHY5_AugOriginalCounts",
45  VertexContainer = "PrimaryVertices",
46  TrackContainer = "InDetTrackParticles",
47  TrackLRTContainer = "InDetLargeD0TrackParticles" if doLRT else "")
48  toRelink = ["InDetTrackParticles", "InDetLargeD0TrackParticles"] if doLRT else []
49  MuonReLink = [ "Muons", "MuonsLRT" ] if doLRT else []
50 
51  V0Tools = acc.popToolsAndMerge(BPHY_V0ToolCfg(flags, BPHYDerivationName))
52  vkalvrt = acc.popToolsAndMerge(BPHY_TrkVKalVrtFitterCfg(flags, BPHYDerivationName)) # VKalVrt vertex fitter
53  acc.addPublicTool(vkalvrt)
54  acc.addPublicTool(V0Tools)
55  trackselect = acc.popToolsAndMerge(BPHY_InDetDetailedTrackSelectorToolCfg(flags, BPHYDerivationName))
56  acc.addPublicTool(trackselect)
57  vpest = acc.popToolsAndMerge(BPHY_VertexPointEstimatorCfg(flags, BPHYDerivationName))
58  acc.addPublicTool(vpest)
59  BPHY5JpsiFinder = CompFactory.Analysis.JpsiFinder(
60  name = "BPHY5JpsiFinder",
61  muAndMu = True,
62  muAndTrack = False,
63  TrackAndTrack = False,
64  assumeDiMuons = True,
65  invMassUpper = 3600.0,
66  invMassLower = 2600.0,
67  Chi2Cut = 30.,
68  oppChargesOnly = True,
69  combOnly = True,
70  atLeastOneComb = False,
71  useCombinedMeasurement = False, # Only takes effect if combOnly=True
72  muonCollectionKey = mainMuonInput,
73  TrackParticleCollection = mainIDInput,
74  useV0Fitter = False, # if False a TrkVertexFitterTool will be used
75  TrkVertexFitterTool = vkalvrt,
76  V0VertexFitterTool = None,
77  TrackSelectorTool = trackselect,
78  VertexPointEstimator = vpest,
79  useMCPCuts = False )
80  acc.addPublicTool(BPHY5JpsiFinder )
81 
82  BPHY5JpsiSelectAndWrite = CompFactory.DerivationFramework.Reco_Vertex(name = "BPHY5JpsiSelectAndWrite",
83  VertexSearchTool = BPHY5JpsiFinder,
84  OutputVtxContainerName = JpsiContainerName,
85  PVContainerName = "PrimaryVertices",
86  V0Tools = V0Tools,
87  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
88  RefPVContainerName = "SHOULDNOTBEUSED",
89  RelinkTracks = toRelink,
90  RelinkMuons = MuonReLink,
91  DoVertexType =1)
92 
93 
94  BPHY5_Select_Jpsi2mumu = CompFactory.DerivationFramework.Select_onia2mumu(
95  name = "BPHY5_Select_Jpsi2mumu",
96  HypothesisName = "Jpsi",
97  InputVtxContainerName = JpsiContainerName,
98  V0Tools = V0Tools,
99  VtxMassHypo = 3096.916,
100  MassMin = 2000.0,
101  MassMax = 3600.0,
102  Chi2Max = 200, Do3d = False,
103  DoVertexType =1)
104 
105  BPHY5BsJpsiKK = CompFactory.Analysis.JpsiPlus2Tracks(name = "BPHY5BsJpsiKK",
106  kaonkaonHypothesis = True,
107  pionpionHypothesis = False,
108  kaonpionHypothesis = False,
109  trkThresholdPt = 800.0,
110  trkMaxEta = 3.0,
111  BMassUpper = 5800.0,
112  BMassLower = 5000.0,
113  #DiTrackMassUpper = 1019.445 + 100.,
114  #DiTrackMassLower = 1019.445 - 100.,
115  Chi2Cut = 15.0,
116  TrkQuadrupletMassUpper = 6000.0,
117  TrkQuadrupletMassLower = 4800.0,
118  JpsiContainerKey = JpsiContainerName,
119  TrackParticleCollection = mainIDInput,
120  MuonsUsedInJpsi = mainMuonInput,
121  TrkVertexFitterTool = vkalvrt,
122  TrackSelectorTool = trackselect,
123  UseMassConstraint = True)
124  acc.addPublicTool(BPHY5BsJpsiKK )
125  BPHY5BdJpsiKst = CompFactory.Analysis.JpsiPlus2Tracks(
126  name = "BPHY5BdJpsiKst",
127  kaonkaonHypothesis = False,
128  pionpionHypothesis = False,
129  kaonpionHypothesis = True,
130  trkThresholdPt = 800.0,
131  trkMaxEta = 3.0,
132  BThresholdPt = 5000.,
133  BMassLower = 4300.0,
134  BMassUpper = 6300.0,
135  JpsiContainerKey = JpsiContainerName,
136  TrackParticleCollection = mainIDInput,
137  #MuonsUsedInJpsi = "Muons", #Don't remove all muons, just those in J/psi candidate (see the following cut)
138  ExcludeCrossJpsiTracks = False, #setting this to False rejects the muons from J/psi candidate
139  TrkVertexFitterTool = vkalvrt,
140  TrackSelectorTool = trackselect,
141  UseMassConstraint = True,
142  Chi2Cut = 15.0,
143  TrkQuadrupletMassLower = 3500.0,
144  TrkQuadrupletMassUpper = 6800.0,
145  )
146  acc.addPublicTool(BPHY5BdJpsiKst )
147  BPHY5BplJpsiKpl = CompFactory.Analysis.JpsiPlus1Track(name = "BPHY5BplJpsiKpl",
148  pionHypothesis = True,
149  kaonHypothesis = True,
150  trkThresholdPt = 750.0,
151  trkMaxEta = 3.0,
152  BThresholdPt = 4000.0,
153  BMassUpper = 7000.0,
154  BMassLower = 4500.0,
155  Chi2Cut = 15.0,
156  TrkTrippletMassUpper = 8000,
157  TrkTrippletMassLower = 4000,
158  JpsiContainerKey = JpsiContainerName,
159  TrackParticleCollection = mainIDInput,
160  MuonsUsedInJpsi = mainMuonInput,
161  TrkVertexFitterTool = vkalvrt,
162  TrackSelectorTool = trackselect,
163  UseMassConstraint = True,
164  ExcludeCrossJpsiTracks = False,
165  ExcludeJpsiMuonsOnly = True)
166  acc.addPublicTool(BPHY5BplJpsiKpl )
167  BPHY5BJpsipipiX = CompFactory.Analysis.JpsiPlus2Tracks(name = "BPHY5BJpsipipiX",
168  kaonkaonHypothesis = False,
169  pionpionHypothesis = True,
170  kaonpionHypothesis = False,
171  trkThresholdPt = 800.0,
172  trkMaxEta = 3.0,
173  BMassUpper = 5800.0,
174  BMassLower = 3400.0,
175  #DiTrackMassUpper = 1019.445 + 100.,
176  #DiTrackMassLower = 1019.445 - 100.,
177  Chi2Cut = 15.0,
178  TrkQuadrupletMassUpper = 5800.0,
179  TrkQuadrupletMassLower = 3400.0,
180  JpsiContainerKey = JpsiContainerName,
181  TrackParticleCollection = mainIDInput,
182  MuonsUsedInJpsi = mainMuonInput,
183  TrkVertexFitterTool = vkalvrt,
184  TrackSelectorTool = trackselect,
185  UseMassConstraint = True,
186  ExcludeCrossJpsiTracks = False,
187  ExcludeJpsiMuonsOnly = True)
188  acc.addPublicTool(BPHY5BJpsipipiX )
189  BPHY5BsKKSelectAndWrite = CompFactory.DerivationFramework.Reco_Vertex(name = "BPHY5BsKKSelectAndWrite",
190  VertexSearchTool = BPHY5BsJpsiKK,
191  OutputVtxContainerName = BsJpsiPhiContainerName,
192  PVContainerName = "PrimaryVertices",
193  V0Tools = V0Tools,
194  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
195  RefPVContainerName = "BPHY5RefittedPrimaryVertices",
196  RefitPV = True, Do3d = False,
197  RelinkTracks = toRelink,
198  MaxPVrefit = 10000, DoVertexType = 7)
199 
200  BPHY5BplKplSelectAndWrite = CompFactory.DerivationFramework.Reco_Vertex(name = "BPHY5BplKplSelectAndWrite",
201  VertexSearchTool = BPHY5BplJpsiKpl,
202  OutputVtxContainerName = BPlusContainerName,
203  PVContainerName = "PrimaryVertices",
204  V0Tools = V0Tools,
205  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
206  RefPVContainerName = "BPHY5RefBplJpsiKplPrimaryVertices",
207  RefitPV = True,
208  RelinkTracks = toRelink,
209  MaxPVrefit = 10000 )
210 
211  BPHY5BpipiXSelectAndWrite = CompFactory.DerivationFramework.Reco_Vertex(name = "BPHY5BpipiXSelectAndWrite",
212  VertexSearchTool = BPHY5BJpsipipiX,
213  OutputVtxContainerName = BpipiContainerName,
214  PVContainerName = "PrimaryVertices",
215  V0Tools = V0Tools,
216  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
217  RefPVContainerName = "BPHY5RefittedBPipiPrimaryVertices",
218  RefitPV = True, Do3d = False,
219  RelinkTracks = toRelink,
220  MaxPVrefit = 10000, DoVertexType = 7)
221 
222  BPHY5BdKstSelectAndWrite = CompFactory.DerivationFramework.Reco_Vertex(
223  name = "BPHY5BdKstSelectAndWrite",
224  VertexSearchTool = BPHY5BdJpsiKst,
225  OutputVtxContainerName = BdJpsiKstContainerName,
226  V0Tools = V0Tools,
227  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
228  PVContainerName = "PrimaryVertices",
229  RefPVContainerName = "BPHY5RefittedKstPrimaryVertices",
230  RefitPV = True,
231  RelinkTracks = toRelink,
232  MaxPVrefit = 10000,
233  DoVertexType = 7)
234 
235  BPHY5_Select_Bd2JpsiKst = CompFactory.DerivationFramework.Select_onia2mumu(
236  name = "BPHY5_Select_Bd2JpsiKst",
237  HypothesisName = "Bd",
238  InputVtxContainerName = BdJpsiKstContainerName,
239  V0Tools = V0Tools,
240  TrkMasses = [105.658, 105.658, 493.677, 139.570],
241  VtxMassHypo = 5279.6,
242  MassMin = 100.0, #no mass cuts here
243  MassMax = 100000.0, #no mass cuts here
244  Chi2Max = 200)
245 
246  BPHY5_Select_Bd2JpsiKstbar = CompFactory.DerivationFramework.Select_onia2mumu(
247  name = "BPHY5_Select_Bd2JpsiKstbar",
248  HypothesisName = "Bdbar",
249  InputVtxContainerName = BdJpsiKstContainerName,
250  V0Tools = V0Tools,
251  TrkMasses = [105.658, 105.658, 139.570, 493.677],
252  VtxMassHypo = 5279.6,
253  MassMin = 100.0, #no mass cuts here
254  MassMax = 100000.0, #no mass cuts here
255  Chi2Max = 200)
256 
257  BPHY5_Select_Bs2JpsiKK = CompFactory.DerivationFramework.Select_onia2mumu(
258  name = "BPHY5_Select_Bs2JpsiKK",
259  HypothesisName = "Bs",
260  InputVtxContainerName = BsJpsiPhiContainerName,
261  V0Tools = V0Tools,
262  TrkMasses = [105.658, 105.658, 493.677, 493.677],
263  VtxMassHypo = 5366.3,
264  MassMin = 5000.0,
265  MassMax = 5800.0, Do3d = False,
266  Chi2Max = 200)
267 
268  BPHY5_Select_Bpl2JpsiKpl = CompFactory.DerivationFramework.Select_onia2mumu(
269  name = "BPHY5_Select_Bpl2JpsiKpl",
270  HypothesisName = "Bplus",
271  InputVtxContainerName = BPlusContainerName,
272  V0Tools = V0Tools,
273  TrkMasses = [105.658, 105.658, 493.677],
274  VtxMassHypo = 5279.26,
275  MassMin = 5279.26 - 500, Do3d = False,
276  MassMax = 5279.26 + 500,
277  Chi2Max = 200 )
278 
279  BPHY5_Select_Bpl2JpsiPi = CompFactory.DerivationFramework.Select_onia2mumu(
280  name = "BPHY5_Select_Bpl2JpsiPi",
281  HypothesisName = "Bc",
282  InputVtxContainerName = BPlusContainerName,
283  V0Tools = V0Tools,
284  TrkMasses = [105.658, 105.658, 139.570],
285  VtxMassHypo = 6275.1, Do3d = False,
286  MassMin = 6275.1 - 500,
287  MassMax = 6275.1 + 500,
288  Chi2Max = 200 )
289 
290  BPHY5_Select_B2JpsipipiX = CompFactory.DerivationFramework.Select_onia2mumu(
291  name = "BPHY5_Select_B2JpsipipiX",
292  HypothesisName = "pipiJpsi",
293  InputVtxContainerName = BpipiContainerName,
294  V0Tools = V0Tools,
295  TrkMasses = [105.658, 105.658, 139.570, 139.570],
296  VtxMassHypo = 4260,
297  MassMin = 3400.0,
298  MassMax = 5800.0, Do3d = False,
299  Chi2Max = 200)
300 
301  #Do vertices without constraint for systematic reference
302  BPHY5_Revertex_Bs_NoMassConst = CompFactory.DerivationFramework.ReVertex(
303  name = "BPHY5_Revertex_Bs_NoMassConst",
304  InputVtxContainerName = BsJpsiPhiContainerName,
305  TrackIndices = [ 0, 1, 2, 3 ],
306  RefitPV = False,
307  UseMassConstraint = False,
308  TrackContainerName = mainIDInput,
309  RelinkTracks = toRelink,
310  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
311  TrkVertexFitterTool = vkalvrt,
312  OutputVtxContainerName = "BPHY5BsJpsiKKCandidatesNoConstraint")
313 
314  BPHY5_Revertex_Bd_NoMassConst = CompFactory.DerivationFramework.ReVertex(
315  name = "BPHY5_Revertex_Bd_NoMassConst",
316  InputVtxContainerName = "BPHY5BdJpsiKstCandidates",
317  TrackIndices = [ 0, 1, 2, 3 ],
318  RefitPV = False,
319  UseMassConstraint = False,
320  TrackContainerName = mainIDInput,
321  RelinkTracks = toRelink,
322  PVRefitter = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags)),
323  TrkVertexFitterTool = vkalvrt,
324  OutputVtxContainerName = "BPHY5BdJpsiKstCandidatesNoConstraint")
325 
326  BPHY5_Select_Bs2JpsiKKNoConstraint = CompFactory.DerivationFramework.Select_onia2mumu(
327  name = "BPHY5_Select_Bs2JpsiKKNoConstraint",
328  HypothesisName = "Bs",
329  V0Tools = V0Tools,
330  InputVtxContainerName = "BPHY5BsJpsiKKCandidatesNoConstraint",
331  TrkMasses = [105.658, 105.658, 493.677, 493.677],
332  VtxMassHypo = 5366.3,
333  MassMin = 5000.0,
334  MassMax = 5800.0, Do3d = False,
335  Chi2Max = 200)
336 
337  BPHY5_Select_BdBar2JpsiKpiNoConstraint = CompFactory.DerivationFramework.Select_onia2mumu(
338  name = "BPHY5_Select_BdBar2JpsiKpiNoConstraint",
339  HypothesisName = "BdBar",
340  V0Tools = V0Tools,
341  InputVtxContainerName = "BPHY5BdJpsiKstCandidatesNoConstraint",
342  TrkMasses = [105.658, 105.658, 139.570, 493.677],
343  VtxMassHypo = 5279.6,
344  MassMin = 100.0, #no mass cuts here
345  MassMax = 100000.0, #no mass cuts here
346  Chi2Max = 200)
347 
348  BPHY5_Select_Bd2JpsiKpiNoConstraint = CompFactory.DerivationFramework.Select_onia2mumu(
349  name = "BPHY5_Select_Bd2JpsiKpiNoConstraint",
350  HypothesisName = "Bd",
351  V0Tools = V0Tools,
352  InputVtxContainerName = "BPHY5BdJpsiKstCandidatesNoConstraint",
353  TrkMasses = [105.658, 105.658, 493.677, 139.570],
354  VtxMassHypo = 5279.6,
355  MassMin = 100.0, #no mass cuts here
356  MassMax = 100000.0, #no mass cuts here
357  Chi2Max = 200)
358 
359 
360  if not isSimulation: #Only Skim Data
361  BPHY5_SelectBsJpsiKKEvent = CompFactory.DerivationFramework.xAODStringSkimmingTool(
362  name = "BPHY5_SelectBsJpsiKKEvent",
363  expression = f"count({BsJpsiPhiContainerName}.passed_Bs > 0) > 0")
364 
365  BPHY5_SelectBplJpsiKplEvent = CompFactory.DerivationFramework.xAODStringSkimmingTool(name = "BPHY5_SelectBplJpsiKplEvent",
366  expression = f"count({BPlusContainerName}.passed_Bplus>0) > 0")
367 
368  BPHY5_SelectBplJpsiKplEventBc = CompFactory.DerivationFramework.xAODStringSkimmingTool(name = "BPHY5_SelectBplJpsiKplEventBc",
369  expression = f"count({BPlusContainerName}.passed_Bc>0) > 0")
370 
371  BPHY5_SelectBdKstarEventBd = CompFactory.DerivationFramework.xAODStringSkimmingTool(name = "BPHY5_SelectBdKstarEventBd",
372  expression = f"count({BdJpsiKstContainerName}.passed_Bd>0) > 0")
373 
374  BPHY5_SelectBdKstarEventBdBar = CompFactory.DerivationFramework.xAODStringSkimmingTool(name = "BPHY5_SelectBdKstarEventBdbar",
375  expression = f"count({BdJpsiKstContainerName}.passed_Bdbar>0) > 0")
376  #====================================================================
377  # Make event selection based on an OR of the input skimming tools
378  #====================================================================
379  filterlist = []
380  if "Bs" in Decays : filterlist.append(BPHY5_SelectBsJpsiKKEvent)
381  if "B+" in Decays : filterlist += [ BPHY5_SelectBplJpsiKplEvent,BPHY5_SelectBplJpsiKplEventBc]
382  if "BdKst" in Decays : filterlist += [BPHY5_SelectBdKstarEventBd, BPHY5_SelectBdKstarEventBdBar]
383 
384  BPHY5SkimmingOR = CompFactory.DerivationFramework.FilterCombinationOR("BPHY5SkimmingOR",
385  FilterList = filterlist)
386  for t in filterlist +[BPHY5SkimmingOR]: acc.addPublicTool(t)
387 
388  augTools = [BPHY5JpsiSelectAndWrite, BPHY5_Select_Jpsi2mumu, BPHY5_AugOriginalCounts]
389  if "Bs" in Decays : augTools += [BPHY5BsKKSelectAndWrite, BPHY5_Select_Bs2JpsiKK, BPHY5_Revertex_Bs_NoMassConst, BPHY5_Select_Bs2JpsiKKNoConstraint]
390  if "B+" in Decays : augTools += [BPHY5BplKplSelectAndWrite, BPHY5_Select_Bpl2JpsiKpl, BPHY5_Select_Bpl2JpsiPi]
391  if "BdKst" in Decays : augTools += [ BPHY5BdKstSelectAndWrite, BPHY5_Select_Bd2JpsiKst, BPHY5_Select_Bd2JpsiKstbar, BPHY5_Revertex_Bd_NoMassConst, BPHY5_Select_BdBar2JpsiKpiNoConstraint, BPHY5_Select_Bd2JpsiKpiNoConstraint]
392  if "BpipiX" in Decays : augTools+= [ BPHY5BpipiXSelectAndWrite, BPHY5_Select_B2JpsipipiX]
393  acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel("BPHY5Kernel",
394  AugmentationTools = augTools,
395  #Only skim if not MC
396  SkimmingTools = [BPHY5SkimmingOR] if not isSimulation else [],
397  ThinningTools = []))
398  for t in augTools : acc.addPublicTool(t)
399  return acc
400 
401 

Variable Documentation

◆ BdJpsiKstContainerName

string BPHY5.BdJpsiKstContainerName = "BPHY5BdJpsiKstCandidates"

Definition at line 19 of file BPHY5.py.

◆ BPHYDerivationName

string BPHY5.BPHYDerivationName = "BPHY5"

Definition at line 12 of file BPHY5.py.

◆ BpipiContainerName

string BPHY5.BpipiContainerName = "BPHY5BJpsipipiXCandidates"

Definition at line 18 of file BPHY5.py.

◆ BPlusContainerName

string BPHY5.BPlusContainerName = "BPHY5BpmJpsiKpmCandidates"

Definition at line 17 of file BPHY5.py.

◆ BsJpsiPhiContainerName

string BPHY5.BsJpsiPhiContainerName = "BPHY5BsJpsiKKCandidates"

Definition at line 16 of file BPHY5.py.

◆ JpsiContainerName

string BPHY5.JpsiContainerName = "BPHY5JpsiCandidates"

Definition at line 15 of file BPHY5.py.

◆ streamName

string BPHY5.streamName = "StreamDAOD_BPHY5"

Definition at line 13 of file BPHY5.py.

python.HIGG1D1CustomVertexConfig.PrimaryVertexRefittingToolCfg
def PrimaryVertexRefittingToolCfg(flags, **kwargs)
Definition: HIGG1D1CustomVertexConfig.py:7
python.LLPToolsConfig.LRTMuonMergerAlg
def LRTMuonMergerAlg(flags, name="LLP1_MuonLRTMergingAlg", **kwargs)
Definition: LLPToolsConfig.py:180
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
BPHY5.BPHY5Kernel
def BPHY5Kernel(flags, Decays="BsB+BdKstBpipiX")
Definition: BPHY5.py:21
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition: bitmask.h:232
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25
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
BPHY5.BPHY5Cfg
def BPHY5Cfg(flags)
Definition: BPHY5.py:402
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