CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
MuScleFitCorrector.MuScleFitCorr Class Reference

Public Member Functions

def __init__ (self, isMC, isReReco, isSync=False)
 
def correct (self, mu, run)
 
def correct_all (self, mus, run)
 
def corrected_p4 (self, mu, run)
 

Public Attributes

 corr
 
 corrABC
 
 corrD
 
 isMC
 
 isSync
 

Detailed Description

Definition at line 4 of file MuScleFitCorrector.py.

Constructor & Destructor Documentation

def MuScleFitCorrector.MuScleFitCorr.__init__ (   self,
  isMC,
  isReReco,
  isSync = False 
)

Definition at line 5 of file MuScleFitCorrector.py.

5  def __init__(self,isMC,isReReco,isSync=False):
6  #colin need to import muscle fit inputs, if tool still in use
7  path = "%s/src/CMGTools/RootTools/data/musclefit/" % os.environ['CMSSW_BASE'];
8  self.isMC = isMC
9  if self.isMC:
10  self.corr = heppy.MuScleFitCorrector(path+"MuScleFit_2012_MC_53X_smear%s.txt" % ("ReReco" if isReReco else "Prompt"))
11  self.isSync = isSync
12  else:
13  self.corrABC = heppy.MuScleFitCorrector(path+"MuScleFit_2012ABC_DATA%s_53X.txt" % ("_ReReco" if isReReco else ""))
14  self.corrD = heppy.MuScleFitCorrector(path+"MuScleFit_2012D_DATA%s_53X.txt" % ("_ReReco" if isReReco else ""))
def __init__(self, isMC, isReReco, isSync=False)

Member Function Documentation

def MuScleFitCorrector.MuScleFitCorr.correct (   self,
  mu,
  run 
)

Definition at line 26 of file MuScleFitCorrector.py.

References MuScleFitCorrector.MuScleFitCorr.corrected_p4().

26  def correct(self, mu, run):
27  mu.setP4( self.corrected_p4(mu, run) )
28 
def MuScleFitCorrector.MuScleFitCorr.correct_all (   self,
  mus,
  run 
)

Definition at line 29 of file MuScleFitCorrector.py.

References MuScleFitCorrector.MuScleFitCorr.corrected_p4().

29  def correct_all(self, mus, run):
30  for mu in mus:
31  mu.setP4( self.corrected_p4(mu, run) )
32 
def MuScleFitCorrector.MuScleFitCorr.corrected_p4 (   self,
  mu,
  run 
)

Definition at line 15 of file MuScleFitCorrector.py.

References MuScleFitCorrector.MuScleFitCorr.corrABC, MuScleFitCorrector.MuScleFitCorr.corrD, KalmanMuonCorrector.KalmanMuonCorrector.isMC, MuScleFitCorrector.MuScleFitCorr.isMC, KalmanMuonCorrector.KalmanMuonCorrector.isSync, and MuScleFitCorrector.MuScleFitCorr.isSync.

Referenced by MuScleFitCorrector.MuScleFitCorr.correct(), and MuScleFitCorrector.MuScleFitCorr.correct_all().

15  def corrected_p4(self, mu, run):
16  p4 = TLorentzVector(mu.px(), mu.py(), mu.pz(), mu.energy())
17  if self.isMC:
18  self.corr.applyPtCorrection(p4, mu.charge())
19  self.corr.applyPtSmearing(p4, mu.charge(), self.isSync)
20  else:
21  corr = self.corrD if run >= 203773 else self.corrABC
22  corr.applyPtCorrection(p4, mu.charge())
23  ## convert to the proper C++ class (but preserve the mass!)
24  return ROOT.reco.Muon.PolarLorentzVector( p4.Pt(), p4.Eta(), p4.Phi(), mu.mass() )
25 

Member Data Documentation

MuScleFitCorrector.MuScleFitCorr.corr

Definition at line 10 of file MuScleFitCorrector.py.

MuScleFitCorrector.MuScleFitCorr.corrABC

Definition at line 13 of file MuScleFitCorrector.py.

Referenced by MuScleFitCorrector.MuScleFitCorr.corrected_p4().

MuScleFitCorrector.MuScleFitCorr.corrD

Definition at line 14 of file MuScleFitCorrector.py.

Referenced by MuScleFitCorrector.MuScleFitCorr.corrected_p4().

MuScleFitCorrector.MuScleFitCorr.isMC

Definition at line 8 of file MuScleFitCorrector.py.

Referenced by MuScleFitCorrector.MuScleFitCorr.corrected_p4().

MuScleFitCorrector.MuScleFitCorr.isSync

Definition at line 11 of file MuScleFitCorrector.py.

Referenced by MuScleFitCorrector.MuScleFitCorr.corrected_p4().