1 from PhysicsTools.Heppy.physicsobjects.Electron
import Electron
2 from ROOT
import gSystem, AutoLibraryLoader
3 gSystem.Load(
"libFWCoreFWLite")
5 gSystem.Load(
"libDataFormatsRecoCandidate.so")
12 super(HTauTauElectron, self).
__init__(*args, **kwargs)
30 return super(HTauTauElectron, self).
photonIso(0.3)
50 return self.physObj.pfIsolationVariables().sumChargedParticlePt
53 """Relaxing conversion cuts for sideband studies
55 eta =
abs( self.superCluster().
eta() )
56 if eta<0.8: lmvaID = 0.925
57 elif eta<1.479: lmvaID = 0.975
59 result = self.mvaNonTrigV0() > lmvaID
63 """reference numbers from the Htautau twiki
65 https://twiki.cern.ch/twiki/bin/view/CMS/HiggsToTauTauWorking2012#2012_Baseline_Selection
70 if not self.passConversionVeto():
return False
71 eta =
abs( self.superCluster().
eta() )
76 if eta<0.8: lmvaID = 0.925
77 elif eta<1.479: lmvaID = 0.975
79 result = self.mvaNonTrigV0() > lmvaID
85 '''To be used in the tri-lepton veto for both the etau and mutau channels.
86 Agreed at the CMS center with Josh, Andrew, Valentina, Jose on the 22nd of October
90 if not self.passConversionVeto():
return False
91 eta =
abs( self.superCluster().
eta() )
96 if eta<0.8: lmvaID = 0.925
97 elif eta<1.479: lmvaID = 0.915
100 if eta<0.8: lmvaID = 0.905
101 elif eta<1.479: lmvaID = 0.955
102 else : lmvaID = 0.975
103 result = self.mvaNonTrigV0() > lmvaID
112 """Loose electron selection, for the lepton veto,
113 according to Phil sync prescription for the sync exercise 18/06/12
122 if abs(self.dz()) >= 0.2 :
return False
124 hoe = self.hadronicOverEm()
125 deta =
abs(self.deltaEtaSuperClusterTrackAtVtx())
126 dphi =
abs(self.deltaPhiSuperClusterTrackAtVtx())
127 sihih = self.sigmaIetaIeta()
130 if sihih >= 0.010 :
return False
131 if dphi >= 0.80 :
return False
132 if deta >= 0.007 :
return False
133 if hoe >= 0.15 :
return False
135 if sihih >= 0.030 :
return False
136 if dphi >= 0.70 :
return False
137 if deta >= 0.010 :
return False
143 base = [super(HTauTauElectron, self).
__str__()]
145 'vertex : dxy = {dxy}, dz = {dz}'.
format(dxy=self.dxy(), dz=self.dz()),
148 'conv veto = {conv}'.
format(conv=self.passConversionVeto()),
153 return '\n\t'.
join( base + spec )
Abs< T >::type abs(const T &t)
def looseIdForTriLeptonVeto
static std::string join(char **cmd)
static void enable()
enable automatic library loading