From 42bdfefac3bb0546af67bb40d3faf9a4b69b3293 Mon Sep 17 00:00:00 2001
From: Tamara Vazquez Schroeder <tvazquez@cern.ch>
Date: Mon, 18 Dec 2017 18:36:23 +0100
Subject: [PATCH] sync RPVLL changes as in 21.0

Former-commit-id: 7f692e82b62670772250608b326115ba10036718
---
 .../python/KinkedTrackFlags.py                |  3 ++
 .../share/PhysDESDM_KinkedTrack.py            | 37 +++++++++++++++++++
 .../src/KinkTrkSingleJetMetFilterTool.cxx     | 18 +--------
 3 files changed, 41 insertions(+), 17 deletions(-)

diff --git a/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/python/KinkedTrackFlags.py b/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/python/KinkedTrackFlags.py
index 551fc96ffd8..51dfcb2c0b7 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 1c8e914f845..d3053c4a490 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 b4602638910..03d0ceb3f53 100644
--- a/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/src/KinkTrkSingleJetMetFilterTool.cxx
+++ b/PhysicsAnalysis/SUSYPhys/LongLivedParticleDPDMaker/src/KinkTrkSingleJetMetFilterTool.cxx
@@ -252,23 +252,7 @@ bool DerivationFramework::KinkTrkSingleJetMetFilterTool::eventPassesFilter() con
 	continue;
       }
       
-      if(passIsolatedTracklet==false)
-	continue;
-      
-      if(TMath::Abs(Tracklet->eta()) < 0.1 || TMath::Abs(Tracklet->eta()) > 1.9)
-	continue;
-      
-      if(TMath::Prob(Tracklet->chiSquared(), Tracklet->numberDoF()) < 0.1)
-	continue;
-      
-      if(Tracklet->auxdata<UChar_t>("numberOfContribPixelLayers")<4)
-	continue;
-      
-      if(Tracklet->auxdata<UChar_t>("numberOfPixelSpoiltHits")>0)
-	continue;      
-      
-      if(passIsolatedTracklet)
-	break;
+      if(passIsolatedTracklet)	break;
     }// for Tracklet
     
     if(passIsolatedTracklet==false){
-- 
GitLab