Skip to content

Commit

Permalink
check also for closure test data in read_replica_pseudodata
Browse files Browse the repository at this point in the history
  • Loading branch information
RoyStegeman committed May 7, 2024
1 parent 124ae08 commit ca6336f
Showing 1 changed file with 30 additions and 15 deletions.
45 changes: 30 additions & 15 deletions validphys2/src/validphys/pseudodata.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,25 +80,40 @@ def read_replica_pseudodata(fit, context_index, replica):
log.debug(f"Reading pseudodata & training/validation splits from {fit.name}.")
replica_path = fit.path / "nnfit" / f"replica_{replica}"

training_path = replica_path / (FILE_PREFIX + "training_pseudodata.csv")
validation_path = replica_path / (FILE_PREFIX + "validation_pseudodata.csv")

try:
# The paths where sampled experimental data is stored
training_path = replica_path / "datacuts_theory_fitting_training_pseudodata.csv"
validation_path = replica_path / "datacuts_theory_fitting_validation_pseudodata.csv"
tr = pd.read_csv(training_path, index_col=[0, 1, 2], sep="\t", header=0)
val = pd.read_csv(validation_path, index_col=[0, 1, 2], sep="\t", header=0)
except FileNotFoundError:
# Old 3.1 style fits had pseudodata called training.dat and validation.dat
training_path = replica_path / "training.dat"
validation_path = replica_path / "validation.dat"
tr = pd.read_csv(training_path, index_col=[0, 1, 2], sep="\t", names=[f"replica {replica}"])
val = pd.read_csv(
validation_path, index_col=[0, 1, 2], sep="\t", names=[f"replica {replica}"]
)
except FileNotFoundError as e:
raise FileNotFoundError(
"Could not find saved training and validation data files. "
f"Please ensure {fit} was generated with the savepseudodata flag set to true"
) from e
try:
# Pseudodata generated in a closure test
training_path = (
replica_path / "datacuts_theory_closuretest_fitting_training_pseudodata.csv"
)
validation_path = (
replica_path / "datacuts_theory_closuretest_fitting_validation_pseudodata.csv"
)
tr = pd.read_csv(training_path, index_col=[0, 1, 2], sep="\t", header=0)
val = pd.read_csv(validation_path, index_col=[0, 1, 2], sep="\t", header=0)
except FileNotFoundError:
try:
# Old 3.1 style fits had pseudodata called training.dat and validation.dat
training_path = replica_path / "training.dat"
validation_path = replica_path / "validation.dat"
tr = pd.read_csv(
training_path, index_col=[0, 1, 2], sep="\t", names=[f"replica {replica}"]
)
val = pd.read_csv(
validation_path, index_col=[0, 1, 2], sep="\t", names=[f"replica {replica}"]
)
except FileNotFoundError as e:
raise FileNotFoundError(
"Could not find saved training and validation data files. "
f"Please ensure {fit} was generated with the savepseudodata flag set to true"
) from e

tr["type"], val["type"] = "training", "validation"

pseudodata = pd.concat((tr, val))
Expand Down

0 comments on commit ca6336f

Please sign in to comment.