5#ifndef ISF_FASTCALOSIMEVENT_TFCS2DFunctionTemplateInterpolationExpHistogram_h
6#define ISF_FASTCALOSIMEVENT_TFCS2DFunctionTemplateInterpolationExpHistogram_h
16template <
typename Txvec,
typename Tyvec,
typename Tz,
typename Trandom =
float>
58 Trandom dfracprev = 0.0;
63 dfrac = frac - fracprev;
79 if (dfrac > 0.0 && dfracprev > 0.0) {
80 ldfrac = log(dfrac / l) - log(dfracprev / lprev);
83 Trandom dfracnext = 0.0;
84 Trandom ldfracnext = 0.0;
86 if (ibiny < nbinsy - 1) {
93 if (dfrac > 0.0 && dfracnext > 0.0) {
94 ldfracnext = log(dfracnext / lnext) - log(dfrac / l);
97 Trandom beta = 0.0, betaprev = 0.0, betanext = 0.0;
98 betanext = ldfracnext / (lnext + l) / 0.5;
99 betaprev = ldfrac / (lprev + l) / 0.5;
100 beta = 0.5 * (betaprev + betanext);
117 TFCS1DFunction_HistogramInt8BinEdges,
118 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> {
130 TFCS1DFunction_HistogramInt8BinEdges,
131 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> {
143 TFCS1DFunction_HistogramInt8BinEdges,
144 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> {
159 TFCS1DFunction_HistogramInt8BinEdges,
160 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> {
172 TFCS1DFunction_HistogramInt8BinEdges,
173 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> {
185 TFCS1DFunction_HistogramInt8BinEdges,
186 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> {
199 TFCS1DFunction_HistogramInt8BinEdges,
200 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> {
212 TFCS1DFunction_HistogramInt8BinEdges,
213 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> {
225 TFCS1DFunction_HistogramInt8BinEdges,
226 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> {
239 TFCS1DFunction_HistogramInt16BinEdges,
240 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> {
252 TFCS1DFunction_HistogramInt16BinEdges,
253 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> {
265 TFCS1DFunction_HistogramInt16BinEdges,
266 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> {
281 TFCS1DFunction_HistogramInt16BinEdges,
282 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> {
294 TFCS1DFunction_HistogramInt16BinEdges,
295 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> {
307 TFCS1DFunction_HistogramInt16BinEdges,
308 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> {
321 TFCS1DFunction_HistogramInt16BinEdges,
322 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> {
334 TFCS1DFunction_HistogramInt16BinEdges,
335 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> {
347 TFCS1DFunction_HistogramInt16BinEdges,
348 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> {
361 TFCS1DFunction_HistogramInt32BinEdges,
362 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> {
374 TFCS1DFunction_HistogramInt32BinEdges,
375 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> {
387 TFCS1DFunction_HistogramInt32BinEdges,
388 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> {
403 TFCS1DFunction_HistogramInt32BinEdges,
404 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> {
416 TFCS1DFunction_HistogramInt32BinEdges,
417 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> {
429 TFCS1DFunction_HistogramInt32BinEdges,
430 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> {
443 TFCS1DFunction_HistogramInt32BinEdges,
444 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> {
456 TFCS1DFunction_HistogramInt32BinEdges,
457 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> {
469 TFCS1DFunction_HistogramInt32BinEdges,
470 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> {
481#if defined(__ROOTCLING__) && defined(__FastCaloSimStandAlone__)
482#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
483 TFCS1DFunction_HistogramInt8BinEdges, \
484 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> + \
486#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
487 TFCS1DFunction_HistogramInt8BinEdges, \
488 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> + \
490#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
491 TFCS1DFunction_HistogramInt8BinEdges, \
492 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> + \
494#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
495 TFCS1DFunction_HistogramInt8BinEdges, \
496 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> + \
498#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
499 TFCS1DFunction_HistogramInt8BinEdges, \
500 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> + \
502#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
503 TFCS1DFunction_HistogramInt8BinEdges, \
504 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> + \
506#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
507 TFCS1DFunction_HistogramInt8BinEdges, \
508 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> + \
510#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
511 TFCS1DFunction_HistogramInt8BinEdges, \
512 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> + \
514#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
515 TFCS1DFunction_HistogramInt8BinEdges, \
516 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> + \
518#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
519 TFCS1DFunction_HistogramInt16BinEdges, \
520 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> + \
522#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
523 TFCS1DFunction_HistogramInt16BinEdges, \
524 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> + \
526#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
527 TFCS1DFunction_HistogramInt16BinEdges, \
528 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> + \
530#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
531 TFCS1DFunction_HistogramInt16BinEdges, \
532 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> + \
534#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
535 TFCS1DFunction_HistogramInt16BinEdges, \
536 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> + \
538#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
539 TFCS1DFunction_HistogramInt16BinEdges, \
540 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> + \
542#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
543 TFCS1DFunction_HistogramInt16BinEdges, \
544 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> + \
546#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
547 TFCS1DFunction_HistogramInt16BinEdges, \
548 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> + \
550#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
551 TFCS1DFunction_HistogramInt16BinEdges, \
552 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> + \
554#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
555 TFCS1DFunction_HistogramInt32BinEdges, \
556 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> + \
558#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
559 TFCS1DFunction_HistogramInt32BinEdges, \
560 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> + \
562#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
563 TFCS1DFunction_HistogramInt32BinEdges, \
564 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> + \
566#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
567 TFCS1DFunction_HistogramInt32BinEdges, \
568 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> + \
570#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
571 TFCS1DFunction_HistogramInt32BinEdges, \
572 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> + \
574#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
575 TFCS1DFunction_HistogramInt32BinEdges, \
576 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> + \
578#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
579 TFCS1DFunction_HistogramInt32BinEdges, \
580 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> + \
582#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
583 TFCS1DFunction_HistogramInt32BinEdges, \
584 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> + \
586#pragma link C++ class TFCS2DFunctionTemplateInterpolationExpHistogram < \
587 TFCS1DFunction_HistogramInt32BinEdges, \
588 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> + \
591#pragma link C++ class TFCS2DFunctionInt8Int8Int8InterpolationExpHistogram + ;
592#pragma link C++ class TFCS2DFunctionInt8Int8Int16InterpolationExpHistogram + ;
593#pragma link C++ class TFCS2DFunctionInt8Int8Int32InterpolationExpHistogram + ;
594#pragma link C++ class TFCS2DFunctionInt8Int16Int8InterpolationExpHistogram + ;
595#pragma link C++ class TFCS2DFunctionInt8Int16Int16InterpolationExpHistogram + ;
596#pragma link C++ class TFCS2DFunctionInt8Int16Int32InterpolationExpHistogram + ;
597#pragma link C++ class TFCS2DFunctionInt8Int32Int8InterpolationExpHistogram + ;
598#pragma link C++ class TFCS2DFunctionInt8Int32Int16InterpolationExpHistogram + ;
599#pragma link C++ class TFCS2DFunctionInt8Int32Int32InterpolationExpHistogram + ;
600#pragma link C++ class TFCS2DFunctionInt16Int8Int8InterpolationExpHistogram + ;
601#pragma link C++ class TFCS2DFunctionInt16Int8Int16InterpolationExpHistogram + ;
602#pragma link C++ class TFCS2DFunctionInt16Int8Int32InterpolationExpHistogram + ;
603#pragma link C++ class TFCS2DFunctionInt16Int16Int8InterpolationExpHistogram + ;
605 C++ class TFCS2DFunctionInt16Int16Int16InterpolationExpHistogram + \
608 C++ class TFCS2DFunctionInt16Int16Int32InterpolationExpHistogram + \
610#pragma link C++ class TFCS2DFunctionInt16Int32Int8InterpolationExpHistogram + ;
612 C++ class TFCS2DFunctionInt16Int32Int16InterpolationExpHistogram + \
615 C++ class TFCS2DFunctionInt16Int32Int32InterpolationExpHistogram + \
617#pragma link C++ class TFCS2DFunctionInt32Int8Int8InterpolationExpHistogram + ;
618#pragma link C++ class TFCS2DFunctionInt32Int8Int16InterpolationExpHistogram + ;
619#pragma link C++ class TFCS2DFunctionInt32Int8Int32InterpolationExpHistogram + ;
620#pragma link C++ class TFCS2DFunctionInt32Int16Int8InterpolationExpHistogram + ;
622 C++ class TFCS2DFunctionInt32Int16Int16InterpolationExpHistogram + \
625 C++ class TFCS2DFunctionInt32Int16Int32InterpolationExpHistogram + \
627#pragma link C++ class TFCS2DFunctionInt32Int32Int8InterpolationExpHistogram + ;
629 C++ class TFCS2DFunctionInt32Int32Int16InterpolationExpHistogram + \
632 C++ class TFCS2DFunctionInt32Int32Int32InterpolationExpHistogram + \
Header file for AthHistogramAlgorithm.
TFCS2DFunctionInt16Int16Int16InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt16Int16Int32InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt16Int16Int8InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt16Int32Int16InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt16Int32Int32InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt16Int32Int8InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt16Int8Int16InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt16Int8Int32InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt16Int8Int8InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt32Int16Int16InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt32Int16Int32InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt32Int16Int8InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt32Int32Int16InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt32Int32Int32InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt32Int32Int8InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt32Int8Int16InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt32Int8Int32InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt32Int8Int8InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt8Int16Int16InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt8Int16Int32InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt8Int16Int8InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt8Int32Int16InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt8Int32Int32InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt8Int32Int8InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt8Int8Int16InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt8Int8Int32InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionInt8Int8Int8InterpolationExpHistogram(TH2 *h=nullptr)
TFCS2DFunctionTemplateHistogram(TH2 *hist=nullptr)
TFCS1DFunction_HistogramContent< Tz, float > m_HistoContents
TFCS2DFunctionTemplateInterpolationExpHistogram(TH2 *hist=nullptr)
virtual void rnd_to_fct(float &valuex, float &valuey, float rnd, float rnd2) const
Function gets random number rnd in the range [0,1) as argument and returns function value according t...