1#ifndef RUNTIMEOBJECTS_H
2#define RUNTIMEOBJECTS_H
12#include "TDirectory.h"
32 TRuntimeObjects(std::shared_ptr<const TFragment> frag, TList* objects, TList* gates, std::vector<TFile*>& cut_files,
33 TDirectory* directory =
nullptr,
const char* name =
"default");
35 TRuntimeObjects(TList* objects, TList* gates, std::vector<TFile*>& cut_files, TDirectory* directory =
nullptr,
36 const char* name =
"default");
49 TCutG*
GetCut(
const std::string& name);
57 TH1*
FillHistogram(
const char* name,
int bins,
double low,
double high,
double value,
double weight = 1);
58 TH2*
FillHistogram(
const char* name,
int Xbins,
double Xlow,
double Xhigh,
double Xvalue,
int Ybins,
double Ylow,
59 double Yhigh,
double Yvalue,
double weight = 1);
60 TProfile*
FillProfileHist(
const char* name,
int Xbins,
double Xlow,
double Xhigh,
double Xvalue,
double Yvalue);
61 TH2*
FillHistogramSym(
const char* name,
int Xbins,
double Xlow,
double Xhigh,
double Xvalue,
int Ybins,
double Ylow,
62 double Yhigh,
double Yvalue);
64 TH1*
FillHistogram(
const std::string& name,
int bins,
double low,
double high,
double value,
double weight = 1)
66 return FillHistogram(name.c_str(), bins, low, high, value, weight);
68 TH2*
FillHistogram(
const std::string& name,
int Xbins,
double Xlow,
double Xhigh,
double Xvalue,
int Ybins,
69 double Ylow,
double Yhigh,
double Yvalue,
double weight = 1)
71 return FillHistogram(name.c_str(), Xbins, Xlow, Xhigh, Xvalue, Ybins, Ylow, Yhigh, Yvalue, weight);
73 TProfile*
FillProfileHist(
const std::string& name,
int Xbins,
double Xlow,
double Xhigh,
double Xvalue,
76 return FillProfileHist(name.c_str(), Xbins, Xlow, Xhigh, Xvalue, Yvalue);
78 TH2*
FillHistogramSym(
const std::string& name,
int Xbins,
double Xlow,
double Xhigh,
double Xvalue,
int Ybins,
79 double Ylow,
double Yhigh,
double Yvalue)
81 return FillHistogramSym(name.c_str(), Xbins, Xlow, Xhigh, Xvalue, Ybins, Ylow, Yhigh, Yvalue);
84 TDirectory*
FillHistogram(
const char* dirname,
const char* name,
int bins,
double low,
double high,
double value,
86 TDirectory*
FillHistogram(
const char* dirname,
const char* name,
int Xbins,
double Xlow,
double Xhigh,
double Xvalue,
87 int Ybins,
double Ylow,
double Yhigh,
double Yvalue,
double weight = 1);
88 TDirectory*
FillProfileHist(
const char* dirname,
const char* name,
int Xbins,
double Xlow,
double Xhigh,
89 double Xvalue,
double Yvalue);
90 TDirectory*
FillHistogramSym(
const char* dirname,
const char* name,
int Xbins,
double Xlow,
double Xhigh,
91 double Xvalue,
int Ybins,
double Ylow,
double Yhigh,
double Yvalue);
93 TDirectory*
FillHistogram(
const std::string& dirname,
const std::string& name,
int bins,
double low,
double high,
94 double value,
double weight = 1)
96 return FillHistogram(dirname.c_str(), name.c_str(), bins, low, high, value, weight);
98 TDirectory*
FillHistogram(
const std::string& dirname,
const std::string& name,
int Xbins,
double Xlow,
double Xhigh,
99 double Xvalue,
int Ybins,
double Ylow,
double Yhigh,
double Yvalue,
double weight = 1)
101 return FillHistogram(dirname.c_str(), name.c_str(), Xbins, Xlow, Xhigh, Xvalue, Ybins, Ylow, Yhigh, Yvalue,
104 TDirectory*
FillProfileHist(
const std::string& dirname,
const std::string& name,
int Xbins,
double Xlow,
105 double Xhigh,
double Xvalue,
double Yvalue)
107 return FillProfileHist(dirname.c_str(), name.c_str(), Xbins, Xlow, Xhigh, Xvalue, Yvalue);
109 TDirectory*
FillHistogramSym(
const std::string& dirname,
const std::string& name,
int Xbins,
double Xlow,
110 double Xhigh,
double Xvalue,
int Ybins,
double Ylow,
double Yhigh,
double Yvalue)
112 return FillHistogramSym(dirname.c_str(), name.c_str(), Xbins, Xlow, Xhigh, Xvalue, Ybins, Ylow, Yhigh, Yvalue);
128 fFrag = std::move(frag);
144 std::shared_ptr<const TFragment>
fFrag;
Object passed to the online histograms.
void SetFragment(std::shared_ptr< const TFragment > frag)
std::vector< TFile * > & fCut_files
TDirectory * FillProfileHist(const std::string &dirname, const std::string &name, int Xbins, double Xlow, double Xhigh, double Xvalue, double Yvalue)
TDirectory * FillHistogram(const std::string &dirname, const std::string &name, int bins, double low, double high, double value, double weight=1)
TCutG * GetCut(const std::string &name)
static TRuntimeObjects * Get(const std::string &name="default")
TDirectory * FindDirectory(const char *)
TH2 * FillHistogram(const std::string &name, int Xbins, double Xlow, double Xhigh, double Xvalue, int Ybins, double Ylow, double Yhigh, double Yvalue, double weight=1)
TRuntimeObjects(std::shared_ptr< const TFragment > frag, TList *objects, TList *gates, std::vector< TFile * > &cut_files, TDirectory *directory=nullptr, const char *name="default")
Constructor.
TH2 * FillHistogramSym(const std::string &name, int Xbins, double Xlow, double Xhigh, double Xvalue, int Ybins, double Ylow, double Yhigh, double Yvalue)
double GetVariable(const char *name) const
TDirectory * FillHistogram(const std::string &dirname, const std::string &name, int Xbins, double Xlow, double Xhigh, double Xvalue, int Ybins, double Ylow, double Yhigh, double Yvalue, double weight=1)
TDirectory * GetDirectory() const
std::shared_ptr< const TFragment > fFrag
static std::map< std::string, TRuntimeObjects * > fRuntimeMap
TDirectory * FillHistogramSym(const std::string &dirname, const std::string &name, int Xbins, double Xlow, double Xhigh, double Xvalue, int Ybins, double Ylow, double Yhigh, double Yvalue)
std::shared_ptr< const TFragment > GetFragment()
TProfile * FillProfileHist(const std::string &name, int Xbins, double Xlow, double Xhigh, double Xvalue, double Yvalue)
void SetDetectors(std::shared_ptr< TUnpackedEvent > det)
void SetDirectory(TDirectory *dir)
std::shared_ptr< TUnpackedEvent > fDetectors
TH1 * FillHistogram(const char *name, int bins, double low, double high, double value, double weight=1)
std::shared_ptr< T > GetDetector()
Returns a pointer to the detector of type T.
TProfile * FillProfileHist(const char *name, int Xbins, double Xlow, double Xhigh, double Xvalue, double Yvalue)
TH1 * FillHistogram(const std::string &name, int bins, double low, double high, double value, double weight=1)
TH2 * FillHistogramSym(const char *name, int Xbins, double Xlow, double Xhigh, double Xvalue, int Ybins, double Ylow, double Yhigh, double Yvalue)