parser = argparse.ArgumentParser() parser.add_argument("-i", "--input", help = "Input DQM ROOT file") parser.add_argument("-r", "--ref", help = "Reference DQM ROOT file (to diff)") parser.add_argument("--summary", help = "Dump summary", action = "store_true") parser.add_argument("--count", help = "Count Histograms", action = "store_true") parser.add_argument("-x", "--human", help = "Human readable output.", action = "store_true") parser.add_argument("-n", "--display", help = "Max entries to display in --summary.", type = int, default = None) parser.add_argument("-c", "--cutoff", help = "Max cutoff to display in --summary.", type = float, default = 512, metavar="KiB") parser.add_argument("-d", "--depth", help = "Folder depth in --summary.", type = int, default = 2) parser.add_argument("-u", "--units", help = "Memory units to use (KiB,MiB,GiB) if fixed output desired", type = str, default = "None") parser.add_argument("-p", "--precision", help = "Places after decimal to display.", type = int, default = 2) args = parser.parse_args() stats = HistogramAnalyzer() reader = DQMReader(args.input) for (fn, v) in reader.read_objects(): stats.analyze(fn, v) reader.close() if args.ref: reader = DQMReader(args.ref) ref_stats = HistogramAnalyzer() for (fn, v) in reader.read_objects(): ref_stats.analyze(fn, v) reader.close() stats = stats.difference(ref_stats) if args.summary: displayDirectoryStatistics(stats, args)