Beispiel #1
0
 def __init__(self,
              raw_data,
              target_data,
              rho=1.,
              mirror=ROOT.RooKeysPdf.NoMirror,
              raw_color=ROOT.kRed,
              target_color=ROOT.kBlack,
              qq_color=ROOT.kBlue):
     if raw_data.get().getSize() > 1:
         raise RuntimeError, 'Raw data must contain exactly one variable!'
     self.raw_data = raw_data
     self.target_data = target_data
     self.rho = rho
     self.mirror = mirror
     self.raw_color = raw_color
     self.target_color = target_color
     self.qq_color = qq_color
     self.variable = xvar = raw_data.get().first()
     raw_pdf = ROOT.RooKeysPdf(xvar.GetName() + '_raw_pdf',
                               xvar.GetTitle() + ' Raw PDF', xvar, raw_data,
                               mirror, rho)
     target_pdf = ROOT.RooKeysPdf(xvar.GetName() + '_target_pdf',
                                  xvar.GetTitle() + ' Target PDF', xvar,
                                  target_data, mirror, rho)
     QQCorrector.__init__(self, xvar, raw_pdf, xvar, target_pdf)
Beispiel #2
0
def make_qqplots(ux, uy):
    xyplot = uy.xvar.frame()
    xyplot.SetTitle('')
    xycorr = QQCorrector(ux.xvar, ux.xpdf, uy.xvar, uy.xpdf)
    xycorr.SetName('y')
    ux.data.addColumn(xycorr)
    uy.data.plotOn(xyplot, roo.LineColor(uy.color), roo.MarkerColor(uy.color))
    uy.xpdf.plotOn(xyplot, roo.LineColor(uy.color))
    ux.data.plotOn(xyplot, roo.LineColor(ux.color), roo.MarkerColor(ux.color))

    yxplot = ux.xvar.frame()
    yxplot.SetTitle('')
    yxcorr = QQCorrector(uy.xvar, uy.xpdf, ux.xvar, ux.xpdf)
    yxcorr.SetName('x')
    uy.data.addColumn(yxcorr)
    ux.data.plotOn(yxplot, roo.LineColor(ux.color), roo.MarkerColor(ux.color))
    ux.xpdf.plotOn(yxplot, roo.LineColor(ux.color))
    uy.data.plotOn(yxplot, roo.LineColor(uy.color), roo.MarkerColor(uy.color))

    canvases.next('qqxy')
    xyplot.Draw()

    canvases.next('qqyx')
    yxplot.Draw()

    return xyplot, yxplot
Beispiel #3
0
 def __init__(self, raw_data, target_data, rho=1.,
              mirror=ROOT.RooKeysPdf.NoMirror,
              raw_color    = ROOT.kRed,
              target_color = ROOT.kBlack,
              qq_color     = ROOT.kBlue):
     if raw_data.get().getSize() > 1:
         raise RuntimeError, 'Raw data must contain exactly one variable!'
     self.raw_data = raw_data
     self.target_data = target_data
     self.rho = rho
     self.mirror = mirror
     self.raw_color = raw_color
     self.target_color = target_color
     self.qq_color = qq_color
     self.variable = xvar = raw_data.get().first()
     raw_pdf = ROOT.RooKeysPdf(xvar.GetName() + '_raw_pdf',
                               xvar.GetTitle() + ' Raw PDF',
                               xvar, raw_data, mirror, rho)
     target_pdf = ROOT.RooKeysPdf(xvar.GetName() + '_target_pdf',
                                  xvar.GetTitle() + ' Target PDF',
                                  xvar, target_data, mirror, rho)
     QQCorrector.__init__(self, xvar, raw_pdf, xvar, target_pdf)
Beispiel #4
0
g2 = w.factory('BreitWigner::g2(y[-5, 7], m2[1], s2[1.2])')

#______________________________________________________________________________
xplot = w.var('x').frame()
g1.plotOn(xplot)
canvases.next('g1_x').SetGrid()
xplot.Draw()

#______________________________________________________________________________
yplot = w.var('y').frame()
g2.plotOn(yplot)
canvases.next('g2_y').SetGrid()
yplot.Draw()

#______________________________________________________________________________
qq12 = QQCorrector(w.var('x'), g1, w.var('y'), g2, 1e-4)
plot12 = w.var('x').frame()
plot12.SetTitle('')
plot12.GetXaxis().SetTitle('Raw x')
plot12.GetYaxis().SetTitle('Corrected x')
qq12.plotOn(plot12)
canvases.next('qq12').SetGrid()
plot12.Draw()

#______________________________________________________________________________
plot12v2 = qq12.get_correction_plot()
canvases.next('qq12v2').SetGrid()
plot12v2.Draw()

#______________________________________________________________________________
## Persist the corrector in a file as RooHistFunc