4 from argparse
import ArgumentParser
6 parser = ArgumentParser()
7 parser.add_argument(
"--inFile", help=
"Input file to be translated",
8 default=
"sTGC_Digitization_EffChamber.dat")
9 parser.add_argument(
"--outFile", help=
"Output JSON file",
10 default=
"sTGC_Digitization_EffChamber.json")
13 if __name__ ==
"__main__":
15 from ROOT
import PathResolver
16 resolver = PathResolver()
18 resolvedInFile = resolver.find_file(args.inFile,
"DATAPATH")
19 if not resolvedInFile
or len(resolvedInFile) == 0:
20 logging.error(
"Failed to find file {fileName}".
format(fileName = args.inFile))
24 with open (resolvedInFile,
'r')
as inStream:
25 for i, line
in enumerate(inStream):
28 tokens = [x.strip()
for x
in line.split(
" ")
if len(x.strip())]
30 stationName =
"STL" if tokens[0] == 1
else "STS"
31 stationEta = tokens[1]
35 stationPhi = tokens[2]
36 multiLayer =
int(tokens[3]) + 1
39 effiEntry =
"\n".
join([
" {",
40 " \"station\" : \"{name}\",".
format(name = stationName),
41 " \"eta\" : {eta},".
format(eta = stationEta),
42 " \"phi\" : {phi},".
format(phi = stationPhi),
43 " \"multiLayer\" : {phi},".
format(phi = multiLayer),
44 " \"gasGap\" : {gap},".
format(gap = gasGap),
45 " \"efficiency\": {effi}".
format(effi=effi),
47 logging.debug(effiEntry)
48 efficiencies+=[effiEntry]
50 with open(args.outFile,
'w')
as outStream:
51 outStream.write(
"[\n")
52 for num, jitter
in enumerate(efficiencies, 1):
53 outStream.write(jitter)
54 if num != len(efficiencies): outStream.write(
",")
56 outStream.write(
"]\n")