From 412543bb496b9c2b946b68a1f41f52b28ed2148a Mon Sep 17 00:00:00 2001 From: Alexander Richards Date: Wed, 4 Nov 2026 15:46:28 +0000 Subject: [PATCH 1/4] standardise the order of config argument first --- CIValidations/MaCh3CLI | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CIValidations/MaCh3CLI b/CIValidations/MaCh3CLI index e041cd3..87dc355 100755 --- a/CIValidations/MaCh3CLI +++ b/CIValidations/MaCh3CLI @@ -47,12 +47,12 @@ run_fitter_validations() { ${MaCh3Tutorial_ROOT}/CIValidations/FitterValidations ${MaCh3_ROOT}/bin/ProcessMCMC ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml MCMC_Test.root # Chain diagnostic - ${MaCh3_ROOT}/bin/DiagMCMC MCMC_Test.root ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml + ${MaCh3_ROOT}/bin/DiagMCMC ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml MCMC_Test.root ${MaCh3_ROOT}/bin/RHat 2 MCMC_Test.root MCMC_Test.root MCMC_Test.root MCMC_Test.root ${MaCh3_ROOT}/bin/RHat_HighMem 10 MCMC_Test.root MCMC_Test.root MCMC_Test.root MCMC_Test.root ${MaCh3_ROOT}/bin/PlotMCMCDiag MCMC_Test_MCMC_Diag.root "test_plot_1" MCMC_Test_MCMC_Diag.root "test_plot_2" ${MaCh3_ROOT}/bin/CombineMaCh3Chains -o MergedChain.root MCMC_Test.root MCMC_Test.root MCMC_Test.root MCMC_Test.root - ${MaCh3_ROOT}/bin/GetPenaltyTerm MCMC_Test.root ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml + ${MaCh3_ROOT}/bin/GetPenaltyTerm ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml MCMC_Test.root # Fancy plotting ${MaCh3_ROOT}/bin/MatrixPlotter ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml MCMC_Test_drawCorr.root ${MaCh3_ROOT}/bin/GetPostfitParamPlots MCMC_Test_drawCorr.root @@ -157,8 +157,8 @@ run_multicanoical_validations() { run_CLI_validations() { mach3 tutorial TutorialConfigs/FitterConfig.yaml --MCMCSteps 10000 mach3 process ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml Test.root --corr --MakeCredibleIntervals - mach3 diag Test.root ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml - mach3 penterm Test.root ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml + mach3 diag ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml Test.root + mach3 penterm ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml Test.root } From 4e11525057b35e3d71966186cb72d0c7eeb5fa76 Mon Sep 17 00:00:00 2001 From: Charlotte Knight <43858329+Charlotte-Knight@users.noreply.github.com> Date: Tue, 10 Nov 2026 10:33:31 +0000 Subject: [PATCH 2/4] update mach3 diag instruction in readme for new order --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2c5dae5..46a2bfe 100644 --- a/README.md +++ b/README.md @@ -658,7 +658,7 @@ The latter class deals with actual event reweighting and general heavy lifting. ## MCMC Diagnostic A crucial part of MCMC is diagnosing whether a chain has converged or not. You can produce chain diagnostics by running: ```bash -mach3 diag Test.root bin/TutorialDiagConfig.yaml +mach3 diag bin/TutorialDiagConfig.yaml Test.root ``` This will produce a plethora of diagnostic information. One of most important of these are the autocorrelations for each of the parameters. Autocorrelation indicates how correlated MCMC steps are when they are n-steps apart in the chain. Generally speaking, we want the autocorrelation to drop to 0 fast and stay around there (like in the plot below). You can read about other diagnostics [here](https://mach3-software.github.io/MaCh3/MCMCconvergance.html), but it is sufficient for now to focus on autocorrelation. From 7e8916a9658eb003c92c0538dc7e2af4a199ee9a Mon Sep 17 00:00:00 2001 From: Alexander Richards Date: Wed, 11 Nov 2026 18:59:39 +0000 Subject: [PATCH 3/4] Update CLI validation commands for new subcommand names These changes follow the naming convention changes requested in https://github.com/mach3-software/MaCh3/pull/1061#issuecomment-6802715525 --- CIValidations/MaCh3CLI | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CIValidations/MaCh3CLI b/CIValidations/MaCh3CLI index 87dc355..fd2a356 100755 --- a/CIValidations/MaCh3CLI +++ b/CIValidations/MaCh3CLI @@ -157,8 +157,8 @@ run_multicanoical_validations() { run_CLI_validations() { mach3 tutorial TutorialConfigs/FitterConfig.yaml --MCMCSteps 10000 mach3 process ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml Test.root --corr --MakeCredibleIntervals - mach3 diag ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml Test.root - mach3 penterm ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml Test.root + mach3 diagnostics mcmc ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml Test.root + mach3 penaltyterm ${MaCh3Tutorial_ROOT}/bin/TutorialDiagConfig.yaml Test.root } From 9a925d095420d10aaff4135206de725a48647826 Mon Sep 17 00:00:00 2001 From: Alexander Richards Date: Wed, 11 Nov 2026 19:07:52 +0000 Subject: [PATCH 4/4] Update MCMC diagnostic command in README this originates in the renaming request, see https://github.com/mach3-software/MaCh3/pull/1061#issuecomment-6804588668 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 46a2bfe..b9e3622 100644 --- a/README.md +++ b/README.md @@ -658,7 +658,7 @@ The latter class deals with actual event reweighting and general heavy lifting. ## MCMC Diagnostic A crucial part of MCMC is diagnosing whether a chain has converged or not. You can produce chain diagnostics by running: ```bash -mach3 diag bin/TutorialDiagConfig.yaml Test.root +mach3 diagnostics mcmc bin/TutorialDiagConfig.yaml Test.root ``` This will produce a plethora of diagnostic information. One of most important of these are the autocorrelations for each of the parameters. Autocorrelation indicates how correlated MCMC steps are when they are n-steps apart in the chain. Generally speaking, we want the autocorrelation to drop to 0 fast and stay around there (like in the plot below). You can read about other diagnostics [here](https://mach3-software.github.io/MaCh3/MCMCconvergance.html), but it is sufficient for now to focus on autocorrelation.