#include <TFCS1DFunction.h>
Inherits TFCSFunction.
Inherited by TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float >, TFCS1DFunctionTemplateHistogram< Txvec, Ty, float >, TFCS1DFunctionHistogram, TFCS1DFunctionInt16Histogram, TFCS1DFunctionInt32Histogram, TFCS1DFunctionRegression, TFCS1DFunctionSpline, and TFCS1DFunctionTemplateHistogram< Txvec, Ty, Trandom >.
|
| | TFCS1DFunction () |
| | ~TFCS1DFunction () |
| virtual int | ndim () const |
| | Return the number of dimensions for the function.
|
| virtual void | rnd_to_fct (float value[], const float rnd[]) const |
| | Function gets array of random numbers rnd[] in the range [0,1) as arguments and returns function value in array value.
|
| virtual double | rnd_to_fct (double rnd) const =0 |
| | Function gets random number rnd in the range [0,1) as argument and returns function value.
|
| virtual bool | operator== (const TFCS1DFunction &ref) const |
| | The == operator compares the content of instances.
|
| virtual std::size_t | MemorySize () const |
| | Gives the total memory size, including the size of additional memory allocated inside the class.
|
| bool | msgLvl (const MSG::Level lvl) const |
| | Check whether the logging system is active at the provided verbosity level.
|
| MsgStream & | msg () const |
| | Return a stream for sending messages directly (no decoration)
|
| MsgStream & | msg (const MSG::Level lvl) const |
| | Return a decorated starting stream for sending messages.
|
| MSG::Level | level () const |
| | Retrieve output level.
|
| virtual void | setLevel (MSG::Level lvl) |
| | Update outputlevel.
|
|
| static double | get_maxdev (TH1 *, TH1 *) |
| static double | CheckAndIntegrate1DHistogram (const TH1 *hist, std::vector< double > &integral_vec, int &first, int &last) |
| static TH1 *generate_histogram_random_slope | ATLAS_NOT_THREAD_SAFE (int nbinsx=50, double xmin=0, double xmax=1, double zerothreshold=0.1) |
| static TH1 *generate_histogram_random_gauss | ATLAS_NOT_THREAD_SAFE (int nbinsx=50, int ntoy=100000, double xmin=1, double xmax=5, double xpeak=1.5, double sigma=0.6) |
| static void unit_test | ATLAS_NOT_THREAD_SAFE (TH1 *hist, TFCS1DFunction *rtof, int nrnd=1000000, TH1 *histfine=nullptr) |
| static std::string | startMsg (MSG::Level lvl, const std::string &file, int line) |
| | Make a message to decorate the start of logging.
|
|
| std::string | m_nm |
| | Message source name.
|
|
| static boost::thread_specific_ptr< MsgStream > m_msg_tls | ATLAS_THREAD_SAFE |
| | Do not persistify!
|
Definition at line 17 of file TFCS1DFunction.h.
◆ TFCS1DFunction()
| TFCS1DFunction::TFCS1DFunction |
( |
| ) |
|
|
inline |
◆ ~TFCS1DFunction()
| TFCS1DFunction::~TFCS1DFunction |
( |
| ) |
|
|
inline |
◆ ATLAS_NOT_THREAD_SAFE() [1/3]
| TH1 *generate_histogram_random_slope TFCS1DFunction::ATLAS_NOT_THREAD_SAFE |
( |
int | nbinsx = 50, |
|
|
double | xmin = 0, |
|
|
double | xmax = 1, |
|
|
double | zerothreshold = 0.1 ) |
|
static |
◆ ATLAS_NOT_THREAD_SAFE() [2/3]
| TH1 *generate_histogram_random_gauss TFCS1DFunction::ATLAS_NOT_THREAD_SAFE |
( |
int | nbinsx = 50, |
|
|
int | ntoy = 100000, |
|
|
double | xmin = 1, |
|
|
double | xmax = 5, |
|
|
double | xpeak = 1.5, |
|
|
double | sigma = 0.6 ) |
|
static |
◆ ATLAS_NOT_THREAD_SAFE() [3/3]
| void unit_test TFCS1DFunction::ATLAS_NOT_THREAD_SAFE |
( |
TH1 * | hist, |
|
|
TFCS1DFunction * | rtof, |
|
|
int | nrnd = 1000000, |
|
|
TH1 * | histfine = nullptr ) |
|
static |
◆ CheckAndIntegrate1DHistogram()
| double TFCS1DFunction::CheckAndIntegrate1DHistogram |
( |
const TH1 * | hist, |
|
|
std::vector< double > & | integral_vec, |
|
|
int & | first, |
|
|
int & | last ) |
|
static |
Definition at line 53 of file TFCS1DFunction.cxx.
54 {
57
59 integral_vec.resize(nbins);
60 for (
int ix = 1; ix <=
nbins; ix++) {
61 float binval =
hist->GetBinContent(ix);
62 if (binval < 0) {
63
64 double fraction = binval /
hist->Integral();
65 if (std::abs(fraction) > 1e-5) {
67 <<
hist->GetName() <<
" : "
68 <<
hist->GetTitle() <<
" binval=" << binval
69 << " " << fraction * 100
70 <<
"% of integral=" <<
hist->Integral()
71 << ". Forcing bin to 0.");
72 }
73 binval = 0;
74 }
77 }
78
80 if (integral_vec[first] != 0)
81 break;
82 for (last = nbins - 1; last > 0; last--)
84 break;
85 last++;
86
89 <<
hist->GetName() <<
" : " <<
hist->GetTitle()
90 <<
" integral=" <<
integral <<
" is <=0");
91 }
93}
#define ATH_MSG_NOCLASS(logger_name, x)
static Root::TMsgLogger logger("iLumiCalc")
◆ get_maxdev()
| double TFCS1DFunction::get_maxdev |
( |
TH1 * | h_input1, |
|
|
TH1 * | h_approx1 ) |
|
static |
Definition at line 22 of file TFCS1DFunction.cxx.
22 {
23 TH1D *h_input = (TH1D *)h_input1->Clone("h_input");
24 TH1D *h_approx = (TH1D *)h_approx1->Clone("h_approx");
25
26 double maxdev = 0.0;
27
28
29 double integral_input = h_input->Integral();
30 double integral_approx = 0.0;
31 for (
int b = 1;
b <= h_input->GetNbinsX();
b++)
32 integral_approx +=
33 h_approx->GetBinContent(h_approx->FindBin(h_input->GetBinCenter(b)));
34 h_approx->Scale(integral_input / integral_approx);
35
36 double ymax = h_approx->GetBinContent(h_approx->GetNbinsX()) -
37 h_approx->GetBinContent(h_approx->GetMinimumBin());
38 for (
int i = 1;
i <= h_input->GetNbinsX();
i++) {
39 double val = std::abs(h_approx->GetBinContent(
40 h_approx->FindBin(h_input->GetBinCenter(i))) -
41 h_input->GetBinContent(i)) /
43 if (val > maxdev)
45 }
46
47 delete h_input;
48 delete h_approx;
49
50 return maxdev * 100.0;
51}
◆ level()
| MSG::Level ISF_FCS::MLogging::level |
( |
| ) |
const |
|
inlineinherited |
Retrieve output level.
Definition at line 201 of file MLogging.h.
201{
return msg().level(); }
MsgStream & msg() const
Return a stream for sending messages directly (no decoration)
◆ MemorySize()
| virtual std::size_t TFCSFunction::MemorySize |
( |
| ) |
const |
|
inlinevirtualinherited |
Gives the total memory size, including the size of additional memory allocated inside the class.
Reimplemented in TFCS1DFunctionTemplateHistogram< Txvec, Ty, Trandom >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float >, TFCS1DFunctionTemplateHistogram< Txvec, Ty, float >, TFCS2DFunctionTemplateHistogram< Txvec, Tyvec, Tz, Trandom >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float >, TFCS2DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float >, and TFCS2DFunctionTemplateHistogram< Txvec, Tyvec, Tz, float >.
Definition at line 19 of file TFCSFunction.h.
19{ return sizeof(*this); };
◆ msg() [1/2]
| MsgStream & ISF_FCS::MLogging::msg |
( |
| ) |
const |
|
inlineinherited |
Return a stream for sending messages directly (no decoration)
Definition at line 231 of file MLogging.h.
231 {
232 MsgStream *
ms = m_msg_tls.get();
233 if (!ms) {
235 m_msg_tls.reset(ms);
236 }
238}
std::string m_nm
Message source name.
IMessageSvc * getMessageSvc(bool quiet=false)
◆ msg() [2/2]
| MsgStream & ISF_FCS::MLogging::msg |
( |
const MSG::Level | lvl | ) |
const |
|
inlineinherited |
Return a decorated starting stream for sending messages.
Definition at line 240 of file MLogging.h.
◆ msgLvl()
| bool ISF_FCS::MLogging::msgLvl |
( |
const MSG::Level | lvl | ) |
const |
|
inlineinherited |
Check whether the logging system is active at the provided verbosity level.
Definition at line 222 of file MLogging.h.
222 {
225 return true;
226 } else {
227 return false;
228 }
229}
MSG::Level level() const
Retrieve output level.
◆ ndim()
| virtual int TFCS1DFunction::ndim |
( |
| ) |
const |
|
inlinevirtual |
◆ operator==()
| virtual bool TFCS1DFunction::operator== |
( |
const TFCS1DFunction & | ref | ) |
const |
|
inlinevirtual |
The == operator compares the content of instances.
The implementation in the base class only returns true for a comparison with itself
Reimplemented in TFCS1DFunctionInt32Histogram.
Definition at line 36 of file TFCS1DFunction.h.
36 {
38 };
const boost::regex ref(r_ef)
◆ rnd_to_fct() [1/2]
| virtual double TFCS1DFunction::rnd_to_fct |
( |
double | rnd | ) |
const |
|
pure virtual |
Function gets random number rnd in the range [0,1) as argument and returns function value.
Implemented in TFCS1DFunctionHistogram, TFCS1DFunctionInt16Histogram, TFCS1DFunctionInt32Histogram, TFCS1DFunctionRegression, TFCS1DFunctionRegressionTF, TFCS1DFunctionSpline, TFCS1DFunctionTemplateHistogram< Txvec, Ty, Trandom >, and TFCS1DFunctionTemplateInterpolationHistogram< Txvec, Ty, Trandom >.
◆ rnd_to_fct() [2/2]
| void TFCS1DFunction::rnd_to_fct |
( |
float | value[], |
|
|
const float | rnd[] ) const |
|
virtual |
Function gets array of random numbers rnd[] in the range [0,1) as arguments and returns function value in array value.
For a n-dimensional function, value and rnd should both have n elements.
Implements TFCSFunction.
Reimplemented in TFCS1DFunctionHistogram, TFCS1DFunctionInt16Histogram, TFCS1DFunctionInt32Histogram, TFCS1DFunctionRegression, TFCS1DFunctionRegressionTF, TFCS1DFunctionSpline, TFCS1DFunctionTemplateHistogram< Txvec, Ty, Trandom >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float >, TFCS1DFunctionTemplateHistogram< TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float >, TFCS1DFunctionTemplateHistogram< Txvec, Ty, float >, TFCS1DFunctionTemplateInterpolationHistogram< Txvec, Ty, Trandom >, TFCS1DFunctionTemplateInterpolationHistogram< TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float >, TFCS1DFunctionTemplateInterpolationHistogram< TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float >, TFCS1DFunctionTemplateInterpolationHistogram< TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float >, and TFCS1DFunctionTemplateInterpolationHistogram< TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float >.
Definition at line 18 of file TFCS1DFunction.cxx.
18 {
20}
virtual void rnd_to_fct(float value[], const float rnd[]) const
Function gets array of random numbers rnd[] in the range [0,1) as arguments and returns function valu...
◆ setLevel()
| void ISF_FCS::MLogging::setLevel |
( |
MSG::Level | lvl | ) |
|
|
virtualinherited |
Update outputlevel.
Definition at line 105 of file MLogging.cxx.
105 {
106 lvl = (lvl >= MSG::NUM_LEVELS) ? MSG::ALWAYS
107 : (lvl < MSG::
NIL) ? MSG::
NIL
108 : lvl;
110}
◆ startMsg()
| std::string ISF_FCS::MLogging::startMsg |
( |
MSG::Level | lvl, |
|
|
const std::string & | file, |
|
|
int | line ) |
|
staticinherited |
Make a message to decorate the start of logging.
Print a message for the start of logging.
Definition at line 116 of file MLogging.cxx.
116 {
117 int col1_len = 20;
118 int col2_len = 5;
119 int col3_len = 10;
120 auto last_slash =
file.find_last_of(
'/');
121 int path_len = last_slash == std::string::npos ? 0 : last_slash;
122 int trim_point = path_len;
123 int total_len =
file.length();
124 if (total_len - path_len > col1_len)
125 trim_point = total_len - col1_len;
126 std::string trimmed_name =
file.substr(trim_point);
127 const char *LevelNames[MSG::NUM_LEVELS] = {
128 "NIL", "VERBOSE", "DEBUG", "INFO", "WARNING", "ERROR", "FATAL", "ALWAYS"};
129 std::string
level = LevelNames[lvl];
130 std::string level_string = std::string(
"(") +
level +
") ";
132 output << std::setw(col1_len) << std::right << trimmed_name <<
":"
133 << std::setw(col2_len) << std::left <<
line << std::setw(col3_len)
134 << std::right << level_string;
136}
◆ ATLAS_THREAD_SAFE
| boost::thread_specific_ptr<MsgStream> m_msg_tls ISF_FCS::MLogging::ATLAS_THREAD_SAFE |
|
inlinestaticprivateinherited |
Do not persistify!
MsgStream instance (a std::cout like with print-out levels)
Definition at line 215 of file MLogging.h.
◆ m_nm
| std::string ISF_FCS::MLogging::m_nm |
|
privateinherited |
The documentation for this class was generated from the following files: