From 8f2f51887120a7b1cc2c7aff8c3101d0e69d4a2d Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Thu, 9 Nov 2017 19:55:38 +0000 Subject: [PATCH] Merge branch 'bDRAWStublet' into '21.0' Add new DRAW_RPVLL filter for special tracking development See merge request !6238 --- .../python/KinkedTrackFlags.py | 3 ++ .../share/PhysDESDM_KinkedTrack.py | 37 +++++++++++++++++++ .../src/KinkTrkSingleJetMetFilterTool.cxx | 20 +++++++--- 3 files changed, 54 insertions(+), 6 deletions(-) diff --git a/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/python/KinkedTrackFlags.py b/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/python/KinkedTrackFlags.py index 551fc96ffd8a..51dfcb2c0b74 100644 --- a/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/python/KinkedTrackFlags.py +++ b/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/python/KinkedTrackFlags.py @@ -164,6 +164,7 @@ class KinkedTrack_singleJetMetFilterFlags(JobProperty): 'HLT_xe130_mht_L1XE50' ] cutsEtMin = [80.0*Units.GeV, 40.0*Units.GeV] + cutsEtMinForStublet = [90.0*Units.GeV, 40.0*Units.GeV] cutsEtMinForMultiJets = [60.0*Units.GeV, 60.0*Units.GeV] jetMetPtMin = 40.0*Units.GeV cutMetHt = 0.0 @@ -175,8 +176,10 @@ class KinkedTrack_singleJetMetFilterFlags(JobProperty): leptonPtMax = 20.0*Units.GeV leptonEtaMax = 2.5 cutMetMin = 60.0*Units.GeV # no cut + cutMetMinForStublet = 90.0*Units.GeV # no cut cutMetMinForMultiJets = 170.0*Units.GeV jetMetDphiMin = 1.0 + preScaleStublet = 10 pass primRPVLLDESDM.add_JobProperty(KinkedTrack_singleJetMetFilterFlags) diff --git a/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/share/PhysDESDM_KinkedTrack.py b/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/share/PhysDESDM_KinkedTrack.py index 1c8e914f8455..d3053c4a4900 100644 --- a/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/share/PhysDESDM_KinkedTrack.py +++ b/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/share/PhysDESDM_KinkedTrack.py @@ -81,6 +81,7 @@ topSequence += DerivationFramework__DerivationKernel("RPVLL_KinkedTrackJetFilter SkimmingTools = [KinkTrkJetFilterTool]) RPVLLfilterNames.extend(["RPVLL_KinkedTrackJetFilterKernel"]) +# Multi-jets filter KinkTrkMultiJetFilterTool = DerivationFramework__KinkTrkSingleJetMetFilterTool(name = "KinkTrkMultiJetFilterTool", LeptonVeto = primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.doLeptonVeto, IsolatedTrack = False, @@ -114,6 +115,42 @@ topSequence += DerivationFramework__DerivationKernel("RPVLL_KinkedTrackMultiJetF SkimmingTools = [KinkTrkTrigMetMultiJetFilterTool]) RPVLLfilterNames.extend(["RPVLL_KinkedTrackMultiJetFilterKernel"]) +# Stublet filter +KinkTrkStubletFilterTool = DerivationFramework__KinkTrkSingleJetMetFilterTool(name = "KinkTrkStubletFilterTool", + LeptonVeto = primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.doLeptonVeto, + IsolatedTrack = False, + JetContainerKey = jetContainer, + ElectronContainerKey = electronContainer, + ElectronIDKey = primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.electronIDKey, + MuonContainerKey = muonContainer, + MuonIDKey = primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.muonIDKey, + MetContainerKey = METContainer, + MetTerm = METTerm, + MetCut = primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.cutMetMinForStublet, + JetPtCuts = primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.cutsEtMinForStublet, + JetEtaMax = primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.cutEtaMax, + JetNumCut = 1, + JetMetDphiMin = primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.jetMetDphiMin, + JetMetPtMin = primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.jetMetPtMin, + MetHtCut = -1, + LeptonPtCut = primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.leptonPtMax, + LeptonEtaMax = primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.leptonEtaMax) + +print KinkTrkStubletFilterTool +ToolSvc += KinkTrkStubletFilterTool + +KinkTrkStubletPrescaleTool = DerivationFramework__PrescaleTool(name = "KinkTrkStubletPrescaleTool", + Prescale = primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.preScaleStublet) +ToolSvc += KinkTrkStubletPrescaleTool + +KinkTrkStubletFinalFilterTool = DerivationFramework__FilterCombinationAND(name = "KinkTrkStubletFinalFilterTool", + FilterList=[KinkTrkJetTriggerFilterTool, KinkTrkStubletFilterTool, KinkTrkStubletPrescaleTool], + OutputLevel=INFO) +ToolSvc+= KinkTrkStubletFinalFilterTool + +topSequence += DerivationFramework__DerivationKernel("RPVLL_KinkedTrackStubletFilterKernel", + SkimmingTools = [KinkTrkStubletFinalFilterTool]) +RPVLLfilterNames.extend(["RPVLL_KinkedTrackStubletFilterKernel"]) #==================================================================== # Zee/Zmumu filter diff --git a/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/src/KinkTrkSingleJetMetFilterTool.cxx b/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/src/KinkTrkSingleJetMetFilterTool.cxx index 6698ca9bdc34..83f0023100c9 100644 --- a/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/src/KinkTrkSingleJetMetFilterTool.cxx +++ b/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/src/KinkTrkSingleJetMetFilterTool.cxx @@ -232,17 +232,25 @@ bool DerivationFramework::KinkTrkSingleJetMetFilterTool::eventPassesFilter() con if(passIsolatedTracklet==false) continue; - if(TMath::Abs(Tracklet->eta()) < 0.1 || TMath::Abs(Tracklet->eta()) > 1.9) + if(TMath::Abs(Tracklet->eta()) < 0.1 || TMath::Abs(Tracklet->eta()) > 1.9){ + passIsolatedTracklet = false; continue; + } - if(TMath::Prob(Tracklet->chiSquared(), Tracklet->numberDoF()) < 0.1) + if(TMath::Prob(Tracklet->chiSquared(), Tracklet->numberDoF()) < 0.1){ + passIsolatedTracklet = false; continue; - - if(Tracklet->auxdata<UChar_t>("numberOfContribPixelLayers")<4) + } + + if(Tracklet->auxdata<UChar_t>("numberOfContribPixelLayers")<4){ + passIsolatedTracklet = false; continue; + } - if(Tracklet->auxdata<UChar_t>("numberOfPixelSpoiltHits")>0) - continue; + if(Tracklet->auxdata<UChar_t>("numberOfPixelSpoiltHits")>0){ + passIsolatedTracklet = false; + continue; + } if(passIsolatedTracklet) break; -- GitLab