
from jhplot  import *
from jhplot.io import *
import os.path


# build an event from 3 objects
def makeEvent(entry):
    label="Event="+str(entry)
    p=P0D(label)
    p.randomUniform(10,0,1)
    h=H1D(label,10,-1,1)
    h.fill(i)
    return [label,p,h]

# write to a raw-level database.
# use string as keys
file="output.db"
f=HDataBase(file,"w")
Events=100
for i in range(Events):
       event=makeEvent(i)
       if (i%100 == 0):  
           print event[0]+" size=",os.path.getsize(file)
       f.insert(str(i),event)
f.close()

# open database 
f=HDataBase(file,"r")
# print "Remove event 25" 
# f.remove("25")    

# print "extract event 26"
event=f.get("26")
print "=== "+event[0]+"===="
print event[1].toString()
print event[2].toString()
f.close()
