14 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import (BPHY_V0ToolCfg, BPHY_InDetDetailedTrackSelectorToolCfg, BPHY_TrkVKalVrtFitterCfg)
15 from JpsiUpsilonTools.JpsiUpsilonToolsConfig
import PrimaryVertexRefittingToolCfg
16 acc = ComponentAccumulator()
17 V0Tools = acc.popToolsAndMerge(BPHY_V0ToolCfg(flags, BPHYDerivationName))
18 vkalvrt = acc.popToolsAndMerge(BPHY_TrkVKalVrtFitterCfg(flags, BPHYDerivationName))
19 acc.addPublicTool(vkalvrt)
20 acc.addPublicTool(V0Tools)
21 trackselect = acc.popToolsAndMerge(BPHY_InDetDetailedTrackSelectorToolCfg(flags, BPHYDerivationName))
22 acc.addPublicTool(trackselect)
23 PVrefit = acc.popToolsAndMerge(PrimaryVertexRefittingToolCfg(flags))
24 acc.addPublicTool(PVrefit)
25 BPHY4FourMuonTool = CompFactory.DerivationFramework.FourMuonTool(
26 name =
"BPHY4FourMuonTool",
29 muonCollectionKey =
"Muons",
30 TrackParticleCollection =
"InDetTrackParticles",
31 TrkVertexFitterTool = vkalvrt,
32 TrackSelectorTool = trackselect)
33 BPHY4_Reco_4mu = CompFactory.DerivationFramework.Reco_4mu(
34 name =
"BPHY4_Reco_4mu",
35 FourMuonTool = BPHY4FourMuonTool,
38 PairContainerName =
"BPHY4Pairs",
39 QuadrupletContainerName =
"BPHY4Quads",
40 PVContainerName =
"PrimaryVertices",
41 RefPVContainerName =
"BPHY4RefittedPrimaryVertices",
46 BPHY4MuonTPThinningTool = CompFactory.DerivationFramework.MuonTrackParticleThinning(name =
"BPHY4MuonTPThinningTool",
48 StreamName = streamName,
49 InDetTrackParticlesKey =
"InDetTrackParticles")
50 BPHY4ElectronTPThinningTool = CompFactory.DerivationFramework.EgammaTrackParticleThinning(name =
"BPHY4ElectronTPThinningTool",
52 GSFTrackParticlesKey =
"GSFTrackParticles",
53 StreamName = streamName,
54 InDetTrackParticlesKey =
"InDetTrackParticles")
57 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import (
58 xAODStringSkimmingToolCfg)
59 BPHY4_SelectEvent = acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(
60 flags, name =
'BPHY4_SelectEvent',
61 expression =
'(count(Muons.BPHY4MuonIndex>=0)>0)'))
63 BPHY4ThinningTools = [BPHY4MuonTPThinningTool, BPHY4ElectronTPThinningTool]
64 BPHY4SlimTools = [BPHY4_SelectEvent]
65 BPHY4AugTools = [BPHY4_Reco_4mu]
66 for t
in BPHY4ThinningTools + BPHY4SlimTools + BPHY4AugTools: acc.addPublicTool(t)
67 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
"BPHY4Kernel",
68 AugmentationTools= BPHY4AugTools, SkimmingTools = BPHY4SlimTools, ThinningTools = BPHY4ThinningTools ))
70 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
71 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
72 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
73 BPHY4SlimmingHelper =
SlimmingHelper(
"BPHY4SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
74 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import getDefaultAllVariables
75 BPHY4AllVariables = getDefaultAllVariables()
76 BPHY4StaticContent = []
77 BPHY4SmartVariables =[]
78 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
81 BPHY4SlimmingHelper.IncludeMuonTriggerContent =
True
82 BPHY4SlimmingHelper.IncludeBPhysTriggerContent =
True
85 BPHY4AllVariables += [
"PrimaryVertices"]
86 BPHY4StaticContent += [
"xAOD::VertexContainer#BPHY4RefittedPrimaryVertices"]
87 BPHY4StaticContent += [
"xAOD::VertexAuxContainer#BPHY4RefittedPrimaryVerticesAux."]
90 BPHY4AllVariables += [
"InDetTrackParticles"]
91 BPHY4SmartVariables += [
"InDetTrackParticles"]
96 BPHY4AllVariables += [
"CombinedMuonTrackParticles"]
97 BPHY4AllVariables += [
"ExtrapolatedMuonTrackParticles"]
100 BPHY4SmartVariables += [
"Muons"]
103 BPHY4SmartVariables += [
"Electrons"]
106 BPHY4StaticContent += [
"xAOD::VertexContainer#%s" % BPHY4_Reco_4mu.PairContainerName]
107 BPHY4StaticContent += [
"xAOD::VertexContainer#%s" % BPHY4_Reco_4mu.QuadrupletContainerName]
110 BPHY4StaticContent += [
"xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % BPHY4_Reco_4mu.PairContainerName]
111 BPHY4StaticContent += [
"xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % BPHY4_Reco_4mu.QuadrupletContainerName]
113 BPHY4SlimmingHelper.AllVariables = BPHY4AllVariables
114 BPHY4SlimmingHelper.StaticContent = BPHY4StaticContent
115 BPHY4SlimmingHelper.SmartCollections = BPHY4SmartVariables
116 BPHY4ItemList = BPHY4SlimmingHelper.GetItemList()
117 acc.merge(OutputStreamCfg(flags,
"DAOD_BPHY4", ItemList=BPHY4ItemList, AcceptAlgs=[
"BPHY4Kernel"]))
118 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_BPHY4", AcceptAlgs=[
"BPHY4Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
119 acc.printConfig(withDetails=
True, summariseProps=
True, onlyComponents = [], printDefaults=
True)