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")