27 """Configure the derivation framework driving algorithm (kernel) for JETM7"""
31 if not flags.Input.isMC:
35 from DerivationFrameworkPhys.PhysCommonConfig
import PhysCommonAugmentationsCfg
38 from DerivationFrameworkInDet.InDetToolsConfig
import InDetTrackSelectionToolWrapperCfg
41 name =
"DFJETM7CommonTrackSelectionLoose",
43 DecorationName =
"DFJETM7Loose"))
45 acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
"JETM7CommonKernel", AugmentationTools = [DFCommonTrackSelection]))
48 from DerivationFrameworkInDet.InDetToolsConfig
import MuonTrackParticleThinningCfg, EgammaTrackParticleThinningCfg, JetTrackParticleThinningCfg, TauTrackParticleThinningCfg
50 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import GenericObjectThinningCfg
52 muonSelectionString =
"(Muons.pt > 5*GeV)"
53 electronSelectionString =
"(Electrons.pt > 5*GeV)"
54 photonSelectionString =
"(Photons.pt > 5*GeV)"
55 jetSelectionString =
"(AntiKt4EMPFlowByVertexJets.pt > 7.*GeV && AntiKt4EMPFlowByVertexJets.Jvt > 0.4)"
56 tauJetSelectionString =
"(TauJets.pt > 20.*GeV && TauJets.nTracks > 0)"
60 name =
"JETM7MuonTPThinningTool",
61 StreamName = kwargs[
'StreamName'],
63 SelectionString = muonSelectionString,
64 InDetTrackParticlesKey =
"InDetTrackParticles"))
68 name =
"JETM7ElectronTPThinningTool",
69 StreamName = kwargs[
'StreamName'],
71 SelectionString = electronSelectionString,
72 InDetTrackParticlesKey =
"InDetTrackParticles"))
77 name =
"JETM7TauTPThinningTool",
78 StreamName = kwargs[
'StreamName'],
80 SelectionString = tauJetSelectionString,
81 InDetTrackParticlesKey =
"InDetTrackParticles",
82 DoTauTracksThinning =
True,
84 TauTracksKey =
"TauTracks"))
88 name =
"JETM7Akt4JetTPThinningTool",
89 StreamName = kwargs[
'StreamName'],
90 JetKey =
"AntiKt4EMPFlowByVertexJets",
91 SelectionString = jetSelectionString,
92 InDetTrackParticlesKey =
"InDetTrackParticles"))
98 name =
"JETM7Akt4PFlowByVertexJetThinningTool",
99 ContainerName =
"AntiKt4EMPFlowByVertexJets",
100 StreamName = kwargs[
'StreamName'],
101 SelectionString = jetSelectionString))
105 name =
"JETM7Akt4PFlowJetThinningTool",
106 ContainerName =
"AntiKt4EMPFlowJets",
107 StreamName = kwargs[
'StreamName'],
108 SelectionString =
"(abs(AntiKt4EMPFlowJets.eta) > 2.4)"))
112 name =
"JETM7MuonThinningTool",
113 ContainerName =
"Muons",
114 StreamName = kwargs[
'StreamName'],
115 SelectionString = muonSelectionString))
119 name =
"JETM7ElectronThinningTool",
120 ContainerName =
"Electrons",
121 StreamName = kwargs[
'StreamName'],
122 SelectionString = electronSelectionString))
125 name =
"JETM7TauJetThinningTool",
126 ContainerName =
"TauJets",
127 StreamName = kwargs[
'StreamName'],
128 SelectionString = tauJetSelectionString))
131 name =
"JETM7PhotonThinningTool",
132 ContainerName =
"Photons",
133 StreamName = kwargs[
'StreamName'],
134 SelectionString = photonSelectionString))
141 thinningTools = [JETM7MuonTPThinningTool,
142 JETM7ElectronTPThinningTool,
143 JETM7TauTPThinningTool,
144 JETM7Akt4JetTPThinningTool,
145 JETM7Akt4PFlowByVertexJetThinningTool,
146 JETM7Akt4PFlowJetThinningTool,
147 JETM7MuonThinningTool,
148 JETM7ElectronThinningTool,
149 JETM7TauJetThinningTool,
150 JETM7PhotonThinningTool,
153 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
155 ThinningTools = thinningTools,
156 SkimmingTools = [skimmingTool]
if not flags.Input.isMC
else []))