13 Simple test application to read LHCb dst files
14 For reading other root files: change the data access
15 if '/Event/Rec/Header' is not present.
17 Requires: 'SetupProject LHCb'
19 Script inherited from T.Ruf
26 from Configurables
import ApplicationMgr, EventSelector, Gaudi__RootCnvSvc
29 input_file =
"castor://castorlhcb.cern.ch//castor/cern.ch/grid/lhcb/LHCb/Collision11/SEMILEPTONIC.DST/00012569/0000/00012569_00000004_1.semileptonic.dst?svcClass=lhcbdisk"
30 input_file =
"root://castorlhcb.cern.ch//castor/cern.ch/grid//lhcb/data/2010/BHADRON.DST/00008399/0000/00008399_00001052_1.bhadron.dst?svcClass=lhcbdisk"
36 from Configurables
import StoreExplorerAlg
47 input_file = sys.argv[1]
49 appConf = ApplicationMgr(OutputLevel=INFO)
50 appConf.HistogramPersistency =
"NONE"
51 appConf.ExtSvc.append(
"Gaudi::IODataManager/IODataManager")
52 appConf.ExtSvc.append(
"Gaudi::RootCnvSvc/RootCnvSvc")
55 EventDataSvc().RootCLID = 1
56 EventDataSvc().EnableFaultHandler =
True
57 root = Gaudi__RootCnvSvc(
"RootCnvSvc")
58 root.CacheBranches = []
59 root.VetoBranches = [
"*"]
63 root.CacheBranches = [
68 "_Event_Rec_Header.*" "_Event_Rec_Header_R.*",
75 EventPersistencySvc().CnvServices.append(root)
76 EventSelector().Input = [
"DATA='PFN:" + input_file +
"' SVC='Gaudi::RootEvtSelector'"]
77 EventSelector().PrintFreq = 1000
83 test = open(
"/proc/self/io")
88 statistic[temp[0]] = int(temp[1])
89 statistic[
"time"] = time.time()
96 print(
"%15s : %10.2F sec" % (s, (s1[s] - s0[s])))
98 print(
"%15s : %10.2F MB" % (s, (s1[s] - s0[s]) / 1.0e6))
104 sel = appMgr.evtsel()
105 evt = appMgr.evtsvc()
117 if not evt[
"/Event/Rec/Header"]:
118 print(
"Failed to access /Event/Rec/Header")
124 print(
"Read %d events" % N)