26def parse_args() -> argparse.Namespace:
27 """Define and parse CLI arguments."""
28 parser = argparse.ArgumentParser(
29 description="Compare volume summaries from two G4Debugger runs."
30 )
31
32 parser.add_argument(
33 "--base",
34 required=True,
35 help="Base directory containing the StepHistograms_* sub-directories.",
36 )
37 parser.add_argument(
38 "--in1", required=True, metavar="SUBDIR_1",
39 help="First StepHistograms_* sub-directory."
40 )
41 parser.add_argument(
42 "--in2", required=True, metavar="SUBDIR_2",
43 help="Second StepHistograms_* sub-directory."
44 )
45 parser.add_argument(
46 "--atlas-style", required=True,
47 help="Directory holding AtlasStyle.C / AtlasLabels.C / AtlasUtils.C."
48 )
49 parser.add_argument(
50 "--out-dir", default=".",
51 help="Where to write the output plot [default: current directory]."
52 )
53 parser.add_argument("--v1-label", default="Non Opt", help="Legend label for first sample.")
54 parser.add_argument("--v2-label", default="Opt", help="Legend label for second sample.")
55
56 return parser.parse_args()
57
58