Skip to content

Commit

Permalink
Merge pull request #256 from mach3-software/feature_credits
Browse files Browse the repository at this point in the history
tidy: Doxygen Credits
  • Loading branch information
KSkwarczynski authored Dec 21, 2024
2 parents f7c87e1 + 9351740 commit 88adcb8
Show file tree
Hide file tree
Showing 19 changed files with 57 additions and 13 deletions.
4 changes: 4 additions & 0 deletions Diagnostics/CombineMaCh3Chains.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@
// MaCh3 includes
#include "manager/manager.h"

/// @file CombineMaCh3Chains
/// @author Ewan Miller
/// @author Kamil Skwarczynski

std::string OutFileName = "";
int targetCompression = 1;
std::vector<std::string> inpFileList;
Expand Down
1 change: 1 addition & 0 deletions covariance/PCAHandler.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

/// @brief Class responsible for handling Principal Component Analysis (PCA) of covariance matrix
/// @see For more details, visit the [Wiki](https://github.com/mach3-software/MaCh3/wiki/03.-Eigen-Decomposition-%E2%80%90-PCA).
/// @author Clarence Wret
class PCAHandler{
public:

Expand Down
3 changes: 3 additions & 0 deletions covariance/covarianceXsec.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@

/// @brief Class responsible for handling of systematic error parameters with different types defined in the config. Like spline, normalisation parameters etc.
/// @see For more details, visit the [Wiki](https://github.com/mach3-software/MaCh3/wiki/02.-Implementation-of-Systematic).
/// @author Dan Barrow
/// @author Ed Atkin
/// @author Kamil Skwarczynski
class covarianceXsec : public covarianceBase {
public:
/// @brief Constructor
Expand Down
1 change: 1 addition & 0 deletions manager/MaCh3Modes.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ struct MaCh3ModeInfo {

/// @brief KS: Class describing MaCh3 modes used in the analysis, it is being initialised from config
/// @see For more details, visit the [Wiki](https://github.com/mach3-software/MaCh3/wiki/08.-MaCh3-Modes).
/// @author Kamil Skwarczynski
class MaCh3Modes {
public:
/// @brief KS: Initialise MaCh3 modes
Expand Down
2 changes: 2 additions & 0 deletions manager/manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ class TFile;

/// @brief The manager class is responsible for managing configurations and settings.
/// @see For more details, visit the [Wiki](https://github.com/mach3-software/MaCh3/wiki/01.-Manager-and-config-handling).
/// @author Ed Atkin
/// @author Kamil Skwarczynski
class manager {
public:
/// @brief Constructs a manager object with the specified file name.
Expand Down
23 changes: 14 additions & 9 deletions mcmc/MCMCProcessor.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ enum ParameterEnum {
/// @brief Class responsible for processing MCMC chains, performing diagnostics, generating plots, and managing Bayesian analysis.
/// @details This class provides utilities to handle MCMC output generated by mcmc::runMCMC. It is particularly useful for extracting values from previous MCMC runs and initiating new MCMC runs with those values. Inspired by nd280_utils/DrawComp.cpp.
/// @see For more details and examples, visit the [Wiki](https://github.com/mach3-software/MaCh3/wiki/09.-Bayesian-Analysis,-Plotting-and-MCMC-Processor).
/// @author Clarence Wret
/// @author Kamil Skwarczynski
class MCMCProcessor {
public:
/// @brief Constructs an MCMCProcessor object with the specified input file and options.
Expand All @@ -80,7 +82,8 @@ class MCMCProcessor {
/// @param Mute Allow silencing many messages, especially important if we calculate matrix many times
void MakeCovariance_MP(const bool Mute = false);
/// @brief Make and Draw SubOptimality
/// \cite roberts2009adaptive
/// @cite roberts2009adaptive
/// @author Henry Wallace
void MakeSubOptimality(const int NIntervals = 10);

/// @brief Reset 2D posteriors, in case we would like to calculate in again with different BurnInCut
Expand Down Expand Up @@ -307,6 +310,7 @@ class MCMCProcessor {
/// @brief KS: Calculate autocorrelations supports both OpenMP and CUDA :)
inline void AutoCorrelation();
/// @brief MJR: Autocorrelation function using FFT algorithm for extra speed
/// @author Michael Reh
inline void AutoCorrelation_FFT();
/// @brief KS: calc Effective Sample Size
/// @param nLags Should be the same nLags as used in AutoCorrelation()
Expand All @@ -315,24 +319,25 @@ class MCMCProcessor {
/// This function computes the Effective Sample Size (ESS) using the autocorrelations
/// calculated by AutoCorrelation(). Ensure that the parameter nLags here matches
/// the number of lags used in AutoCorrelation() to obtain accurate results.
/// \cite StanManual
/// \cite hanson2008mcmc
/// \cite gabry2024visual
/// @cite StanManual
/// @cite hanson2008mcmc
/// @cite gabry2024visual
inline void CalculateESS(const int nLags, const std::vector<std::vector<double>>& LagL);
/// @brief Get the batched means variance estimation and variable indicating if number of batches is sensible
/// \cite chakraborty2019estimating
/// \cite rossetti2024batch
/// @cite chakraborty2019estimating
/// @cite rossetti2024batch
inline void BatchedAnalysis();
/// @brief CW: Batched means, literally read from an array and chuck into TH1D
inline void BatchedMeans();
/// @brief Geweke Diagnostic based on the methods described by Fang (2014) and Karlsbakk (2011).
/// \cite Fang2014GewekeDiagnostics
/// \cite karlsbakk2011
/// @cite Fang2014GewekeDiagnostics
/// @cite karlsbakk2011
inline void GewekeDiagnostic();
/// @brief Acceptance Probability
inline void AcceptanceProbabilities();
/// @brief RC: Perform spectral analysis of MCMC
/// \cite Dunkley:2004sv
/// @cite Dunkley:2004sv
/// @author Richard Calland
inline void PowerSpectrumAnalysis();

/// Name of MCMC file
Expand Down
3 changes: 2 additions & 1 deletion mcmc/MinuitFit.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
#include "Math/Functor.h"

/// @brief Implementation of Minuit fitting algorithm
/// \cite James:2004xla
/// @cite James:2004xla
/// @author Kamil Skwarczynski
class MinuitFit : public LikelihoodFit {
public:
/// @brief Constructor
Expand Down
8 changes: 6 additions & 2 deletions mcmc/PSO.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@

/// @brief Class particle - stores the position, velocity and personal best
/// With functions which move particle and update velocity
/// @note Created by Emily Ip on 24/2/2023.
/// @author Emily Ip
/// @author Mark Scott
/// @date 24/2/2023
class particle{
public:
particle(){};
Expand Down Expand Up @@ -69,7 +71,9 @@ class particle{
/// @brief Class PSO, consist of a vector of object Class Particle and global best
/// Takes in the size (number of particle) and number of iteration
/// functions includes: finding global best, updating velocity, actual minimisation function
/// @note Created by Emily Ip on 24/2/2023.
/// @author Emily Ip
/// @author Mark Scott
/// @date 24/2/2023
class PSO : public LikelihoodFit {
public:
/// @brief constructor
Expand Down
2 changes: 2 additions & 0 deletions mcmc/SampleSummary.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ namespace M3 {
// *******************
/// @brief Class to calculate pvalue produce posterior predictive and many fancy Bayesian stuff \cite gelman1996posterior
/// @details For more information, visit the [Wiki](https://github.com/mach3-software/MaCh3/wiki/10.-Posterior-Predictive,-p%E2%80%90value-etc.).
/// @author Clarence Wret
/// @author Kamil Skwarczynski
class SampleSummary {
// *******************
public:
Expand Down
1 change: 1 addition & 0 deletions mcmc/StatisticalUtils.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

/// @file StatisticalUtils.h
/// @brief Utility functions for statistical interpretations in MaCh3
/// @author Kamil Skwarczynski

// **************************
/// @brief KS: Following H. Jeffreys \cite jeffreys1998theory
Expand Down
3 changes: 3 additions & 0 deletions mcmc/gpuMCMCProcessorUtils.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@

#include "manager/gpuUtils.cuh"

/// @file gpuMCMCProcessorUtils
/// @author Kamil Skwarczynski

/// @brief KS: Initialiser, here we allocate memory for variables and copy constants
/// @param ParStep_gpu Parameter value at each step
/// @param NumeratorSum_gpu Sum used for nominator of autocorrelation calculations
Expand Down
1 change: 1 addition & 0 deletions mcmc/mcmc.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include "mcmc/FitterBase.h"

/// @brief Implementation of MR2T2 algorithm
/// @author Asher Kaboth
class mcmc : public FitterBase {
public:
/// @brief Constructor
Expand Down
6 changes: 5 additions & 1 deletion plotting/GetPostfitParamPlots.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#include "plottingUtils/plottingUtils.h"
#include "plottingUtils/plottingManager.h"

/// @file GetPostfitParamPlots
/// This script generates post-fit parameter plots. The central postfit value is
/// taken as the Highest Posterior Density (HPD), but can be easily changed to
/// another method such as Gaussian. Be cautious as parameter names and the number
Expand All @@ -34,7 +35,10 @@
/// ./GetPostfitParamPlots ProcessMCMC_Output1.root <ProcessMCMC_Output2.root> <ProcessMCMC_Output3.root>
/// ```
///
/// @note Originally written by Clarence, with changes by Will, updates by Kamil, and converted to a generic plotter by Ewan.
/// @author Clarence Wret
/// @author Will Parker
/// @author Kamil Skwarczynski
/// @author Ewan Miller

//this file has lots of usage of the ROOT plotting interface that only takes floats, turn this warning off for this CU for now
#pragma GCC diagnostic ignored "-Wfloat-conversion"
Expand Down
3 changes: 3 additions & 0 deletions plotting/PlotLLH.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wconversion"

/// @file PlotLLH
/// @author Ewan Miller

// some options for the plots
double ratioPlotSplit;
double yTitleOffset;
Expand Down
1 change: 1 addition & 0 deletions plotting/plottingUtils/plottingManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ namespace MaCh3Plotting {
/// any style options you like from the StyleManager. Also a hopefully not too distant dream is to
/// wrap this up in python so it is usable in .py scripts to take advantage of nice existing
/// plotting libraries for e.g. MCMC plotting.
/// @author Ewan Miller
class PlottingManager {
public:
// EM: cant make these static as std::getenv("MACH3") not known at compile time
Expand Down
1 change: 1 addition & 0 deletions plotting/plottingUtils/styleManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include "TStyle.h"

namespace MaCh3Plotting {
/// @author Ewan Miller
class StyleManager {
public:
/// @brief Constructor
Expand Down
2 changes: 2 additions & 0 deletions samplePDF/samplePDFFDBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
class OscillatorBase;

/// @brief Class responsible for handling implementation of samples used in analysis, reweighting and returning LLH
/// @author Dan Barrow
/// @author Ed Atkin
class samplePDFFDBase : public samplePDFBase
{
public:
Expand Down
2 changes: 2 additions & 0 deletions splines/SplineMonolith.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ class SMonolithGPU;

/// @brief Even-by-event class calculating response for spline parameters. It is possible to use GPU acceleration
/// @see For more details, visit the [Wiki](https://github.com/mach3-software/MaCh3/wiki/05.-Splines).
/// @author Clarence Wret
/// @author Kamil Skwarczynski
class SMonolith : public SplineBase {
public:
/// @brief Constructor
Expand Down
3 changes: 3 additions & 0 deletions splines/splineFDBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@

/// @brief Bin-by-bin class calculating response for spline parameters.
/// @see For more details, visit the [Wiki](https://github.com/mach3-software/MaCh3/wiki/05.-Splines).
/// @author Dan Barrow
/// @author Ed Atkin
/// @author Henry Wallace
class splineFDBase : public SplineBase {
/// @todo ETA - do all of these functions and members actually need to be public?
public:
Expand Down

0 comments on commit 88adcb8

Please sign in to comment.