ATLAS Offline Software
Loading...
Searching...
No Matches
TFCS2DFunctionTemplateHistogram.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ISF_FASTCALOSIMEVENT_TFCS2DFunctionTemplateHistogram_h
6#define ISF_FASTCALOSIMEVENT_TFCS2DFunctionTemplateHistogram_h
7
8#include "TFCS2DFunction.h"
10#include "TH1.h"
11#include "TH2.h"
12#include "TBuffer.h"
13
14#include <iostream>
15
16template <typename Txvec, typename Tyvec, typename Tz, typename Trandom = float>
18public:
20 typedef Trandom random_type;
21 typedef Txvec xvec_type;
22 typedef Tyvec yvec_type;
23 typedef Tz z_value_type;
24
25 TFCS2DFunctionTemplateHistogram(TH2 *hist = nullptr) {
26 if (hist)
27 Initialize(hist);
28 };
30
31 std::size_t MemorySizeArray() const {
32 return m_HistoBordersx.MemorySizeArray() +
33 m_HistoBordersy.MemorySizeArray() +
34 m_HistoContents.MemorySizeArray();
35 };
36 std::size_t MemorySize() const { return sizeof(*this) + MemorySizeArray(); };
37
39 void set_nbins(size_t nbinsx, size_t nbinsy) {
40 m_HistoBordersx.set_nbins(nbinsx);
41 m_HistoBordersy.set_nbins(nbinsy);
42 m_HistoContents.set_nbins(nbinsx * nbinsy);
43 };
44
46 inline size_t get_nbins() const { return m_HistoContents.get_nbins(); };
47 // inline size_t get_nbinsx() const {return m_HistoBordersx.get_nbins();};
48 // inline size_t get_nbinsy() const {return m_HistoBordersy.get_nbins();};
49
52 void Initialize(const TH2 *hist) {
53 Int_t nbinsx = hist->GetNbinsX();
54 Int_t nbinsy = hist->GetNbinsY();
55 std::vector<double> temp_HistoContents;
56 int first, last;
57 double integral =
58 CheckAndIntegrate2DHistogram(hist, temp_HistoContents, first, last);
59 printf("initializing 2D template...");
60 if (integral <= 0) {
61 set_nbins(0, 0);
62 } else {
63 set_nbins(nbinsx, nbinsy);
64
65 // m_HistoBordersx.SetMinMax(hist->GetXaxis()->GetBinLowEdge(first+1),hist->GetXaxis()->GetBinUpEdge(last+1));
66 m_HistoBordersx.SetMinMax(hist->GetXaxis()->GetBinLowEdge(1),
67 hist->GetXaxis()->GetBinUpEdge(nbinsx));
68 m_HistoBordersy.SetMinMax(hist->GetYaxis()->GetBinLowEdge(1),
69 hist->GetYaxis()->GetBinUpEdge(nbinsy));
70 // Int_t ihist=0;
71 for (Int_t ibinx = 1; ibinx <= hist->GetNbinsX(); ++ibinx) {
72 m_HistoBordersx.SetBinLowEdge(
73 ibinx, hist->GetXaxis()->GetBinLowEdge(ibinx + 1));
74 // if(ihist>0)
75 // if(m_HistoBorders.GetBinLowEdge(ihist-1)==m_HistoBorders.GetBinLowEdge(ihist))
76 // { ATH_MSG_INFO( bin="<<ibin+1<<"
77 // x="<<hist->GetXaxis()->GetBinLowEdge(ibin+1)<<"
78 // fx="<<m_HistoBorders.GetBinLowEdge(ihist);
79 // --ihist;
80 // ATH_MSG_INFO(" bin="<<ibin <<"
81 // x="<<hist->GetXaxis()->GetBinLowEdge(ibin )<<"
82 // fx="<<m_HistoBorders.GetBinLowEdge(ihist));
83 // }
84 } // for
85 for (Int_t ibiny = 1; ibiny <= hist->GetNbinsY(); ++ibiny) {
86 m_HistoBordersy.SetBinLowEdge(
87 ibiny, hist->GetYaxis()->GetBinLowEdge(ibiny + 1));
88 // if(ihist>0)
89 // if(m_HistoBorders.GetBinLowEdge(ihist-1)==m_HistoBorders.GetBinLowEdge(ihist))
90 // { ATH_MSG_INFO("Skip bin="<<ibin+1<<"
91 // x="<<hist->GetXaxis()->GetBinLowEdge(ibin+1)<<"
92 // fx="<<m_HistoBorders.GetBinLowEdge(ihist));
93 // --ihist;
94 // ATH_MSG_INFO(" bin="<<ibin <<"
95 // x="<<hist->GetXaxis()->GetBinLowEdge(ibin )<<"
96 // fx="<<m_HistoBorders.GetBinLowEdge(ihist));
97 // }
98 } // for
99
100 for (Int_t ibinx = 1; ibinx <= hist->GetNbinsX(); ++ibinx)
101 for (Int_t ibiny = 1; ibiny <= hist->GetNbinsY(); ++ibiny) {
102 int globalbin = (ibinx - 1) * hist->GetNbinsY() + ibiny - 1;
103 m_HistoContents.set_fraction(
104 globalbin, temp_HistoContents[globalbin] / integral);
105 // if(ihist>0)
106 // if(m_HistoContents.get_fraction(ihist-1)==m_HistoContents.get_fraction(ihist))
107 // {
108 // ATH_MSG_INFO("Skip fbin="<<ihist<<"
109 // fx="<<m_HistoBorders.GetBinLowEdge(ihist)<<"
110 // frac="<<m_HistoContents.get_fraction(ihist));
111 // --ihist;
112 // ATH_MSG_INFO(" fbin="<<ihist<<"
113 // fx="<<m_HistoBorders.GetBinLowEdge(ihist)<<"
114 // frac="<<m_HistoContents.get_fraction(ihist));
115 // }
116
117 // ATH_MSG_INFO("bin="<<ibin+1<<"
118 // fbin="<<ihist<<"/"<<m_HistoBorders.get_nbins()<<"
119 // x=["<<hist->GetXaxis()->GetBinLowEdge(ibin+1)<<","<<hist->GetXaxis()->GetBinUpEdge(ibin+1)<<"]
120 // fx="<<m_HistoBorders.GetBinLowEdge(ihist)<<"
121 // int="<<temp_HistoContents[ibin]/integral<<"
122 // frac="<<m_HistoContents.get_fraction(ihist));
123
124 // ++ihist;
125 }
126 // if(ihist!=nbins) {
127 // set_nbins(ihist);
128 // m_HistoBorders.SetMinMax(hist->GetXaxis()->GetBinLowEdge(first+1),hist->GetXaxis()->GetBinUpEdge(last+1));
129 // }
130 } // for ibinx
131 } // for ibiny
132
133 /*
134 for( Int_t ibiny=1; ibiny<=hist->GetNbinsY(); ++ibiny )
135 for( Int_t ibinx=1; ibinx<=hist->GetNbinsX(); ++ibinx )
136 {
137 int globalbin = (ibiny-1)*hist->GetNbinsX() + ibinx - 1;
138 m_HistoContents.set_fraction(globalbin,
139 temp_HistoContents[globalbin]/integral);
140 // if(ihist>0)
141 if(m_HistoContents.get_fraction(ihist-1)==m_HistoContents.get_fraction(ihist))
142 {
143 // ATH_MSG_INFO("Skip fbin="<<ihist<<"
144 fx="<<m_HistoBorders.GetBinLowEdge(ihist)<<"
145 frac="<<m_HistoContents.get_fraction(ihist));
146 // --ihist;
147 // ATH_MSG_INFO(" fbin="<<ihist<<"
148 fx="<<m_HistoBorders.GetBinLowEdge(ihist)<<"
149 frac="<<m_HistoContents.get_fraction(ihist));
150 // }
151
152 // ATH_MSG_INFO("bin="<<ibin+1<<"
153 fbin="<<ihist<<"/"<<m_HistoBorders.get_nbins()<<"
154 x=["<<hist->GetXaxis()->GetBinLowEdge(ibin+1)<<","<<hist->GetXaxis()->GetBinUpEdge(ibin+1)<<"]
155 fx="<<m_HistoBorders.GetBinLowEdge(ihist)<<"
156 int="<<temp_HistoContents[ibin]/integral<<"
157 frac="<<m_HistoContents.get_fraction(ihist));
158
159 // ++ihist;
160 }
161 // if(ihist!=nbins) {
162 // set_nbins(ihist);
163 //
164 m_HistoBorders.SetMinMax(hist->GetXaxis()->GetBinLowEdge(first+1),hist->GetXaxis()->GetBinUpEdge(last+1));
165 // }
166 }//for ibinx
167 }//for ibiny
168 */
169 // using TFCS2DFunction::rnd_to_fct;
170
173
175
176 virtual void rnd_to_fct(float &valuex, float &valuey, float rnd) const {
177 if (m_HistoContents.get_nbins() == 0) {
178 valuex = 0.0;
179 valuey = 0.0;
180 }
181 Trandom residual_rnd;
182 size_t ibin = m_HistoContents.get_bin(rnd, residual_rnd);
183 int ibiny = ibin % m_HistoBordersy.get_nbins();
184 int ibinx = ibin / m_HistoBordersy.get_nbins();
185 valuex = m_HistoBordersx.position(ibinx, 0.5);
186 valuey = m_HistoBordersy.position(ibiny, residual_rnd);
187 // valuex = 2.0+ 0.3*rnd;
188 // valuey = 1200.0 + rnd*500.0;
189 }
190
191 virtual void rnd_to_fct(float &valuex, float &valuey, float rnd,
192 float rnd2) const {
193 if (m_HistoContents.get_nbins() == 0) {
194 valuex = 0.0;
195 valuey = 0.0;
196 }
197 Trandom residual_rnd;
198 size_t ibin = m_HistoContents.get_bin(rnd, residual_rnd);
199 int ibiny =
200 ibin % m_HistoBordersy
201 .get_nbins(); // printf("%d ", m_HistoBordersy.get_nbins() );
202 int ibinx =
203 ibin / m_HistoBordersy
204 .get_nbins(); // printf("%d ", m_HistoBordersx.get_nbins() );
205 // getchar();
206 valuex = m_HistoBordersx.position(ibinx, rnd2);
207 valuey = m_HistoBordersy.position(ibiny, residual_rnd);
208 // valuex = 2.0+ rnd;
209 // valuey = 1200.0 + rnd2*500.0;
210 }
211 /*
212 virtual void rnd_to_fct(float& valuex,float& valuey,float rnd, float rnd2)
213 const { if(m_HistoContents.get_nbins()==0) { valuex = 0.0; valuey = 0.0; }
214 Trandom residual_rnd;
215 size_t ibin=m_HistoContents.get_bin(rnd,residual_rnd);
216 int ibiny = ibin / m_HistoBordersx.get_nbins(); //printf("%d ",
217 m_HistoBordersy.get_nbins() ); int ibinx = ibin % m_HistoBordersx.get_nbins();
218 //printf("%d ", m_HistoBordersx.get_nbins() ); getchar(); valuex =
219 m_HistoBordersx.position(ibinx, rnd2); valuey =
220 m_HistoBordersy.position(ibiny,residual_rnd);
221 //valuex = 2.0+ rnd;
222 //valuey = 1200.0 + rnd2*500.0;
223 }*/
224
225 inline const Txvec &get_HistoBordersx() const { return m_HistoBordersx; };
226 inline const Tyvec &get_HistoBordersy() const { return m_HistoBordersy; };
227
230
231 inline Txvec &get_HistoBordersx() { return m_HistoBordersx; };
232 inline Tyvec &get_HistoBordersy() { return m_HistoBordersy; };
233
236 return m_HistoContents;
237 };
241
242protected:
246
247private:
249 1) // TFCS2DFunctionTemplateHistogram
250};
251
254 TFCS1DFunction_HistogramInt8BinEdges,
255 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> {
256public:
261
263 1) // TFCS2DFunctionInt8Int8Int8Histogram
264};
265
268 TFCS1DFunction_HistogramInt8BinEdges,
269 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> {
270public:
275
277 1) // TFCS2DFunctionInt8Int8Int16Histogram
278};
279
282 TFCS1DFunction_HistogramInt8BinEdges,
283 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> {
284public:
289
291 1) // TFCS2DFunctionInt8Int8Int32Histogram
292};
295 TFCS1DFunction_HistogramInt8BinEdges,
296 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> {
297public:
302
304 1) // TFCS2DFunctionInt8Int16Int8Histogram
305};
306
309 TFCS1DFunction_HistogramInt8BinEdges,
310 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> {
311public:
316
318 1) // TFCS2DFunctionInt8Int16Int16Histogram
319};
320
323 TFCS1DFunction_HistogramInt8BinEdges,
324 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> {
325public:
330
332 1) // TFCS2DFunctionInt8Int16Int32Histogram
333};
336 TFCS1DFunction_HistogramInt8BinEdges,
337 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> {
338public:
343
345 1) // TFCS2DFunctionInt8Int32Int8Histogram
346};
349 TFCS1DFunction_HistogramInt8BinEdges,
350 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> {
351public:
356
358 1) // TFCS2DFunctionInt8Int32Int16Histogram
359};
362 TFCS1DFunction_HistogramInt8BinEdges,
363 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> {
364public:
369
371 1) // TFCS2DFunctionInt8Int32Int32Histogram
372};
373
376 TFCS1DFunction_HistogramInt16BinEdges,
377 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> {
378public:
383
385 1) // TFCS2DFunctionInt16Int8Int8Histogram
386};
387
390 TFCS1DFunction_HistogramInt16BinEdges,
391 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> {
392public:
397
399 1) // TFCS2DFunctionInt16Int8Int16Histogram
400};
401
404 TFCS1DFunction_HistogramInt16BinEdges,
405 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> {
406public:
411
413 1) // TFCS2DFunctionInt16Int8Int32Histogram
414};
417 TFCS1DFunction_HistogramInt16BinEdges,
418 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> {
419public:
424
426 1) // TFCS2DFunctionInt16Int16Int8Histogram
427};
428
431 TFCS1DFunction_HistogramInt16BinEdges,
432 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> {
433public:
438
440 1) // TFCS2DFunctionInt16Int16Int16Histogram
441};
442
445 TFCS1DFunction_HistogramInt16BinEdges,
446 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> {
447public:
452
454 1) // TFCS2DFunctionInt16Int16Int32Histogram
455};
458 TFCS1DFunction_HistogramInt16BinEdges,
459 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> {
460public:
465
467 1) // TFCS2DFunctionInt16Int32Int8Histogram
468};
471 TFCS1DFunction_HistogramInt16BinEdges,
472 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> {
473public:
478
480 1) // TFCS2DFunctionInt16Int32Int16Histogram
481};
484 TFCS1DFunction_HistogramInt16BinEdges,
485 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> {
486public:
491
493 1) // TFCS2DFunctionInt16Int32Int32Histogram
494};
495
498 TFCS1DFunction_HistogramInt32BinEdges,
499 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> {
500public:
505
507 1) // TFCS2DFunctionInt32Int8Int8Histogram
508};
509
512 TFCS1DFunction_HistogramInt32BinEdges,
513 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> {
514public:
519
521 1) // TFCS2DFunctionInt32Int8Int16Histogram
522};
523
526 TFCS1DFunction_HistogramInt32BinEdges,
527 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> {
528public:
533
535 1) // TFCS2DFunctionInt32Int8Int32Histogram
536};
539 TFCS1DFunction_HistogramInt32BinEdges,
540 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> {
541public:
546
548 1) // TFCS2DFunctionInt32Int16Int8Histogram
549};
550
553 TFCS1DFunction_HistogramInt32BinEdges,
554 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> {
555public:
560
562 1) // TFCS2DFunctionInt32Int16Int16Histogram
563};
564
567 TFCS1DFunction_HistogramInt32BinEdges,
568 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> {
569public:
574
576 1) // TFCS2DFunctionInt32Int16Int32Histogram
577};
580 TFCS1DFunction_HistogramInt32BinEdges,
581 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> {
582public:
587
589 1) // TFCS2DFunctionInt32Int32Int8Histogram
590};
593 TFCS1DFunction_HistogramInt32BinEdges,
594 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> {
595public:
600
602 1) // TFCS2DFunctionInt32Int32Int16Histogram
603};
606 TFCS1DFunction_HistogramInt32BinEdges,
607 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> {
608public:
613
615 1) // TFCS2DFunctionInt32Int32Int32Histogram
616};
617
618#if defined(__ROOTCLING__) && defined(__FastCaloSimStandAlone__)
619#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
620 TFCS1DFunction_HistogramInt8BinEdges, \
621 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> + \
622 ;
623#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
624 TFCS1DFunction_HistogramInt8BinEdges, \
625 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> + \
626 ;
627#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
628 TFCS1DFunction_HistogramInt8BinEdges, \
629 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> + \
630 ;
631#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
632 TFCS1DFunction_HistogramInt8BinEdges, \
633 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> + \
634 ;
635#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
636 TFCS1DFunction_HistogramInt8BinEdges, \
637 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> + \
638 ;
639#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
640 TFCS1DFunction_HistogramInt8BinEdges, \
641 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> + \
642 ;
643#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
644 TFCS1DFunction_HistogramInt8BinEdges, \
645 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> + \
646 ;
647#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
648 TFCS1DFunction_HistogramInt8BinEdges, \
649 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> + \
650 ;
651#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
652 TFCS1DFunction_HistogramInt8BinEdges, \
653 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> + \
654 ;
655#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
656 TFCS1DFunction_HistogramInt16BinEdges, \
657 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> + \
658 ;
659#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
660 TFCS1DFunction_HistogramInt16BinEdges, \
661 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> + \
662 ;
663#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
664 TFCS1DFunction_HistogramInt16BinEdges, \
665 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> + \
666 ;
667#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
668 TFCS1DFunction_HistogramInt16BinEdges, \
669 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> + \
670 ;
671#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
672 TFCS1DFunction_HistogramInt16BinEdges, \
673 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> + \
674 ;
675#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
676 TFCS1DFunction_HistogramInt16BinEdges, \
677 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> + \
678 ;
679#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
680 TFCS1DFunction_HistogramInt16BinEdges, \
681 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> + \
682 ;
683#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
684 TFCS1DFunction_HistogramInt16BinEdges, \
685 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> + \
686 ;
687#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
688 TFCS1DFunction_HistogramInt16BinEdges, \
689 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> + \
690 ;
691#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
692 TFCS1DFunction_HistogramInt32BinEdges, \
693 TFCS1DFunction_HistogramInt8BinEdges, uint8_t, float> + \
694 ;
695#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
696 TFCS1DFunction_HistogramInt32BinEdges, \
697 TFCS1DFunction_HistogramInt8BinEdges, uint16_t, float> + \
698 ;
699#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
700 TFCS1DFunction_HistogramInt32BinEdges, \
701 TFCS1DFunction_HistogramInt8BinEdges, uint32_t, float> + \
702 ;
703#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
704 TFCS1DFunction_HistogramInt32BinEdges, \
705 TFCS1DFunction_HistogramInt16BinEdges, uint8_t, float> + \
706 ;
707#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
708 TFCS1DFunction_HistogramInt32BinEdges, \
709 TFCS1DFunction_HistogramInt16BinEdges, uint16_t, float> + \
710 ;
711#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
712 TFCS1DFunction_HistogramInt32BinEdges, \
713 TFCS1DFunction_HistogramInt16BinEdges, uint32_t, float> + \
714 ;
715#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
716 TFCS1DFunction_HistogramInt32BinEdges, \
717 TFCS1DFunction_HistogramInt32BinEdges, uint8_t, float> + \
718 ;
719#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
720 TFCS1DFunction_HistogramInt32BinEdges, \
721 TFCS1DFunction_HistogramInt32BinEdges, uint16_t, float> + \
722 ;
723#pragma link C++ class TFCS2DFunctionTemplateHistogram < \
724 TFCS1DFunction_HistogramInt32BinEdges, \
725 TFCS1DFunction_HistogramInt32BinEdges, uint32_t, float> + \
726 ;
727
728#pragma link C++ class TFCS2DFunctionInt8Int8Int8Histogram + ;
729#pragma link C++ class TFCS2DFunctionInt8Int8Int16Histogram + ;
730#pragma link C++ class TFCS2DFunctionInt8Int8Int32Histogram + ;
731#pragma link C++ class TFCS2DFunctionInt8Int16Int8Histogram + ;
732#pragma link C++ class TFCS2DFunctionInt8Int16Int16Histogram + ;
733#pragma link C++ class TFCS2DFunctionInt8Int16Int32Histogram + ;
734#pragma link C++ class TFCS2DFunctionInt8Int32Int8Histogram + ;
735#pragma link C++ class TFCS2DFunctionInt8Int32Int16Histogram + ;
736#pragma link C++ class TFCS2DFunctionInt8Int32Int32Histogram + ;
737
738#pragma link C++ class TFCS2DFunctionInt16Int8Int8Histogram + ;
739#pragma link C++ class TFCS2DFunctionInt16Int8Int16Histogram + ;
740#pragma link C++ class TFCS2DFunctionInt16Int8Int32Histogram + ;
741#pragma link C++ class TFCS2DFunctionInt16Int16Int8Histogram + ;
742#pragma link C++ class TFCS2DFunctionInt16Int16Int16Histogram + ;
743#pragma link C++ class TFCS2DFunctionInt16Int16Int32Histogram + ;
744#pragma link C++ class TFCS2DFunctionInt16Int32Int8Histogram + ;
745#pragma link C++ class TFCS2DFunctionInt16Int32Int16Histogram + ;
746#pragma link C++ class TFCS2DFunctionInt16Int32Int32Histogram + ;
747
748#pragma link C++ class TFCS2DFunctionInt32Int8Int8Histogram + ;
749#pragma link C++ class TFCS2DFunctionInt32Int8Int16Histogram + ;
750#pragma link C++ class TFCS2DFunctionInt32Int8Int32Histogram + ;
751#pragma link C++ class TFCS2DFunctionInt32Int16Int8Histogram + ;
752#pragma link C++ class TFCS2DFunctionInt32Int16Int16Histogram + ;
753#pragma link C++ class TFCS2DFunctionInt32Int16Int32Histogram + ;
754#pragma link C++ class TFCS2DFunctionInt32Int32Int8Histogram + ;
755#pragma link C++ class TFCS2DFunctionInt32Int32Int16Histogram + ;
756#pragma link C++ class TFCS2DFunctionInt32Int32Int32Histogram + ;
757
758#endif
759
760#endif
static TRandom * rnd
uint32_t TFCS1DFunction_size_t
Header file for AthHistogramAlgorithm.
size_t get_nbins() const
return number of bins
void set_nbins(size_t nbinsx, size_t nbinsy)
set number of bins
const TFCS1DFunction_HistogramContent< Tz, Trandom > & get_HistoContents() const
void Initialize(const TH2 *hist)
Initialize from root histogram.
virtual void rnd_to_fct(float &valuex, float &valuey, float rnd) const
virtual void rnd_to_fct(float &valuex, float &valuey, float rnd, float rnd2) const
Txvec & get_HistoBordersx()
inline void get_XYZfromGlobal(int &ix, int &iy, int &iz, int global) const {hist;}...
std::size_t MemorySize() const
Gives the total memory size, including the size of additional memory allocated inside the class.
TFCS1DFunction_HistogramContent< Tz, Trandom > m_HistoContents
TFCS1DFunction_HistogramContent< Tz, Trandom > & get_HistoContents()
static double CheckAndIntegrate2DHistogram(const TH2 *hist, std::vector< double > &integral_vec, int &first, int &last)
virtual void rnd_to_fct(float &valuex, float &valuey, float rnd0, float rnd1) const =0
double integral(TH1 *h)
Definition computils.cxx:59