Skip to content

Commit

Permalink
Better unify safer header inclusion for external libraries
Browse files Browse the repository at this point in the history
  • Loading branch information
KSkwarczynski committed Jan 25, 2025
1 parent d8466b6 commit ffcb935
Show file tree
Hide file tree
Showing 17 changed files with 109 additions and 182 deletions.
17 changes: 6 additions & 11 deletions Diagnostics/CombineMaCh3Chains.cpp
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuseless-cast"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wold-style-cast"
#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
// C++ includes
#include <unistd.h>

// MaCh3 includes
#include "manager/manager.h"
#include "samplePDF/Structs.h"

_MaCh3_Safe_Include_Start_ //{
// ROOT includes
#include "TList.h"
#include "TFile.h"
Expand All @@ -17,10 +15,7 @@
#include "TFileMerger.h"
#include "TKey.h"
#include "TROOT.h"
#pragma GCC diagnostic pop

// MaCh3 includes
#include "manager/manager.h"
_MaCh3_Safe_Include_End_ //}

/// @file CombineMaCh3Chains
/// @author Ewan Miller
Expand Down
21 changes: 6 additions & 15 deletions Diagnostics/GetPenaltyTerm.cpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuseless-cast"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wold-style-cast"
#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
// MaCh3 includes
#include "manager/manager.h"
#include "samplePDF/Structs.h"

_MaCh3_Safe_Include_Start_ //{
// ROOT includes
#include "TFile.h"
#include "TBranch.h"
Expand All @@ -22,14 +20,7 @@
#include "TColor.h"
#include "TObjString.h"
#include "TROOT.h"
#pragma GCC diagnostic pop

#ifdef MULTITHREAD
#include "omp.h"
#endif

#include "manager/manager.h"

_MaCh3_Safe_Include_End_ //}

/// @file GetPenaltyTerm.cpp
/// @brief KS: This file contains the implementation of the function to extract specific penalty terms from systematic chains.
Expand Down
21 changes: 6 additions & 15 deletions Diagnostics/RHat.cpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuseless-cast"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wold-style-cast"
#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
// MaCh3 includes
#include "manager/manager.h"
#include "samplePDF/Structs.h"

_MaCh3_Safe_Include_Start_ //{
// ROOT includes
#include "TObjArray.h"
#include "TChain.h"
Expand All @@ -20,14 +18,7 @@
#include "TColor.h"
#include "TStyle.h"
#include "TROOT.h"
#pragma GCC diagnostic pop

#ifdef MULTITHREAD
#include "omp.h"
#endif

// MaCh3 includes
#include "manager/manager.h"
_MaCh3_Safe_Include_End_ //}

/// @file RHat.cpp
/// @brief This executable calculates the \f$ \hat{R} \f$ estimator for Markov Chain Monte Carlo (MCMC) convergence.
Expand Down
21 changes: 6 additions & 15 deletions Diagnostics/RHat_HighMem.cpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuseless-cast"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wold-style-cast"
#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
// MaCh3 includes
#include "manager/manager.h"
#include "samplePDF/Structs.h"

_MaCh3_Safe_Include_Start_ //{
// ROOT includes
#include "TObjArray.h"
#include "TChain.h"
Expand All @@ -20,14 +18,7 @@
#include "TColor.h"
#include "TStyle.h"
#include "TROOT.h"
#pragma GCC diagnostic pop

#ifdef MULTITHREAD
#include "omp.h"
#endif

// MaCh3 includes
#include "manager/manager.h"
_MaCh3_Safe_Include_End_ //}

/// @file RHat.cpp
/// @brief This executable calculates the \f$ \hat{R} \f$ estimator for Markov Chain Monte Carlo (MCMC) convergence.
Expand Down
19 changes: 6 additions & 13 deletions covariance/CovarianceUtils.h
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
#pragma once

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuseless-cast"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wold-style-cast"
#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
// MaCh3 includes
#include "samplePDF/Structs.h"

_MaCh3_Safe_Include_Start_ //{
// ROOT includes
#include "TMatrixT.h"
#include "TMatrixDSym.h"
Expand All @@ -24,13 +21,9 @@
#include "TMatrixDSymEigen.h"
#include "TMatrixDEigen.h"
#include "TDecompSVD.h"
#pragma GCC diagnostic pop

#ifdef MULTITHREAD
#include "omp.h"
#endif
_MaCh3_Safe_Include_End_ //}

namespace MaCh3Utils
namespace M3
{
/// @brief number of threads which we need for example for TRandom3
inline int GetNThreads()
Expand Down
4 changes: 2 additions & 2 deletions covariance/covarianceBase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ void covarianceBase::init(std::string name, std::string file) {

PrintLength = 35;

const int nThreads = MaCh3Utils::GetNThreads();
const int nThreads = M3::GetNThreads();
//KS: set Random numbers for each thread so each thread has different seed
//or for one thread if without MULTITHREAD
random_number.reserve(nThreads);
Expand Down Expand Up @@ -172,7 +172,7 @@ void covarianceBase::init(const std::vector<std::string>& YAMLFile) {
}
}

const int nThreads = MaCh3Utils::GetNThreads();
const int nThreads = M3::GetNThreads();
//KS: set Random numbers for each thread so each thread has different seed
//or for one thread if without MULTITHREAD
random_number.reserve(nThreads);
Expand Down
10 changes: 2 additions & 8 deletions mcmc/MCMCProcessor.cpp
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
#include "MCMCProcessor.h"

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuseless-cast"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wold-style-cast"
#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
_MaCh3_Safe_Include_Start_ //{
#include "TChain.h"
#include "TF1.h"
#pragma GCC diagnostic pop
_MaCh3_Safe_Include_End_ //}

//Only if GPU is enabled
#ifdef CUDA
Expand Down
18 changes: 6 additions & 12 deletions mcmc/MCMCProcessor.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,11 @@
#include <complex>
#include <cstdio>

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuseless-cast"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wold-style-cast"
#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
// MaCh3 includes
#include "mcmc/StatisticalUtils.h"
#include "samplePDF/HistogramUtils.h"

_MaCh3_Safe_Include_Start_ //{
// ROOT includes
#include "TFile.h"
#include "TBranch.h"
Expand All @@ -38,13 +36,9 @@
#include "TMath.h"
#include "TMatrixDSymEigen.h"
#include "TVirtualFFT.h"
#pragma GCC diagnostic pop
_MaCh3_Safe_Include_End_ //}


// MaCh3 includes
#include "mcmc/StatisticalUtils.h"
#include "samplePDF/HistogramUtils.h"

//KS: Joy of forward declaration https://gieseanw.wordpress.com/2018/02/25/the-joys-of-forward-declarations-results-from-the-real-world/
class TChain;
class TF1;
Expand Down
17 changes: 6 additions & 11 deletions plotting/GetPostfitParamPlots.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,11 @@
#include <iomanip>
#include <algorithm>

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuseless-cast"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wold-style-cast"
#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
#include "plottingUtils/plottingUtils.h"
#include "plottingUtils/plottingManager.h"
#include "samplePDF/Structs.h"

_MaCh3_Safe_Include_Start_ //{
#include "TROOT.h"
#include "TGaxis.h"
#include "TString.h"
Expand All @@ -26,10 +24,7 @@
#include "TCandle.h"
#include "TFrame.h"
#include "TGraphAsymmErrors.h"
#pragma GCC diagnostic pop

#include "plottingUtils/plottingUtils.h"
#include "plottingUtils/plottingManager.h"
_MaCh3_Safe_Include_End_ //}

/// @file GetPostfitParamPlots
/// This script generates post-fit parameter plots. The central postfit value is
Expand Down
14 changes: 4 additions & 10 deletions samplePDF/HistogramUtils.cpp
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuseless-cast"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wold-style-cast"
#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
#include "samplePDF/HistogramUtils.h"

_MaCh3_Safe_Include_Start_ //{
#include "TList.h"
#include "TObjArray.h"
#pragma GCC diagnostic pop

#include "samplePDF/HistogramUtils.h"
_MaCh3_Safe_Include_End_ //}

// **************************************************
//KS: ROOT changes something with binning when moving from ROOT 5 to ROOT 6. If you open ROOT5 produced file with ROOT6 you will be missing 9 last bins
Expand Down
16 changes: 5 additions & 11 deletions samplePDF/HistogramUtils.h
Original file line number Diff line number Diff line change
@@ -1,20 +1,14 @@
#pragma once

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuseless-cast"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wold-style-cast"
#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
// MaCh3 includes
#include "samplePDF/Structs.h"

_MaCh3_Safe_Include_Start_ //{
// ROOT include
#include "TGraphAsymmErrors.h"
#include "TObjString.h"
#include "TRandom3.h"
#pragma GCC diagnostic pop

// MaCh3 inlcudes
#include "samplePDF/Structs.h"
_MaCh3_Safe_Include_End_ //}

/// @file HistogramUtils.h
/// @author Will Parker
Expand Down
26 changes: 19 additions & 7 deletions samplePDF/Structs.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,27 @@ constexpr static const int Unity_Int = 1;
#include "omp.h"
#endif

// MaCh3 includes
#include "manager/MaCh3Exception.h"
#include "manager/MaCh3Logger.h"

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuseless-cast"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wold-style-cast"
#pragma GCC diagnostic ignored "-Wconversion"
/// @brief KS: Avoiding warning checking for headers
/// @details Many external files don't strictly adhere to rigorous C++ standards.
/// Inline functions in such headers may cause errors when compiled with strict MaCh3 compiler flags.
/// @warning Use this for any external header file to avoid warnings.
#define _MaCh3_Safe_Include_Start_ \
_Pragma("GCC diagnostic push") \
_Pragma("GCC diagnostic ignored \"-Wuseless-cast\"") \
_Pragma("GCC diagnostic ignored \"-Wfloat-conversion\"") \
_Pragma("GCC diagnostic ignored \"-Wold-style-cast\"") \
_Pragma("GCC diagnostic ignored \"-Wformat-nonliteral\"") \
_Pragma("GCC diagnostic ignored \"-Wconversion\"")

/// @brief KS: Restore warning checking after including external headers
#define _MaCh3_Safe_Include_End_ \
_Pragma("GCC diagnostic pop")

_MaCh3_Safe_Include_Start_ //{
// ROOT include
#include "TSpline.h"
#include "TObjString.h"
Expand All @@ -80,7 +92,7 @@ constexpr static const int Unity_Int = 1;
#include "TH1.h"
// NuOscillator includes
#include "Constants/OscillatorConstants.h"
#pragma GCC diagnostic pop
_MaCh3_Safe_Include_End_ //}


/// @file Structs.h
Expand Down
20 changes: 7 additions & 13 deletions samplePDF/samplePDFBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,12 @@
//C++ includes
#include <assert.h>

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuseless-cast"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wold-style-cast"
#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
//MaCh3 includes
#include "samplePDF/Structs.h"
#include "samplePDF/HistogramUtils.h"
#include "manager/manager.h"

_MaCh3_Safe_Include_Start_ //{
//ROOT includes
#include "TTree.h"
#include "TH1D.h"
Expand All @@ -19,12 +18,7 @@
#include "TROOT.h"
#include "TRandom3.h"
#include "TString.h"
#pragma GCC diagnostic pop

//MaCh3 includes
#include "samplePDF/Structs.h"
#include "samplePDF/HistogramUtils.h"
#include "manager/manager.h"
_MaCh3_Safe_Include_End_ //}

/// @brief Class responsible for handling implementation of samples used in analysis, reweighting and returning LLH
class samplePDFBase
Expand Down
Loading

0 comments on commit ffcb935

Please sign in to comment.