#!/usr/bin/env python


import ROOT
import sys
import ctypes

sys.argv.append('-b')


def makeroot( name, val, dataset):
    x = ctypes.c_float()

    f = ROOT.TFile.Open(name,'recreate')

    t = ROOT.TTree('mytree','mytree')
    t.Branch('X',x,'X/F')

    x.value = val

    t.Fill()

    y = ROOT.TParameter(int)('dataset',dataset)
    print y
    t.GetUserInfo().Add(y)

    # t.SetAlias('dataset','((TParameter<int>*)This->GetUserInfo()->FindObject("dataset"))->GetVal()')

    f.Write()
    f.Close()


makeroot( 'a.root',3,4)

f = ROOT.TFile.Open('a.root')
t = f.Get('mytree')

t.Scan('This.GetUserInfo().FindObject("dataset").GetName()','','col=20')
t.Scan('((TParameter<int>*)This.GetUserInfo().FindObject("dataset"))','','col=20')
t.Scan('((TParameter<int>*)This.GetUserInfo().FindObject("dataset")).GetName()','','col=20')
t.Scan('((TParameter<int>*)This.GetUserInfo().FindObject("dataset")).GetVal()','','col=20')




