diff --git a/CIValidations/MaCh3CLI b/CIValidations/MaCh3CLI index 76fa946b..e041cd3f 100755 --- a/CIValidations/MaCh3CLI +++ b/CIValidations/MaCh3CLI @@ -112,13 +112,37 @@ run_multicanoical_validations() { mkdir -p ${MaCh3Tutorial_ROOT}/outputs/ mkdir -p ${MaCh3Tutorial_ROOT}/outputs/plotting/ - ${MaCh3Tutorial_ROOT}/bin/MCMCTutorial TutorialConfigs/FitterConfig.yaml -o General:MCMC:Multicanonical:Enabled:True -o General:OutputFile:umbrella/umbrellafile0.root -o General:Seed:10 - - # Create umbrellafile1.root ... umbrellafile59.root - for i in $(seq 1 59); do - cp "${MaCh3Tutorial_ROOT}/umbrella/umbrellafile0.root" \ - "${MaCh3Tutorial_ROOT}/umbrella/umbrellafile${i}.root" - done + ${MaCh3Tutorial_ROOT}/bin/MCMCTutorial \ + TutorialConfigs/FitterConfig.yaml \ + -o General:MCMC:Multicanonical:Enabled:True \ + -o General:MCMC:Multicanonical:Umbrella:UmbrellaMean:-2.2 \ + -o General:MCMC:Multicanonical:Umbrella:UmbrellaWidth:0.5 \ + -o General:OutputFile:umbrella/umbrellafile0.root \ + -o General:Seed:10 + + ${MaCh3Tutorial_ROOT}/bin/MCMCTutorial \ + TutorialConfigs/FitterConfig.yaml \ + -o General:MCMC:Multicanonical:Enabled:True \ + -o General:MCMC:Multicanonical:Umbrella:UmbrellaMean:-0.80 \ + -o General:MCMC:Multicanonical:Umbrella:UmbrellaWidth:1.0 \ + -o General:OutputFile:umbrella/umbrellafile1.root \ + -o General:Seed:10 + + ${MaCh3Tutorial_ROOT}/bin/MCMCTutorial \ + TutorialConfigs/FitterConfig.yaml \ + -o General:MCMC:Multicanonical:Enabled:True \ + -o General:MCMC:Multicanonical:Umbrella:UmbrellaMean:0.8 \ + -o General:MCMC:Multicanonical:Umbrella:UmbrellaWidth:1.0 \ + -o General:OutputFile:umbrella/umbrellafile2.root \ + -o General:Seed:10 + + ${MaCh3Tutorial_ROOT}/bin/MCMCTutorial \ + TutorialConfigs/FitterConfig.yaml \ + -o General:MCMC:Multicanonical:Enabled:True \ + -o General:MCMC:Multicanonical:Umbrella:UmbrellaMean:2.2 \ + -o General:MCMC:Multicanonical:Umbrella:UmbrellaWidth:0.5 \ + -o General:OutputFile:umbrella/umbrellafile3.root \ + -o General:Seed:10 ${MaCh3Tutorial_ROOT}/bin/UmbrellaSolver ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml ${MaCh3Tutorial_ROOT}/bin/UmbrellaPlotting ${MaCh3Tutorial_ROOT}/umbrella_output.root ${MaCh3Tutorial_ROOT}/outputs/plotting/ diff --git a/Tutorial/TutorialDiagConfig.yaml b/Tutorial/TutorialDiagConfig.yaml index d66124d0..048e1d95 100755 --- a/Tutorial/TutorialDiagConfig.yaml +++ b/Tutorial/TutorialDiagConfig.yaml @@ -172,26 +172,21 @@ UmbrellaSolver: max_iterations: 200000 tolerance: 1e-10 print_frequency: 500 - # Performance options - use_openmp: true dynamic_files: true dynamic_pattern: "umbrella/" - dynamic_n_windows: 60 + dynamic_n_windows: 4 # Output file output_file: "umbrella_output.root" - # Variable of interest (branch name) - variable_of_interest: "delta_cp" - # Manual window configuration (if dynamic_files is false) windows: - name: "window_0" center: 0.0 width: 0.04 - - - name: "window_1" + + - name: "window_1" center: 0.17453292519943295 width: 0.04 diff --git a/TutorialConfigs/FitterConfig.yaml b/TutorialConfigs/FitterConfig.yaml index 942e60c1..5917f13b 100755 --- a/TutorialConfigs/FitterConfig.yaml +++ b/TutorialConfigs/FitterConfig.yaml @@ -33,6 +33,8 @@ General: # This section configures Multicanonnical MCMC, using biases to change how chains sample specific regions of the parameter space Multicanonical: Enabled: false + # Variable of interest (branch name) + VariableName: "delta_cp" Beta: 1.0 # bias strength parameter, 1.0 is full strength, 0.0 is no bias Spline: # Choose a spline for a given parameter to bias your chain. Can be used to flatten out the sampling of a particular parameter, with the bias divides out later. @@ -40,13 +42,14 @@ General: # Spline should be provided as a TGraph in a ROOT file, of x,y = parameter of interest, bias weight. SplineFile: "/home/ppe/d/driley/Projects/umbrella/utils_mcm/output/dcp_spline_NOIO.root" Umbrella: - # This section configures the setup for Umbrella Sampling. This applies a bias to a given parameter to allow sampling of a chosen region of the parameter space - # set the parameters for the bias function here, and use the processing scripts in MaCh3 Core to reconstruct the full posterior from the biased chains. - UmbrellaBiasFunction: "generalisedGaussian" # current options are "gaussian","generalisedGaussian","vonMises" + # This section configures the setup for Umbrella Sampling. This applies a bias to a given parameter to allow sampling of a chosen region of the parameter space + # set the parameters for the bias function here, and use the processing scripts in MaCh3 Core to reconstruct the full posterior from the biased chains. + UmbrellaBiasFunction: "generalisedGaussian" # current options are "gaussian","generalisedGaussian", "vonMises" # here set the parameters of the bias function, Mean sets the centre and the width sets the corresponding width parameter for the chosen function. UmbrellaMean: 0.6 UmbrellaWidth: 0.25 - + + UmbrellaAdjustStepScale: True # If true, we will determine the step scale as a ratio of the normal size of the parameter space to the size of the umbrella # currently assumes you are applying the bias on delta_cp and thus the step scale is calculated as 2pi/width of umbrella, planned update for general parameter choice. UmbrellaStepScaleFactor: 1.0 # Additional scale factor applied to the step scale, useful for fine tuning the step size.