10 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
11 from AthenaConfiguration.ComponentFactory
import CompFactory
12 from AthenaConfiguration.Enums
import MetadataCategory
16 """Configure the derivation framework driving algorithm (kernel) for LLJ1"""
20 from DerivationFrameworkPhys.PhysCommonConfig
import PhysCommonAugmentationsCfg
26 'TrackParticleThinningToolName' :
"LLJ1TrackParticleThinningTool",
27 'MuonTPThinningToolName' :
"LLJ1MuonTPThinningTool",
28 'TauJetThinningToolName' :
"LLJ1TauJetThinningTool",
29 'TauJets_MuonRMThinningToolName' :
"LLJ1TauJets_MuonRMThinningTool",
30 'DiTauTPThinningToolName' :
"LLJ1DiTauTPThinningTool",
31 'DiTauLowPtThinningToolName' :
"LLJ1DiTauLowPtThinningTool",
32 'DiTauLowPtTPThinningToolName' :
"LLJ1DiTauLowPtTPThinningTool",
35 from DerivationFrameworkPhys.PhysCommonThinningConfig
import PhysCommonThinningCfg
39 for key
in thinningToolsArgs:
40 thinningTools.append(acc.getPublicTool(thinningToolsArgs[key]))
46 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
53 """Configure the LLJ1 skimming tool"""
56 largeRJetsForSkimming = [
"AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets."]
59 sel_1jet_template =
"((count (abs({0}eta) < 2.8 && {0}pt > 150*GeV && {0}m > 30*GeV) >= 1))"
60 topology_selection_1jet =
"({})".
format(
61 " || ".
join([sel_1jet_template.format(j)
for j
in largeRJetsForSkimming])
66 acc.addPublicTool(CompFactory.DerivationFramework.xAODStringSkimmingTool(name =
"LLJ1ObjectsSkimming",
67 expression = topology_selection_1jet,
74 'HLT_j360_a10_lcw_sub_L1J100',
75 'HLT_j420_a10_lcw_L1J100',
76 'HLT_j460_a10t_lcw_jes_L1J100',
78 'HLT_j460_a10sd_cssk_pf_jes_ftf_preselj225_L1J100',
79 'HLT_j460_a10_lcw_subjes_L1J100',
80 'HLT_j460_a10r_L1J100',
82 'HLT_j420_35smcINF_a10sd_cssk_pf_jes_ftf_preselj225_L1J100',
83 'HLT_j420_35smcINF_a10t_lcw_jes_L1J100',
88 acc.addPublicTool(CompFactory.DerivationFramework.TriggerSkimmingTool(name =
"LLJ1TriggerSkimming",
89 TriggerListOR = TriggersList),
96 stream_name =
'StreamDAOD_LLJ1'
103 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
104 LLJ1TriggerListsHelper = TriggerListsHelper(flags)
107 acc.merge(
LLJ1KernelCfg(flags, name=
"LLJ1Kernel", StreamName = stream_name, TriggerListsHelper = LLJ1TriggerListsHelper))
112 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
113 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
114 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
116 LLJ1SlimmingHelper =
SlimmingHelper(
"LLJ1SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
117 LLJ1SlimmingHelper.SmartCollections = [
"EventInfo",
122 "InDetTrackParticles",
124 "AntiKt4EMPFlowJets",
125 "BTagging_AntiKt4EMPFlow",
126 "BTagging_AntiKtVR30Rmax4Rmin02Track",
127 "MET_Baseline_AntiKt4EMTopo",
128 "MET_Baseline_AntiKt4EMPFlow",
133 "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets",
134 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
135 "AntiKtVR30Rmax4Rmin02PV0TrackJets",
138 excludedVertexAuxData =
"-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
140 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Tight_Vertices"]
141 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Tight_VerticesAux." + excludedVertexAuxData]
142 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Medium_Vertices"]
143 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Medium_VerticesAux." + excludedVertexAuxData]
144 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Loose_Vertices"]
145 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Loose_VerticesAux." + excludedVertexAuxData]
147 LLJ1SlimmingHelper.StaticContent = StaticContent
150 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",
151 "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",
152 "TruthPrimaryVertices.t.x.y.z",
153 "InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.numberOfTRTHits.numberOfTRTOutliers",
154 "EventInfo.GenFiltHT.GenFiltMET.GenFiltHTinclNu.GenFiltPTZ.GenFiltFatJ",
155 "TauJets.dRmax.etOverPtLeadTrk",
156 "TauJets_MuonRM.dRmax.etOverPtLeadTrk",
157 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET.ex.ey",
158 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_mht.ex.ey"]
161 LLJ1SlimmingHelper.AllVariables += [
"CaloCalTopoClusters",
"CaloCalFwdTopoTowers",
162 "GlobalChargedParticleFlowObjects",
"GlobalNeutralParticleFlowObjects",
163 "CHSGChargedParticleFlowObjects",
"CHSGNeutralParticleFlowObjects",
164 "CSSKGChargedParticleFlowObjects",
"CSSKGNeutralParticleFlowObjects",
165 "Kt4EMTopoOriginEventShape",
"Kt4EMPFlowEventShape",
"Kt4EMPFlowPUSBEventShape",
166 "Kt4EMPFlowNeutEventShape",
"Kt4UFOCSSKEventShape",
"Kt4UFOCSSKNeutEventShape"
169 LLJ1SlimmingHelper.ExtraVariables += [
"AntiKt4EMPFlowJets.GhostTower",
170 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.SizeParameter",
171 "UFOCSSK.pt.eta.phi.m.signalType.otherObjectLinks.chargedObjectLinks",
172 "UFO.pt.eta.phi.m.signalType.otherObjectLinks.chargedObjectLinks",
173 "InDetTrackParticles.particleHypothesis.vx.vy.vz.btagIp_d0Uncertainty.btagIp_z0SinThetaUncertainty.btagIp_z0SinTheta.btagIp_trackMomentum.btagIp_trackDisplacement.btagIp_invalidIp",
174 "GSFTrackParticles.particleHypothesis.vx.vy.vz",
175 "PrimaryVertices.x.y.z.covariance.trackWeights",
176 "TauJets.clusterLinks",
177 "Electrons.neutralGlobalFELinks.chargedGlobalFELinks",
178 "Photons.neutralGlobalFELinks",
179 "Muons.energyLossType.EnergyLoss.ParamEnergyLoss.MeasEnergyLoss.EnergyLossSigma.MeasEnergyLossSigma.ParamEnergyLossSigmaPlus.ParamEnergyLossSigmaMinus.clusterLinks.FSR_CandidateEnergy.neutralGlobalFELinks.chargedGlobalFELinks",
180 "MuonSegments.x.y.z.px.py.pz"
183 LLJ1SlimmingHelper.AppendToDictionary.update({
'CSSKGNeutralParticleFlowObjects':
'xAOD::FlowElementContainer',
184 'CSSKGNeutralParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
185 'CSSKGChargedParticleFlowObjects':
'xAOD::FlowElementContainer',
186 'CSSKGChargedParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
187 'UFO':
'xAOD::FlowElementContainer',
188 'UFOAux':
'xAOD::FlowElementAuxContainer',
189 'Kt4UFOCSSKEventShape':
'xAOD::EventShape',
190 'Kt4UFOCSSKEventShapeAux':
'xAOD::EventShapeAuxInfo',
191 'Kt4UFOCSSKNeutEventShape':
'xAOD::EventShape',
192 'Kt4UFOCSSKNeutEventShapeAux':
'xAOD::EventShapeAuxInfo'})
195 from DerivationFrameworkJetEtMiss.JetCommonConfig
import addOriginCorrectedClustersToSlimmingTool
200 for tagger
in [
"GN2Xv00",
"GN2XWithMassv00"]:
201 for score
in [
"phbb",
"phcc",
"ptop",
"pqcd"]:
202 extraList.append(f
"{tagger}_{score}")
203 LLJ1SlimmingHelper.ExtraVariables += [
"AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets." +
".".
join(extraList)]
208 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import addTruth3ContentToSlimmerTool
210 LLJ1SlimmingHelper.AllVariables += [
'TruthHFWithDecayParticles',
'TruthHFWithDecayVertices',
'TruthCharm',
'TruthPileupParticles',
'InTimeAntiKt4TruthJets',
'OutOfTimeAntiKt4TruthJets']
211 LLJ1SlimmingHelper.ExtraVariables += [
"Electrons.TruthLink",
216 LLJ1SlimmingHelper.IncludeTriggerNavigation =
False
217 LLJ1SlimmingHelper.IncludeJetTriggerContent =
True
218 LLJ1SlimmingHelper.IncludeMuonTriggerContent =
False
219 LLJ1SlimmingHelper.IncludeEGammaTriggerContent =
False
220 LLJ1SlimmingHelper.IncludeTauTriggerContent =
False
221 LLJ1SlimmingHelper.IncludeEtMissTriggerContent =
False
222 LLJ1SlimmingHelper.IncludeBJetTriggerContent =
False
223 LLJ1SlimmingHelper.IncludeBPhysTriggerContent =
False
224 LLJ1SlimmingHelper.IncludeMinBiasTriggerContent =
False
228 if flags.Trigger.EDMVersion == 2:
229 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddRun2TriggerMatchingToSlimmingHelper
231 OutputContainerPrefix =
"TrigMatch_",
232 TriggerList = LLJ1TriggerListsHelper.Run2TriggerNamesTau)
234 OutputContainerPrefix =
"TrigMatch_",
235 TriggerList = LLJ1TriggerListsHelper.Run2TriggerNamesNoTau)
237 if flags.Trigger.EDMVersion == 3
or (flags.Trigger.EDMVersion == 2
and flags.Trigger.doEDMVersionConversion):
238 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig
import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
242 LLJ1ItemList = LLJ1SlimmingHelper.GetItemList()
243 acc.merge(
OutputStreamCfg(flags,
"DAOD_LLJ1", ItemList=LLJ1ItemList, AcceptAlgs=[
"LLJ1Kernel"]))
244 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_LLJ1", AcceptAlgs=[
"LLJ1Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))