8 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
9 from AthenaConfiguration.ComponentFactory
import CompFactory
10 from AthenaConfiguration.Enums
import MetadataCategory
11 from AthenaCommon.Logging
import logging
12 logSTDM16 = logging.getLogger(
'STDM16')
19 CandidatesContainerName=
"STDM16_D0Candidates"
20 streamName =
"StreamDAOD_STDM16"
26 acc.addPublicTool(CompFactory.DerivationFramework.DStarSelectionTool(name =
"STDM16_DStarSelectionTool",
27 InputVtxContainerName = CandidatesContainerName,
28 DeltaMassMax = 200.0), primary =
True)
33 """Configure the derivation framework driving algorithm (kernel) for STDM16"""
34 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import (BPHY_V0ToolCfg, BPHY_InDetDetailedTrackSelectorToolCfg, BPHY_VertexPointEstimatorCfg, BPHY_TrkVKalVrtFitterCfg)
44 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import (
45 AddStandardTruthContentsCfg,
47 AddMiniTruthCollectionLinksCfg,
49 AddTruthCollectionNavigationDecorationsCfg)
50 from DerivationFrameworkMCTruth.TruthDerivationToolsConfig
import DFCommonTruthCharmToolCfg
53 name =
"STDM16CommonTruthCharmTool"))
54 CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
55 acc.addEventAlgo(CommonAugmentation(
"STDM16CommonTruthCharmKernel",AugmentationTools=[STDM16CommonTruthCharmTool]))
60 TruthCollections=[
"TruthMuons",
70 from DerivationFrameworkInDet.InDetCommonConfig
import InDetCommonCfg
71 from DerivationFrameworkMuons.MuonsCommonConfig
import MuonsCommonCfg
72 from DerivationFrameworkEGamma.EGammaCommonConfig
import EGammaCommonCfg
77 DoVertexFinding = flags.Tracking.doVertexFinding,
78 AddPseudoTracks = flags.Tracking.doPseudoTracking,
80 DoR3LargeD0 = flags.Tracking.doLargeD0,
81 StoreSeparateLargeD0Container = flags.Tracking.storeSeparateLargeD0Container,
87 from DerivationFrameworkJetEtMiss.JetCommonConfig
import JetCommonCfg
96 from TrkConfig.TrkV0FitterConfig
import TrkV0VertexFitter_InDetExtrCfg
104 acc.addPublicTool(vkalvrt)
105 acc.addPublicTool(V0Tools)
106 acc.addPublicTool(trackselect)
107 acc.addPublicTool(vpest)
108 acc.addPublicTool(v0fitter)
115 STDM16_AugmentationTools = []
121 STDM16_Finder_D0 = CompFactory.Analysis.JpsiFinder(
122 name =
"STDM16_Finder_D0",
126 TrackAndTrack =
True,
127 assumeDiMuons =
False,
128 invMassUpper = 3000.0,
131 oppChargesOnly =
True,
132 atLeastOneComb =
False,
133 useCombinedMeasurement =
False,
134 track1Mass = massPiPlus,
135 track2Mass = massPiPlus,
136 trackThresholdPt = 1000.0,
137 muonCollectionKey =
"Muons",
138 TrackParticleCollection =
"InDetTrackParticles",
139 V0VertexFitterTool = v0fitter,
141 TrkVertexFitterTool = vkalvrt,
142 TrackSelectorTool = trackselect,
143 VertexPointEstimator = vpest,
146 acc.addPublicTool(STDM16_Finder_D0)
149 from JpsiUpsilonTools.JpsiUpsilonToolsConfig
import PrimaryVertexRefittingToolCfg
150 STDM16_Reco_D0 = CompFactory.DerivationFramework.Reco_Vertex(
151 name =
"STDM16_Reco_D0",
152 VertexSearchTool = STDM16_Finder_D0,
153 OutputVtxContainerName =
"STDM16_D0Candidates",
154 PVContainerName =
"PrimaryVertices",
158 RefPVContainerName =
"SHOULDNOTBEUSED",
161 acc.addPublicTool(STDM16_Reco_D0)
162 STDM16_AugmentationTools += [STDM16_Reco_D0]
175 STDM16_Select_D0 = CompFactory.DerivationFramework.Select_onia2mumu(
176 name =
"STDM16_Select_D0",
177 HypothesisName =
"D0",
178 InputVtxContainerName = STDM16_Reco_D0.OutputVtxContainerName,
179 TrkMasses = [massPiPlus,massKPlus],
180 VtxMassHypo = massD0,
181 MassMin = cutMinMass,
182 MassMax = cutMaxMass,
183 Chi2Max = cutMaxChiSq,
186 acc.addPublicTool(STDM16_Select_D0)
187 STDM16_AugmentationTools += [STDM16_Select_D0]
189 STDM16_Select_D0b = CompFactory.DerivationFramework.Select_onia2mumu(
190 name =
"STDM16_Select_D0b",
191 HypothesisName =
"D0b",
192 InputVtxContainerName = STDM16_Reco_D0.OutputVtxContainerName,
193 TrkMasses = [massKPlus,massPiPlus],
194 VtxMassHypo = massD0,
195 MassMin = cutMinMass,
196 MassMax = cutMaxMass,
197 Chi2Max = cutMaxChiSq,
200 acc.addPublicTool(STDM16_Select_D0b)
201 STDM16_AugmentationTools += [STDM16_Select_D0b]
210 name =
"STDM16_DStarSelectionTool",
211 InputVtxContainerName = STDM16_Reco_D0.OutputVtxContainerName,
212 DeltaMassMax = 200.0))
214 STDM16_AugmentationTools += [STDM16_DStarSelectionTool]
220 STDM16_SkimmingTools = []
227 SelectExpression =
"count(STDM16_D0Candidates.passed_Dstar) > 0"
229 STDM16_SelectEvent = CompFactory.DerivationFramework.xAODStringSkimmingTool(
230 name =
"STDM16_SelectEvent",
231 expression = SelectExpression)
232 acc.addPublicTool(STDM16_SelectEvent)
233 STDM16_SkimmingTools += [STDM16_SelectEvent]
238 STDM16_ThinningTools = []
244 STDM16_Thin_Vertex = CompFactory.DerivationFramework.Thin_vtxTrk(
245 name =
"STDM16_Thin_Vertex",
246 StreamName = streamName,
248 VertexContainerNames = [
"STDM16_D0Candidates"],
249 PassFlags = [
"passed_Dstar"] )
250 STDM16_ThinningTools += [STDM16_Thin_Vertex]
251 acc.addPublicTool(STDM16_Thin_Vertex)
258 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import GenericObjectThinningCfg
260 track_thinning_expression =
"(InDetTrackParticles.trackPassDstar == 1)"
261 STDM16_Thin_Tracks = acc.getPrimaryAndMerge(
263 name =
"STDM16_Thin_Tracks",
264 ContainerName =
"InDetTrackParticles",
265 StreamName = streamName,
266 SelectionString = track_thinning_expression))
267 STDM16_ThinningTools += [STDM16_Thin_Tracks]
268 acc.addPublicTool(STDM16_Thin_Tracks)
270 acc.addPublicTool(STDM16_SelectEvent)
271 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
"STDM16Kernel",
272 SkimmingTools = STDM16_SkimmingTools,
273 ThinningTools = STDM16_ThinningTools,
274 AugmentationTools = STDM16_AugmentationTools))
282 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
283 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
284 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
285 from DerivationFrameworkBPhys.commonBPHYMethodsCfg
import getDefaultAllVariables
294 AllVariables += [
"PrimaryVertices"]
297 AllVariables += [
"InDetTrackParticles"]
304 StaticContent += [
"xAOD::VertexContainer#%s" % CandidatesContainerName ]
307 StaticContent += [
"xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" % CandidatesContainerName]
311 if flags.Input.isMC :
312 AllVariables += [
"TruthEvents",
"TruthParticles",
"TruthVertices",
"MuonTruthParticles",
"AntiKt4TruthJets",
"AntiKt4TruthWZJets"]
314 STDM16SlimmingHelper =
SlimmingHelper(
"STDM16SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
317 STDM16SlimmingHelper.SmartCollections = [
"AntiKt4EMPFlowJets",
321 "InDetTrackParticles"]
324 STDM16SlimmingHelper.ExtraVariables += [
"InDetTrackParticles.trackPassDstar",
325 "AntiKt4EMPFlowJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt.GhostPartons.isJvtHS.isJvtPU.IsoFixedCone5PtPUsub",
326 "TruthPrimaryVertices.t.x.y.z",
327 "InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.numberOfTRTHits.numberOfTRTOutliers",
328 "EventInfo.GenFiltHT.GenFiltMET.GenFiltHTinclNu.GenFiltPTZ.GenFiltFatJ.HF_Classification.HF_SimpleClassification",
329 "TauJets.dRmax.etOverPtLeadTrk",
"TauJets_MuonRM.dRmax.etOverPtLeadTrk",
330 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET.ex.ey",
331 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_mht.ex.ey"]
335 STDM16SlimmingHelper.IncludeJetTriggerContent =
True
336 STDM16SlimmingHelper.IncludeMuonTriggerContent =
True
337 STDM16SlimmingHelper.AllVariables = AllVariables
338 STDM16SlimmingHelper.StaticContent = StaticContent
339 STDM16ItemList = STDM16SlimmingHelper.GetItemList()
341 acc.merge(
OutputStreamCfg(flags,
"DAOD_STDM16", ItemList=STDM16ItemList, AcceptAlgs=[
"STDM16Kernel"]))
342 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_STDM16", AcceptAlgs=[
"STDM16Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
343 acc.printConfig(withDetails=
True, summariseProps=
True, onlyComponents = [], printDefaults=
True)