14 """Configure the derivation framework driving algorithm (kernel) for LLJ1"""
15 acc = ComponentAccumulator()
18 from DerivationFrameworkPhys.PhysCommonConfig
import PhysCommonAugmentationsCfg
19 acc.merge(PhysCommonAugmentationsCfg(flags, TriggerListsHelper = kwargs[
'TriggerListsHelper']))
24 'TrackParticleThinningToolName' :
"LLJ1TrackParticleThinningTool",
25 'MuonTPThinningToolName' :
"LLJ1MuonTPThinningTool",
26 'TauJetThinningToolName' :
"LLJ1TauJetThinningTool",
27 'TauJets_MuonRMThinningToolName' :
"LLJ1TauJets_MuonRMThinningTool",
28 'DiTauThinningToolName' :
"LLJ1DiTauThinningTool",
29 'DiTauTPThinningToolName' :
"LLJ1DiTauTPThinningTool",
30 'DiTauLowPtThinningToolName' :
"LLJ1DiTauLowPtThinningTool",
31 'DiTauLowPtTPThinningToolName' :
"LLJ1DiTauLowPtTPThinningTool",
34 from DerivationFrameworkPhys.PhysCommonThinningConfig
import PhysCommonThinningCfg
35 acc.merge(PhysCommonThinningCfg(flags, StreamName = kwargs[
'StreamName'], **thinningToolsArgs))
38 for key
in thinningToolsArgs:
39 thinningTools.append(acc.getPublicTool(thinningToolsArgs[key]))
45 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
46 acc.addEventAlgo(DerivationKernel(name, ThinningTools = thinningTools))
47 acc.addEventAlgo(DerivationKernel(name, SkimmingTools = [skimmingTool]))
52 """Configure the LLJ1 skimming tool"""
55 largeRJetsForSkimming = [
"AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets."]
58 sel_1jet_template =
"((count (abs({0}eta) < 2.8 && {0}pt > 150*GeV && {0}m > 30*GeV) >= 1))"
59 topology_selection_1jet =
"({})".format(
60 " || ".join([sel_1jet_template.format(j)
for j
in largeRJetsForSkimming])
64 acc = ComponentAccumulator()
65 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import (
66 xAODStringSkimmingToolCfg)
67 LLJ1ObjectsSkimming = acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(
68 flags, name =
"LLJ1ObjectsSkimming",
69 expression = topology_selection_1jet))
70 skimmingTools = [LLJ1ObjectsSkimming]
73 if flags.Trigger.EDMVersion >=0 :
76 'HLT_j360_a10_lcw_sub_L1J100',
77 'HLT_j420_a10_lcw_L1J100',
78 'HLT_j460_a10t_lcw_jes_L1J100',
80 'HLT_j460_a10sd_cssk_pf_jes_ftf_preselj225_L1J100',
81 'HLT_j460_a10_lcw_subjes_L1J100',
82 'HLT_j460_a10r_L1J100',
84 'HLT_j420_35smcINF_a10sd_cssk_pf_jes_ftf_preselj225_L1J100',
85 'HLT_j420_35smcINF_a10t_lcw_jes_L1J100',
90 LLJ1TriggerSkimming = CompFactory.DerivationFramework.TriggerSkimmingTool(
91 name =
"LLJ1TriggerSkimming", TriggerListOR = TriggersList)
92 acc.addPublicTool(LLJ1TriggerSkimming)
93 skimmingTools += [LLJ1TriggerSkimming]
96 LLJ1_SkimmingTool = CompFactory.DerivationFramework.FilterCombinationAND(
97 name=
"LLJ1_SkimmingTool", FilterList=skimmingTools)
98 acc.addPublicTool(LLJ1_SkimmingTool, primary=
True)
103 stream_name =
'StreamDAOD_LLJ1'
104 acc = ComponentAccumulator()
110 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
111 LLJ1TriggerListsHelper = TriggerListsHelper(flags)
114 acc.merge(
LLJ1KernelCfg(flags, name=
"LLJ1Kernel", StreamName = stream_name, TriggerListsHelper = LLJ1TriggerListsHelper))
119 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
120 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
121 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
123 LLJ1SlimmingHelper =
SlimmingHelper(
"LLJ1SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
124 LLJ1SlimmingHelper.SmartCollections = [
"EventInfo",
129 "InDetTrackParticles",
131 "AntiKt4EMPFlowJets",
133 "MET_Baseline_AntiKt4EMTopo",
134 "MET_Baseline_AntiKt4EMPFlow",
139 "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets",
140 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
143 excludedVertexAuxData =
"-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
145 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Tight_Vertices"]
146 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Tight_VerticesAux." + excludedVertexAuxData]
147 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Medium_Vertices"]
148 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Medium_VerticesAux." + excludedVertexAuxData]
149 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Loose_Vertices"]
150 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Loose_VerticesAux." + excludedVertexAuxData]
152 LLJ1SlimmingHelper.StaticContent = StaticContent
155 LLJ1SlimmingHelper.ExtraVariables += [
"AntiKt4EMTopoJets.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",
156 "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",
157 "TruthPrimaryVertices.t.x.y.z",
158 "InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.numberOfTRTHits.numberOfTRTOutliers",
159 "EventInfo.GenFiltHT.GenFiltMET.GenFiltHTinclNu.GenFiltPTZ.GenFiltFatJ",
160 "TauJets.dRmax.etOverPtLeadTrk",
161 "TauJets_MuonRM.dRmax.etOverPtLeadTrk",
162 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET.ex.ey",
163 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_mht.ex.ey"]
166 LLJ1SlimmingHelper.AllVariables += [
"CaloCalTopoClusters",
"CaloCalFwdTopoTowers",
167 "GlobalChargedParticleFlowObjects",
"GlobalNeutralParticleFlowObjects",
168 "CHSGChargedParticleFlowObjects",
"CHSGNeutralParticleFlowObjects",
169 "CSSKGChargedParticleFlowObjects",
"CSSKGNeutralParticleFlowObjects",
170 "Kt4EMTopoOriginEventShape",
"Kt4EMPFlowEventShape",
"Kt4EMPFlowPUSBEventShape",
171 "Kt4EMPFlowNeutEventShape",
"Kt4UFOCSSKEventShape",
"Kt4UFOCSSKNeutEventShape"
174 LLJ1SlimmingHelper.ExtraVariables += [
"AntiKt4EMPFlowJets.GhostTower",
175 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.SizeParameter",
176 "UFOCSSK.pt.eta.phi.m.signalType.otherObjectLinks.chargedObjectLinks",
177 "UFO.pt.eta.phi.m.signalType.otherObjectLinks.chargedObjectLinks",
178 "InDetTrackParticles.particleHypothesis.vx.vy.vz.btagIp_d0Uncertainty.btagIp_z0SinThetaUncertainty.btagIp_z0SinTheta.btagIp_trackMomentum.btagIp_trackDisplacement.btagIp_invalidIp",
179 "GSFTrackParticles.particleHypothesis.vx.vy.vz",
180 "PrimaryVertices.x.y.z.covariance.trackWeights",
181 "TauJets.clusterLinks",
182 "Electrons.neutralGlobalFELinks.chargedGlobalFELinks",
183 "Photons.neutralGlobalFELinks",
184 "Muons.energyLossType.EnergyLoss.ParamEnergyLoss.MeasEnergyLoss.EnergyLossSigma.MeasEnergyLossSigma.ParamEnergyLossSigmaPlus.ParamEnergyLossSigmaMinus.clusterLinks.FSR_CandidateEnergy.neutralGlobalFELinks.chargedGlobalFELinks",
185 "MuonSegments.x.y.z.px.py.pz"
188 LLJ1SlimmingHelper.AppendToDictionary.update({
'CSSKGNeutralParticleFlowObjects':
'xAOD::FlowElementContainer',
189 'CSSKGNeutralParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
190 'CSSKGChargedParticleFlowObjects':
'xAOD::FlowElementContainer',
191 'CSSKGChargedParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
192 'UFO':
'xAOD::FlowElementContainer',
193 'UFOAux':
'xAOD::FlowElementAuxContainer',
194 'Kt4UFOCSSKEventShape':
'xAOD::EventShape',
195 'Kt4UFOCSSKEventShapeAux':
'xAOD::EventShapeAuxInfo',
196 'Kt4UFOCSSKNeutEventShape':
'xAOD::EventShape',
197 'Kt4UFOCSSKNeutEventShapeAux':
'xAOD::EventShapeAuxInfo'})
200 from DerivationFrameworkJetEtMiss.JetCommonConfig
import addOriginCorrectedClustersToSlimmingTool
201 addOriginCorrectedClustersToSlimmingTool(LLJ1SlimmingHelper,writeLC=
True,writeEM=
True)
205 for tagger
in [
"GN2Xv00",
"GN2XWithMassv00"]:
206 for score
in [
"phbb",
"phcc",
"ptop",
"pqcd"]:
207 extraList.append(f
"{tagger}_{score}")
208 LLJ1SlimmingHelper.ExtraVariables += [
"AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets." +
".".join(extraList)]
213 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import addTruth3ContentToSlimmerTool
214 addTruth3ContentToSlimmerTool(LLJ1SlimmingHelper)
215 LLJ1SlimmingHelper.AllVariables += [
'TruthHFWithDecayParticles',
'TruthHFWithDecayVertices',
'TruthCharm',
'TruthPileupParticles',
'InTimeAntiKt4TruthJets',
'OutOfTimeAntiKt4TruthJets']
216 LLJ1SlimmingHelper.ExtraVariables += [
"Electrons.TruthLink",
221 LLJ1SlimmingHelper.IncludeTriggerNavigation =
False
222 LLJ1SlimmingHelper.IncludeJetTriggerContent =
True
223 LLJ1SlimmingHelper.IncludeMuonTriggerContent =
False
224 LLJ1SlimmingHelper.IncludeEGammaTriggerContent =
False
225 LLJ1SlimmingHelper.IncludeTauTriggerContent =
False
226 LLJ1SlimmingHelper.IncludeEtMissTriggerContent =
False
227 LLJ1SlimmingHelper.IncludeBJetTriggerContent =
False
228 LLJ1SlimmingHelper.IncludeBPhysTriggerContent =
False
229 LLJ1SlimmingHelper.IncludeMinBiasTriggerContent =
False
233 if flags.Trigger.EDMVersion == 2:
234 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddRun2TriggerMatchingToSlimmingHelper
235 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = LLJ1SlimmingHelper,
236 OutputContainerPrefix =
"TrigMatch_",
237 TriggerList = LLJ1TriggerListsHelper.Run2TriggerNamesTau)
238 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = LLJ1SlimmingHelper,
239 OutputContainerPrefix =
"TrigMatch_",
240 TriggerList = LLJ1TriggerListsHelper.Run2TriggerNamesNoTau)
242 if flags.Trigger.EDMVersion == 3
or (flags.Trigger.EDMVersion == 2
and flags.Trigger.doEDMVersionConversion):
243 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig
import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
244 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(LLJ1SlimmingHelper)
247 LLJ1ItemList = LLJ1SlimmingHelper.GetItemList()
248 acc.merge(OutputStreamCfg(flags,
"DAOD_LLJ1", ItemList=LLJ1ItemList, AcceptAlgs=[
"LLJ1Kernel"]))
249 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_LLJ1", AcceptAlgs=[
"LLJ1Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))