Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v38r0 (2143aa4c)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
HistoDecorator.cpp
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 // ============================================================================
12 // Include files
13 // ============================================================================
14 // GaudiAlg
15 // ============================================================================
16 #include "GaudiAlg/GaudiHistoAlg.h"
18 // ============================================================================
19 // GaudiPython
20 // ============================================================================
22 #include "GaudiPython/Vector.h"
23 // ============================================================================
29 // ============================================================================
30 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
31  * (Expected to be more efficient)
32  * @param algo the algorithm
33  * @param data data
34  * @param title histogram title
35  * @param low low edge
36  * @param high high edge
37  * @param bins number of bins
38  */
39 // ============================================================================
40 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const double data,
41  const std::string& title, const double low, const double high,
42  const unsigned long bins ) {
43  return algo.plot1D( data, title, low, high, bins );
44 }
45 // ============================================================================
46 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
47  * (Expected to be more efficient)
48  * @param algo the algorithm
49  * @param data data
50  * @param ID histogram ID
51  * @param title histogram title
52  * @param low low edge
53  * @param high high edge
54  * @param bins number of bins
55  */
56 // ============================================================================
57 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const double data,
58  const GaudiAlg::HistoID& ID, const std::string& title,
59  const double low, const double high,
60  const unsigned long bins ) {
61  return algo.plot1D( data, ID, title, low, high, bins );
62 }
63 // ============================================================================
64 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
65  * (Expected to be more efficient)
66  * @param algo the algorithm
67  * @param data data
68  * @param ID histogram ID
69  * @param title histogram title
70  * @param low low edge
71  * @param high high edge
72  * @param bins number of bins
73  */
74 // ============================================================================
75 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const double data, const long ID,
76  const std::string& title, const double low, const double high,
77  const unsigned long bins ) {
78  return algo.plot1D( data, ID, title, low, high, bins );
79 }
80 // ============================================================================
81 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
82  * (Expected to be more efficient)
83  * @param algo the algorithm
84  * @param data data
85  * @param ID histogram ID
86  * @param title histogram title
87  * @param low low edge
88  * @param high high edge
89  * @param bins number of bins
90  */
91 // ============================================================================
92 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const double data,
93  const std::string& ID, const std::string& title,
94  const double low, const double high,
95  const unsigned long bins ) {
96  return algo.plot1D( data, ID, title, low, high, bins );
97 }
98 // ============================================================================
99 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
100  * (Expected to be more efficient)
101  * @param algo the algorithm
102  * @param data vector of data
103  * @param title histogram title
104  * @param low low edge
105  * @param high high edge
106  * @param bins number of bins
107  */
108 // ============================================================================
109 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
110  const std::string& title, const double low, const double high,
111  const unsigned long bins ) {
112  return algo.plot( GaudiPython::_identity(), data.begin(), data.end(), title, low, high, bins );
113 }
114 // ============================================================================
115 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
116  * (Expected to be more efficient)
117  * @param algo the algorithm
118  * @param data vector of data
119  * @param ID histogram ID
120  * @param title histogram title
121  * @param low low edge
122  * @param high high edge
123  * @param bins number of bins
124  */
125 // ============================================================================
126 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
127  const GaudiAlg::HistoID& ID, const std::string& title,
128  const double low, const double high,
129  const unsigned long bins ) {
130  return algo.plot( GaudiPython::_identity(), data.begin(), data.end(), ID, title, low, high, bins );
131 }
132 // ============================================================================
133 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
134  * (Expected to be more efficient)
135  * @param algo the algorithm
136  * @param data vector of data
137  * @param ID histogram ID
138  * @param title histogram title
139  * @param low low edge
140  * @param high high edge
141  * @param bins number of bins
142  */
143 // ============================================================================
144 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
145  const long ID, const std::string& title, const double low,
146  const double high, const unsigned long bins ) {
147  return algo.plot( GaudiPython::_identity(), data.begin(), data.end(), ID, title, low, high, bins );
148 }
149 // ============================================================================
150 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
151  * (Expected to be more efficient)
152  * @param algo the algorithm
153  * @param data vector of data
154  * @param ID histogram ID
155  * @param title histogram title
156  * @param low low edge
157  * @param high high edge
158  * @param bins number of bins
159  */
160 // ============================================================================
161 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
162  const std::string& ID, const std::string& title,
163  const double low, const double high,
164  const unsigned long bins ) {
165  return algo.plot( GaudiPython::_identity(), data.begin(), data.end(), ID, title, low, high, bins );
166 }
167 // ============================================================================
168 /* fill the 2D histogram (book on demand)
169  * @param valueX x value to be filled
170  * @param valueY y value to be filled
171  * @param title histogram title (must be unique within the algorithm)
172  * @param lowX low x limit for histogram
173  * @param highX high x limit for histogram
174  * @param lowY low y limit for histogram
175  * @param highY high y limit for histogram
176  * @param binsX number of bins in x
177  * @param binsY number of bins in y
178  * @param weight weight
179  * @return pointer to AIDA 2D histogram
180  */
181 // ============================================================================
182 AIDA::IHistogram2D* GaudiPython::HistoDecorator::plot2D( const GaudiHistoAlg& algo, const double valueX,
183  const double valueY, const std::string& title,
184  const double lowX, const double highX, const double lowY,
185  const double highY, const unsigned long binsX,
186  const unsigned long binsY, const double weight ) {
187  return algo.plot2D( valueX, valueY, title, lowX, highX, lowY, highY, binsX, binsY, weight );
188 }
189 // ============================================================================
204 // ============================================================================
205 AIDA::IHistogram2D* GaudiPython::HistoDecorator::plot2D( const GaudiHistoAlg& algo, const double valueX,
206  const double valueY, const GaudiAlg::HistoID& ID,
207  const std::string& title, const double lowX,
208  const double highX, const double lowY, const double highY,
209  const unsigned long binsX, const unsigned long binsY,
210  const double weight ) {
211  return algo.plot2D( valueX, valueY, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
212 }
213 // ============================================================================
214 /* fill the 2D histogram (book on demand)
215  * @param valueX x value to be filled
216  * @param valueY y value to be filled
217  * @param ID Histogram ID to use
218  * @param title histogram title (must be unique within the algorithm)
219  * @param lowX low x limit for histogram
220  * @param highX high x limit for histogram
221  * @param lowY low y limit for histogram
222  * @param highY high y limit for histogram
223  * @param binsX number of bins in x
224  * @param binsY number of bins in y
225  * @param weight weight
226  * @return pointer to AIDA 2D histogram
227  */
228 // ============================================================================
229 AIDA::IHistogram2D* GaudiPython::HistoDecorator::plot2D( const GaudiHistoAlg& algo, const double valueX,
230  const double valueY, const long ID, const std::string& title,
231  const double lowX, const double highX, const double lowY,
232  const double highY, const unsigned long binsX,
233  const unsigned long binsY, const double weight ) {
234  return algo.plot2D( valueX, valueY, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
235 }
236 // ============================================================================
237 /* fill the 2D histogram (book on demand)
238  * @param valueX x value to be filled
239  * @param valueY y value to be filled
240  * @param ID Histogram ID to use
241  * @param title histogram title (must be unique within the algorithm)
242  * @param lowX low x limit for histogram
243  * @param highX high x limit for histogram
244  * @param lowY low y limit for histogram
245  * @param highY high y limit for histogram
246  * @param binsX number of bins in x
247  * @param binsY number of bins in y
248  * @param weight weight
249  * @return pointer to AIDA 2D histogram
250  */
251 // ============================================================================
252 AIDA::IHistogram2D* GaudiPython::HistoDecorator::plot2D( const GaudiHistoAlg& algo, const double valueX,
253  const double valueY, const std::string& ID,
254  const std::string& title, const double lowX,
255  const double highX, const double lowY, const double highY,
256  const unsigned long binsX, const unsigned long binsY,
257  const double weight ) {
258  return algo.plot2D( valueX, valueY, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
259 }
260 // ============================================================================
261 /* fill the 3D histogram (book on demand)
262  * @param valueX x value to be filled
263  * @param valueY y value to be filled
264  * @param valueZ z value to be filled
265  * @param title histogram title (must be unique within the algorithm)
266  * @param lowX low x limit for histogram
267  * @param highX high x limit for histogram
268  * @param lowY low y limit for histogram
269  * @param highY high y limit for histogram
270  * @param lowZ low z limit for histogram
271  * @param highZ high z limit for histogram
272  * @param binsX number of bins in x
273  * @param binsY number of bins in y
274  * @param binsZ number of bins in z
275  * @param weight weight
276  * @return pointer to AIDA 3D histogram
277  */
278 // ============================================================================
280  const GaudiHistoAlg& algo, const double valueX, const double valueY, const double valueZ, const std::string& title,
281  const double lowX, const double highX, const double lowY, const double highY, const double lowZ, const double highZ,
282  const unsigned long binsX, const unsigned long binsY, const unsigned long binsZ, const double weight ) {
283  return algo.plot3D( valueX, valueY, valueZ, title, lowX, highX, lowY, highY, lowZ, highZ, binsX, binsY, binsZ,
284  weight );
285 }
286 // ============================================================================
287 /* fill the 3D histogram (book on demand)
288  * @param valueX x value to be filled
289  * @param valueY y value to be filled
290  * @param valueZ z value to be filled
291  * @param title histogram title (must be unique within the algorithm)
292  * @param lowX low x limit for histogram
293  * @param highX high x limit for histogram
294  * @param lowY low y limit for histogram
295  * @param highY high y limit for histogram
296  * @param lowZ low z limit for histogram
297  * @param highZ high z limit for histogram
298  * @param binsX number of bins in x
299  * @param binsY number of bins in y
300  * @param binsZ number of bins in z
301  * @param weight weight
302  * @return pointer to AIDA 3D histogram
303  */
304 // ============================================================================
305 AIDA::IHistogram3D* GaudiPython::HistoDecorator::plot3D( const GaudiHistoAlg& algo, const double valueX,
306  const double valueY, const double valueZ,
307  const GaudiAlg::HistoID& ID, const std::string& title,
308  const double lowX, const double highX, const double lowY,
309  const double highY, const double lowZ, const double highZ,
310  const unsigned long binsX, const unsigned long binsY,
311  const unsigned long binsZ, const double weight ) {
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  return algo.plot3D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, lowZ, highZ, binsX, binsY, binsZ,
342  weight );
343 }
344 // ============================================================================
345 /* fill the 3D histogram (book on demand)
346  * @param valueX x value to be filled
347  * @param valueY y value to be filled
348  * @param valueZ z value to be filled
349  * @param title histogram title (must be unique within the algorithm)
350  * @param lowX low x limit for histogram
351  * @param highX high x limit for histogram
352  * @param lowY low y limit for histogram
353  * @param highY high y limit for histogram
354  * @param lowZ low z limit for histogram
355  * @param highZ high z limit for histogram
356  * @param binsX number of bins in x
357  * @param binsY number of bins in y
358  * @param binsZ number of bins in z
359  * @param weight weight
360  * @return pointer to AIDA 3D histogram
361  */
362 // ============================================================================
363 AIDA::IHistogram3D* GaudiPython::HistoDecorator::plot3D( const GaudiHistoAlg& algo, const double valueX,
364  const double valueY, const double valueZ,
365  const std::string& ID, const std::string& title,
366  const double lowX, const double highX, const double lowY,
367  const double highY, const double lowZ, const double highZ,
368  const unsigned long binsX, const unsigned long binsY,
369  const unsigned long binsZ, const double weight ) {
370  return algo.plot3D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, lowZ, highZ, binsX, binsY, binsZ,
371  weight );
372 }
373 // ========================================================================
374 // 1D-profiles: by title
375 // ========================================================================
376 AIDA::IProfile1D* GaudiPython::HistoDecorator::profile1D( const GaudiHistoAlg& algo, const double valueX,
377  const double valueY, const std::string& title,
378  const double lowX, const double highX,
379  const unsigned long binsX, const std::string& opt,
380  const double lowY, const double highY, const double weight ) {
381  return algo.profile1D( valueX, valueY, title, lowX, highX, binsX, opt, lowY, highY, weight );
382 }
383 // ========================================================================
384 // 1D-profiles: by generic ID
385 // ========================================================================
386 AIDA::IProfile1D* GaudiPython::HistoDecorator::profile1D( const GaudiHistoAlg& algo, const double valueX,
387  const double valueY, const GaudiAlg::HistoID& ID,
388  const std::string& title, const double lowX,
389  const double highX, const unsigned long binsX,
390  const std::string& opt, const double lowY, const double highY,
391  const double weight ) {
392  return algo.profile1D( valueX, valueY, ID, title, lowX, highX, binsX, opt, lowY, highY, weight );
393 }
394 // ========================================================================
395 // 1D-profiles: by numeric ID
396 // ========================================================================
397 AIDA::IProfile1D* GaudiPython::HistoDecorator::profile1D( const GaudiHistoAlg& algo, const double valueX,
398  const double valueY, const long ID, const std::string& title,
399  const double lowX, const double highX,
400  const unsigned long binsX, const std::string& opt,
401  const double lowY, const double highY, const double weight ) {
402  return algo.profile1D( valueX, valueY, ID, title, lowX, highX, binsX, opt, lowY, highY, weight );
403 }
404 // ========================================================================
405 // 1D-profiles: by string ID
406 // ========================================================================
407 AIDA::IProfile1D* GaudiPython::HistoDecorator::profile1D( const GaudiHistoAlg& algo, const double valueX,
408  const double valueY, const std::string& ID,
409  const std::string& title, const double lowX,
410  const double highX, const unsigned long binsX,
411  const std::string& opt, const double lowY, const double highY,
412  const double weight ) {
413  return algo.profile1D( valueX, valueY, ID, title, lowX, highX, binsX, opt, lowY, highY, weight );
414 }
415 // ========================================================================
416 // 2D-profiles: by title
417 // ========================================================================
418 AIDA::IProfile2D* GaudiPython::HistoDecorator::profile2D( const GaudiHistoAlg& algo, const double valueX,
419  const double valueY, const double valueZ,
420  const std::string& title, const double lowX,
421  const double highX, const double lowY, const double highY,
422  const unsigned long binsX, const unsigned long binsY,
423  const double weight ) {
424  return algo.profile2D( valueX, valueY, valueZ, title, lowX, highX, lowY, highY, binsX, binsY, weight );
425 }
426 // ========================================================================
427 // 2D-profiles: by generic ID
428 // ========================================================================
429 AIDA::IProfile2D* GaudiPython::HistoDecorator::profile2D( const GaudiHistoAlg& algo, const double valueX,
430  const double valueY, const double valueZ,
431  const GaudiAlg::HistoID& ID, const std::string& title,
432  const double lowX, const double highX, const double lowY,
433  const double highY, const unsigned long binsX,
434  const unsigned long binsY, const double weight ) {
435  return algo.profile2D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
436 }
437 // ========================================================================
438 // 2D-profiles: by numeric ID
439 // ========================================================================
440 AIDA::IProfile2D* GaudiPython::HistoDecorator::profile2D( const GaudiHistoAlg& algo, const double valueX,
441  const double valueY, const double valueZ, const long ID,
442  const std::string& title, const double lowX,
443  const double highX, const double lowY, const double highY,
444  const unsigned long binsX, const unsigned long binsY,
445  const double weight ) {
446  return algo.profile2D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
447 }
448 // ========================================================================
449 // 2D-profiles: by string ID
450 // ========================================================================
451 AIDA::IProfile2D* GaudiPython::HistoDecorator::profile2D( const GaudiHistoAlg& algo, const double valueX,
452  const double valueY, const double valueZ,
453  const std::string& ID, const std::string& title,
454  const double lowX, const double highX, const double lowY,
455  const double highY, const unsigned long binsX,
456  const unsigned long binsY, const double weight ) {
457  return algo.profile2D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
458 }
459 // ============================================================================
460 // get all histograms
461 // ============================================================================
462 namespace {
464  // =========================================================================
465  template <typename Container, typename HISTO>
466  size_t fromMap( const Container& a, std::vector<GaudiAlg::ID>& b, std::vector<HISTO>& c ) {
467  b.clear();
468  c.clear();
469  for ( const auto& i : a ) {
470  if ( !i.second ) { continue; }
471  b.push_back( i.first );
472  c.push_back( i.second );
473  }
474  return b.size();
475  }
476  // ==========================================================================
477 } // namespace
478 // ============================================================================
481  histos.clear();
482  ids.clear();
483  return cmp ? fromMap( cmp->histo1DMapID(), ids, histos ) : 0;
484  // ==========================================================================
485 }
486 // ============================================================================
489  histos.clear();
490  ids.clear();
491  return cmp ? fromMap( cmp->histo1DMapID(), ids, histos ) : 0;
492  // ==========================================================================
493 }
494 // ============================================================================
497  ids.clear();
498  histos.clear();
499  return cmp ? _histos_a_( dynamic_cast<const GaudiHistoAlg*>( cmp ), ids, histos ) : 0;
500 }
501 // ============================================================================
504  ids.clear();
505  histos.clear();
506  return cmp ? _histos_t_( dynamic_cast<const GaudiHistoTool*>( cmp ), ids, histos ) : 0;
507 }
508 // ============================================================================
509 // 2D-histograms
510 // ============================================================================
513  histos.clear();
514  ids.clear();
515  return cmp ? fromMap( cmp->histo2DMapID(), ids, histos ) : 0;
516  // ==========================================================================
517 }
518 // ============================================================================
521  histos.clear();
522  ids.clear();
523  return cmp ? fromMap( cmp->histo2DMapID(), ids, histos ) : 0;
524  // ==========================================================================
525 }
526 // ============================================================================
529  ids.clear();
530  histos.clear();
531  return cmp ? _histos_a_( dynamic_cast<const GaudiHistoAlg*>( cmp ), ids, histos ) : 0;
532 }
533 // ============================================================================
536  ids.clear();
537  histos.clear();
538  return cmp ? _histos_t_( dynamic_cast<const GaudiHistoTool*>( cmp ), ids, histos ) : 0;
539 }
540 // ============================================================================
541 // 3D-histograms
542 // ============================================================================
545  histos.clear();
546  ids.clear();
547  return cmp ? fromMap( cmp->histo3DMapID(), ids, histos ) : 0;
548  // ==========================================================================
549 }
550 // ============================================================================
553  histos.clear();
554  ids.clear();
555  return cmp ? fromMap( cmp->histo3DMapID(), ids, histos ) : 0;
556  // ==========================================================================
557 }
558 // ============================================================================
561  ids.clear();
562  histos.clear();
563  return cmp ? _histos_a_( dynamic_cast<const GaudiHistoAlg*>( cmp ), ids, histos ) : 0;
564 }
565 // ============================================================================
568  ids.clear();
569  histos.clear();
570  return cmp ? _histos_t_( dynamic_cast<const GaudiHistoTool*>( cmp ), ids, histos ) : 0;
571 }
572 // ============================================================================
573 // 1D-profiles
574 // ============================================================================
577  histos.clear();
578  ids.clear();
579  return cmp ? fromMap( cmp->profile1DMapID(), ids, histos ) : 0;
580  // ==========================================================================
581 }
582 // ============================================================================
585  histos.clear();
586  ids.clear();
587  return cmp ? fromMap( cmp->profile1DMapID(), ids, histos ) : 0;
588  // ==========================================================================
589 }
590 // ============================================================================
593  ids.clear();
594  histos.clear();
595  return cmp ? _histos_a_( dynamic_cast<const GaudiHistoAlg*>( cmp ), ids, histos ) : 0;
596 }
597 // ============================================================================
600  ids.clear();
601  histos.clear();
602  return cmp ? _histos_t_( dynamic_cast<const GaudiHistoTool*>( cmp ), ids, histos ) : 0;
603 }
604 // ============================================================================
605 // 2D-profiles
606 // ============================================================================
609  histos.clear();
610  ids.clear();
611  return cmp ? fromMap( cmp->profile2DMapID(), ids, histos ) : 0;
612  // ==========================================================================
613 }
614 // ============================================================================
617  histos.clear();
618  ids.clear();
619  return cmp ? fromMap( cmp->profile2DMapID(), ids, histos ) : 0;
620  // ==========================================================================
621 }
622 // ============================================================================
625  ids.clear();
626  histos.clear();
627  return cmp ? _histos_a_( dynamic_cast<const GaudiHistoAlg*>( cmp ), ids, histos ) : 0;
628 }
629 // ============================================================================
632  ids.clear();
633  histos.clear();
634  return cmp ? _histos_t_( dynamic_cast<const GaudiHistoTool*>( cmp ), ids, histos ) : 0;
635 }
636 // ============================================================================
637 
638 // ============================================================================
639 // The END
640 // ============================================================================
GaudiHistos::plot3D
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)
Definition: GaudiHistos_3DFixedBinning.icpp:121
GaudiHistoTool
Definition: GaudiHistoTool.h:49
GaudiHistos::plot1D
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)
Definition: GaudiHistos_1DFixedBinning.icpp:113
std::string
STL class.
IAlgTool
Definition: IAlgTool.h:33
GaudiAlg::ID
Definition: GaudiHistoID.h:53
GaudiHistos::histo3DMapID
const Histo3DMapID & histo3DMapID() const
get access to the map of all 3D histograms index via a ID
Definition: GaudiHistos.h:2558
GaudiPython::HistoDecorator::_histos_t_
static size_t _histos_t_(const GaudiHistoTool *cmp, IDs &ids, Histos1D &histos)
Definition: HistoDecorator.cpp:487
GaudiPython::HistoDecorator::plot1D
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)
Definition: HistoDecorator.cpp:40
GaudiPython::HistoDecorator::profile1D
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)
Definition: HistoDecorator.cpp:376
std::vector< double >
std::vector::size
T size(T... args)
GaudiPython::_identity
Definition: Vector.h:37
GaudiPython::HistoDecorator::plot3D
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)
Definition: HistoDecorator.cpp:279
GaudiHistoTool.h
gaudirun.c
c
Definition: gaudirun.py:525
GaudiHistos::histo1DMapID
const Histo1DMapID & histo1DMapID() const
get access to the map of all 1D histograms index via ID
Definition: GaudiHistos.h:2458
GaudiPython::HistoDecorator::profile2D
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)
Definition: HistoDecorator.cpp:418
GaudiPython::HistoDecorator::plot2D
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)
Definition: HistoDecorator.cpp:182
GaudiHistoAlg.h
std::vector::clear
T clear(T... args)
GaudiHistos::plot2D
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)
Definition: GaudiHistos_2DFixedBinning.icpp:116
std::vector::push_back
T push_back(T... args)
Vector.h
GaudiPython::HistoDecorator::_histos_a_
static size_t _histos_a_(const GaudiHistoAlg *cmp, IDs &ids, Histos1D &histos)
Definition: HistoDecorator.cpp:479
IAlgorithm
Definition: IAlgorithm.h:38
GaudiHistos::profile1DMapID
const Profile1DMapID & profile1DMapID() const
get access to the map of 1D profile histograms index via a ID
Definition: GaudiHistos.h:2610
GaudiHistos::histo2DMapID
const Histo2DMapID & histo2DMapID() const
get access to the map of 2D histograms index via ID
Definition: GaudiHistos.h:2508
GaudiHistos::profile1D
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)
Definition: GaudiHistos_1DProfFixedBinning.icpp:114
compareRootHistos.histos
histos
Definition: compareRootHistos.py:26
std::vector::begin
T begin(T... args)
GaudiHistoAlg
Definition: GaudiHistoAlg.h:47
GaudiHistos::plot
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:162
GaudiHistos::profile2DMapID
const Profile2DMapID & profile2DMapID() const
get access to the map of 2D profile histograms index via a ID
Definition: GaudiHistos.h:2660
GaudiHistos::profile2D
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)
Definition: GaudiHistos_2DProfFixedBinning.icpp:113
std::vector::end
T end(T... args)
HistoDecorator.h