25 """Configure the derivation framework driving algorithm (kernel) for LLP1"""
32 from DerivationFrameworkInDet.InDetToolsConfig
import InDetLRTMergeCfg
34 acc.merge(
InDetLRTMergeCfg(flags, name=
"GSFTrackMergerAlg", InputTrackParticleLocations = [
"GSFTrackParticles",
"LRTGSFTrackParticles"], OutputTrackParticleLocation = MergedGSFTrackCollection, OutputTrackParticleLocationCopy = MergedGSFTrackCollection))
37 from DerivationFrameworkLLP.LLPToolsConfig
import LRTMuonMergerAlg
39 PromptMuonLocation =
"Muons",
40 LRTMuonLocation =
"MuonsLRT",
41 OutputMuonLocation = MergedMuonContainer,
42 CreateViewCollection =
True,
43 UseRun3WP = flags.GeoModel.Run == LHCPeriod.Run3))
46 from DerivationFrameworkLLP.LLPToolsConfig
import LRTElectronMergerAlg
48 PromptElectronLocation =
"Electrons",
49 LRTElectronLocation =
"LRTElectrons",
50 OutputCollectionName = MergedElectronContainer,
52 CreateViewCollection =
True))
55 from DerivationFrameworkCalo.DerivationFrameworkCaloConfig
import (
56 MaxCellDecoratorCfg, MaxCellDecoratorKernelCfg)
64 name =
"LLP1LRTMaxCellDecoratorTool",
65 SGKey_electrons =
"LRTElectrons",
66 SGKey_egammaClusters = (
"" if flags.GeoModel.Run == LHCPeriod.Run3
67 else "egammaClusters"),
69 acc.addPublicTool(LLP1LRTMaxCellDecoratorTool)
72 from TrkConfig.TrkVertexFitterUtilsConfig
import AtlasFullLinearizedTrackFactoryCfg
74 name =
"LLP1AtlasFullLinearizedTrackFactory"))
75 acc.addPublicTool(AtlasFullLinearizedTrackFactoryTool)
77 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
79 name =
"LLP1ExtrapolatorTool"))
80 acc.addPublicTool(ExtrapolatorTool)
83 from DerivationFrameworkLLP.LLPToolsConfig
import TrackParametersKVUCfg
85 name =
"LLP1TrackParametersKVU",
86 TrackParticleContainerName =
"InDetDisappearingTrackParticles",
87 VertexContainerName =
"PrimaryVertices",
88 LinearizedTrackFactory = AtlasFullLinearizedTrackFactoryTool,
89 TrackExtrapolator = ExtrapolatorTool))
90 acc.addPublicTool(LLP1TrackParametersKVUTool)
94 isoPar = ROOT.xAOD.Iso.IsolationType
95 deco_ptcones = [isoPar.ptcone40, isoPar.ptcone30, isoPar.ptcone20]
96 deco_ptcones_suffix = [
"ptcone40",
"ptcone30",
"ptcone20"]
99 from InDetConfig.InDetTrackSelectionToolConfig
import InDetTrackSelectionTool_Loose_Cfg
101 name =
"TrackSelectionToolStd",
106 name =
"TrackSelectionToolPdEdx",
112 name =
"TrackSelectionToolPdEdxTight",
117 from IsolationAlgs.IsoToolsConfig
import TrackIsolationToolCfg, CaloIsolationToolCfg
119 name =
"TrackIsoToolStd",
120 TrackSelectionTool = TrackSelectionToolStd))
121 acc.addPublicTool(TrackIsoToolStd)
124 name =
"TrackIsoToolPdEdx",
125 TrackSelectionTool = TrackSelectionToolPdEdx))
126 acc.addPublicTool(TrackIsoToolPdEdx)
129 name =
"TrackIsoToolPdEdxTight",
130 TrackSelectionTool = TrackSelectionToolPdEdxTight))
131 acc.addPublicTool(TrackIsoToolPdEdxTight)
133 from CaloIdentifier
import SUBCALO
135 name =
"CaloIsoTool",
136 EMCaloNums = [SUBCALO.LAREM],
137 HadCaloNums = [SUBCALO.LARHEC, SUBCALO.TILE],
139 UseCaloExtensionCaching =
False,
140 saveOnlyRequestedCorrections =
True))
141 acc.addPublicTool(CaloIsoTool)
143 from DerivationFrameworkInDet.InDetToolsConfig
import IsolationTrackDecoratorCfg
145 name =
"LLP1IsolationTrackDecorator",
146 TrackIsolationTool = TrackIsoToolStd,
147 CaloIsolationTool = CaloIsoTool,
148 TargetContainer =
"InDetTrackParticles",
149 SelectionString =
"InDetTrackParticles.pt>10*GeV",
150 iso = [isoPar.ptcone40, isoPar.ptcone30, isoPar.ptcone20, isoPar.ptvarcone40, isoPar.ptvarcone30, isoPar.ptvarcone20, isoPar.topoetcone40, isoPar.topoetcone30, isoPar.topoetcone20],
151 isoSuffix = [
"ptcone40",
"ptcone30",
"ptcone20",
"ptvarcone40",
"ptvarcone30",
"ptvarcone20",
"topoetcone40",
"topoetcone30",
"topoetcone20"],
152 Prefix = deco_prefix))
153 acc.addPublicTool(LLP1IsolationTrackDecoratorTool)
156 name =
"LLP1IsolationTrackDecoratorDT",
157 TrackIsolationTool = TrackIsoToolStd,
158 CaloIsolationTool = CaloIsoTool,
159 TargetContainer =
"InDetDisappearingTrackParticles",
160 SelectionString =
"InDetDisappearingTrackParticles.pt>10*GeV",
161 iso = [isoPar.ptcone40, isoPar.ptcone30, isoPar.ptcone20, isoPar.ptvarcone40, isoPar.ptvarcone30, isoPar.ptvarcone20, isoPar.topoetcone40, isoPar.topoetcone30, isoPar.topoetcone20],
162 isoSuffix = [
"ptcone40",
"ptcone30",
"ptcone20",
"ptvarcone40",
"ptvarcone30",
"ptvarcone20",
"topoetcone40",
"topoetcone30",
"topoetcone20"],
163 Prefix = deco_prefix))
164 acc.addPublicTool(LLP1IsolationTrackDecoratorDTTool)
167 name =
"LLP1IsolationTrackDecoratorPdEdx",
168 TrackIsolationTool = TrackIsoToolPdEdx,
169 CaloIsolationTool = CaloIsoTool,
170 TargetContainer =
"InDetTrackParticles",
172 Prefix =
'TrkIsoPtPdEdx_',
173 isoSuffix = deco_ptcones_suffix))
174 acc.addPublicTool(LLP1IsolationTrackDecoratorPdEdxTool)
177 name =
"LLP1IsolationTrackDecoratorPdEdxDT",
178 TrackIsolationTool = TrackIsoToolPdEdx,
179 CaloIsolationTool = CaloIsoTool,
180 TargetContainer =
"InDetDisappearingTrackParticles",
182 Prefix =
'TrkIsoPtPdEdx_',
183 isoSuffix = deco_ptcones_suffix))
184 acc.addPublicTool(LLP1IsolationTrackDecoratorPdEdxDTTool)
187 name =
"LLP1IsolationTrackDecoratorPdEdxTight",
188 TrackIsolationTool = TrackIsoToolPdEdxTight,
189 CaloIsolationTool = CaloIsoTool,
190 TargetContainer =
"InDetTrackParticles",
192 Prefix =
'TrkIsoPtTightPdEdx_',
193 isoSuffix = deco_ptcones_suffix))
194 acc.addPublicTool(LLP1IsolationTrackDecoratorPdEdxTightTool)
197 name =
"LLP1IsolationTrackDecoratorPdEdxTightDT",
198 TrackIsolationTool = TrackIsoToolPdEdxTight,
199 CaloIsolationTool = CaloIsoTool,
200 TargetContainer =
"InDetDisappearingTrackParticles",
202 Prefix =
'TrkIsoPtTightPdEdx_',
203 isoSuffix = deco_ptcones_suffix))
204 acc.addPublicTool(LLP1IsolationTrackDecoratorPdEdxTightDTTool)
206 from DerivationFrameworkLLP.LLPToolsConfig
import TrackParticleCaloCellDecoratorCfg
208 name =
"LLP1TrackParticleCaloCellDecorator",
209 DecorationPrefix =
"LLP1",
210 ContainerName =
"InDetTrackParticles"))
211 acc.addPublicTool(LLP1TrackParticleCaloCellDecoratorTool)
213 augmentationTools = [ LLP1LRTMaxCellDecoratorTool,
214 LLP1TrackParametersKVUTool,
215 LLP1IsolationTrackDecoratorTool,
216 LLP1IsolationTrackDecoratorDTTool,
217 LLP1IsolationTrackDecoratorPdEdxTool,
218 LLP1IsolationTrackDecoratorPdEdxDTTool,
219 LLP1IsolationTrackDecoratorPdEdxTightTool,
220 LLP1IsolationTrackDecoratorPdEdxTightDTTool,
221 LLP1TrackParticleCaloCellDecoratorTool ]
226 name =
"LLP1TauMaxCellDecoratorTool",
227 SGKey_taus =
'TauJets',
228 SGKey_electrons =
'',
230 acc.addPublicTool(LLP1TauMaxCellDecoratorTool)
232 augmentationTools += [ LLP1TauMaxCellDecoratorTool ]
237 name =
"LLP1AntiKt4EMTopoJetMaxCellDecoratorTool",
238 SGKey_jets =
'AntiKt4EMTopoJets',
240 SGKey_electrons =
'',
242 acc.addPublicTool(LLP1AntiKt4EMTopoJetMaxCellDecoratorTool)
244 augmentationTools += [ LLP1AntiKt4EMTopoJetMaxCellDecoratorTool ]
249 name =
"LLP1AntiKt4EMPFlowJetMaxCellDecoratorTool",
250 SGKey_jets =
'AntiKt4EMPFlowJets',
252 SGKey_electrons =
'',
254 acc.addPublicTool(LLP1AntiKt4EMPFlowJetMaxCellDecoratorTool)
256 augmentationTools += [ LLP1AntiKt4EMPFlowJetMaxCellDecoratorTool ]
259 from JetRecConfig.JetRecConfig
import registerAsInputConstit, JetRecCfg
260 from JetRecConfig.StandardSmallRJets
import AntiKt4Truth, AntiKt4EMTopo
261 from JetRecConfig.JetDefinition
import JetDefinition
262 from JetRecConfig.StandardJetConstits
import stdConstitDic
as cst
266 cst.AntiKt4EMTopoJets.label =
"EMTopoRC"
267 cst.AntiKt4TruthJets.label =
"TruthRC"
269 AntiKt10RCEMTopo = JetDefinition(
"AntiKt",1.0,cst.AntiKt4EMTopoJets,
270 ghostdefs = [
"Track",
"TrackLRT",
"LCTopoOrigin"],
271 modifiers = (
"Sort",
"Filter:200000",),
272 standardRecoMode =
True,
276 AntiKt10RCTruth = JetDefinition(
"AntiKt",1.0,cst.AntiKt4TruthJets,
278 modifiers = (
"Sort",
"Filter:200000",),
279 standardRecoMode =
True,
283 from DerivationFrameworkPhys.PhysCommonConfig
import PhysCommonAugmentationsCfg
285 acc.merge(
JetRecCfg(flags,AntiKt10RCEMTopo))
286 if flags.Input.isMC: acc.merge(
JetRecCfg(flags,AntiKt10RCTruth))
289 from DerivationFrameworkJetEtMiss.METCommonConfig
import METLRTCfg
290 acc.merge(
METLRTCfg(flags,
"AntiKt4EMTopo"))
291 acc.merge(
METLRTCfg(flags,
"AntiKt4EMPFlow"))
294 from DerivationFrameworkEGamma.EGammaLRTConfig
import EGammaLRTCfg
297 from DerivationFrameworkLLP.LLPToolsConfig
import LRTElectronLHSelectorsCfg
301 from DerivationFrameworkLLP.LLPToolsConfig
import PhotonIsEMSelectorsCfg
305 from DerivationFrameworkMuons.MuonsCommonConfig
import MuonsCommonCfg
310 from DerivationFrameworkLLP.LLPToolsConfig
import RecoverZeroPixelHitMuonsCfg
314 from DerivationFrameworkFlavourTag.FtagDerivationConfig
import FtagJetCollectionsCfg
318 from VrtSecInclusive.VrtSecInclusiveConfig
import VrtSecInclusiveCfg
321 from MuSAVtxFitter.MuSAVtxFitterConfig
import MuSAVtxFitterConfig
324 name =
"VrtSecInclusive",
325 AugmentingVersionString =
"",
326 FillIntermediateVertices =
False,
327 TrackLocation = MergedTrackCollection))
328 LLP1VrtSecInclusiveSuffixes.append(
"")
331 shortLifetimeSuffix =
"_shortLifetime"
333 name =
"VrtSecInclusive_InDet"+shortLifetimeSuffix,
334 AugmentingVersionString = shortLifetimeSuffix,
335 FillIntermediateVertices =
False,
336 TrackLocation = MergedTrackCollection,
337 twoTrkVtxFormingD0Cut = 1.0))
338 LLP1VrtSecInclusiveSuffixes.append(shortLifetimeSuffix)
340 if flags.Input.isMC
and flags.Derivation.LLP.doTrackSystematics:
341 from InDetTrackSystematicsTools.InDetTrackSystematicsToolsConfig
import TrackSystematicsAlgCfg
342 TrackSystSuffix =
"_TRK_EFF_LARGED0_GLOBAL__1down"
345 name=f
"InDetTrackSystematicsAlg{TrackSystSuffix}",
346 InputTrackContainer = MergedTrackCollection,
347 OutputTrackContainer = f
"{MergedTrackCollection}{TrackSystSuffix}"))
349 name = f
"VrtSecInclusive{TrackSystSuffix}",
350 AugmentingVersionString = TrackSystSuffix,
351 FillIntermediateVertices =
False,
352 TrackLocation = f
"{MergedTrackCollection}{TrackSystSuffix}"))
353 LLP1VrtSecInclusiveSuffixes.append(TrackSystSuffix)
355 TrackSystSuffixShortLifetime =
"_TRK_EFF_LARGED0_GLOBAL__1down_shortLifetime"
358 name=f
"InDetTrackSystematicsAlg{TrackSystSuffixShortLifetime}",
359 InputTrackContainer = MergedTrackCollection,
360 OutputTrackContainer = f
"{MergedTrackCollection}{TrackSystSuffixShortLifetime}"))
362 name = f
"VrtSecInclusive{TrackSystSuffixShortLifetime}",
363 AugmentingVersionString = TrackSystSuffixShortLifetime,
364 FillIntermediateVertices =
False,
365 TrackLocation = f
"{MergedTrackCollection}{TrackSystSuffixShortLifetime}",
366 twoTrkVtxFormingD0Cut = 1.0))
367 LLP1VrtSecInclusiveSuffixes.append(TrackSystSuffixShortLifetime)
370 from DerivationFrameworkLLP.LLPToolsConfig
import ZeroPixelHitMuonMergerAlgCfg
372 InputMuonContainers = [MergedMuonContainer,
"ZeroPixelHitMuons"],
373 OutputMuonLocation = MergedMuonContainer_wZPH))
377 LeptonsSuffix =
"_Leptons"
379 name =
"VrtSecInclusive_InDet"+LeptonsSuffix,
380 AugmentingVersionString = LeptonsSuffix,
381 FillIntermediateVertices =
False,
382 TrackLocation = MergedTrackCollection,
383 twoTrkVtxFormingD0Cut = 1.0,
384 doSelectTracksFromMuons =
True,
385 doRemoveCaloTaggedMuons =
True,
386 doSelectTracksFromElectrons =
True,
387 MuonLocation = MergedMuonContainer,
388 ElectronLocation = MergedElectronContainer))
389 LLP1VrtSecInclusiveSuffixes.append(LeptonsSuffix)
392 LepTrackSuffix =
"_LepTrack"
394 name =
"VrtSecInclusive_InDet"+LepTrackSuffix,
395 AugmentingVersionString = LepTrackSuffix,
396 FillIntermediateVertices =
False,
397 TrackLocation = MergedTrackCollection,
398 MuonLocation = MergedMuonContainer,
399 ElectronLocation = MergedElectronContainer,
400 twoTrkVtxFormingD0Cut = 1.0,
401 doSelectIDAndGSFTracks =
True,
402 doRemoveCaloTaggedMuons =
True,
403 doRemoveNonLeptonVertices =
True,
404 doAssociateNonSelectedTracks=
False))
405 LLP1VrtSecInclusiveSuffixes.append(LepTrackSuffix)
408 BoostedMuonsSuffix =
"_BoostedMuons"
410 name =
"VrtSecInclusive_InDet"+BoostedMuonsSuffix,
411 AugmentingVersionString = BoostedMuonsSuffix,
412 FillIntermediateVertices =
False,
413 TrackLocation = MergedTrackCollection,
414 twoTrkVtxFormingD0Cut = 0.0,
415 doSelectTracksFromMuons =
True,
416 doRemoveCaloTaggedMuons =
True,
417 doSelectTracksFromElectrons =
False,
418 MuonLocation = MergedMuonContainer_wZPH,
419 do_PVvetoCut =
False,
420 DoTwoTrSoftBtag =
True,
421 TwoTrVrtMinDistFromPVCut = 0.5,
422 associatePtCut = 500.))
423 LLP1VrtSecInclusiveSuffixes.append(BoostedMuonsSuffix)
427 MuonContainerName=MergedMuonContainer))
430 from NewVrtSecInclusiveTool.NewVrtSecInclusiveAlgConfig
import NewVrtSecInclusiveAlgLLPCfg
431 from NewVrtSecInclusiveTool.NewVrtSecInclusiveConfig
import DVFinderToolCfg
432 IDAndGSFSuffix =
"_IDAndGSF_LepTrack"
434 NVSILepTrack_Tool = acc.popToolsAndMerge(
DVFinderToolCfg(flags,FillHist=
False,AugmentingVersionString=IDAndGSFSuffix,MaxZVrt=1000.,AntiPileupSigRCut=2.))
436 algname =
"NVSI"+IDAndGSFSuffix,
437 AugmentingVersionString = IDAndGSFSuffix,
438 ElectronContainer = MergedElectronContainer,
439 MuonContainer = MergedMuonContainer,
440 TrackParticleContainer = MergedTrackCollection,
441 GSFTrackParticleContainer = MergedGSFTrackCollection,
442 BVertexContainerName =
"NewVrtSecInclusive_SecondaryVertices"+IDAndGSFSuffix,
445 RemoveNonLepVertices =
True,
446 BVertexTool = NVSILepTrack_Tool))
447 LLP1NewVSISuffixes.append(IDAndGSFSuffix)
450 jet_clean_prefix=
"DFCommonJets_"
451 jet_clean_container=
"AntiKt4EMTopoJets"
452 jet_clean_level=
"SuperLooseBadLLP"
453 from JetSelectorTools.JetSelectorToolsConfig
import EventCleaningToolCfg, JetCleaningToolCfg
455 "LLP1JetCleanSuperLLP",
459 acc.addPublicTool(LLP1JetCleanSuperLLPTool)
462 "LLP1EventCleanSuperLLP",
464 LLP1EventCleanSuperLLPTool.JetCleanPrefix = jet_clean_prefix
465 LLP1EventCleanSuperLLPTool.JetContainer = jet_clean_container
466 LLP1EventCleanSuperLLPTool.JetCleaningTool = LLP1JetCleanSuperLLPTool
467 acc.addPublicTool(LLP1EventCleanSuperLLPTool)
469 LLP1EventCleanAlg = CompFactory.EventCleaningTestAlg(
470 "LLP1JetCleanDecoratorSuperLLP",
471 EventCleaningTool = LLP1EventCleanSuperLLPTool,
472 JetCollectionName = jet_clean_container,
473 EventCleanPrefix = jet_clean_prefix,
474 CleaningLevel = jet_clean_level,
479 acc.addSequence(CompFactory.AthSequencer(
'EventCleanSeq', Sequential=
True))
480 acc.addEventAlgo(LLP1EventCleanAlg,
'EventCleanSeq')
483 from DerivationFrameworkLLP.LLPToolsConfig
import AugmentationToolLeadingJetsCfg
485 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(name, AugmentationTools = [augmentationToolLeadingJets]))
488 from DerivationFrameworkInDet.InDetToolsConfig
import TrackParticleThinningCfg, EgammaTrackParticleThinningCfg, MuonTrackParticleThinningCfg, TauTrackParticleThinningCfg, DiTauTrackParticleThinningCfg
489 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import GenericObjectThinningCfg
490 from DerivationFrameworkTau.TauCommonConfig
import TauThinningCfg
495 name =
"LLP1TrackParticleThinningTool",
496 StreamName = kwargs[
'StreamName'],
497 SelectionString =
"InDetTrackParticles.pt>10*GeV",
498 InDetTrackParticlesKey =
"InDetTrackParticles"))
502 name =
"LLP1LRTGSFTrackParticleThinningTool",
503 StreamName = kwargs[
'StreamName'],
504 SelectionString =
"LRTGSFTrackParticles.pt>0*GeV",
505 InDetTrackParticlesKey =
"LRTGSFTrackParticles"))
509 name =
"LLP1DTTrackParticleThinningTool",
510 StreamName = kwargs[
'StreamName'],
511 SelectionString =
"InDetDisappearingTrackParticles.pt>5*GeV",
512 InDetTrackParticlesKey =
"InDetDisappearingTrackParticles"))
517 name =
"LLP1ElectronTPThinningTool",
518 StreamName = kwargs[
'StreamName'],
520 InDetTrackParticlesKey =
"InDetTrackParticles"))
524 name =
"LLP1LRTElectronTPThinningTool",
525 StreamName = kwargs[
'StreamName'],
526 SGKey =
"LRTElectrons",
527 InDetTrackParticlesKey =
"InDetLargeD0TrackParticles",
528 GSFTrackParticlesKey =
"LRTGSFTrackParticles"))
532 name =
"LLP1MuonTPThinningTool",
533 StreamName = kwargs[
'StreamName'],
535 InDetTrackParticlesKey =
"InDetTrackParticles"))
539 name =
"LLP1LRTMuonTPThinningTool",
540 StreamName = kwargs[
'StreamName'],
541 MuonKey =
"MuonsLRT",
542 InDetTrackParticlesKey =
"InDetLargeD0TrackParticles"))
545 tau_thinning_expression = f
"TauJets.pt >= {flags.Tau.MinPtDAOD}"
548 name =
"LLP1TauJetThinningTool",
549 StreamName = kwargs[
'StreamName'],
551 TauTracks =
"TauTracks",
552 TrackParticles =
"InDetTrackParticles",
553 TauNeutralPFOs =
"TauNeutralParticleFlowObjects",
554 TauSecondaryVertices =
"TauSecondaryVertices",
555 SelectionString = tau_thinning_expression))
560 name =
"LLP1TauTPThinningTool",
561 StreamName = kwargs[
'StreamName'],
563 InDetTrackParticlesKey =
"InDetTrackParticles",
564 DoTauTracksThinning =
True,
565 TauTracksKey =
"TauTracks"))
567 tau_murm_thinning_expression = tau_thinning_expression.replace(
'TauJets',
'TauJets_MuonRM')
568 LLP1TauJetMuonRMParticleThinningTool = acc.getPrimaryAndMerge(
TauThinningCfg(
570 name =
"LLP1TauJets_MuonRMThinningTool",
571 StreamName = kwargs[
'StreamName'],
572 Taus =
"TauJets_MuonRM",
573 TauTracks =
"TauTracks_MuonRM",
574 TrackParticles =
"InDetTrackParticles",
575 TauNeutralPFOs =
"TauNeutralParticleFlowObjects_MuonRM",
576 TauSecondaryVertices =
"TauSecondaryVertices_MuonRM",
577 SelectionString = tau_murm_thinning_expression))
582 name =
"LLP1DiTauTPThinningTool",
583 StreamName = kwargs[
'StreamName'],
584 DiTauKey =
"DiTauJets",
585 InDetTrackParticlesKey =
"InDetTrackParticles"))
590 name =
"LLP1DiTauLowPtThinningTool",
591 StreamName = kwargs[
'StreamName'],
592 ContainerName =
"DiTauJetsLowPt",
593 SelectionString =
"DiTauJetsLowPt.nSubjets > 1"))
598 name =
"LLP1DiTauLowPtTPThinningTool",
599 StreamName = kwargs[
'StreamName'],
600 DiTauKey =
"DiTauJetsLowPt",
601 InDetTrackParticlesKey =
"InDetTrackParticles",
602 SelectionString =
"DiTauJetsLowPt.nSubjets > 1"))
606 from DerivationFrameworkLLP.LLPToolsConfig
import VSITrackParticleThinningCfg
608 name =
"LLP1VSITPThinningTool",
609 StreamName = kwargs[
'StreamName'],
610 InDetTrackParticlesKey =
"InDetTrackParticles",
611 AugVerStrings = LLP1VrtSecInclusiveSuffixes + LLP1NewVSISuffixes))
613 name =
"LLP1LRTVSITPThinningTool",
614 StreamName = kwargs[
'StreamName'],
615 InDetTrackParticlesKey =
"InDetLargeD0TrackParticles",
616 AugVerStrings = LLP1VrtSecInclusiveSuffixes + LLP1NewVSISuffixes))
618 name =
"LLP1GSFVSITPThinningTool",
619 StreamName = kwargs[
'StreamName'],
620 InDetTrackParticlesKey =
"GSFTrackParticles",
621 AugVerStrings = [IDAndGSFSuffix]))
624 from DerivationFrameworkLLP.LLPToolsConfig
import JetTrackParticleThinningCfg, JetLargeD0TrackParticleThinningCfg
626 name =
"LLP1JetTPThinningTool",
627 StreamName = kwargs[
'StreamName'],
628 JetKey =
"AntiKt4EMTopoJets",
629 SelectionString =
"(AntiKt4EMTopoJets.pt > 20.*GeV) && (abs(AntiKt4EMTopoJets.eta) < 2.5)",
630 InDetTrackParticlesKey =
"InDetTrackParticles"))
633 name =
"LLP1FatJetTPThinningTool",
634 StreamName = kwargs[
'StreamName'],
635 JetKey =
"AntiKt10EMTopoRCJets",
636 SelectionString =
"(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
637 InDetTrackParticlesKey =
"InDetTrackParticles",
641 if flags.Tracking.doLargeD0:
643 name =
"LLP1LRTJetTPThinningTool",
644 StreamName = kwargs[
'StreamName'],
645 JetKey =
"AntiKt4EMTopoJets",
646 SelectionString =
"(AntiKt4EMTopoJets.pt > 20.*GeV) && (abs(AntiKt4EMTopoJets.eta) < 2.5)",
647 InDetTrackParticlesKey =
"InDetLargeD0TrackParticles"))
650 name =
"LLP1LRTFatJetTPThinningTool",
651 StreamName = kwargs[
'StreamName'],
652 JetKey =
"AntiKt10EMTopoRCJets",
653 SelectionString =
"(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
654 InDetTrackParticlesKey =
"InDetLargeD0TrackParticles",
658 from DerivationFrameworkLLP.LLPToolsConfig
import PixeldEdxTrackParticleThinningCfg
661 name =
"LLP1PixeldEdxTrackParticleThinningTool",
662 StreamName = kwargs[
'StreamName'],
663 InDetTrackParticlesKey =
"InDetTrackParticles"))
667 from DerivationFrameworkCalo.DerivationFrameworkCaloConfig
import JetCaloClusterThinningCfg
672 StreamName = kwargs[
'StreamName'],
673 SGKey =
"AntiKt4EMTopoJets",
674 TopoClCollectionSGKey =
"CaloCalTopoClusters",
675 SelectionString =
"(AntiKt4EMTopoJets.DFDecoratorLeadingJets)",
676 AdditionalClustersKey = [
"EMOriginTopoClusters",
"LCOriginTopoClusters"]
684 thinningTools = [LLP1TrackParticleThinningTool,
685 LLP1DTTrackParticleThinningTool,
686 LLP1ElectronTPThinningTool,
687 LLP1LRTElectronTPThinningTool,
688 LLP1MuonTPThinningTool,
689 LLP1LRTMuonTPThinningTool,
690 LLP1TauJetsThinningTool,
691 LLP1TauTPThinningTool,
692 LLP1TauJetMuonRMParticleThinningTool,
693 LLP1DiTauTPThinningTool,
694 LLP1DiTauLowPtThinningTool,
695 LLP1DiTauLowPtTPThinningTool,
696 LLP1VSITPThinningTool,
697 LLP1LRTVSITPThinningTool,
698 LLP1GSFVSITPThinningTool,
699 LLP1JetTPThinningTool,
700 LLP1FatJetTPThinningTool,
701 LLP1PixeldEdxTrackParticleThinningTool,
703 LLP1LRTGSFTrackParticleThinningTool
706 if flags.Tracking.doLargeD0:
707 thinningTools.append(LLP1LRTJetTPThinningTool)
708 thinningTools.append(LLP1LRTFatJetTPThinningTool)
713 from DerivationFrameworkLLP.LLPToolsConfig
import RCJetSubstructureAugCfg
715 name =
"LLP1RCJetSubstructureClustTrimAugTool",
716 StreamName = kwargs[
'StreamName'],
717 JetContainerKey =
"AntiKt10EMTopoRCJets",
718 SelectionString =
"(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
719 GhostConstitNames = [
"GhostLCTopoOrigin"],
720 Suffix =
"clusterTrim",
721 Grooming =
"Trimming",
725 RCSubstructureClusterTrimAug = CompFactory.DerivationFramework.CommonAugmentation(
"RCSubstructureClusterTrimAug", AugmentationTools = [LLP1RCJetSubstructureClustTrimAugTool])
726 acc.addEventAlgo(RCSubstructureClusterTrimAug)
729 name =
"LLP1RCJetSubstructureClustSDAugTool",
730 StreamName = kwargs[
'StreamName'],
731 JetContainerKey =
"AntiKt10EMTopoRCJets",
732 SelectionString =
"(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
733 GhostConstitNames = [
"GhostLCTopoOrigin"],
734 Suffix =
"clusterSoftDrop",
735 Grooming =
"SoftDrop",
739 RCSubstructureClusterSDAug = CompFactory.DerivationFramework.CommonAugmentation(
"RCSubstructureClusterSDAug", AugmentationTools = [LLP1RCJetSubstructureClustSDAugTool])
740 acc.addEventAlgo(RCSubstructureClusterSDAug)
743 from DerivationFrameworkLLP.LLPToolsConfig
import RCJetSubstructureAugCfg
745 name =
"LLP1RCJetSubstructureTrackTrimAugTool",
746 StreamName = kwargs[
'StreamName'],
747 JetContainerKey =
"AntiKt10EMTopoRCJets",
748 SelectionString =
"(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
749 GhostConstitNames = [
"GhostTrack",
"GhostTrackLRT"],
750 Suffix =
"trackTrim",
751 Grooming =
"Trimming",
755 RCSubstructureTrackTrimAug = CompFactory.DerivationFramework.CommonAugmentation(
"RCSubstructureTrackTrimAug", AugmentationTools = [LLP1RCJetSubstructureTrackTrimAugTool])
756 acc.addEventAlgo(RCSubstructureTrackTrimAug)
758 from DerivationFrameworkLLP.LLPToolsConfig
import RCJetSubstructureAugCfg
760 name =
"LLP1RCJetSubstructureTrackSDAugTool",
761 StreamName = kwargs[
'StreamName'],
762 JetContainerKey =
"AntiKt10EMTopoRCJets",
763 SelectionString =
"(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
764 GhostConstitNames = [
"GhostTrack",
"GhostTrackLRT"],
765 Suffix =
"trackSoftDrop",
766 Grooming =
"SoftDrop",
770 RCSubstructureTrackSDAug = CompFactory.DerivationFramework.CommonAugmentation(
"RCSubstructureTrackSDAug", AugmentationTools = [LLP1RCJetSubstructureTrackSDAugTool])
771 acc.addEventAlgo(RCSubstructureTrackSDAug)
778 from DerivationFrameworkLLP.LLPToolsConfig
import LLP1TriggerSkimmingToolCfg
780 name =
"LLP1TriggerSkimmingTool",
781 TriggerListsHelper = kwargs[
'TriggerListsHelper']))
783 skimmingTools.append(LLP1TriggerSkimmingTool)
785 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
787 SkimmingTools = skimmingTools,
788 ThinningTools = thinningTools,
789 AugmentationTools = augmentationTools))