Classes | Namespaces | Functions
QuantileCuts.h File Reference
#include "CAFAna/Core/SpectrumLoader.h"
#include "CAFAna/Core/Spectrum.h"
#include "CAFAna/Core/HistAxis.h"
#include "CAFAna/Core/Cut.h"
#include "CAFAna/Core/Var.h"
#include "CAFAna/Core/SystShifts.h"
#include "CAFAna/Cuts/SpillCuts.h"
#include "3FlavorAna/Cuts/NumuCuts2018.h"

Go to the source code of this file.

Classes

class  ana::QuantileCutGenerator
 Class to Generate a ana::Cut that passes events that fall into the requested quantile in quantile axis. It is specialised via the constructor arguments. More...
 

Namespaces

 ana
 Cuts and Vars for the 2020 FD DiF Study.
 

Functions

TH2 * ana::MakeQuantileHistogram (SpectrumLoader &loader, const HistAxis &independentAxis, const HistAxis &quantileAxis, const Cut &cut, const SpillCut &spillCut, const SystShifts &shift, const Var &wei)
 Returns a TH2D with xAxis as independentAxis and yAxis as quantileAxis Quantiles in yAxis can be calculated from this using ana::GetQuantileBins. More...
 
std::vector< std::vector< double > > ana::GetQuantileBins (TH2 *quantileHist, const HistAxis &independentAxis, const HistAxis &quantileAxis, const unsigned int &numQuantiles, const bool verbose)
 Returns a 2D vector First index is the independentAxis bin number Second index is the high bin edge for a quantile [i][j-1] is jth quantile's low edge for ith independentAxis bin [i][j] is jth quantile's high edge for ith independentAxis bin. More...
 
std::vector< std::vector< double > > ana::GetQuantileBins (SpectrumLoader &loader, const HistAxis &independentAxis, const HistAxis &quantileAxis, const Cut &cut, const unsigned int &numQuantiles, const SpillCut &spillCut, const SystShifts &shift, const Var &wei, const bool verbose)
 Returns a 2D vector First index is the independentAxis bin number Second index is the high bin edge for a quantile [i][j-1] is jth quantile's low edge for ith independentAxis bin [i][j] is jth quantile's high edge for ith independentAxis bin. More...
 
const Cut ana::QuantileCut (const std::vector< std::vector< double >> &quantileBins, const HistAxis &independentAxis, const HistAxis &quantileAxis, const unsigned int &quantile)
 Returns a Cut that will only pass events falling into a particular quantile of quantileAxis, where quantiles have been calculated for each independentAxis bin Quantiles have been precalculated in 'quantileBins' (number of quantiles, bin edges etc.) More...
 
std::vector< Cutana::QuantileCuts (SpectrumLoader &loader, const HistAxis &independentAxis, const HistAxis &quantileAxis, const Cut &cut, const unsigned int &numQuantiles, const SpillCut &spillCut, const SystShifts &shift, const Var &wei, const bool verbose)
 Returns a vector of Cuts, each one for a different quantile An individual cut will only pass events falling into a particular quantile of quantileAxis, where quantiles have been calculated for each independentAxis bin. More...
 
std::vector< Cutana::QuantileCutsFromTH2 (TH2 *quantileHist, const HistAxis &independentAxis, const HistAxis &quantileAxis, const unsigned int &numQuantiles, const bool verbose)
 : Do the same as the QuantileCuts function but taking in the TH2 instead of making it. More...
 
std::vector< Cutana::QuantileAndPIDCutsFromTH2 (TH2 *quantileHist, const HistAxis &independentAxis, const HistAxis &quantileAxis, const unsigned int &numQuantiles, const bool rhc, const bool verbose)