diff --git a/scaler_parse.py b/scaler_parse.py
new file mode 100755
index 0000000000000000000000000000000000000000..1d1d039a2bdde286b8c288e123c5927d30eaa954
--- /dev/null
+++ b/scaler_parse.py
@@ -0,0 +1,79 @@
+#!/usr/bin/python
+
+import argparse
+
+def get_args():
+    '''This function parses and returns arguments passed in'''
+    parser = argparse.ArgumentParser()
+    parser.add_argument(
+        '-r','--runs',type=str,help='Run list',required=True,nargs="+")
+    parser.add_argument(
+        '-f','--infile',type=str,help='Scaler list file',required=True)
+    parser.add_argument(
+        '-o','--outfile',type=str,help='Output file',required=True)
+    args = parser.parse_args()
+    infilename = args.infile
+    outfilename = args.outfile
+    runlist = args.runs[0].split(",")
+
+    return runlist, infilename, outfilename
+
+runlist, infilename, outfilename = get_args()
+
+print "\nScaler File Name: [ %s ]\n" % infilename
+print "\nOutput File Name: [ %s ]\n" % outfilename
+
+final_runlist = []
+for r in runlist:
+    minirunlist = r.split("-")
+    nruns = len(minirunlist)
+    if nruns == 1:
+       #print "Run: [%s]" % r
+       scaler_filename = "replay_coin_scalers_" + r + ".report"
+       final_runlist.append(scaler_filename)
+    else:
+       startrun=int(minirunlist[0])
+       endrun=int(minirunlist[1])
+       while startrun <= endrun:
+           #print "MiniRun: [%s]" % startrun
+           scaler_filename = "replay_coin_scalers_" + str(startrun) + ".report"
+           final_runlist.append(scaler_filename)
+           startrun=startrun+1
+
+#print final_runlist
+
+basic_name_array = ["Run Number"]
+scaler_name_array = []
+with open(infilename) as fp:
+    scaler_name_array = fp.read().splitlines()
+fp.close()
+
+of = open(outfilename,'w')
+scaler_name_array_run_number = basic_name_array+scaler_name_array
+mx = len(max(scaler_name_array_run_number))
+print (" ".join(["{:<{mx}}".format(ele,mx=mx) for ele in scaler_name_array_run_number]))
+of.write(" ".join(["{:<{mx}}".format(ele,mx=mx) for ele in scaler_name_array_run_number]))
+of.write("\n")
+
+for runfile in final_runlist:
+    with open(runfile) as fp:
+        runfile_linelist = fp.read().splitlines()
+	runnumbersplit = runfile.split("_")
+	runnumbersplit2 = runnumbersplit[3].split(".")
+        run_number_array=[]
+        run_number_array.append(runnumbersplit2[0])
+	scaler_value_array=[]
+        for line in runfile_linelist:
+            parsed_line = line.split(":")
+            for scaler in scaler_name_array:
+                	if parsed_line[0].rstrip(" ") == scaler:
+			    full_value = parsed_line[1].lstrip()
+		            numerical_value = full_value.split(" ")
+                            scaler_value_array.append(numerical_value[0])
+        scaler_value_array_run_number=run_number_array+scaler_value_array
+        print (" ".join(["{:<{mx}}".format(ele,mx=mx) for ele in scaler_value_array_run_number]))
+        of.write(" ".join(["{:<{mx}}".format(ele,mx=mx) for ele in scaler_value_array_run_number]))
+        of.write("\n")
+        fp.close()
+
+of.close()