Exemple #1
0
 def __init__(self,
              varname,
              raw_name,
              target_name,
              option='noskim',
              max_entries=-1,
              prescale=1,
              prescale_phase=0,
              rho=0.7):
     #print 'DEBUG', self.__class__.__name__, '__init__'
     common_args = [varname, option, max_entries, prescale, prescale_phase]
     self.raw = DataSource(raw_name, *common_args)
     self.target = DataSource(target_name, *common_args)
     self.corrector = PhotonIdCorrector(self.raw.data, self.target.data,
                                        rho)
     self.postprocess_corrector()
def test(max_entries=-1):
    '''
    Tests the PhotonIdCorrector class.
    '''
    global raw_data, target_data, corr, vplot
    varname = 'setab'
    option = 'skim10k'
    raw_name = 's12-zllm50-v7n'
    target_name = 'r12a-pho-j22-v1'
    raw_data = get_dataset(raw_name, varname, max_entries, option)
    target_data = get_dataset(target_name, varname, max_entries, option)
    xvar = raw_data.get().first()

    raw_data.SetTitle('Raw ' + raw_name.split('-')[0].capitalize())
    target_data.SetTitle('Raw ' + target_name.split('-')[0].capitalize())

    corr = PhotonIdCorrector(raw_data, target_data, rho=0.7)
    corr.SetName('_'.join([
        raw_name.split('-')[0], 'to',
        target_name.split('-')[0], varname, 'qqcorrector'
    ]))
    corr.SetTitle(' '.join([
        raw_name.split('-')[0].capitalize(), 'to',
        target_name.split('-')[0].capitalize(),
        xvar.GetTitle(), 'Q-Q Corrector'
    ]))

    plot = xvar.frame(roo.Title(raw_data.GetTitle()))
    raw_data.plotOn(plot)
    corr.xpdf.plotOn(plot)
    canvases.next(varname + '_' + raw_name.split('-')[0]).SetGrid()
    draw_and_append(plot)

    plot = xvar.frame(roo.Title(target_data.GetTitle()))
    target_data.plotOn(plot)
    corr.ypdf.plotOn(plot)
    canvases.next(varname + '_' + target_name.split('-')[0]).SetGrid()
    draw_and_append(plot)

    canvases.next(corr.GetName()).SetGrid()
    draw_and_append(corr.get_correction_plot())

    canvases.next(corr.GetName() + '_validation').SetGrid()
    draw_and_append(corr.get_validation_plot())

    canvases.update()