11 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
12 from AthenaConfiguration.ComponentFactory
import CompFactory
13 from AthenaConfiguration.Enums
import LHCPeriod, MetadataCategory
15 MergedElectronContainer =
"StdWithLRTElectrons"
16 MergedMuonContainer =
"StdWithLRTMuons"
17 MergedTrackCollection =
"InDetWithLRTTrackParticles"
18 LLP1VrtSecInclusiveSuffixes = []
23 """Configure the derivation framework driving algorithm (kernel) for LLP1"""
30 from DerivationFrameworkInDet.InDetToolsConfig
import InDetLRTMergeCfg
34 from DerivationFrameworkLLP.LLPToolsConfig
import LRTMuonMergerAlg
36 PromptMuonLocation =
"Muons",
37 LRTMuonLocation =
"MuonsLRT",
38 OutputMuonLocation = MergedMuonContainer,
39 CreateViewCollection =
True,
40 UseRun3WP = flags.GeoModel.Run == LHCPeriod.Run3))
43 from DerivationFrameworkLLP.LLPToolsConfig
import LRTElectronMergerAlg
45 PromptElectronLocation =
"Electrons",
46 LRTElectronLocation =
"LRTElectrons",
47 OutputCollectionName = MergedElectronContainer,
49 CreateViewCollection =
True))
52 from DerivationFrameworkCalo.DerivationFrameworkCaloConfig
import (
53 MaxCellDecoratorCfg, MaxCellDecoratorKernelCfg)
61 name =
"LLP1LRTMaxCellDecoratorTool",
62 SGKey_electrons =
"LRTElectrons",
63 SGKey_egammaClusters = (
"" if flags.GeoModel.Run == LHCPeriod.Run3
64 else "egammaClusters"),
66 acc.addPublicTool(LLP1LRTMaxCellDecoratorTool)
69 from TrkConfig.TrkVertexFitterUtilsConfig
import AtlasFullLinearizedTrackFactoryCfg
71 name =
"LLP1AtlasFullLinearizedTrackFactory"))
72 acc.addPublicTool(AtlasFullLinearizedTrackFactoryTool)
74 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
76 name =
"LLP1ExtrapolatorTool"))
77 acc.addPublicTool(ExtrapolatorTool)
80 from DerivationFrameworkLLP.LLPToolsConfig
import TrackParametersKVUCfg
82 name =
"LLP1TrackParametersKVU",
83 TrackParticleContainerName =
"InDetDisappearingTrackParticles",
84 VertexContainerName =
"PrimaryVertices",
85 LinearizedTrackFactory = AtlasFullLinearizedTrackFactoryTool,
86 TrackExtrapolator = ExtrapolatorTool))
87 acc.addPublicTool(LLP1TrackParametersKVUTool)
91 isoPar = ROOT.xAOD.Iso.IsolationType
92 deco_ptcones = [isoPar.ptcone40, isoPar.ptcone30, isoPar.ptcone20]
93 deco_ptcones_suffix = [
"ptcone40",
"ptcone30",
"ptcone20"]
96 from InDetConfig.InDetTrackSelectionToolConfig
import InDetTrackSelectionTool_Loose_Cfg
98 name =
"TrackSelectionToolStd",
103 name =
"TrackSelectionToolPdEdx",
109 name =
"TrackSelectionToolPdEdxTight",
114 from IsolationAlgs.IsoToolsConfig
import TrackIsolationToolCfg, CaloIsolationToolCfg
116 name =
"TrackIsoToolStd",
117 TrackSelectionTool = TrackSelectionToolStd))
118 acc.addPublicTool(TrackIsoToolStd)
121 name =
"TrackIsoToolPdEdx",
122 TrackSelectionTool = TrackSelectionToolPdEdx))
123 acc.addPublicTool(TrackIsoToolPdEdx)
126 name =
"TrackIsoToolPdEdxTight",
127 TrackSelectionTool = TrackSelectionToolPdEdxTight))
128 acc.addPublicTool(TrackIsoToolPdEdxTight)
130 from CaloIdentifier
import SUBCALO
132 name =
"CaloIsoTool",
133 EMCaloNums = [SUBCALO.LAREM],
134 HadCaloNums = [SUBCALO.LARHEC, SUBCALO.TILE],
136 UseCaloExtensionCaching =
False,
137 saveOnlyRequestedCorrections =
True))
138 acc.addPublicTool(CaloIsoTool)
140 from DerivationFrameworkInDet.InDetToolsConfig
import IsolationTrackDecoratorCfg
142 name =
"LLP1IsolationTrackDecorator",
143 TrackIsolationTool = TrackIsoToolStd,
144 CaloIsolationTool = CaloIsoTool,
145 TargetContainer =
"InDetTrackParticles",
146 SelectionString =
"InDetTrackParticles.pt>10*GeV",
147 iso = [isoPar.ptcone40, isoPar.ptcone30, isoPar.ptcone20, isoPar.ptvarcone40, isoPar.ptvarcone30, isoPar.ptvarcone20, isoPar.topoetcone40, isoPar.topoetcone30, isoPar.topoetcone20],
148 isoSuffix = [
"ptcone40",
"ptcone30",
"ptcone20",
"ptvarcone40",
"ptvarcone30",
"ptvarcone20",
"topoetcone40",
"topoetcone30",
"topoetcone20"],
149 Prefix = deco_prefix))
150 acc.addPublicTool(LLP1IsolationTrackDecoratorTool)
153 name =
"LLP1IsolationTrackDecoratorDT",
154 TrackIsolationTool = TrackIsoToolStd,
155 CaloIsolationTool = CaloIsoTool,
156 TargetContainer =
"InDetDisappearingTrackParticles",
157 SelectionString =
"InDetDisappearingTrackParticles.pt>10*GeV",
158 iso = [isoPar.ptcone40, isoPar.ptcone30, isoPar.ptcone20, isoPar.ptvarcone40, isoPar.ptvarcone30, isoPar.ptvarcone20, isoPar.topoetcone40, isoPar.topoetcone30, isoPar.topoetcone20],
159 isoSuffix = [
"ptcone40",
"ptcone30",
"ptcone20",
"ptvarcone40",
"ptvarcone30",
"ptvarcone20",
"topoetcone40",
"topoetcone30",
"topoetcone20"],
160 Prefix = deco_prefix))
161 acc.addPublicTool(LLP1IsolationTrackDecoratorDTTool)
164 name =
"LLP1IsolationTrackDecoratorPdEdx",
165 TrackIsolationTool = TrackIsoToolPdEdx,
166 CaloIsolationTool = CaloIsoTool,
167 TargetContainer =
"InDetTrackParticles",
169 Prefix =
'TrkIsoPtPdEdx_',
170 isoSuffix = deco_ptcones_suffix))
171 acc.addPublicTool(LLP1IsolationTrackDecoratorPdEdxTool)
174 name =
"LLP1IsolationTrackDecoratorPdEdxDT",
175 TrackIsolationTool = TrackIsoToolPdEdx,
176 CaloIsolationTool = CaloIsoTool,
177 TargetContainer =
"InDetDisappearingTrackParticles",
179 Prefix =
'TrkIsoPtPdEdx_',
180 isoSuffix = deco_ptcones_suffix))
181 acc.addPublicTool(LLP1IsolationTrackDecoratorPdEdxDTTool)
184 name =
"LLP1IsolationTrackDecoratorPdEdxTight",
185 TrackIsolationTool = TrackIsoToolPdEdxTight,
186 CaloIsolationTool = CaloIsoTool,
187 TargetContainer =
"InDetTrackParticles",
189 Prefix =
'TrkIsoPtTightPdEdx_',
190 isoSuffix = deco_ptcones_suffix))
191 acc.addPublicTool(LLP1IsolationTrackDecoratorPdEdxTightTool)
194 name =
"LLP1IsolationTrackDecoratorPdEdxTightDT",
195 TrackIsolationTool = TrackIsoToolPdEdxTight,
196 CaloIsolationTool = CaloIsoTool,
197 TargetContainer =
"InDetDisappearingTrackParticles",
199 Prefix =
'TrkIsoPtTightPdEdx_',
200 isoSuffix = deco_ptcones_suffix))
201 acc.addPublicTool(LLP1IsolationTrackDecoratorPdEdxTightDTTool)
203 from DerivationFrameworkLLP.LLPToolsConfig
import TrackParticleCaloCellDecoratorCfg
205 name =
"LLP1TrackParticleCaloCellDecorator",
206 DecorationPrefix =
"LLP1",
207 ContainerName =
"InDetTrackParticles"))
208 acc.addPublicTool(LLP1TrackParticleCaloCellDecoratorTool)
210 augmentationTools = [ LLP1LRTMaxCellDecoratorTool,
211 LLP1TrackParametersKVUTool,
212 LLP1IsolationTrackDecoratorTool,
213 LLP1IsolationTrackDecoratorDTTool,
214 LLP1IsolationTrackDecoratorPdEdxTool,
215 LLP1IsolationTrackDecoratorPdEdxDTTool,
216 LLP1IsolationTrackDecoratorPdEdxTightTool,
217 LLP1IsolationTrackDecoratorPdEdxTightDTTool,
218 LLP1TrackParticleCaloCellDecoratorTool ]
223 name =
"LLP1TauMaxCellDecoratorTool",
224 SGKey_taus =
'TauJets',
225 SGKey_electrons =
'',
227 acc.addPublicTool(LLP1TauMaxCellDecoratorTool)
229 augmentationTools += [ LLP1TauMaxCellDecoratorTool ]
234 name =
"LLP1AntiKt4EMTopoJetMaxCellDecoratorTool",
235 SGKey_jets =
'AntiKt4EMTopoJets',
237 SGKey_electrons =
'',
239 acc.addPublicTool(LLP1AntiKt4EMTopoJetMaxCellDecoratorTool)
241 augmentationTools += [ LLP1AntiKt4EMTopoJetMaxCellDecoratorTool ]
246 name =
"LLP1AntiKt4EMPFlowJetMaxCellDecoratorTool",
247 SGKey_jets =
'AntiKt4EMPFlowJets',
249 SGKey_electrons =
'',
251 acc.addPublicTool(LLP1AntiKt4EMPFlowJetMaxCellDecoratorTool)
253 augmentationTools += [ LLP1AntiKt4EMPFlowJetMaxCellDecoratorTool ]
256 from JetRecConfig.JetRecConfig
import registerAsInputConstit, JetRecCfg
257 from JetRecConfig.StandardSmallRJets
import AntiKt4Truth, AntiKt4EMTopo
258 from JetRecConfig.JetDefinition
import JetDefinition
259 from JetRecConfig.StandardJetConstits
import stdConstitDic
as cst
263 cst.AntiKt4EMTopoJets.label =
"EMTopoRC"
264 cst.AntiKt4TruthJets.label =
"TruthRC"
266 AntiKt10RCEMTopo = JetDefinition(
"AntiKt",1.0,cst.AntiKt4EMTopoJets,
267 ghostdefs = [
"Track",
"TrackLRT",
"LCTopoOrigin"],
268 modifiers = (
"Sort",
"Filter:200000",),
269 standardRecoMode =
True,
273 AntiKt10RCTruth = JetDefinition(
"AntiKt",1.0,cst.AntiKt4TruthJets,
275 modifiers = (
"Sort",
"Filter:200000",),
276 standardRecoMode =
True,
280 from DerivationFrameworkPhys.PhysCommonConfig
import PhysCommonAugmentationsCfg
282 acc.merge(
JetRecCfg(flags,AntiKt10RCEMTopo))
283 if flags.Input.isMC: acc.merge(
JetRecCfg(flags,AntiKt10RCTruth))
286 from DerivationFrameworkJetEtMiss.METCommonConfig
import METLRTCfg
287 acc.merge(
METLRTCfg(flags,
"AntiKt4EMTopo"))
288 acc.merge(
METLRTCfg(flags,
"AntiKt4EMPFlow"))
291 from DerivationFrameworkEGamma.EGammaLRTConfig
import EGammaLRTCfg
294 from DerivationFrameworkLLP.LLPToolsConfig
import LRTElectronLHSelectorsCfg
298 from DerivationFrameworkLLP.LLPToolsConfig
import PhotonIsEMSelectorsCfg
302 from DerivationFrameworkMuons.MuonsCommonConfig
import MuonsCommonCfg
307 from DerivationFrameworkFlavourTag.FtagDerivationConfig
import FtagJetCollectionsCfg
311 from VrtSecInclusive.VrtSecInclusiveConfig
import VrtSecInclusiveCfg
314 name =
"VrtSecInclusive",
315 AugmentingVersionString =
"",
316 FillIntermediateVertices =
False,
317 TrackLocation = MergedTrackCollection))
318 LLP1VrtSecInclusiveSuffixes.append(
"")
321 if flags.Input.isMC
and flags.Derivation.LLP.doTrackSystematics:
322 from InDetTrackSystematicsTools.InDetTrackSystematicsToolsConfig
import TrackSystematicsAlgCfg
323 TrackSystSuffix =
"_TRK_EFF_LARGED0_GLOBAL__1down"
326 InputTrackContainer = MergedTrackCollection,
327 OutputTrackContainer = f
"{MergedTrackCollection}{TrackSystSuffix}"))
329 name = f
"VrtSecInclusive{TrackSystSuffix}",
330 AugmentingVersionString = TrackSystSuffix,
331 FillIntermediateVertices =
False,
332 TrackLocation = f
"{MergedTrackCollection}{TrackSystSuffix}"))
333 LLP1VrtSecInclusiveSuffixes.append(TrackSystSuffix)
336 LeptonsSuffix =
"_Leptons"
338 name =
"VrtSecInclusive_InDet"+LeptonsSuffix,
339 AugmentingVersionString = LeptonsSuffix,
340 FillIntermediateVertices =
False,
341 TrackLocation = MergedTrackCollection,
342 twoTrkVtxFormingD0Cut = 1.0,
343 doSelectTracksFromMuons =
True,
344 doRemoveCaloTaggedMuons =
True,
345 doSelectTracksFromElectrons =
True,
346 MuonLocation = MergedMuonContainer,
347 ElectronLocation = MergedElectronContainer))
348 LLP1VrtSecInclusiveSuffixes.append(LeptonsSuffix)
351 LepTrackSuffix =
"_LepTrack"
353 name =
"VrtSecInclusive_InDet"+LepTrackSuffix,
354 AugmentingVersionString = LepTrackSuffix,
355 FillIntermediateVertices =
False,
356 TrackLocation = MergedTrackCollection,
357 MuonLocation = MergedMuonContainer,
358 ElectronLocation = MergedElectronContainer,
359 twoTrkVtxFormingD0Cut = 1.0,
360 doSelectIDAndGSFTracks =
True,
361 doRemoveCaloTaggedMuons =
True,
362 doRemoveNonLeptonVertices =
True,
363 doAssociateNonSelectedTracks=
False))
364 LLP1VrtSecInclusiveSuffixes.append(LepTrackSuffix)
367 jet_clean_prefix=
"DFCommonJets_"
368 jet_clean_container=
"AntiKt4EMTopoJets"
369 jet_clean_level=
"SuperLooseBadLLP"
370 from JetSelectorTools.JetSelectorToolsConfig
import EventCleaningToolCfg, JetCleaningToolCfg
372 "LLP1JetCleanSuperLLP",
376 acc.addPublicTool(LLP1JetCleanSuperLLPTool)
379 "LLP1EventCleanSuperLLP",
381 LLP1EventCleanSuperLLPTool.JetCleanPrefix = jet_clean_prefix
382 LLP1EventCleanSuperLLPTool.JetContainer = jet_clean_container
383 LLP1EventCleanSuperLLPTool.JetCleaningTool = LLP1JetCleanSuperLLPTool
384 acc.addPublicTool(LLP1EventCleanSuperLLPTool)
386 LLP1EventCleanAlg = CompFactory.EventCleaningTestAlg(
387 "LLP1JetCleanDecoratorSuperLLP",
388 EventCleaningTool = LLP1EventCleanSuperLLPTool,
389 JetCollectionName = jet_clean_container,
390 EventCleanPrefix = jet_clean_prefix,
391 CleaningLevel = jet_clean_level,
393 acc.addEventAlgo(LLP1EventCleanAlg)
395 from DerivationFrameworkLLP.LLPToolsConfig
import AugmentationToolLeadingJetsCfg
397 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(name, AugmentationTools = [augmentationToolLeadingJets]))
400 from DerivationFrameworkInDet.InDetToolsConfig
import TrackParticleThinningCfg, EgammaTrackParticleThinningCfg, MuonTrackParticleThinningCfg, TauTrackParticleThinningCfg, DiTauTrackParticleThinningCfg
401 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import GenericObjectThinningCfg
402 from DerivationFrameworkTau.TauCommonConfig
import TauThinningCfg
407 name =
"LLP1TrackParticleThinningTool",
408 StreamName = kwargs[
'StreamName'],
409 SelectionString =
"InDetTrackParticles.pt>10*GeV",
410 InDetTrackParticlesKey =
"InDetTrackParticles"))
415 name =
"LLP1DTTrackParticleThinningTool",
416 StreamName = kwargs[
'StreamName'],
417 SelectionString =
"InDetDisappearingTrackParticles.pt>5*GeV",
418 InDetTrackParticlesKey =
"InDetDisappearingTrackParticles"))
423 name =
"LLP1ElectronTPThinningTool",
424 StreamName = kwargs[
'StreamName'],
426 InDetTrackParticlesKey =
"InDetTrackParticles"))
431 name =
"LLP1MuonTPThinningTool",
432 StreamName = kwargs[
'StreamName'],
434 InDetTrackParticlesKey =
"InDetTrackParticles"))
438 name =
"LLP1LRTMuonTPThinningTool",
439 StreamName = kwargs[
'StreamName'],
440 MuonKey =
"MuonsLRT",
441 InDetTrackParticlesKey =
"InDetLargeD0TrackParticles"))
444 tau_thinning_expression = f
"TauJets.pt >= {flags.Tau.MinPtDAOD}"
447 name =
"LLP1TauJetThinningTool",
448 StreamName = kwargs[
'StreamName'],
450 TauTracks =
"TauTracks",
451 TrackParticles =
"InDetTrackParticles",
452 TauNeutralPFOs =
"TauNeutralParticleFlowObjects",
453 TauSecondaryVertices =
"TauSecondaryVertices",
454 SelectionString = tau_thinning_expression))
459 name =
"LLP1TauTPThinningTool",
460 StreamName = kwargs[
'StreamName'],
462 InDetTrackParticlesKey =
"InDetTrackParticles",
463 DoTauTracksThinning =
True,
464 TauTracksKey =
"TauTracks"))
466 tau_murm_thinning_expression = tau_thinning_expression.replace(
'TauJets',
'TauJets_MuonRM')
467 LLP1TauJetMuonRMParticleThinningTool = acc.getPrimaryAndMerge(
TauThinningCfg(
469 name =
"LLP1TauJets_MuonRMThinningTool",
470 StreamName = kwargs[
'StreamName'],
471 Taus =
"TauJets_MuonRM",
472 TauTracks =
"TauTracks_MuonRM",
473 TrackParticles =
"InDetTrackParticles",
474 TauNeutralPFOs =
"TauNeutralParticleFlowObjects_MuonRM",
475 TauSecondaryVertices =
"TauSecondaryVertices_MuonRM",
476 SelectionString = tau_murm_thinning_expression))
481 name =
"LLP1DiTauTPThinningTool",
482 StreamName = kwargs[
'StreamName'],
483 DiTauKey =
"DiTauJets",
484 InDetTrackParticlesKey =
"InDetTrackParticles"))
489 name =
"LLP1DiTauLowPtThinningTool",
490 StreamName = kwargs[
'StreamName'],
491 ContainerName =
"DiTauJetsLowPt",
492 SelectionString =
"DiTauJetsLowPt.nSubjets > 1"))
497 name =
"LLP1DiTauLowPtTPThinningTool",
498 StreamName = kwargs[
'StreamName'],
499 DiTauKey =
"DiTauJetsLowPt",
500 InDetTrackParticlesKey =
"InDetTrackParticles",
501 SelectionString =
"DiTauJetsLowPt.nSubjets > 1"))
505 from DerivationFrameworkLLP.LLPToolsConfig
import VSITrackParticleThinningCfg
507 name =
"LLP1VSITPThinningTool",
508 StreamName = kwargs[
'StreamName'],
509 InDetTrackParticlesKey =
"InDetTrackParticles",
510 AugVerStrings = LLP1VrtSecInclusiveSuffixes))
512 name =
"LLP1LRTVSITPThinningTool",
513 StreamName = kwargs[
'StreamName'],
514 InDetTrackParticlesKey =
"InDetLargeD0TrackParticles",
515 AugVerStrings = LLP1VrtSecInclusiveSuffixes))
520 from DerivationFrameworkLLP.LLPToolsConfig
import JetTrackParticleThinningCfg, JetLargeD0TrackParticleThinningCfg
522 name =
"LLP1JetTPThinningTool",
523 StreamName = kwargs[
'StreamName'],
524 JetKey =
"AntiKt4EMTopoJets",
525 SelectionString =
"(AntiKt4EMTopoJets.pt > 20.*GeV) && (abs(AntiKt4EMTopoJets.eta) < 2.5)",
526 InDetTrackParticlesKey =
"InDetTrackParticles"))
529 name =
"LLP1FatJetTPThinningTool",
530 StreamName = kwargs[
'StreamName'],
531 JetKey =
"AntiKt10EMTopoRCJets",
532 SelectionString =
"(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
533 InDetTrackParticlesKey =
"InDetTrackParticles",
537 if flags.Tracking.doLargeD0:
539 name =
"LLP1LRTJetTPThinningTool",
540 StreamName = kwargs[
'StreamName'],
541 JetKey =
"AntiKt4EMTopoJets",
542 SelectionString =
"(AntiKt4EMTopoJets.pt > 20.*GeV) && (abs(AntiKt4EMTopoJets.eta) < 2.5)",
543 InDetTrackParticlesKey =
"InDetLargeD0TrackParticles"))
546 name =
"LLP1LRTFatJetTPThinningTool",
547 StreamName = kwargs[
'StreamName'],
548 JetKey =
"AntiKt10EMTopoRCJets",
549 SelectionString =
"(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
550 InDetTrackParticlesKey =
"InDetLargeD0TrackParticles",
554 from DerivationFrameworkLLP.LLPToolsConfig
import PixeldEdxTrackParticleThinningCfg
557 name =
"LLP1PixeldEdxTrackParticleThinningTool",
558 StreamName = kwargs[
'StreamName'],
559 InDetTrackParticlesKey =
"InDetTrackParticles"))
563 name =
"LLP1PixeldEdxDTTrackParticleThinningTool",
564 StreamName = kwargs[
'StreamName'],
565 InDetTrackParticlesKey =
"InDetDisappearingTrackParticles"))
569 from DerivationFrameworkCalo.DerivationFrameworkCaloConfig
import JetCaloClusterThinningCfg
574 StreamName = kwargs[
'StreamName'],
575 SGKey =
"AntiKt4EMTopoJets",
576 TopoClCollectionSGKey =
"CaloCalTopoClusters",
577 SelectionString =
"(AntiKt4EMTopoJets.DFDecoratorLeadingJets)",
578 AdditionalClustersKey = [
"EMOriginTopoClusters",
"LCOriginTopoClusters"]
586 thinningTools = [LLP1TrackParticleThinningTool,
587 LLP1DTTrackParticleThinningTool,
588 LLP1ElectronTPThinningTool,
589 LLP1MuonTPThinningTool,
590 LLP1LRTMuonTPThinningTool,
591 LLP1TauJetsThinningTool,
592 LLP1TauTPThinningTool,
593 LLP1TauJetMuonRMParticleThinningTool,
594 LLP1DiTauTPThinningTool,
595 LLP1DiTauLowPtThinningTool,
596 LLP1DiTauLowPtTPThinningTool,
597 LLP1VSITPThinningTool,
598 LLP1LRTVSITPThinningTool,
599 LLP1JetTPThinningTool,
600 LLP1FatJetTPThinningTool,
601 LLP1PixeldEdxTrackParticleThinningTool,
602 LLP1PixeldEdxDTTrackParticleThinningTool,
606 if flags.Tracking.doLargeD0:
607 thinningTools.append(LLP1LRTJetTPThinningTool)
608 thinningTools.append(LLP1LRTFatJetTPThinningTool)
613 from DerivationFrameworkLLP.LLPToolsConfig
import RCJetSubstructureAugCfg
615 name =
"LLP1RCJetSubstructureClustTrimAugTool",
616 StreamName = kwargs[
'StreamName'],
617 JetContainerKey =
"AntiKt10EMTopoRCJets",
618 SelectionString =
"(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
619 GhostConstitNames = [
"GhostLCTopoOrigin"],
620 Suffix =
"clusterTrim",
621 Grooming =
"Trimming",
625 RCSubstructureClusterTrimAug = CompFactory.DerivationFramework.CommonAugmentation(
"RCSubstructureClusterTrimAug", AugmentationTools = [LLP1RCJetSubstructureClustTrimAugTool])
626 acc.addEventAlgo(RCSubstructureClusterTrimAug)
629 name =
"LLP1RCJetSubstructureClustSDAugTool",
630 StreamName = kwargs[
'StreamName'],
631 JetContainerKey =
"AntiKt10EMTopoRCJets",
632 SelectionString =
"(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
633 GhostConstitNames = [
"GhostLCTopoOrigin"],
634 Suffix =
"clusterSoftDrop",
635 Grooming =
"SoftDrop",
639 RCSubstructureClusterSDAug = CompFactory.DerivationFramework.CommonAugmentation(
"RCSubstructureClusterSDAug", AugmentationTools = [LLP1RCJetSubstructureClustSDAugTool])
640 acc.addEventAlgo(RCSubstructureClusterSDAug)
643 from DerivationFrameworkLLP.LLPToolsConfig
import RCJetSubstructureAugCfg
645 name =
"LLP1RCJetSubstructureTrackTrimAugTool",
646 StreamName = kwargs[
'StreamName'],
647 JetContainerKey =
"AntiKt10EMTopoRCJets",
648 SelectionString =
"(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
649 GhostConstitNames = [
"GhostTrack",
"GhostTrackLRT"],
650 Suffix =
"trackTrim",
651 Grooming =
"Trimming",
655 RCSubstructureTrackTrimAug = CompFactory.DerivationFramework.CommonAugmentation(
"RCSubstructureTrackTrimAug", AugmentationTools = [LLP1RCJetSubstructureTrackTrimAugTool])
656 acc.addEventAlgo(RCSubstructureTrackTrimAug)
658 from DerivationFrameworkLLP.LLPToolsConfig
import RCJetSubstructureAugCfg
660 name =
"LLP1RCJetSubstructureTrackSDAugTool",
661 StreamName = kwargs[
'StreamName'],
662 JetContainerKey =
"AntiKt10EMTopoRCJets",
663 SelectionString =
"(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
664 GhostConstitNames = [
"GhostTrack",
"GhostTrackLRT"],
665 Suffix =
"trackSoftDrop",
666 Grooming =
"SoftDrop",
670 RCSubstructureTrackSDAug = CompFactory.DerivationFramework.CommonAugmentation(
"RCSubstructureTrackSDAug", AugmentationTools = [LLP1RCJetSubstructureTrackSDAugTool])
671 acc.addEventAlgo(RCSubstructureTrackSDAug)
678 from DerivationFrameworkLLP.LLPToolsConfig
import LLP1TriggerSkimmingToolCfg
680 name =
"LLP1TriggerSkimmingTool",
681 TriggerListsHelper = kwargs[
'TriggerListsHelper']))
683 skimmingTools.append(LLP1TriggerSkimmingTool)
685 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
687 SkimmingTools = skimmingTools,
688 ThinningTools = thinningTools,
689 AugmentationTools = augmentationTools))
704 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
705 LLP1TriggerListsHelper = TriggerListsHelper(flags)
708 acc.merge(
LLP1KernelCfg(flags, name=
"LLP1Kernel", StreamName =
'StreamDAOD_LLP1', TriggerListsHelper = LLP1TriggerListsHelper))
713 from IsolationSelection.IsolationSelectionConfig
import IsoCloseByAlgsCfg
714 contNames = [
"Muons",
"Electrons",
"Photons",
"LRTElectrons",
"MuonsLRT" ]
715 acc.merge(
IsoCloseByAlgsCfg(flags, suff =
"_LLP1", isPhysLite =
False, containerNames = contNames, useSelTools =
True, stream_name =
'StreamDAOD_LLP1'))
720 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
721 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
722 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
724 LLP1SlimmingHelper =
SlimmingHelper(
"LLP1SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
726 LLP1SlimmingHelper.SmartCollections = [
"EventInfo",
733 "InDetTrackParticles",
734 "InDetLargeD0TrackParticles",
736 "AntiKt4EMPFlowJets",
737 "BTagging_AntiKt4EMTopo",
738 "BTagging_AntiKt4EMPFlow",
739 "BTagging_AntiKtVR30Rmax4Rmin02Track",
740 "MET_Baseline_AntiKt4EMTopo",
741 "MET_Baseline_AntiKt4EMPFlow",
746 "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets",
747 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
748 "AntiKtVR30Rmax4Rmin02PV0TrackJets",
751 LLP1SlimmingHelper.AllVariables = [
"InDetDisappearingTrackParticles",
753 "MuonSpectrometerTrackParticles",
754 "UnAssocMuonSegments",
758 "CombinedMuonTrackParticles",
759 "ExtrapolatedMuonTrackParticles",
760 "CombinedMuonsLRTTrackParticles",
761 "ExtraPolatedMuonsLRTTrackParticles",
762 "MSOnlyExtraPolatedMuonsLRTTrackParticles",
763 "CombinedStauTrackParticles",
772 "EMOriginTopoClusters",
774 "METAssoc_AntiKt4EMTopo",
775 "MET_Core_AntiKt4EMTopo",
776 "METAssoc_AntiKt4EMPFlow",
777 "MET_Core_AntiKt4EMPFlow",
781 excludedVertexAuxData =
"-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
783 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Tight_Vertices"]
784 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Tight_VerticesAux." + excludedVertexAuxData]
785 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Medium_Vertices"]
786 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Medium_VerticesAux." + excludedVertexAuxData]
787 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Loose_Vertices"]
788 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Loose_VerticesAux." + excludedVertexAuxData]
789 StaticContent += [
"xAOD::JetContainer#AntiKt10EMTopoRCJets",
"xAOD::JetAuxContainer#AntiKt10EMTopoRCJetsAux.-PseudoJet"]
790 StaticContent += [
"CaloClusterCellLinkContainer#CaloCalTopoClusters_links"]
792 for wp
in LLP1VrtSecInclusiveSuffixes:
793 StaticContent += [
"xAOD::VertexContainer#VrtSecInclusive_SecondaryVertices" + wp]
794 StaticContent += [
"xAOD::VertexAuxContainer#VrtSecInclusive_SecondaryVertices" + wp +
"Aux."]
796 LLP1SlimmingHelper.ExtraVariables += [
"AntiKt10TruthTrimmedPtFrac5SmallR20Jets.Tau1_wta.Tau2_wta.Tau3_wta.D2.GhostBHadronsFinalCount",
797 "Electrons.LHValue.DFCommonElectronsLHVeryLooseNoPixResult.maxEcell_time.maxEcell_energy.maxEcell_gain.maxEcell_onlId.maxEcell_x.maxEcell_y.maxEcell_z.f3",
798 "LRTElectrons.LHValue.DFCommonElectronsLHVeryLooseNoPixResult.maxEcell_time.maxEcell_energy.maxEcell_gain.maxEcell_onlId.maxEcell_x.maxEcell_y.maxEcell_z.f3",
799 "Photons.DFCommonPhotonsIsEMMedium.DFCommonPhotonsIsEMMediumIsEMValue.maxEcell_time.maxEcell_energy.maxEcell_gain.maxEcell_onlId.maxEcell_x.maxEcell_y.maxEcell_z.f3",
800 "egammaClusters.phi_sampl.eta0.phi0",
801 "LRTegammaClusters.phi_sampl.eta0.phi0",
802 "AntiKt4EMTopoJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.PartonTruthLabelID.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt.GhostBHadronsFinal.GhostCHadronsFinal.GhostTrack.GhostTrackCount.GhostTrackLRT.GhostTrackLRTCount.maxEcell_time.maxEcell_energy.maxEcell_gain.maxEcell_onlId.maxEcell_x.maxEcell_y.maxEcell_z",
803 "AntiKt4EMPFlowJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.PartonTruthLabelID.DFCommonJets_fJvt.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt.GhostBHadronsFinal.GhostCHadronsFinal.maxEcell_time.maxEcell_energy.maxEcell_gain.maxEcell_onlId.maxEcell_x.maxEcell_y.maxEcell_z",
804 "AntiKtVR30Rmax4Rmin02TrackJets_BTagging201903.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt.GhostTausFinal.GhostTausFinalCount",
805 "AntiKtVR30Rmax4Rmin02TrackJets_BTagging201810.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt.GhostTausFinal.GhostTausFinalCount",
806 "TruthPrimaryVertices.t.x.y.z.sumPt2",
807 "PrimaryVertices.t.x.y.z.sumPt2.covariance",
808 "InDetTrackParticles.d0.z0.vz.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.truthParticleLink.truthMatchProbability.radiusOfFirstHit.hitPattern.patternRecoInfo",
809 "InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.numberOfTRTHits.numberOfTRTOutliers",
810 "InDetTrackParticles.numberOfIBLOverflowsdEdx.numberOfUsedHitsdEdx.pixeldEdx",
811 "InDetTrackParticles.expectInnermostPixelLayerHit.expectNextToInnermostPixelLayerHit.numberOfNextToInnermostPixelLayerHits.numberOfContribPixelLayers.numberOfGangedFlaggedFakes.numberOfPixelOutliers.numberOfPixelSplitHits.numberOfPixelSpoiltHits",
812 "InDetTrackParticles.numberOfSCTOutliers.numberOfSCTSpoiltHits",
813 "InDetTrackParticles.numberOfTRTHoles.numberOfTRTDeadStraws.numberOfTRTSharedHits.numberOfTRTHighThresholdHits.numberOfTRTHighThresholdHitsTotal.numberOfTRTHighThresholdOutliers.TRTdEdx.TRTdEdxUsedHits.hitPattern",
814 "InDetTrackParticles.truthMatchProbability.truthOrigin.truthType",
815 "InDetTrackParticles.TrkIsoPtPdEdx_ptcone20.TrkIsoPtPdEdx_ptcone30.TrkIsoPtPdEdx_ptcone40.TrkIsoPtTightPdEdx_ptcone20.TrkIsoPtTightPdEdx_ptcone30.TrkIsoPtTightPdEdx_ptcone40",
816 "InDetTrackParticles.LLP1_ptcone20.LLP1_ptcone30.LLP1_ptcone40.LLP1_ptvarcone20.LLP1_ptvarcone30.LLP1_ptvarcone40.definingParametersCovMatrixDiag.definingParametersCovMatrixOffDiag",
817 "InDetTrackParticles.LLP1_topoetcone20.LLP1_topoetcone30.LLP1_topoetcone40.LLP1_topoetcone20NonCoreCone.LLP1_topoetcone30NonCoreCone.LLP1_topoetcone40NonCoreCone",
818 "InDetTrackParticles.LLP1_CaloCelldEta.LLP1_CaloCelldPhi.LLP1_CaloCelldR.LLP1_CaloCelldX.LLP1_CaloCelldY.LLP1_CaloCelldZ.LLP1_CaloCellE.LLP1_CaloCellEta.LLP1_CaloCellGain.LLP1_CaloCellID.LLP1_CaloCellPhi.LLP1_CaloCellProvenance.LLP1_CaloCellQuality.LLP1_CaloCellR.LLP1_CaloCellSampling.LLP1_CaloCellTime.LLP1_CaloCellX.LLP1_CaloCellY.LLP1_CaloCellZ.LLP1_CaloCellEneDiff.LLP1_CaloCellTimeDiff",
819 "InDetLargeD0TrackParticles.d0.z0.vz.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.truthParticleLink.truthMatchProbability.radiusOfFirstHit.hitPattern.patternRecoInfo",
820 "GSFTrackParticles.d0.z0.vz.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.truthParticleLink.truthMatchProbability.radiusOfFirstHit.numberOfPixelHoles.numberOfSCTHoles.numberDoF.chiSquared.hitPattern.truthOrigin.truthType",
821 "LRTGSFTrackParticles.d0.z0.vz.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.truthParticleLink.truthMatchProbability.radiusOfFirstHit.numberOfPixelHoles.numberOfSCTHoles.numberDoF.chiSquared.hitPattern.truthOrigin.truthType",
822 "EventInfo.hardScatterVertexLink.timeStampNSOffset",
823 "EventInfo.GenFiltHT.GenFiltMET.GenFiltHTinclNu.GenFiltPTZ.GenFiltFatJ",
824 "EventInfo.hardScatterVertexLink.timeStampNSOffset",
825 "EventInfo.DFCommonJets_eventClean_SuperLooseBadLLP.DFCommonJets_eventClean_SuperLooseBadLLP_EMTopo.DFCommonJets_eventClean_LooseBadLLP_EMTopo",
826 "TauJets.dRmax.etOverPtLeadTrk.maxEcell_time.maxEcell_energy.maxEcell_gain.maxEcell_onlId.maxEcell_x.maxEcell_y.maxEcell_z",
827 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET.ex.ey",
828 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_mht.ex.ey"]
832 "is_selected",
"is_associated",
"is_svtrk_final",
"pt_wrtSV",
"eta_wrtSV",
833 "phi_wrtSV",
"d0_wrtSV",
"z0_wrtSV",
"errP_wrtSV",
"errd0_wrtSV",
834 "errz0_wrtSV",
"chi2_toSV"
837 for suffix
in LLP1VrtSecInclusiveSuffixes:
838 LLP1SlimmingHelper.ExtraVariables += [
"InDetTrackParticles." +
'.'.
join( [ var + suffix
for var
in VSITrackAuxVars] ) ]
839 LLP1SlimmingHelper.ExtraVariables += [
"InDetLargeD0TrackParticles." +
'.'.
join( [ var + suffix
for var
in VSITrackAuxVars] ) ]
840 LLP1SlimmingHelper.ExtraVariables += [
"GSFTrackParticles." +
'.'.
join( [ var + suffix
for var
in VSITrackAuxVars] ) ]
841 LLP1SlimmingHelper.ExtraVariables += [
"LRTGSFTrackParticles." +
'.'.
join( [ var + suffix
for var
in VSITrackAuxVars] ) ]
843 LLP1SlimmingHelper.ExtraVariables.append(
'CaloCalTopoClusters.e_sampl.calM.calE.calEta.calPhi.CENTER_MAG.SECOND_TIME')
844 LLP1SlimmingHelper.AppendToDictionary[
"EMOriginTopoClusters"]=
'xAOD::CaloClusterContainer'
845 LLP1SlimmingHelper.AppendToDictionary[
"EMOriginTopoClustersAux"]=
'xAOD::ShallowAuxContainer'
846 LLP1SlimmingHelper.ExtraVariables.append(
'EMOriginTopoClusters.e_sampl.calM.calE.calEta.calPhi.CENTER_MAG.SECOND_TIME')
851 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import addTruth3ContentToSlimmerTool
853 LLP1SlimmingHelper.AllVariables += [
'TruthHFWithDecayParticles',
'TruthHFWithDecayVertices',
'TruthCharm',
'TruthPileupParticles',
'InTimeAntiKt4TruthJets',
'OutOfTimeAntiKt4TruthJets',
'AntiKt4TruthJets']
854 LLP1SlimmingHelper.ExtraVariables += [
"Electrons.TruthLink",
855 "LRTElectrons.TruthLink",
857 "MuonsLRT.TruthLink",
859 if flags.Derivation.LLP.saveFullTruth:
860 LLP1SlimmingHelper.ExtraVariables += [
'TruthParticles',
'TruthVertices']
861 StaticContent += [
"xAOD::JetContainer#AntiKt10TruthRCJets",
"xAOD::JetAuxContainer#AntiKt10TruthRCJetsAux.-PseudoJet"]
864 from DerivationFrameworkEGamma.PhotonsCPDetailedContent
import (
865 PhotonsCPDetailedContent,
867 LLP1SlimmingHelper.ExtraVariables += PhotonsCPDetailedContent
870 from DerivationFrameworkJetEtMiss.JetCommonConfig
import addOriginCorrectedClustersToSlimmingTool
872 LLP1SlimmingHelper.StaticContent = StaticContent
875 LLP1SlimmingHelper.IncludeTriggerNavigation =
False
876 LLP1SlimmingHelper.IncludeJetTriggerContent =
False
877 LLP1SlimmingHelper.IncludeMuonTriggerContent =
False
878 LLP1SlimmingHelper.IncludeEGammaTriggerContent =
False
879 LLP1SlimmingHelper.IncludeTauTriggerContent =
False
880 LLP1SlimmingHelper.IncludeEtMissTriggerContent =
False
881 LLP1SlimmingHelper.IncludeBJetTriggerContent =
False
882 LLP1SlimmingHelper.IncludeBPhysTriggerContent =
False
883 LLP1SlimmingHelper.IncludeMinBiasTriggerContent =
False
887 if flags.Trigger.EDMVersion == 2:
888 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddRun2TriggerMatchingToSlimmingHelper
889 from DerivationFrameworkLLP.LLPToolsConfig
import LLP1TriggerMatchingToolRun2Cfg
891 OutputContainerPrefix =
"TrigMatch_",
892 TriggerList = LLP1TriggerListsHelper.Run2TriggerNamesTau)
894 OutputContainerPrefix =
"TrigMatch_",
895 TriggerList = LLP1TriggerListsHelper.Run2TriggerNamesNoTau)
898 name =
"LRTTriggerMatchingTool",
899 OutputContainerPrefix =
"LRTTrigMatch_",
900 TriggerList = LLP1TriggerListsHelper.Run2TriggerNamesNoTau,
901 InputElectrons=MergedElectronContainer,
902 InputMuons=MergedMuonContainer
906 OutputContainerPrefix =
"LRTTrigMatch_",
907 TriggerList = LLP1TriggerListsHelper.Run2TriggerNamesNoTau,
908 InputElectrons=MergedElectronContainer,
909 InputMuons=MergedMuonContainer
912 if flags.Trigger.EDMVersion == 3
or (flags.Trigger.EDMVersion == 2
and flags.Trigger.doEDMVersionConversion):
913 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig
import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
917 LLP1ItemList = LLP1SlimmingHelper.GetItemList()
918 acc.merge(
OutputStreamCfg(flags,
"DAOD_LLP1", ItemList=LLP1ItemList, AcceptAlgs=[
"LLP1Kernel"]))
919 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_LLP1", AcceptAlgs=[
"LLP1Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))