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
27 from Configurables
import ApplicationMgr, EventSelector, Gaudi__RootCnvSvc
31 input_file =
"castor://castorlhcb.cern.ch//castor/cern.ch/grid/lhcb/LHCb/Collision11/SEMILEPTONIC.DST/00012569/0000/00012569_00000004_1.semileptonic.dst?svcClass=lhcbdisk"
32 input_file =
"root://castorlhcb.cern.ch//castor/cern.ch/grid//lhcb/data/2010/BHADRON.DST/00008399/0000/00008399_00001052_1.bhadron.dst?svcClass=lhcbdisk"
38 from Configurables
import StoreExplorerAlg
49 input_file = sys.argv[1]
51 appConf = ApplicationMgr(OutputLevel=INFO)
52 appConf.HistogramPersistency =
"NONE"
53 appConf.ExtSvc.append(
"Gaudi::IODataManager/IODataManager")
54 appConf.ExtSvc.append(
"Gaudi::RootCnvSvc/RootCnvSvc")
57 EventDataSvc().RootCLID = 1
58 EventDataSvc().EnableFaultHandler =
True
59 root = Gaudi__RootCnvSvc(
"RootCnvSvc")
60 root.CacheBranches = []
61 root.VetoBranches = [
"*"]
65 root.CacheBranches = [
70 "_Event_Rec_Header.*" "_Event_Rec_Header_R.*",
77 EventPersistencySvc().CnvServices.append(root)
78 EventSelector().Input = [
"DATA='PFN:" + input_file +
"' SVC='Gaudi::RootEvtSelector'"]
79 EventSelector().PrintFreq = 1000
85 test = open(
"/proc/self/io")
90 statistic[temp[0]] = int(temp[1])
91 statistic[
"time"] = time.time()
98 print(
"%15s : %10.2F sec" % (s, (s1[s] - s0[s])))
100 print(
"%15s : %10.2F MB" % (s, (s1[s] - s0[s]) / 1.0e6))
106 sel = appMgr.evtsel()
107 evt = appMgr.evtsvc()
119 if not evt[
"/Event/Rec/Header"]:
120 print(
"Failed to access /Event/Rec/Header")
126 print(
"Read %d events" % N)