15 """Configure the derivation framework driving algorithm (kernel) for SUSY20"""
22 augmentationTools = []
26 from DerivationFrameworkBPhys.V0ToolConfig
import BPHY_Reco_V0FinderCfg
as Reco_V0Finder
27 SUSY20_RecoV0_Finder = acc.popToolsAndMerge(Reco_V0Finder(
29 derivation =
"SUSY20",
31 V0ContainerName =
"SUSY20RecoV0Candidates",
32 KshortContainerName =
"SUSY20RecoKshortCandidates",
33 LambdaContainerName =
"SUSY20RecoLambdaCandidates",
34 LambdabarContainerName =
"SUSY20RecoLambdabarCandidates",
35 CheckVertexContainers = [
"PrimaryVertices"]
37 acc.addPublicTool(SUSY20_RecoV0_Finder)
38 augmentationTools.append(SUSY20_RecoV0_Finder)
41 from VrtSecInclusive.VrtSecInclusiveConfig
import VrtSecInclusiveCfg
44 name =
"SUSY20_VrtSecInclusiveTool",
45 AugmentingVersionString =
"_SUSY20",
51 SelTrkMaxCutoff = 2000,
52 a0TrkPVDstMinCut = 0.0,
57 DoTruth = flags.Input.isMC,
61 from xAODPrimitives.xAODIso
import xAODIso
as isoPar
62 deco_ptcones = [isoPar.ptcone40, isoPar.ptcone30, isoPar.ptcone20, isoPar.topoetcone40, isoPar.topoetcone30, isoPar.topoetcone20]
63 deco_ptcones_suffix = [
"ptcone40",
"ptcone30",
"ptcone20",
"topoetcone40",
"topoetcone30",
"topoetcone20"]
64 deco_prefix =
'SUSY20_'
66 from IsolationAlgs.IsoToolsConfig
import TrackIsolationToolCfg
69 name =
"SUSY20TrackIsoTool",
71 SUSY20TrackIsoTool.TrackSelectionTool.maxZ0SinTheta = 1.5
72 SUSY20TrackIsoTool.TrackSelectionTool.maxD0 = 1.5
73 SUSY20TrackIsoTool.TrackSelectionTool.minPt = 1000
74 SUSY20TrackIsoTool.TrackSelectionTool.CutLevel =
"TightPrimary"
75 acc.addPublicTool(SUSY20TrackIsoTool)
77 from IsolationAlgs.IsoToolsConfig
import CaloIsolationToolCfg
78 from CaloIdentifier
import SUBCALO
81 name =
"SUSY20CaloIsoTool",
82 EMCaloNums = [SUBCALO.LAREM],
83 HadCaloNums = [SUBCALO.LARHEC, SUBCALO.TILE],
85 UseCaloExtensionCaching =
False,
86 saveOnlyRequestedCorrections =
True
88 acc.addPublicTool(SUSY20CaloIsoTool)
90 from DerivationFrameworkInDet.InDetToolsConfig
import IsolationTrackDecoratorCfg
93 name =
"SUSY20IDTrackDecoratorTool",
94 TrackIsolationTool = SUSY20TrackIsoTool,
95 CaloIsolationTool = SUSY20CaloIsoTool,
96 TargetContainer =
"InDetTrackParticles",
97 SelectionString =
"InDetTrackParticles.pt > 0.5*GeV",
99 isoSuffix = deco_ptcones_suffix,
100 Prefix = deco_prefix,
102 acc.addPublicTool(SUSY20IDTrackDecoratorTool)
103 augmentationTools.append(SUSY20IDTrackDecoratorTool)
106 '''# Electron TrackParticles isolation
107 SUSY20ElectronDecorator = acc.getPrimaryAndMerge(IsolationTrackDecoratorCfg(
109 name = "SUSY20ElectronDecoratorTool",
110 TrackIsolationTool = SUSY20TrackIsoTool,
111 CaloIsolationTool = SUSY20CaloIsoTool,
112 TargetContainer = "Electrons",
113 iso = [isoPar.topoetcone40, isoPar.topoetcone30, isoPar.topoetcone20],
114 isoSuffix = ["topoetcone40", "topoetcone30", "topoetcone20"],
115 Prefix = deco_prefix,
117 acc.addPublicTool(SUSY20ElectronDecorator)
118 augmentationTools.append(SUSY20ElectronDecorator)
120 # Muon TrackParticles isolation
121 SUSY20MuonDecorator = acc.getPrimaryAndMerge(IsolationTrackDecoratorCfg(
123 name = "SUSY20MuonDecoratorTool",
124 TrackIsolationTool = SUSY20TrackIsoTool,
125 CaloIsolationTool = SUSY20CaloIsoTool,
126 TargetContainer = "Muons",
127 iso = [isoPar.topoetcone40, isoPar.topoetcone30, isoPar.topoetcone20],
128 isoSuffix = ["topoetcone40", "topoetcone30", "topoetcone20"],
129 Prefix = deco_prefix,
131 acc.addPublicTool(SUSY20MuonDecorator)
132 augmentationTools.append(SUSY20MuonDecorator)
134 # Photon TrackParticles isolation
135 SUSY20PhotonDecorator = acc.getPrimaryAndMerge(IsolationTrackDecoratorCfg(
137 name = "SUSY20PhotonDecoratorTool",
138 TrackIsolationTool = SUSY20TrackIsoTool,
139 CaloIsolationTool = SUSY20CaloIsoTool,
140 TargetContainer = "Photons",
141 iso = [isoPar.topoetcone40, isoPar.topoetcone30, isoPar.topoetcone20],
142 isoSuffix = ["topoetcone40", "topoetcone30", "topoetcone20"],
143 Prefix = deco_prefix,
145 acc.addPublicTool(SUSY20PhotonDecorator)
146 augmentationTools.append(SUSY20PhotonDecorator)'''
149 from DerivationFrameworkPhys.PhysCommonConfig
import PhysCommonAugmentationsCfg
154 from DerivationFrameworkSUSY.SUSYToolsConfig
import SUSY20EventCleaningToolCfg
158 from DerivationFrameworkInDet.InDetToolsConfig
import InDetTrackSelectionToolWrapperCfg
161 name =
"SUSY20TrackSelection",
162 ContainerName =
"InDetTrackParticles",
163 DecorationName =
"DFLoose"
165 SUSY20TrackSelection.TrackSelectionTool.CutLevel =
"Loose"
166 acc.addPublicTool(SUSY20TrackSelection)
167 augmentationTools.append(SUSY20TrackSelection)
173 thinningExpression =
"InDetTrackParticles.DFLoose && (InDetTrackParticles.pt > 0.5*GeV) && (abs( DFCommonInDetTrackZ0AtPV*sin(InDetTrackParticles.theta) ) < 3.0*mm)"
176 from DerivationFrameworkInDet.InDetToolsConfig
import TrackParticleThinningCfg
179 name =
"SUSY20TrackParticleThinningTool",
180 StreamName = kwargs[
'StreamName'],
181 SelectionString = thinningExpression,
182 InDetTrackParticlesKey =
"InDetTrackParticles"
184 acc.addPublicTool(SUSY20TrackParticleThinningTool)
185 thinningTools.append(SUSY20TrackParticleThinningTool)
188 from DerivationFrameworkInDet.InDetToolsConfig
import MuonTrackParticleThinningCfg
191 name =
"SUSY20MuonTPThinningTool",
192 StreamName = kwargs[
'StreamName'],
194 InDetTrackParticlesKey =
"InDetTrackParticles"
196 acc.addPublicTool(SUSY20MuonTPThinningTool)
197 thinningTools.append(SUSY20MuonTPThinningTool)
200 from DerivationFrameworkInDet.InDetToolsConfig
import EgammaTrackParticleThinningCfg
203 name =
"SUSY20ElectronTPThinningTool",
204 StreamName = kwargs[
'StreamName'],
206 InDetTrackParticlesKey =
"InDetTrackParticles"
208 acc.addPublicTool(SUSY20ElectronTPThinningTool)
209 thinningTools.append(SUSY20ElectronTPThinningTool)
212 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import GenericObjectThinningCfg
215 name =
"SUSY20PhotonThinningTool",
216 StreamName = kwargs[
'StreamName'],
217 ContainerName =
"Photons",
218 SelectionString =
"Photons.pt > 10*GeV"
220 acc.addPublicTool(SUSY20PhotonThinningTool)
221 thinningTools.append(SUSY20PhotonThinningTool)
226 name =
"SUSY20PhotonTPThinningTool",
227 StreamName = kwargs[
'StreamName'],
229 InDetTrackParticlesKey =
"InDetTrackParticles",
230 GSFConversionVerticesKey =
"GSFConversionVertices"
232 acc.addPublicTool(SUSY20PhotonTPThinningTool)
233 thinningTools.append(SUSY20PhotonTPThinningTool)
237 from DerivationFrameworkMCTruth.TruthDerivationToolsConfig
import MenuTruthThinningCfg
240 name =
"SUSY20TruthThinningTool",
241 WritePartons =
False,
243 WriteBHadrons =
True,
245 GeantPhotonPtThresh = 20000,
247 PartonPtThresh = -1.0,
250 WriteBosonProducts =
False,
251 WriteBSMProducts =
True,
252 WriteTopAndDecays =
True,
253 WriteEverything =
False,
254 WriteAllLeptons =
True,
255 WriteLeptonsNotFromHadrons =
False,
256 WriteNotPhysical =
False,
258 PreserveAncestors =
True,
259 PreserveGeneratorDescendants =
True
261 acc.addPublicTool(SUSY20TruthThinningTool)
262 thinningTools.append(SUSY20TruthThinningTool)
270 from DerivationFrameworkSUSY.SUSYToolsConfig
import SUSY20DTTriggerSkimmingToolCfg
273 name =
"SUSY20TriggerSkimmingTool"
275 acc.addPublicTool(SUSY20TriggerSkimmingTool_DT)
278 jetRequirements_DT =
"AntiKt4EMPFlowJets.pt > 200*GeV && abs(AntiKt4EMPFlowJets.eta) < 2.8"
279 jetSelection_DT =
"(count(" + jetRequirements_DT +
") >= 1)"
281 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import xAODStringSkimmingToolCfg
284 name =
"SUSY20JetSkimmingTool_DT",
285 expression = jetSelection_DT
287 acc.addPublicTool(SUSY20JetSkimmingTool_DT)
290 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import FilterCombinationANDCfg
293 name =
"SUSY20SkimmingTool_DT",
294 FilterList = [SUSY20JetSkimmingTool_DT, SUSY20TriggerSkimmingTool_DT]
296 acc.addPublicTool(SUSY20xAODSkimmingTool_DT)
297 skimmingTools.append(SUSY20xAODSkimmingTool_DT)
302 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
305 SkimmingTools = skimmingTools,
306 ThinningTools = thinningTools,
307 AugmentationTools = augmentationTools,
308 RunSkimmingFirst =
True