14from ROOT
import Belle2
15from ROOT.Belle2
import ARICHDatabaseImporter
16from optparse
import OptionParser
19parser = OptionParser()
20parser.add_option(
'-t',
'--tag', dest=
'tag', default=
'',
21 help=
'database tag from which to import/export data')
22parser.add_option(
'-e',
'--exp', dest=
'experiment',
23 default=-1, help=
'experiment')
24parser.add_option(
'-r',
'--run', dest=
'run',
25 default=-1, help=
'run')
26parser.add_option(
'-o',
'--object', dest=
'object',
27 default=
"", help=
'object to be printed')
28parser.add_option(
'-d',
'--dump', dest=
'dump', action=
'store_true', default=
False, help=
'dump payload to localdb')
31(options, args) = parser.parse_args()
33if options.object ==
'':
34 print(
"use option -o to specify the object to be printed (ARICHReconstructionPar, etc)")
37if options.tag ==
'local':
38 b2.conditions.testing_payloads = [
"localdb/database.txt"]
39elif options.tag ==
'':
40 print(
"Using default tag")
42 b2.conditions.override_globaltags([options.tag])
46eventinfo = b2.register_module(
'EventInfoSetter')
48main = b2.create_path()
50main.add_module(eventinfo)
53paramloader = b2.register_module(
'Gearbox')
54paramloader.initialize()
59dbImporter = ARICHDatabaseImporter()
60exp = int(options.experiment)
62if exp > 0
and run > 0:
63 dbImporter.setExperimentAndRun(exp, run)
65if options.object ==
'ARICHModulesInfo':
66 dbImporter.printModulesInfo(dump=options.dump)
67elif options.object ==
'ARICHSimulationPar':
68 dbImporter.printSimulationPar(dump=options.dump)
69elif options.object ==
'ARICHChannelMask':
70 dbImporter.printChannelMask(dump=options.dump)
72elif options.object ==
'ARICHChannelMapping':
73 dbImporter.printChannelMapping(dump=options.dump)
74elif options.object ==
'ARICHMergerMapping':
75 dbImporter.printMergerMapping(dump=options.dump)
76elif options.object ==
'ARICHCopperMapping':
77 dbImporter.printCopperMapping(dump=options.dump)
78elif options.object ==
'ARICHReconstructionPar':
79 dbImporter.printReconstructionPar(dump=options.dump)
80elif options.object ==
'ARICHGlobalAlignment':
81 dbImporter.printGlobalAlignment(dump=options.dump)
82elif options.object ==
'ARICHMirrorAlignment':
83 dbImporter.printMirrorAlignment(dump=options.dump)
84elif options.object ==
'ARICHAeroTilesAlignment':
85 dbImporter.printAeroTilesAlignment(dump=options.dump)
86elif options.object ==
'ARICHGeometryConfig':
88 dbImporter.printGeometryConfig(dump=options.dump)
89elif options.object ==
'moduleNumbering':
91 dbImporter.dumpModuleNumbering()
92elif options.object ==
'QEMap':
94 dbImporter.dumpQEMap()
95elif options.object ==
'MergerMap':
98 dbImporter.dumpMergerMapping()
99elif options.object ==
'FEMappings':
101 dbImporter.printFEMappings(dump=options.dump)
103 print(
'Non-valid arich DB object!')