ant
A2 ant: class-based analysis framework
ant::analysis::HistogramFactory Class Reference

#include <HistogramFactory.h>

Classes

struct  DirStackPush
 
struct  Exception
 

Public Member Functions

 HistogramFactory (const std::string &directory_name, TDirectory *root=nullptr, const std::string &title_prefix_="")
 
 HistogramFactory (const std::string &directory_name, const HistogramFactory &parent, const std::string &title_prefix_="")
 
void SetRootDir (TDirectory *root_dir=nullptr)
 
void SetTitlePrefix (const std::string &title_prefix_)
 
void SetDirDescription (const std::string &desc)
 
std::string MakeTitle (const std::string &title) const
 
TH1D * makeTH1D (const std::string &title, const std::string &xlabel, const std::string &ylabel, const BinSettings &xbins, const std::string &name="", bool sumw2=false) const
 
TH1D * makeTH1D (const std::string &title, const AxisSettings &x_axis_settings, const std::string &name="", bool sumw2=false) const
 
TH1D * makeTH1D (const std::string &title, const AxisSettings &x_axis_settings, const std::string &ylabel, const std::string &name, bool sumw2=false) const
 
TH1D * makeTH1D (const std::string &title, const std::string &xlabel, const std::string &ylabel, const VarBinSettings &xbins, const std::string &name="", bool sumw2=false) const
 create TH1D with variable bin width More...
 
TH1D * makeTH1D (const std::string &title, const VarAxisSettings &x_axis_settings, const std::string &name="", bool sumw2=false) const
 create TH1D with variable bin width More...
 
TH1D * makeTH1D (const std::string &title, const VarAxisSettings &x_axis_settings, const std::string &ylabel, const std::string &name="", bool sumw2=false) const
 create TH1D with variable bin width More...
 
TH1D * makeTH1D (const std::string &title, const std::vector< double > &edges, const std::string &xlabel, const std::string &ylabel, const std::string &name="", bool sumw2=false) const
 create TH1D with variable bin width based on a given vector with the bin edges More...
 
TH2D * makeTH2D (const std::string &title, const std::string &xlabel, const std::string &ylabel, const BinSettings &xbins, const BinSettings &ybins, const std::string &name="", bool sumw2=false) const
 
TH2D * makeTH2D (const std::string &title, const AxisSettings &x_axis_settings, const AxisSettings &y_axis_settings, const std::string &name="", bool sumw2=false) const
 
TH2D * makeTH2D (const std::string &title, const std::string &xlabel, const std::string &ylabel, const VarBinSettings &xbins, const VarBinSettings &ybins, const std::string &name="", bool sumw2=false) const
 create TH2D with variable bin width More...
 
TH2D * makeTH2D (const std::string &title, const VarAxisSettings &x_axis_settings, const VarAxisSettings &y_axis_settings, const std::string &name="", bool sumw2=false) const
 create TH2D with variable bin width More...
 
TH2D * makeTH2D (const std::string &title, const std::string &xlabel, const std::string &ylabel, const VarBinSettings &xbins, const BinSettings &ybins, const std::string &name="", bool sumw2=false) const
 create TH2D with variable bin width for x axis only More...
 
TH2D * makeTH2D (const std::string &title, const VarAxisSettings &x_axis_settings, const AxisSettings &y_axis_settings, const std::string &name="", bool sumw2=false) const
 create TH2D with variable bin width for x axis only More...
 
TH2D * makeTH2D (const std::string &title, const std::string &xlabel, const std::string &ylabel, const BinSettings &xbins, const VarBinSettings &ybins, const std::string &name="", bool sumw2=false) const
 create TH2D with variable bin width for y axis only More...
 
TH2D * makeTH2D (const std::string &title, const AxisSettings &x_axis_settings, const VarAxisSettings &y_axis_settings, const std::string &name="", bool sumw2=false) const
 create TH2D with variable bin width for y axis only More...
 
TH3D * makeTH3D (const std::string &title, const std::string &xlabel, const std::string &ylabel, const std::string &zlabel, const BinSettings &xbins, const BinSettings &ybins, const BinSettings &zbins, const std::string &name="", bool sumw2=false) const
 
TH3D * makeTH3D (const std::string &title, const AxisSettings &x_axis_settings, const AxisSettings &y_axis_settings, const AxisSettings &z_axis_settings, const std::string &name="", bool sumw2=false) const
 
TGraph * makeGraph (const std::string &title, const std::string &name="") const
 
TGraphErrors * makeGraphErrors (const std::string &title, const std::string &name="") const
 
TTree * makeTTree (const std::string &name) const
 
void addHistogram (TH1 *h) const
 Add a manually created histogram to the current HistogramFactory. More...
 
template<class T , typename... Args>
T * make (Args &&... args) const
 
template<typename T >
T * clone (const T *obj, const std::string &newName) const
 

Constructor & Destructor Documentation

◆ HistogramFactory() [1/2]

HistogramFactory::HistogramFactory ( const std::string &  directory_name,
TDirectory *  root = nullptr,
const std::string &  title_prefix_ = "" 
)

◆ HistogramFactory() [2/2]

HistogramFactory::HistogramFactory ( const std::string &  directory_name,
const HistogramFactory parent,
const std::string &  title_prefix_ = "" 
)

Member Function Documentation

◆ addHistogram()

void HistogramFactory::addHistogram ( TH1 *  h) const

Add a manually created histogram to the current HistogramFactory.

Parameters
hpointer to the histogram which should be added

◆ clone()

template<typename T >
T* ant::analysis::HistogramFactory::clone ( const T *  obj,
const std::string &  newName 
) const
inline

◆ make()

template<class T , typename... Args>
T* ant::analysis::HistogramFactory::make ( Args &&...  args) const
inline

◆ makeGraph()

TGraph * HistogramFactory::makeGraph ( const std::string &  title,
const std::string &  name = "" 
) const

◆ makeGraphErrors()

TGraphErrors * HistogramFactory::makeGraphErrors ( const std::string &  title,
const std::string &  name = "" 
) const

◆ makeTH1D() [1/7]

TH1D * HistogramFactory::makeTH1D ( const std::string &  title,
const std::string &  xlabel,
const std::string &  ylabel,
const BinSettings xbins,
const std::string &  name = "",
bool  sumw2 = false 
) const

◆ makeTH1D() [2/7]

TH1D * HistogramFactory::makeTH1D ( const std::string &  title,
const AxisSettings x_axis_settings,
const std::string &  name = "",
bool  sumw2 = false 
) const
Todo:
think about automagically generating "per binwidth" label from given xbins in x_axis_settings

◆ makeTH1D() [3/7]

TH1D * HistogramFactory::makeTH1D ( const std::string &  title,
const AxisSettings x_axis_settings,
const std::string &  ylabel,
const std::string &  name,
bool  sumw2 = false 
) const

◆ makeTH1D() [4/7]

TH1D * HistogramFactory::makeTH1D ( const std::string &  title,
const std::string &  xlabel,
const std::string &  ylabel,
const VarBinSettings xbins,
const std::string &  name = "",
bool  sumw2 = false 
) const

create TH1D with variable bin width

◆ makeTH1D() [5/7]

TH1D * HistogramFactory::makeTH1D ( const std::string &  title,
const VarAxisSettings x_axis_settings,
const std::string &  name = "",
bool  sumw2 = false 
) const

create TH1D with variable bin width

◆ makeTH1D() [6/7]

TH1D * HistogramFactory::makeTH1D ( const std::string &  title,
const VarAxisSettings x_axis_settings,
const std::string &  ylabel,
const std::string &  name = "",
bool  sumw2 = false 
) const

create TH1D with variable bin width

◆ makeTH1D() [7/7]

TH1D * HistogramFactory::makeTH1D ( const std::string &  title,
const std::vector< double > &  edges,
const std::string &  xlabel,
const std::string &  ylabel,
const std::string &  name = "",
bool  sumw2 = false 
) const

create TH1D with variable bin width based on a given vector with the bin edges

◆ makeTH2D() [1/8]

TH2D * HistogramFactory::makeTH2D ( const std::string &  title,
const std::string &  xlabel,
const std::string &  ylabel,
const BinSettings xbins,
const BinSettings ybins,
const std::string &  name = "",
bool  sumw2 = false 
) const

◆ makeTH2D() [2/8]

TH2D * HistogramFactory::makeTH2D ( const std::string &  title,
const AxisSettings x_axis_settings,
const AxisSettings y_axis_settings,
const std::string &  name = "",
bool  sumw2 = false 
) const

◆ makeTH2D() [3/8]

TH2D * HistogramFactory::makeTH2D ( const std::string &  title,
const std::string &  xlabel,
const std::string &  ylabel,
const VarBinSettings xbins,
const VarBinSettings ybins,
const std::string &  name = "",
bool  sumw2 = false 
) const

create TH2D with variable bin width

◆ makeTH2D() [4/8]

TH2D * HistogramFactory::makeTH2D ( const std::string &  title,
const VarAxisSettings x_axis_settings,
const VarAxisSettings y_axis_settings,
const std::string &  name = "",
bool  sumw2 = false 
) const

create TH2D with variable bin width

◆ makeTH2D() [5/8]

TH2D * HistogramFactory::makeTH2D ( const std::string &  title,
const std::string &  xlabel,
const std::string &  ylabel,
const VarBinSettings xbins,
const BinSettings ybins,
const std::string &  name = "",
bool  sumw2 = false 
) const

create TH2D with variable bin width for x axis only

◆ makeTH2D() [6/8]

TH2D * HistogramFactory::makeTH2D ( const std::string &  title,
const VarAxisSettings x_axis_settings,
const AxisSettings y_axis_settings,
const std::string &  name = "",
bool  sumw2 = false 
) const

create TH2D with variable bin width for x axis only

◆ makeTH2D() [7/8]

TH2D * HistogramFactory::makeTH2D ( const std::string &  title,
const std::string &  xlabel,
const std::string &  ylabel,
const BinSettings xbins,
const VarBinSettings ybins,
const std::string &  name = "",
bool  sumw2 = false 
) const

create TH2D with variable bin width for y axis only

◆ makeTH2D() [8/8]

TH2D * HistogramFactory::makeTH2D ( const std::string &  title,
const AxisSettings x_axis_settings,
const VarAxisSettings y_axis_settings,
const std::string &  name = "",
bool  sumw2 = false 
) const

create TH2D with variable bin width for y axis only

◆ makeTH3D() [1/2]

TH3D * HistogramFactory::makeTH3D ( const std::string &  title,
const std::string &  xlabel,
const std::string &  ylabel,
const std::string &  zlabel,
const BinSettings xbins,
const BinSettings ybins,
const BinSettings zbins,
const std::string &  name = "",
bool  sumw2 = false 
) const

◆ makeTH3D() [2/2]

TH3D * HistogramFactory::makeTH3D ( const std::string &  title,
const AxisSettings x_axis_settings,
const AxisSettings y_axis_settings,
const AxisSettings z_axis_settings,
const std::string &  name = "",
bool  sumw2 = false 
) const

◆ MakeTitle()

string HistogramFactory::MakeTitle ( const std::string &  title) const

◆ makeTTree()

TTree * HistogramFactory::makeTTree ( const std::string &  name) const

◆ SetDirDescription()

void HistogramFactory::SetDirDescription ( const std::string &  desc)

◆ SetRootDir()

void ant::analysis::HistogramFactory::SetRootDir ( TDirectory *  root_dir = nullptr)

◆ SetTitlePrefix()

void HistogramFactory::SetTitlePrefix ( const std::string &  title_prefix_)

The documentation for this class was generated from the following files: