The Gaudi Framework  v30r3 (a5ef0a68)
HistoDecorator.cpp
Go to the documentation of this file.
1 // ============================================================================
2 // Include files
3 // ============================================================================
4 // GaudiAlg
5 // ============================================================================
8 // ============================================================================
9 // GaudiPython
10 // ============================================================================
12 #include "GaudiPython/Vector.h"
13 // ============================================================================
19 // ============================================================================
20 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
21  * (Expected to be more efficient)
22  * @param algo the algorithm
23  * @param data data
24  * @param title histogram title
25  * @param low low edge
26  * @param high high edge
27  * @param bins number of bins
28  */
29 // ============================================================================
30 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const double data,
31  const std::string& title, const double low, const double high,
32  const unsigned long bins )
33 {
34  return algo.plot1D( data, title, low, high, bins );
35 }
36 // ============================================================================
37 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
38  * (Expected to be more efficient)
39  * @param algo the algorithm
40  * @param data data
41  * @param ID histogram ID
42  * @param title histogram title
43  * @param low low edge
44  * @param high high edge
45  * @param bins number of bins
46  */
47 // ============================================================================
48 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const double data,
49  const GaudiAlg::HistoID& ID, const std::string& title,
50  const double low, const double high, const unsigned long bins )
51 {
52  return algo.plot1D( data, ID, title, low, high, bins );
53 }
54 // ============================================================================
55 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
56  * (Expected to be more efficient)
57  * @param algo the algorithm
58  * @param data data
59  * @param ID histogram ID
60  * @param title histogram title
61  * @param low low edge
62  * @param high high edge
63  * @param bins number of bins
64  */
65 // ============================================================================
66 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const double data, const long ID,
67  const std::string& title, const double low, const double high,
68  const unsigned long bins )
69 {
70  return algo.plot1D( data, ID, title, low, high, bins );
71 }
72 // ============================================================================
73 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
74  * (Expected to be more efficient)
75  * @param algo the algorithm
76  * @param data data
77  * @param ID histogram ID
78  * @param title histogram title
79  * @param low low edge
80  * @param high high edge
81  * @param bins number of bins
82  */
83 // ============================================================================
84 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const double data,
85  const std::string& ID, const std::string& title,
86  const double low, const double high, const unsigned long bins )
87 {
88  return algo.plot1D( data, ID, title, low, high, bins );
89 }
90 // ============================================================================
91 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
92  * (Expected to be more efficient)
93  * @param algo the algorithm
94  * @param data vector of data
95  * @param title histogram title
96  * @param low low edge
97  * @param high high edge
98  * @param bins number of bins
99  */
100 // ============================================================================
101 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
102  const std::string& title, const double low, const double high,
103  const unsigned long bins )
104 {
105  return algo.plot( GaudiPython::_identity(), data.begin(), data.end(), title, low, high, bins );
106 }
107 // ============================================================================
108 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
109  * (Expected to be more efficient)
110  * @param algo the algorithm
111  * @param data vector of data
112  * @param ID histogram ID
113  * @param title histogram title
114  * @param low low edge
115  * @param high high edge
116  * @param bins number of bins
117  */
118 // ============================================================================
119 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
120  const GaudiAlg::HistoID& ID, const std::string& title,
121  const double low, const double high, const unsigned long bins )
122 {
123  return algo.plot( GaudiPython::_identity(), data.begin(), data.end(), ID, title, low, high, bins );
124 }
125 // ============================================================================
126 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
127  * (Expected to be more efficient)
128  * @param algo the algorithm
129  * @param data vector of data
130  * @param ID histogram ID
131  * @param title histogram title
132  * @param low low edge
133  * @param high high edge
134  * @param bins number of bins
135  */
136 // ============================================================================
137 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
138  const long ID, const std::string& title, const double low,
139  const double high, const unsigned long bins )
140 {
141  return algo.plot( GaudiPython::_identity(), data.begin(), data.end(), ID, title, low, high, bins );
142 }
143 // ============================================================================
144 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
145  * (Expected to be more efficient)
146  * @param algo the algorithm
147  * @param data vector of data
148  * @param ID histogram ID
149  * @param title histogram title
150  * @param low low edge
151  * @param high high edge
152  * @param bins number of bins
153  */
154 // ============================================================================
155 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
156  const std::string& ID, const std::string& title,
157  const double low, const double high, const unsigned long bins )
158 {
159  return algo.plot( GaudiPython::_identity(), data.begin(), data.end(), ID, title, low, high, bins );
160 }
161 // ============================================================================
162 /* fill the 2D histogram (book on demand)
163  * @param valueX x value to be filled
164  * @param valueY y value to be filled
165  * @param title histogram title (must be unique within the algorithm)
166  * @param lowX low x limit for histogram
167  * @param highX high x limit for histogram
168  * @param lowY low y limit for histogram
169  * @param highY high y limit for histogram
170  * @param binsX number of bins in x
171  * @param binsY number of bins in y
172  * @param weight weight
173  * @return pointer to AIDA 2D histogram
174  */
175 // ============================================================================
176 AIDA::IHistogram2D* GaudiPython::HistoDecorator::plot2D( const GaudiHistoAlg& algo, const double valueX,
177  const double valueY, const std::string& title,
178  const double lowX, const double highX, const double lowY,
179  const double highY, const unsigned long binsX,
180  const unsigned long binsY, const double weight )
181 {
182  return algo.plot2D( valueX, valueY, title, lowX, highX, lowY, highY, binsX, binsY, weight );
183 }
184 // ============================================================================
199 // ============================================================================
200 AIDA::IHistogram2D* GaudiPython::HistoDecorator::plot2D( const GaudiHistoAlg& algo, const double valueX,
201  const double valueY, const GaudiAlg::HistoID& ID,
202  const std::string& title, const double lowX,
203  const double highX, const double lowY, const double highY,
204  const unsigned long binsX, const unsigned long binsY,
205  const double weight )
206 {
207  return algo.plot2D( valueX, valueY, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
208 }
209 // ============================================================================
210 /* fill the 2D histogram (book on demand)
211  * @param valueX x value to be filled
212  * @param valueY y value to be filled
213  * @param ID Histogram ID to use
214  * @param title histogram title (must be unique within the algorithm)
215  * @param lowX low x limit for histogram
216  * @param highX high x limit for histogram
217  * @param lowY low y limit for histogram
218  * @param highY high y limit for histogram
219  * @param binsX number of bins in x
220  * @param binsY number of bins in y
221  * @param weight weight
222  * @return pointer to AIDA 2D histogram
223  */
224 // ============================================================================
225 AIDA::IHistogram2D* GaudiPython::HistoDecorator::plot2D( const GaudiHistoAlg& algo, const double valueX,
226  const double valueY, const long ID, const std::string& title,
227  const double lowX, const double highX, const double lowY,
228  const double highY, const unsigned long binsX,
229  const unsigned long binsY, const double weight )
230 {
231  return algo.plot2D( valueX, valueY, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
232 }
233 // ============================================================================
234 /* fill the 2D histogram (book on demand)
235  * @param valueX x value to be filled
236  * @param valueY y value to be filled
237  * @param ID Histogram ID to use
238  * @param title histogram title (must be unique within the algorithm)
239  * @param lowX low x limit for histogram
240  * @param highX high x limit for histogram
241  * @param lowY low y limit for histogram
242  * @param highY high y limit for histogram
243  * @param binsX number of bins in x
244  * @param binsY number of bins in y
245  * @param weight weight
246  * @return pointer to AIDA 2D histogram
247  */
248 // ============================================================================
249 AIDA::IHistogram2D* GaudiPython::HistoDecorator::plot2D( const GaudiHistoAlg& algo, const double valueX,
250  const double valueY, const std::string& ID,
251  const std::string& title, const double lowX,
252  const double highX, const double lowY, const double highY,
253  const unsigned long binsX, const unsigned long binsY,
254  const double weight )
255 {
256  return algo.plot2D( valueX, valueY, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
257 }
258 // ============================================================================
259 /* fill the 3D histogram (book on demand)
260  * @param valueX x value to be filled
261  * @param valueY y value to be filled
262  * @param valueZ z value to be filled
263  * @param title histogram title (must be unique within the algorithm)
264  * @param lowX low x limit for histogram
265  * @param highX high x limit for histogram
266  * @param lowY low y limit for histogram
267  * @param highY high y limit for histogram
268  * @param lowZ low z limit for histogram
269  * @param highZ high z limit for histogram
270  * @param binsX number of bins in x
271  * @param binsY number of bins in y
272  * @param binsZ number of bins in z
273  * @param weight weight
274  * @return pointer to AIDA 3D histogram
275  */
276 // ============================================================================
278  const GaudiHistoAlg& algo, const double valueX, const double valueY, const double valueZ, const std::string& title,
279  const double lowX, const double highX, const double lowY, const double highY, const double lowZ, const double highZ,
280  const unsigned long binsX, const unsigned long binsY, const unsigned long binsZ, const double weight )
281 {
282  return algo.plot3D( valueX, valueY, valueZ, title, lowX, highX, lowY, highY, lowZ, highZ, binsX, binsY, binsZ,
283  weight );
284 }
285 // ============================================================================
286 /* fill the 3D histogram (book on demand)
287  * @param valueX x value to be filled
288  * @param valueY y value to be filled
289  * @param valueZ z value to be filled
290  * @param title histogram title (must be unique within the algorithm)
291  * @param lowX low x limit for histogram
292  * @param highX high x limit for histogram
293  * @param lowY low y limit for histogram
294  * @param highY high y limit for histogram
295  * @param lowZ low z limit for histogram
296  * @param highZ high z limit for histogram
297  * @param binsX number of bins in x
298  * @param binsY number of bins in y
299  * @param binsZ number of bins in z
300  * @param weight weight
301  * @return pointer to AIDA 3D histogram
302  */
303 // ============================================================================
304 AIDA::IHistogram3D* GaudiPython::HistoDecorator::plot3D( const GaudiHistoAlg& algo, const double valueX,
305  const double valueY, const double valueZ,
306  const GaudiAlg::HistoID& ID, const std::string& title,
307  const double lowX, const double highX, const double lowY,
308  const double highY, const double lowZ, const double highZ,
309  const unsigned long binsX, const unsigned long binsY,
310  const unsigned long binsZ, const double weight )
311 {
312  return algo.plot3D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, lowZ, highZ, binsX, binsY, binsZ,
313  weight );
314 }
315 // ============================================================================
316 /* fill the 3D histogram (book on demand)
317  * @param valueX x value to be filled
318  * @param valueY y value to be filled
319  * @param valueZ z value to be filled
320  * @param title histogram title (must be unique within the algorithm)
321  * @param lowX low x limit for histogram
322  * @param highX high x limit for histogram
323  * @param lowY low y limit for histogram
324  * @param highY high y limit for histogram
325  * @param lowZ low z limit for histogram
326  * @param highZ high z limit for histogram
327  * @param binsX number of bins in x
328  * @param binsY number of bins in y
329  * @param binsZ number of bins in z
330  * @param weight weight
331  * @return pointer to AIDA 3D histogram
332  */
333 // ============================================================================
334 AIDA::IHistogram3D* GaudiPython::HistoDecorator::plot3D( const GaudiHistoAlg& algo, const double valueX,
335  const double valueY, const double valueZ, const long ID,
336  const std::string& title, const double lowX,
337  const double highX, const double lowY, const double highY,
338  const double lowZ, const double highZ,
339  const unsigned long binsX, const unsigned long binsY,
340  const unsigned long binsZ, const double weight )
341 {
342  return algo.plot3D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, lowZ, highZ, binsX, binsY, binsZ,
343  weight );
344 }
345 // ============================================================================
346 /* fill the 3D histogram (book on demand)
347  * @param valueX x value to be filled
348  * @param valueY y value to be filled
349  * @param valueZ z value to be filled
350  * @param title histogram title (must be unique within the algorithm)
351  * @param lowX low x limit for histogram
352  * @param highX high x limit for histogram
353  * @param lowY low y limit for histogram
354  * @param highY high y limit for histogram
355  * @param lowZ low z limit for histogram
356  * @param highZ high z limit for histogram
357  * @param binsX number of bins in x
358  * @param binsY number of bins in y
359  * @param binsZ number of bins in z
360  * @param weight weight
361  * @return pointer to AIDA 3D histogram
362  */
363 // ============================================================================
364 AIDA::IHistogram3D* GaudiPython::HistoDecorator::plot3D( const GaudiHistoAlg& algo, const double valueX,
365  const double valueY, const double valueZ,
366  const std::string& ID, const std::string& title,
367  const double lowX, const double highX, const double lowY,
368  const double highY, const double lowZ, const double highZ,
369  const unsigned long binsX, const unsigned long binsY,
370  const unsigned long binsZ, const double weight )
371 {
372  return algo.plot3D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, lowZ, highZ, binsX, binsY, binsZ,
373  weight );
374 }
375 // ========================================================================
376 // 1D-profiles: by title
377 // ========================================================================
378 AIDA::IProfile1D* GaudiPython::HistoDecorator::profile1D( const GaudiHistoAlg& algo, const double valueX,
379  const double valueY, const std::string& title,
380  const double lowX, const double highX,
381  const unsigned long binsX, const std::string& opt,
382  const double lowY, const double highY, const double weight )
383 {
384  return algo.profile1D( valueX, valueY, title, lowX, highX, binsX, opt, lowY, highY, weight );
385 }
386 // ========================================================================
387 // 1D-profiles: by generic ID
388 // ========================================================================
389 AIDA::IProfile1D* GaudiPython::HistoDecorator::profile1D( const GaudiHistoAlg& algo, const double valueX,
390  const double valueY, const GaudiAlg::HistoID& ID,
391  const std::string& title, const double lowX,
392  const double highX, const unsigned long binsX,
393  const std::string& opt, const double lowY, const double highY,
394  const double weight )
395 {
396  return algo.profile1D( valueX, valueY, ID, title, lowX, highX, binsX, opt, lowY, highY, weight );
397 }
398 // ========================================================================
399 // 1D-profiles: by numeric ID
400 // ========================================================================
401 AIDA::IProfile1D* GaudiPython::HistoDecorator::profile1D( const GaudiHistoAlg& algo, const double valueX,
402  const double valueY, const long ID, const std::string& title,
403  const double lowX, const double highX,
404  const unsigned long binsX, const std::string& opt,
405  const double lowY, const double highY, const double weight )
406 {
407  return algo.profile1D( valueX, valueY, ID, title, lowX, highX, binsX, opt, lowY, highY, weight );
408 }
409 // ========================================================================
410 // 1D-profiles: by string ID
411 // ========================================================================
412 AIDA::IProfile1D* GaudiPython::HistoDecorator::profile1D( const GaudiHistoAlg& algo, const double valueX,
413  const double valueY, const std::string& ID,
414  const std::string& title, const double lowX,
415  const double highX, const unsigned long binsX,
416  const std::string& opt, const double lowY, const double highY,
417  const double weight )
418 {
419  return algo.profile1D( valueX, valueY, ID, title, lowX, highX, binsX, opt, lowY, highY, weight );
420 }
421 // ========================================================================
422 // 2D-profiles: by title
423 // ========================================================================
424 AIDA::IProfile2D* GaudiPython::HistoDecorator::profile2D( const GaudiHistoAlg& algo, const double valueX,
425  const double valueY, const double valueZ,
426  const std::string& title, const double lowX,
427  const double highX, const double lowY, const double highY,
428  const unsigned long binsX, const unsigned long binsY,
429  const double weight )
430 {
431  return algo.profile2D( valueX, valueY, valueZ, title, lowX, highX, lowY, highY, binsX, binsY, weight );
432 }
433 // ========================================================================
434 // 2D-profiles: by generic ID
435 // ========================================================================
436 AIDA::IProfile2D* GaudiPython::HistoDecorator::profile2D( const GaudiHistoAlg& algo, const double valueX,
437  const double valueY, const double valueZ,
438  const GaudiAlg::HistoID& ID, const std::string& title,
439  const double lowX, const double highX, const double lowY,
440  const double highY, const unsigned long binsX,
441  const unsigned long binsY, const double weight )
442 {
443  return algo.profile2D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
444 }
445 // ========================================================================
446 // 2D-profiles: by numeric ID
447 // ========================================================================
448 AIDA::IProfile2D* GaudiPython::HistoDecorator::profile2D( const GaudiHistoAlg& algo, const double valueX,
449  const double valueY, const double valueZ, const long ID,
450  const std::string& title, const double lowX,
451  const double highX, const double lowY, const double highY,
452  const unsigned long binsX, const unsigned long binsY,
453  const double weight )
454 {
455  return algo.profile2D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
456 }
457 // ========================================================================
458 // 2D-profiles: by string ID
459 // ========================================================================
460 AIDA::IProfile2D* GaudiPython::HistoDecorator::profile2D( const GaudiHistoAlg& algo, const double valueX,
461  const double valueY, const double valueZ,
462  const std::string& ID, const std::string& title,
463  const double lowX, const double highX, const double lowY,
464  const double highY, const unsigned long binsX,
465  const unsigned long binsY, const double weight )
466 {
467  return algo.profile2D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
468 }
469 // ============================================================================
470 // get all histograms
471 // ============================================================================
472 namespace
473 {
475  // =========================================================================
476  template <typename Container, typename HISTO>
477  size_t fromMap( const Container& a, std::vector<GaudiAlg::ID>& b, std::vector<HISTO>& c )
478  {
479  b.clear();
480  c.clear();
481  for ( const auto& i : a ) {
482  if ( !i.second ) {
483  continue;
484  }
485  b.push_back( i.first );
486  c.push_back( i.second );
487  }
488  return b.size();
489  }
490  // ==========================================================================
491 }
492 // ============================================================================
495 {
496  histos.clear();
497  ids.clear();
498  return cmp ? fromMap( cmp->histo1DMapID(), ids, histos ) : 0;
499  // ==========================================================================
500 }
501 // ============================================================================
504 {
505  histos.clear();
506  ids.clear();
507  return cmp ? fromMap( cmp->histo1DMapID(), ids, histos ) : 0;
508  // ==========================================================================
509 }
510 // ============================================================================
513 {
514  ids.clear();
515  histos.clear();
516  return cmp ? _histos_a_( dynamic_cast<const GaudiHistoAlg*>( cmp ), ids, histos ) : 0;
517 }
518 // ============================================================================
521 {
522  ids.clear();
523  histos.clear();
524  return cmp ? _histos_t_( dynamic_cast<const GaudiHistoTool*>( cmp ), ids, histos ) : 0;
525 }
526 // ============================================================================
527 // 2D-histograms
528 // ============================================================================
531 {
532  histos.clear();
533  ids.clear();
534  return cmp ? fromMap( cmp->histo2DMapID(), ids, histos ) : 0;
535  // ==========================================================================
536 }
537 // ============================================================================
540 {
541  histos.clear();
542  ids.clear();
543  return cmp ? fromMap( cmp->histo2DMapID(), ids, histos ) : 0;
544  // ==========================================================================
545 }
546 // ============================================================================
549 {
550  ids.clear();
551  histos.clear();
552  return cmp ? _histos_a_( dynamic_cast<const GaudiHistoAlg*>( cmp ), ids, histos ) : 0;
553 }
554 // ============================================================================
557 {
558  ids.clear();
559  histos.clear();
560  return cmp ? _histos_t_( dynamic_cast<const GaudiHistoTool*>( cmp ), ids, histos ) : 0;
561 }
562 // ============================================================================
563 // 3D-histograms
564 // ============================================================================
567 {
568  histos.clear();
569  ids.clear();
570  return cmp ? fromMap( cmp->histo3DMapID(), ids, histos ) : 0;
571  // ==========================================================================
572 }
573 // ============================================================================
576 {
577  histos.clear();
578  ids.clear();
579  return cmp ? fromMap( cmp->histo3DMapID(), ids, histos ) : 0;
580  // ==========================================================================
581 }
582 // ============================================================================
585 {
586  ids.clear();
587  histos.clear();
588  return cmp ? _histos_a_( dynamic_cast<const GaudiHistoAlg*>( cmp ), ids, histos ) : 0;
589 }
590 // ============================================================================
593 {
594  ids.clear();
595  histos.clear();
596  return cmp ? _histos_t_( dynamic_cast<const GaudiHistoTool*>( cmp ), ids, histos ) : 0;
597 }
598 // ============================================================================
599 // 1D-profiles
600 // ============================================================================
603 {
604  histos.clear();
605  ids.clear();
606  return cmp ? fromMap( cmp->profile1DMapID(), ids, histos ) : 0;
607  // ==========================================================================
608 }
609 // ============================================================================
612 {
613  histos.clear();
614  ids.clear();
615  return cmp ? fromMap( cmp->profile1DMapID(), ids, histos ) : 0;
616  // ==========================================================================
617 }
618 // ============================================================================
621 {
622  ids.clear();
623  histos.clear();
624  return cmp ? _histos_a_( dynamic_cast<const GaudiHistoAlg*>( cmp ), ids, histos ) : 0;
625 }
626 // ============================================================================
629 {
630  ids.clear();
631  histos.clear();
632  return cmp ? _histos_t_( dynamic_cast<const GaudiHistoTool*>( cmp ), ids, histos ) : 0;
633 }
634 // ============================================================================
635 // 2D-profiles
636 // ============================================================================
639 {
640  histos.clear();
641  ids.clear();
642  return cmp ? fromMap( cmp->profile2DMapID(), ids, histos ) : 0;
643  // ==========================================================================
644 }
645 // ============================================================================
648 {
649  histos.clear();
650  ids.clear();
651  return cmp ? fromMap( cmp->profile2DMapID(), ids, histos ) : 0;
652  // ==========================================================================
653 }
654 // ============================================================================
657 {
658  ids.clear();
659  histos.clear();
660  return cmp ? _histos_a_( dynamic_cast<const GaudiHistoAlg*>( cmp ), ids, histos ) : 0;
661 }
662 // ============================================================================
665 {
666  ids.clear();
667  histos.clear();
668  return cmp ? _histos_t_( dynamic_cast<const GaudiHistoTool*>( cmp ), ids, histos ) : 0;
669 }
670 // ============================================================================
671 
672 // ============================================================================
673 // The END
674 // ============================================================================
static AIDA::IProfile2D * profile2D(const GaudiHistoAlg &algo, const double valueX, const double valueY, const double valueZ, const std::string &title, const double lowX, const double highX, const double lowY, const double highY, const unsigned long binsX=50, const unsigned long binsY=50, const double weight=1.0)
It is here due to &#39;missing&#39;(?) std::identity.
Definition: Vector.h:28
AIDA::IProfile1D * profile1D(const double valueX, const double valueY, const std::string &title, const double lowX, const double highX, const unsigned long binsX=100, const std::string &opt="", const double lowY=-std::numeric_limits< double >::max(), const double highY=std::numeric_limits< double >::max(), const double weight=1.0) const
fill the 1D profile histogram (book on demand)
static AIDA::IHistogram1D * plot1D(const GaudiHistoAlg &algo, const double data, const std::string &title, const double low, const double high, const unsigned long bins=100)
"plot"(book&fill) a sequence of data from the vector (implicit loop) (Expected to be more efficient) ...
AIDA::IHistogram1D * plot(const double value, const std::string &title, const double low, const double high, const unsigned long bins=100, const double weight=1.0) const
fill the 1D histogram (book on demand)
Definition: GaudiHistos.h:154
static AIDA::IProfile1D * profile1D(const GaudiHistoAlg &algo, const double valueX, const double valueY, const std::string &title, const double lowX, const double highX, const unsigned long binsX=100, const std::string &opt="", const double lowY=-std::numeric_limits< double >::max(), const double highY=std::numeric_limits< double >::max(), const double weight=1.0)
const Profile2DMapID & profile2DMapID() const
get access to the map of 2D profile histograms index via a ID
Definition: GaudiHistos.h:2675
Header file for class : GaudiHistoTool.
Simple class to extend the functionality of class GaudiAlgorithm.
Definition: GaudiHistoAlg.h:37
T end(T...args)
Simple class to extend the functionality of class GaudiTool.
STL class.
T push_back(T...args)
const Histo1DMapID & histo1DMapID() const
get access to the map of all 1D histograms index via ID
Definition: GaudiHistos.h:2473
T clear(T...args)
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:28
static AIDA::IHistogram3D * plot3D(const GaudiHistoAlg &algo, const double valueX, const double valueY, const double valueZ, const std::string &title, const double lowX, const double highX, const double lowY, const double highY, const double lowZ, const double highZ, const unsigned long binsX=10, const unsigned long binsY=10, const unsigned long binsZ=10, const double weight=1.0)
fill the 3D histogram (book on demand)
T size(T...args)
AIDA::IHistogram3D * plot3D(const double valueX, const double valueY, const double valueZ, const std::string &title, const double lowX, const double highX, const double lowY, const double highY, const double lowZ, const double highZ, const unsigned long binsX=10, const unsigned long binsY=10, const unsigned long binsZ=10, const double weight=1.0) const
fill the 3D histogram (book on demand)
static AIDA::IHistogram2D * plot2D(const GaudiHistoAlg &algo, const double valueX, const double valueY, const std::string &title, const double lowX, const double highX, const double lowY, const double highY, const unsigned long binsX=50, const unsigned long binsY=50, const double weight=1.0)
fill the 2D histogram (book on demand)
AIDA::IHistogram2D * plot2D(const double valueX, const double valueY, const std::string &title, const double lowX, const double highX, const double lowY, const double highY, const unsigned long binsX=50, const unsigned long binsY=50, const double weight=1.0) const
fill the 2D histogram (book on demand)
T begin(T...args)
const Profile1DMapID & profile1DMapID() const
get access to the map of 1D profile histograms index via a ID
Definition: GaudiHistos.h:2625
The interface implemented by the AlgTool base class.
Definition: IAlgTool.h:23
const Histo2DMapID & histo2DMapID() const
get access to the map of 2D histograms index via ID
Definition: GaudiHistos.h:2523
static size_t _histos_a_(const GaudiHistoAlg *cmp, IDs &ids, Histos1D &histos)
static size_t _histos_t_(const GaudiHistoTool *cmp, IDs &ids, Histos1D &histos)
AIDA::IProfile2D * profile2D(const double valueX, const double valueY, const double valueZ, const std::string &title, const double lowX, const double highX, const double lowY, const double highY, const unsigned long binsX=50, const unsigned long binsY=50, const double weight=1.0) const
fill the 2D profile histogram (book on demand)
AIDA::IHistogram1D * plot1D(const double value, const std::string &title, const double low, const double high, const unsigned long bins=100, const double weight=1.0) const
fill the 1D histogram (book on demand)
ID class for Histogram and Ntuples.
Definition: GaudiHistoID.h:44
const Histo3DMapID & histo3DMapID() const
get access to the map of all 3D histograms index via a ID
Definition: GaudiHistos.h:2573