From 36d4e767ae6900ac0c88d561894e166d07c4a654 Mon Sep 17 00:00:00 2001 From: GuiMacielPereira Date: Tue, 12 Nov 2024 17:35:16 +0000 Subject: [PATCH] Rename analysis inputs classes --- src/mvesuvio/config/analysis_inputs.py | 6 +-- src/mvesuvio/main/run_routine.py | 47 +++++++++---------- src/mvesuvio/util/analysis_helpers.py | 4 +- tests/data/analysis/inputs/analysis_test.py | 10 ++-- .../data/analysis/inputs/yspace_gauss_test.py | 22 ++++----- tests/data/analysis/inputs/yspace_gc_test.py | 24 +++++----- 6 files changed, 54 insertions(+), 59 deletions(-) diff --git a/src/mvesuvio/config/analysis_inputs.py b/src/mvesuvio/config/analysis_inputs.py index 6258d11d..448986a7 100644 --- a/src/mvesuvio/config/analysis_inputs.py +++ b/src/mvesuvio/config/analysis_inputs.py @@ -10,7 +10,7 @@ class SampleParameters: @dataclass -class BackwardInitialConditions(SampleParameters): +class BackwardAnalysisInputs(SampleParameters): run_this_scattering_type = False fit_in_y_space = False @@ -47,7 +47,7 @@ class BackwardInitialConditions(SampleParameters): @dataclass -class ForwardInitialConditions(SampleParameters): +class ForwardAnalysisInputs(SampleParameters): run_this_scattering_type = True fit_in_y_space = True @@ -84,7 +84,7 @@ class ForwardInitialConditions(SampleParameters): @dataclass -class YSpaceFitInitialConditions: +class YSpaceFitInputs: showPlots = True symmetrisationFlag = True rebinParametersForYSpaceFit = "-25, 0.5, 25" # Needs to be symetric diff --git a/src/mvesuvio/main/run_routine.py b/src/mvesuvio/main/run_routine.py index f642d0c3..12e321b1 100644 --- a/src/mvesuvio/main/run_routine.py +++ b/src/mvesuvio/main/run_routine.py @@ -30,17 +30,14 @@ def setup(self): ai = self.import_from_inputs() - # self.wsBackIC = ai.LoadVesuvioBackParameters - # self.wsFrontIC = ai.LoadVesuvioFrontParameters - self.bckwdIC = ai.BackwardInitialConditions - self.fwdIC = ai.ForwardInitialConditions - self.yFitIC = ai.YSpaceFitInitialConditions - # self.userCtr = ai.UserScriptControls + self.bckwd_ai = ai.BackwardAnalysisInputs + self.fwd_ai = ai.ForwardAnalysisInputs + self.yFitIC = ai.YSpaceFitInputs # Names of workspaces to check if they exist to skip analysis self.ws_to_fit_y_space = [] self.classes_to_fit_y_space = [] - for ai_cls in [self.bckwdIC, self.fwdIC]: + for ai_cls in [self.bckwd_ai, self.fwd_ai]: if ai_cls.fit_in_y_space: self.ws_to_fit_y_space.append(name_for_starting_ws(ai_cls) + '_' + str(ai_cls.noOfMSIterations)) self.classes_to_fit_y_space.append(ai_cls) @@ -56,12 +53,12 @@ def setup(self): self.input_ws_path.mkdir(parents=True, exist_ok=True) # TODO: Output paths should probably not be set like this - self._set_output_paths(self.bckwdIC) - self._set_output_paths(self.fwdIC) + self._set_output_paths(self.bckwd_ai) + self._set_output_paths(self.fwd_ai) # TODO: remove this by fixing circular import - self.fwdIC.name = name_for_starting_ws(self.fwdIC) - self.bckwdIC.name = name_for_starting_ws(self.bckwdIC) + self.fwd_ai.name = name_for_starting_ws(self.fwd_ai) + self.bckwd_ai.name = name_for_starting_ws(self.bckwd_ai) # TODO: sort out yfit inputs figSavePath = self.experiment_path / "figures" @@ -79,7 +76,7 @@ def import_from_inputs(self): def run(self): - if not self.bckwdIC.run_this_scattering_type and not self.fwdIC.run_this_scattering_type: + if not self.bckwd_ai.run_this_scattering_type and not self.fwd_ai.run_this_scattering_type: return # Default workflow for procedure + fit in y space @@ -104,25 +101,25 @@ def runAnalysisFitting(self): def runAnalysisRoutine(self): - if self.bckwdIC.run_this_scattering_type: + if self.bckwd_ai.run_this_scattering_type: - if is_hydrogen_present(self.fwdIC.masses) & (self.bckwdIC.HToMassIdxRatio==0): + if is_hydrogen_present(self.fwd_ai.masses) & (self.bckwd_ai.HToMassIdxRatio==0): self.run_estimate_h_ratio() return # TODO: make this automatic - assert is_hydrogen_present(self.fwdIC.masses) != ( - self.bckwdIC.HToMassIdxRatio==0 + assert is_hydrogen_present(self.fwd_ai.masses) != ( + self.bckwd_ai.HToMassIdxRatio==0 ), "No Hydrogen detected, HToMassIdxRatio has to be set to 0" - if self.bckwdIC.run_this_scattering_type and self.fwdIC.run_this_scattering_type: + if self.bckwd_ai.run_this_scattering_type and self.fwd_ai.run_this_scattering_type: self.run_joint_analysis() return - if self.bckwdIC.run_this_scattering_type: - self.run_single_analysis(self.bckwdIC) + if self.bckwd_ai.run_this_scattering_type: + self.run_single_analysis(self.bckwd_ai) return - if self.fwdIC.run_this_scattering_type: - self.run_single_analysis(self.fwdIC) + if self.fwd_ai.run_this_scattering_type: + self.run_single_analysis(self.fwd_ai) return return @@ -137,8 +134,8 @@ def run_single_analysis(self, ai): def run_joint_analysis(self): AnalysisDataService.clear() - back_alg = self._create_analysis_algorithm(self.bckwdIC) - front_alg = self._create_analysis_algorithm(self.fwdIC) + back_alg = self._create_analysis_algorithm(self.bckwd_ai) + front_alg = self._create_analysis_algorithm(self.fwd_ai) self.run_joint_algs(back_alg, front_alg) return @@ -187,8 +184,8 @@ def run_estimate_h_ratio(self): table_h_ratios = create_table_for_hydrogen_to_mass_ratios() - back_alg = self._create_analysis_algorithm(self.bckwdIC) - front_alg = self._create_analysis_algorithm(self.fwdIC) + back_alg = self._create_analysis_algorithm(self.bckwd_ai) + front_alg = self._create_analysis_algorithm(self.fwd_ai) front_alg.execute() diff --git a/src/mvesuvio/util/analysis_helpers.py b/src/mvesuvio/util/analysis_helpers.py index b6297bea..01d5c2f4 100644 --- a/src/mvesuvio/util/analysis_helpers.py +++ b/src/mvesuvio/util/analysis_helpers.py @@ -136,11 +136,11 @@ def name_for_starting_ws(load_ai): def scattering_type(load_ai, shorthand=False): - if load_ai.__name__ in ["BackwardInitialConditions"]: + if load_ai.__name__ in ["BackwardAnalysisInputs"]: scatteringType = "BACKWARD" if shorthand: scatteringType = "bckwd" - elif load_ai.__name__ in ["ForwardInitialConditions"]: + elif load_ai.__name__ in ["ForwardAnalysisInputs"]: scatteringType = "FORWARD" if shorthand: scatteringType = "fwd" diff --git a/tests/data/analysis/inputs/analysis_test.py b/tests/data/analysis/inputs/analysis_test.py index ee70b9e7..99d31d13 100644 --- a/tests/data/analysis/inputs/analysis_test.py +++ b/tests/data/analysis/inputs/analysis_test.py @@ -1,13 +1,11 @@ -import numpy as np - -class GeneralInitialConditions: +class SampleParameters: transmission_guess = 0.8537 # Experimental value from VesuvioTransmission multiple_scattering_order, number_of_events = 2, 1.0e5 vertical_width, horizontal_width, thickness = 0.1, 0.1, 0.001 # Expressed in meters -class BackwardInitialConditions(GeneralInitialConditions): +class BackwardAnalysisInputs(SampleParameters): run_this_scattering_type = False fit_in_y_space = False ipfile = "ip2019.par" @@ -45,7 +43,7 @@ class BackwardInitialConditions(GeneralInitialConditions): GammaCorrectionFlag = False -class ForwardInitialConditions(GeneralInitialConditions): +class ForwardAnalysisInputs(SampleParameters): run_this_scattering_type = True fit_in_y_space = False @@ -86,7 +84,7 @@ class ForwardInitialConditions(GeneralInitialConditions): GammaCorrectionFlag = True -class YSpaceFitInitialConditions: +class YSpaceFitInputs: showPlots = False symmetrisationFlag = True rebinParametersForYSpaceFit = "-20, 0.5, 20" # Needs to be symetric diff --git a/tests/data/analysis/inputs/yspace_gauss_test.py b/tests/data/analysis/inputs/yspace_gauss_test.py index b25bc44c..b3c57316 100644 --- a/tests/data/analysis/inputs/yspace_gauss_test.py +++ b/tests/data/analysis/inputs/yspace_gauss_test.py @@ -1,13 +1,13 @@ from tests.data.analysis.inputs.analysis_test import ( - BackwardInitialConditions, - ForwardInitialConditions, - YSpaceFitInitialConditions, + BackwardAnalysisInputs, + ForwardAnalysisInputs, + YSpaceFitInputs, ) -ForwardInitialConditions.noOfMSIterations = 1 -ForwardInitialConditions.firstSpec = 164 -ForwardInitialConditions.lastSpec = 175 -ForwardInitialConditions.fit_in_y_space = True -BackwardInitialConditions.fit_in_y_space = False -ForwardInitialConditions.run_this_scattering_type = True -BackwardInitialConditions.run_this_scattering_type = False -YSpaceFitInitialConditions.fitModel = "SINGLE_GAUSSIAN" +ForwardAnalysisInputs.noOfMSIterations = 1 +ForwardAnalysisInputs.firstSpec = 164 +ForwardAnalysisInputs.lastSpec = 175 +ForwardAnalysisInputs.fit_in_y_space = True +BackwardAnalysisInputs.fit_in_y_space = False +ForwardAnalysisInputs.run_this_scattering_type = True +BackwardAnalysisInputs.run_this_scattering_type = False +YSpaceFitInputs.fitModel = "SINGLE_GAUSSIAN" diff --git a/tests/data/analysis/inputs/yspace_gc_test.py b/tests/data/analysis/inputs/yspace_gc_test.py index c660f6ae..05a87a6f 100644 --- a/tests/data/analysis/inputs/yspace_gc_test.py +++ b/tests/data/analysis/inputs/yspace_gc_test.py @@ -1,15 +1,15 @@ from tests.data.analysis.inputs.analysis_test import ( - BackwardInitialConditions, - ForwardInitialConditions, - YSpaceFitInitialConditions, + BackwardAnalysisInputs, + ForwardAnalysisInputs, + YSpaceFitInputs, ) -ForwardInitialConditions.noOfMSIterations = 1 -ForwardInitialConditions.firstSpec = 164 -ForwardInitialConditions.lastSpec = 175 -ForwardInitialConditions.fit_in_y_space = True -BackwardInitialConditions.fit_in_y_space = False -ForwardInitialConditions.run_this_scattering_type = True -BackwardInitialConditions.run_this_scattering_type = False -YSpaceFitInitialConditions.fitModel = "GC_C4_C6" -YSpaceFitInitialConditions.symmetrisationFlag = False +ForwardAnalysisInputs.noOfMSIterations = 1 +ForwardAnalysisInputs.firstSpec = 164 +ForwardAnalysisInputs.lastSpec = 175 +ForwardAnalysisInputs.fit_in_y_space = True +BackwardAnalysisInputs.fit_in_y_space = False +ForwardAnalysisInputs.run_this_scattering_type = True +BackwardAnalysisInputs.run_this_scattering_type = False +YSpaceFitInputs.fitModel = "GC_C4_C6" +YSpaceFitInputs.symmetrisationFlag = False