Ejemplo n.º 1
0
 def __init__( self, name, title, source, expression, cuts, labels,
               **kwargs ):
     self.xTitle = 's_{true} = E_{RECO}/E_{GEN} - 1'
     self.nBins = 40
     self.xRange = (-20, 30)
     self.fitRange = (-20, 30)
     PlotData.__init__( self, name, title, source, expression, cuts,
                        labels, **kwargs )
Ejemplo n.º 2
0
 def __init__(self, name, title, source, expression, cuts, labels):
     PlotData.__init__(self, name, title, source, expression, cuts, labels)
     self.xTitle = 's = E_{RECO}/E_{KIN} - 1'
     self.nBins = 40
     self.xRange = (-30, 50)
Ejemplo n.º 3
0
from JPsi.MuMu.common.roofit import *
from JPsi.MuMu.common.plotData import PlotData

_chains = esChains.getChains('v7')

_baseCuts = [
    'abs(1/kRatio - 1) < 0.5',
    'abs(mmgMass-91.2) < 4',
]

## ----------------------------------------------------------------------------
## Customize below
leftPlot = PlotData(
    name='EB_lowR9_data_new',
    title='Barrel, R9 < 0.94, data, new corrections',
    labels=['Barrel', 'R9 < 0.94', 'data', 'new corr.'],
    source=_chains['data'],
    expression='100 * (1/newCorrKRatio - 1)',
    cuts=_baseCuts + ['phoIsEB', 'phoR9 < 0.94'],
)

rightPlot = PlotData(
    name='EB_lowR9_data_old',
    title='Barrel, R9 < 0.94, data, default corrections',
    labels=['Barrel', 'R9 < 0.94', 'data', 'default corr.'],
    source=_chains['data'],
    expression='100 * (1/kRatio - 1)',
    cuts=_baseCuts + ['phoIsEB', 'phoR9 < 0.94'],
)

ws1 = RooWorkspace('ws1', 'mmg energy scale')
Ejemplo n.º 4
0
    def __init__( self, name, title, source, xExpression, cuts, labels,
                  **kwargs ):
        self.xName = 's'
        self.xTitle = 's = E_{RECO}/E_{KIN} - 1'
        self.nBins = 40
        self.nBinsZoom = 20
        self.xRange = (-30, 50)
        self.xRangeZoom = (-10, 10)
        self.xUnit = '%'
        self.fitRange = (-30, 30)
        self.massWindow = None
        self.massWindowScale = 2
        self.fitResults = []
        self.canvases = []
        self.pads = []
        self.pdf = 'model'
        self.chi2s = []
        self.definitions = []
        self.paramLayout = (.57, 0.92, 0.92)
        self.labelsLayout = (0.61, 0.6)
        self.canvasStyle = 'compact'

        ## Chi2 statistic follows the chi2 PDF (and one can trust the p-value
        ## from ROOT if int(f(x), x in bin_i) = nu_i > 5, see explanation
        ## near (33.34) on page 13 of the 2011 PDG Statistics Review
        ## http://pdg.lbl.gov/2011/reviews/rpp2011-rev-statistics.pdf
        ## Use bin content n_i >= 10 to be on the safe side (nu_i != n_i)
        self.binContentMin = 10
        self.binContentMax = 100
        self.doAutoBinning = False
        
        self.xRangeMode = 'SigmaLevel'
        self.xRangeSigmaLevel = 5
        self.xRangeFraction = 1.
        self.xRangeNumberOfEntries = 5000

        self.xRangeModeZoom = 'SigmaLevel'
        self.xRangeSigmaLevelZoom = 2
        self.xRangeFractionZoom = .9
        self.xRangeNumberOfEntries = 5000

        self.fitRangeMode = 'SigmaLevel'
        self.fitRangeSigmaLevel = 5
        self.fitRangeFraction = 1.
        self.fitRangeNumberOfEntries = 5000
        
        self.doAutoXRange = False
        self.doAutoXRangeZoom = False
        self.doAutoFitRange = False

        self.useCustomChi2Calculator = False

        self.pullRangeMode = 'fitRange'
        self.residRangeMode = 'fitRange'
        
        PlotData.__init__( self, name, title, source, xExpression, cuts,
                           labels, **kwargs )

        ## Initialize latex label
        latexLabel = TLatex()
        latexLabel.SetNDC()
        ## Font size in pixels
        latexLabel.SetTextFont( 10*(latexLabel.GetTextFont()/10) + 3)
        latexLabel.SetTextSize(18)
        self.latex = latexLabel
Ejemplo n.º 5
0
    def __init__( self, name, title, source, xExpression, cuts, labels,
                  **kwargs ):
        self.xName = 's'
        self.xTitle = 's = E_{RECO}/E_{KIN} - 1'
        self.nBins = 40
        self.nBinsZoom = 20
        self.xRange = (-30, 50)
        self.xRangeZoom = (-10, 10)
        self.xUnit = '%'
        self.fitRange = (-30, 30)
        self.massWindow = None
        self.massWindowScale = 2
        self.fitResults = []
        self.canvases = []
        self.pads = []
        self.pdf = 'model'
        self.chi2s = []
        self.definitions = []
        self.paramLayout = (.57, 0.92, 0.92)
        self.labelsLayout = (0.61, 0.6)
        self.canvasStyle = 'compact'

        ## Chi2 statistic follows the chi2 PDF (and one can trust the p-value
        ## from ROOT if int(f(x), x in bin_i) = nu_i > 5, see explanation
        ## near (33.34) on page 13 of the 2011 PDG Statistics Review
        ## http://pdg.lbl.gov/2011/reviews/rpp2011-rev-statistics.pdf
        ## Use bin content n_i >= 10 to be on the safe side (nu_i != n_i)
        self.binContentMin = 10
        self.binContentMax = 100
        self.doAutoBinning = False
        
        self.xRangeMode = 'SigmaLevel'
        self.xRangeSigmaLevel = 5
        self.xRangeFraction = 1.
        self.xRangeNumberOfEntries = 5000

        self.xRangeModeZoom = 'SigmaLevel'
        self.xRangeSigmaLevelZoom = 2
        self.xRangeFractionZoom = .9
        self.xRangeNumberOfEntries = 5000

        self.fitRangeMode = 'SigmaLevel'
        self.fitRangeSigmaLevel = 5
        self.fitRangeFraction = 1.
        self.fitRangeNumberOfEntries = 5000
        
        self.doAutoXRange = False
        self.doAutoXRangeZoom = False
        self.doAutoFitRange = False

        self.useCustomChi2Calculator = False

        PlotData.__init__( self, name, title, source, xExpression, cuts,
                           labels, **kwargs )

        ## Initialize latex label
        latexLabel = TLatex()
        latexLabel.SetNDC()
        ## Font size in pixels
        latexLabel.SetTextFont( 10*(latexLabel.GetTextFont()/10) + 3)
        latexLabel.SetTextSize(18)
        self.latex = latexLabel