10 jetContainer = primRPVLLDESDM.DV_containerFlags.jetCollectionName
11 METContainer= primRPVLLDESDM.DV_containerFlags.METCollectionName
12 photonContainer = primRPVLLDESDM.DV_containerFlags.photonCollectionName
13 muonContainer = primRPVLLDESDM.DV_containerFlags.muonCollectionName
14 electronContainer = primRPVLLDESDM.DV_containerFlags.electronCollectionName
22 """Construct object selection string based on the flags provided (from DVFlags)
27 cutList.append(
'%s.pt > %s'%(container,flags.cutEtMin))
31 cutList.append(
'abs(%s.eta) < %s'%(container,flags.cutEtaMax))
35 cutList.append(
"DV%s%s"%(container,flags.cutIsEM))
38 cutString =
'count(' +
' && '.
join(cutList) +
') > %i'%(flags.nPassed-1)
41 from DerivationFrameworkTools.DerivationFrameworkToolsConf
import DerivationFramework__xAODStringSkimmingTool
as skimtool
42 from DerivationFrameworkCore.DerivationFrameworkCoreConf
import DerivationFramework__DerivationKernel
as kernel
46 if flags.triggers.__len__() >=1:
47 cutString+=flags.triggers[0]
48 if flags.triggers.__len__() >1:
49 for trigger
in flags.triggers[1:]:
50 cutString+=
" || "+trigger
57 from DerivationFrameworkTools.DerivationFrameworkToolsConf
import DerivationFramework__FilterCombinationAND
58 from DerivationFrameworkTools.DerivationFrameworkToolsConf
import DerivationFramework__FilterCombinationOR
67 from LongLivedParticleDPDMaker.LongLivedParticleDPDMakerConf
import DerivationFramework__DVTracklessJetFilterTool
69 DVSingleTracklessJetFilterTool = DerivationFramework__DVTracklessJetFilterTool( name =
"DVSingleTracklessJetFilterTool",
70 JetContainerKey = jetContainer,
71 JetPtCut= primRPVLLDESDM.DV_SingleTracklessJetFilterFlags.cutEtMin,
72 JetEtaCut= primRPVLLDESDM.DV_SingleTracklessJetFilterFlags.cutEtaMax,
73 sumPtTrkCut = primRPVLLDESDM.DV_SingleTracklessJetFilterFlags.cutSumPtTrkMax,
76 ToolSvc+=DVSingleTracklessJetFilterTool
78 DVDoubleTracklessJetFilterTool = DerivationFramework__DVTracklessJetFilterTool( name =
"DVDoubleTracklessJetFilterTool",
79 JetContainerKey = jetContainer,
80 JetPtCut= primRPVLLDESDM.DV_DoubleTracklessJetFilterFlags.cutEtMin,
81 JetEtaCut= primRPVLLDESDM.DV_DoubleTracklessJetFilterFlags.cutEtaMax,
82 sumPtTrkCut = primRPVLLDESDM.DV_DoubleTracklessJetFilterFlags.cutSumPtTrkMax,
85 ToolSvc+=DVDoubleTracklessJetFilterTool
93 from DerivationFrameworkTools.DerivationFrameworkToolsConf
import DerivationFramework__PrescaleTool
94 DVPrescaleToolForMultijet = DerivationFramework__PrescaleTool(name =
"DVPrescaleToolForMultijet",
95 Prescale = primRPVLLDESDM.DV_PrescalerFlags.prescale
97 ToolSvc+=DVPrescaleToolForMultijet
99 DVCombinedTracklessJetFilterToolForMultijet = DerivationFramework__FilterCombinationOR( name =
"DVCombinedTracklessJetFilterToolForMultijet",
100 FilterList = [DVSingleTracklessJetFilterTool,
101 DVDoubleTracklessJetFilterTool,
102 DVPrescaleToolForMultijet],
105 ToolSvc+=DVCombinedTracklessJetFilterToolForMultijet
107 DVPrescaleToolForMET = DerivationFramework__PrescaleTool(name =
"DVPrescaleToolForMET",
108 Prescale = primRPVLLDESDM.DV_PrescalerFlags.prescale
110 ToolSvc+=DVPrescaleToolForMET
112 DVCombinedTracklessJetFilterToolForMET = DerivationFramework__FilterCombinationOR( name =
"DVCombinedTracklessJetFilterToolForMET",
113 FilterList = [DVSingleTracklessJetFilterTool,
114 DVDoubleTracklessJetFilterTool,
115 DVPrescaleToolForMET],
118 ToolSvc+=DVCombinedTracklessJetFilterToolForMET
120 DVPrescaleToolForPhoton = DerivationFramework__PrescaleTool(name =
"DVPrescaleToolForPhoton",
121 Prescale = primRPVLLDESDM.DV_PrescalerFlags.prescale
123 ToolSvc+=DVPrescaleToolForPhoton
125 DVCombinedTracklessJetFilterToolForPhoton = DerivationFramework__FilterCombinationOR( name =
"DVCombinedTracklessJetFilterToolForPhoton",
126 FilterList = [DVSingleTracklessJetFilterTool,
127 DVDoubleTracklessJetFilterTool,
128 DVPrescaleToolForPhoton],
131 ToolSvc+=DVCombinedTracklessJetFilterToolForPhoton
146 from DerivationFrameworkCore.DerivationFrameworkCoreConf
import DerivationFramework__DerivationKernel
149 DVMuonBarrelTriggerFilter = skimtool( name =
"DVMuonBarrelTriggerFilter",
152 ToolSvc+=DVMuonBarrelTriggerFilter
154 DVMuonBarrelFilterTool = skimtool( name =
"DVMuonBarrelFilterTool",
155 expression =
DVSelectionString(primRPVLLDESDM.DV_MuonBarrelFilterFlags, muonContainer)
157 ToolSvc+=DVMuonBarrelFilterTool
159 DV_MuonBarrelFilter = DerivationFramework__FilterCombinationAND( name =
"DV_MuonBarrelFilter",
160 FilterList=[DVMuonBarrelFilterTool,DVMuonBarrelTriggerFilter],
163 ToolSvc+=DV_MuonBarrelFilter
165 DVMuonFullMSTriggerFilter = skimtool( name =
"DVMuonFullMSTriggerFilter",
168 ToolSvc+=DVMuonFullMSTriggerFilter
170 DVMuonFullMSFilterTool = skimtool( name =
"DVMuonFullMSFilterTool",
171 expression =
DVSelectionString(primRPVLLDESDM.DV_MuonFullMSFilterFlags, muonContainer)
173 ToolSvc+=DVMuonFullMSFilterTool
175 DV_MuonFullMSFilter = DerivationFramework__FilterCombinationAND( name =
"DV_MuonFullMSFilter",
176 FilterList=[DVMuonFullMSFilterTool,DVMuonFullMSTriggerFilter],
179 ToolSvc+=DV_MuonFullMSFilter
182 DV_MuonFinalFilter = DerivationFramework__FilterCombinationOR( name =
"DV_MuonFinalFilter",
183 FilterList=[DV_MuonBarrelFilter,DV_MuonFullMSFilter],
186 ToolSvc+=DV_MuonFinalFilter
187 topSequence += kernel(
"RPVLL_DVMuonFilterKernel",
188 SkimmingTools = [DV_MuonFinalFilter])
189 RPVLLfilterNames.extend([
"RPVLL_DVMuonFilterKernel"])
195 DVPhotonTriggerFilter = skimtool( name =
"DVPhotonTriggerFilter",
198 ToolSvc += DVPhotonTriggerFilter
202 from LongLivedParticleDPDMaker.LongLivedParticleDPDMakerConf
import DerivationFramework__RpvEgammaIDTool
203 DVPhotonSelection = DerivationFramework__RpvEgammaIDTool( name =
"DVPhotonSelection",
204 SelectionVariable = primRPVLLDESDM.DV_PhotonFilterFlags.cutIsEM,
205 CollectionName = photonContainer,
206 EGammaSelectionKey =
"DV"+photonContainer+primRPVLLDESDM.DV_PhotonFilterFlags.cutIsEM,
208 ToolSvc += DVPhotonSelection
209 topSequence += DerivationFramework__DerivationKernel(
"DVPhotonAugmentationKernel",
210 AugmentationTools = [DVPhotonSelection]
215 DVPhotonFilterTool = skimtool( name =
"DVPhotonFilterTool",
216 expression =
DVSelectionString(primRPVLLDESDM.DV_PhotonFilterFlags, photonContainer),
218 ToolSvc += DVPhotonFilterTool
219 DV_PhotonFinalFilter = DerivationFramework__FilterCombinationAND( name =
"DV_PhotonFinalFilter",
220 FilterList=[DVPhotonFilterTool,DVPhotonTriggerFilter],
224 ToolSvc+=DV_PhotonFinalFilter
226 DVPhotonPrescaleTool = DerivationFramework__PrescaleTool(name =
"DVPhotonPrescaleTool",
227 Prescale = primRPVLLDESDM.DV_PhotonFilterFlags.prescale
229 ToolSvc+=DVPhotonPrescaleTool
231 DV_PrescaledPhotonFinalFilter = DerivationFramework__FilterCombinationAND(name=
"DV_PrescaledPhotonFinalFilter",
232 FilterList=[DV_PhotonFinalFilter,DVPhotonPrescaleTool])
233 ToolSvc += DV_PrescaledPhotonFinalFilter
235 topSequence += kernel(
"RPVLL_DV_PhotonFilterKernel",
236 SkimmingTools = [DV_PrescaledPhotonFinalFilter]
238 RPVLLfilterNames.extend([
"RPVLL_DV_PhotonFilterKernel"])
244 DV_PhotonPlusTracklessJetFilter = DerivationFramework__FilterCombinationAND(name=
"DV_PhotonPlusTracklessJetFilter",
245 FilterList=[DV_PhotonFinalFilter,DVCombinedTracklessJetFilterToolForPhoton]
247 ToolSvc+= DV_PhotonPlusTracklessJetFilter
249 topSequence += kernel(
"RPVLL_DV_PhotonPlusTLJetFilterKernel",
250 SkimmingTools = [DV_PhotonPlusTracklessJetFilter]
252 RPVLLfilterNames.extend([
"RPVLL_DV_PhotonPlusTLJetFilterKernel"])
259 DVMultiJetTriggerFilter = skimtool( name =
"DVMultiJetTriggerFilter",
262 ToolSvc += DVMultiJetTriggerFilter
264 DV2JetFilterTool = skimtool( name =
"DV2JetFilterTool",
267 ToolSvc += DV2JetFilterTool
269 DV3JetFilterTool = skimtool( name =
"DV3JetFilterTool",
272 ToolSvc += DV3JetFilterTool
275 DV3JetFinalFilter = DerivationFramework__FilterCombinationAND( name =
"DV3JetFinalFilter",
276 FilterList=[DV3JetFilterTool,DV2JetFilterTool],
279 ToolSvc+=DV3JetFinalFilter
281 DV4JetFilterTool = skimtool( name =
"DV4JetFilterTool",
284 ToolSvc += DV4JetFilterTool
287 DV5JetFilterTool = skimtool( name =
"DV5JetFilterTool",
290 ToolSvc += DV5JetFilterTool
293 DV6JetFilterTool = skimtool( name =
"DV6JetFilterTool",
296 ToolSvc += DV6JetFilterTool
298 DV7JetFilterTool = skimtool( name =
"DV7JetFilterTool",
301 ToolSvc += DV7JetFilterTool
306 DV_multiJet_offlineJetFilter = DerivationFramework__FilterCombinationOR( name =
"DV_multiJet_offlineJetFilter",
307 FilterList=[DV3JetFinalFilter,DV4JetFilterTool,DV5JetFilterTool,DV6JetFilterTool,DV7JetFilterTool],
310 ToolSvc += DV_multiJet_offlineJetFilter
314 DV_MultiJetFinalTracklessFilter = DerivationFramework__FilterCombinationAND( name =
"DV_MultiJetFinalTracklessFilter",
315 FilterList=[DV_multiJet_offlineJetFilter,DVCombinedTracklessJetFilterToolForMultijet,DVMultiJetTriggerFilter],
318 ToolSvc+= DV_MultiJetFinalTracklessFilter
321 DV_MultiJet2JHighPtFilter = skimtool( name =
"DV_MultiJet2JHighPtFilter",
322 expression =
DVSelectionString(primRPVLLDESDM.DV_2JetFilterFlags_HighpTCut, jetContainer),
324 ToolSvc += DV_MultiJet2JHighPtFilter
326 DV_MultiJet3JHighPtFilter = skimtool( name =
"DV_MultiJet3JHighPtFilter",
327 expression =
DVSelectionString(primRPVLLDESDM.DV_3JetFilterFlags_HighpTCut, jetContainer),
329 ToolSvc += DV_MultiJet3JHighPtFilter
332 DV_Multi3_2JetHighPtFilter = DerivationFramework__FilterCombinationAND( name =
"DV_Multi3_2JetHighPtFilter",
333 FilterList=[DV_MultiJet2JHighPtFilter,DV_MultiJet3JHighPtFilter],
336 ToolSvc+=DV_Multi3_2JetHighPtFilter
339 DV_MultiJet4JHighPtFilter = skimtool( name =
"DV_MultiJet4JHighPtFilter",
340 expression =
DVSelectionString(primRPVLLDESDM.DV_4JetFilterFlags_HighpTCut, jetContainer),
342 ToolSvc += DV_MultiJet4JHighPtFilter
345 DV_MultiJet5JHighPtFilter = skimtool( name =
"DV_MultiJet5JHighPtFilter",
346 expression =
DVSelectionString(primRPVLLDESDM.DV_5JetFilterFlags_HighpTCut, jetContainer),
348 ToolSvc += DV_MultiJet5JHighPtFilter
351 DV_MultiJet6JHighPtFilter = skimtool( name =
"DV_MultiJet6JHighPtFilter",
352 expression =
DVSelectionString(primRPVLLDESDM.DV_6JetFilterFlags_HighpTCut, jetContainer),
354 ToolSvc += DV_MultiJet6JHighPtFilter
357 DV_MultiJet7JHighPtFilter = skimtool( name =
"DV_MultiJet7JHighPtFilter",
358 expression =
DVSelectionString(primRPVLLDESDM.DV_7JetFilterFlags_HighpTCut, jetContainer),
360 ToolSvc += DV_MultiJet7JHighPtFilter
363 DV_MultiJetHighPtFilter = DerivationFramework__FilterCombinationOR( name =
"DV_MultiJetHighPtFilter",
364 FilterList=[DV_Multi3_2JetHighPtFilter,DV_MultiJet4JHighPtFilter,DV_MultiJet5JHighPtFilter,DV_MultiJet6JHighPtFilter,DV_MultiJet7JHighPtFilter],
367 ToolSvc+=DV_MultiJetHighPtFilter
370 DV_MultiJetFinalFilter = DerivationFramework__FilterCombinationOR( name =
"DV_MultiJetFinalFilter",
371 FilterList=[DV_MultiJetFinalTracklessFilter,DV_MultiJetHighPtFilter],
374 ToolSvc+= DV_MultiJetFinalFilter
376 topSequence += kernel(
"RPVLL_DV_MultiJetFilterKernel",
377 SkimmingTools = [DV_MultiJetFinalFilter],
379 RPVLLfilterNames.extend([
"RPVLL_DV_MultiJetFilterKernel"])
386 DVMETTriggerFilter = skimtool( name =
"DVMETTriggerFilter",
390 ToolSvc+=DVMETTriggerFilter
392 from LongLivedParticleDPDMaker.LongLivedParticleDPDMakerConf
import DerivationFramework__DVMissingETFilterTool
395 DVMETFilterTool = DerivationFramework__DVMissingETFilterTool(name =
"DVMETFilterTool",
396 METContainerKey = METContainer,
397 METCut=primRPVLLDESDM.DV_METFilterFlags.cutMetMin)
398 ToolSvc+=DVMETFilterTool
400 DV_METFinalFilter = DerivationFramework__FilterCombinationAND( name =
"DV_METFinalFilter",
401 FilterList=[DVMETFilterTool,DVMETTriggerFilter],
404 ToolSvc += DV_METFinalFilter
406 topSequence += kernel(
"RPVLL_DV_METFilterKernel",
407 SkimmingTools = [DV_METFinalFilter],
409 RPVLLfilterNames.extend([
"RPVLL_DV_METFilterKernel"])