Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
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 // 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  return algo.plot1D( data, title, low, high, bins );
34 }
35 // ============================================================================
36 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
37  * (Expected to be more efficient)
38  * @param algo the algorithm
39  * @param data data
40  * @param ID histogram ID
41  * @param title histogram title
42  * @param low low edge
43  * @param high high edge
44  * @param bins number of bins
45  */
46 // ============================================================================
47 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const double data,
48  const GaudiAlg::HistoID& ID, const std::string& title,
49  const double low, const double high,
50  const unsigned long bins ) {
51  return algo.plot1D( data, ID, title, low, high, bins );
52 }
53 // ============================================================================
54 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
55  * (Expected to be more efficient)
56  * @param algo the algorithm
57  * @param data data
58  * @param ID histogram ID
59  * @param title histogram title
60  * @param low low edge
61  * @param high high edge
62  * @param bins number of bins
63  */
64 // ============================================================================
65 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const double data, const long ID,
66  const std::string& title, const double low, const double high,
67  const unsigned long bins ) {
68  return algo.plot1D( data, ID, title, low, high, bins );
69 }
70 // ============================================================================
71 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
72  * (Expected to be more efficient)
73  * @param algo the algorithm
74  * @param data data
75  * @param ID histogram ID
76  * @param title histogram title
77  * @param low low edge
78  * @param high high edge
79  * @param bins number of bins
80  */
81 // ============================================================================
82 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const double data,
83  const std::string& ID, const std::string& title,
84  const double low, const double high,
85  const unsigned long bins ) {
86  return algo.plot1D( data, ID, title, low, high, bins );
87 }
88 // ============================================================================
89 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
90  * (Expected to be more efficient)
91  * @param algo the algorithm
92  * @param data vector of data
93  * @param title histogram title
94  * @param low low edge
95  * @param high high edge
96  * @param bins number of bins
97  */
98 // ============================================================================
99 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
100  const std::string& title, const double low, const double high,
101  const unsigned long bins ) {
102  return algo.plot( GaudiPython::_identity(), data.begin(), data.end(), title, low, high, bins );
103 }
104 // ============================================================================
105 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
106  * (Expected to be more efficient)
107  * @param algo the algorithm
108  * @param data vector of data
109  * @param ID histogram ID
110  * @param title histogram title
111  * @param low low edge
112  * @param high high edge
113  * @param bins number of bins
114  */
115 // ============================================================================
116 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
117  const GaudiAlg::HistoID& ID, const std::string& title,
118  const double low, const double high,
119  const unsigned long bins ) {
120  return algo.plot( GaudiPython::_identity(), data.begin(), data.end(), ID, title, low, high, bins );
121 }
122 // ============================================================================
123 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
124  * (Expected to be more efficient)
125  * @param algo the algorithm
126  * @param data vector of data
127  * @param ID histogram ID
128  * @param title histogram title
129  * @param low low edge
130  * @param high high edge
131  * @param bins number of bins
132  */
133 // ============================================================================
134 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
135  const long ID, const std::string& title, const double low,
136  const double high, const unsigned long bins ) {
137  return algo.plot( GaudiPython::_identity(), data.begin(), data.end(), ID, title, low, high, bins );
138 }
139 // ============================================================================
140 /* "plot"(book&fill) a sequence of data from the vector (implicit loop)
141  * (Expected to be more efficient)
142  * @param algo the algorithm
143  * @param data vector of data
144  * @param ID histogram ID
145  * @param title histogram title
146  * @param low low edge
147  * @param high high edge
148  * @param bins number of bins
149  */
150 // ============================================================================
151 AIDA::IHistogram1D* GaudiPython::HistoDecorator::plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
152  const std::string& ID, const std::string& title,
153  const double low, const double high,
154  const unsigned long bins ) {
155  return algo.plot( GaudiPython::_identity(), data.begin(), data.end(), ID, title, low, high, bins );
156 }
157 // ============================================================================
158 /* fill the 2D histogram (book on demand)
159  * @param valueX x value to be filled
160  * @param valueY y value to be filled
161  * @param title histogram title (must be unique within the algorithm)
162  * @param lowX low x limit for histogram
163  * @param highX high x limit for histogram
164  * @param lowY low y limit for histogram
165  * @param highY high y limit for histogram
166  * @param binsX number of bins in x
167  * @param binsY number of bins in y
168  * @param weight weight
169  * @return pointer to AIDA 2D histogram
170  */
171 // ============================================================================
172 AIDA::IHistogram2D* GaudiPython::HistoDecorator::plot2D( const GaudiHistoAlg& algo, const double valueX,
173  const double valueY, const std::string& title,
174  const double lowX, const double highX, const double lowY,
175  const double highY, const unsigned long binsX,
176  const unsigned long binsY, const double weight ) {
177  return algo.plot2D( valueX, valueY, title, lowX, highX, lowY, highY, binsX, binsY, weight );
178 }
179 // ============================================================================
194 // ============================================================================
195 AIDA::IHistogram2D* GaudiPython::HistoDecorator::plot2D( const GaudiHistoAlg& algo, const double valueX,
196  const double valueY, const GaudiAlg::HistoID& ID,
197  const std::string& title, const double lowX,
198  const double highX, const double lowY, const double highY,
199  const unsigned long binsX, const unsigned long binsY,
200  const double weight ) {
201  return algo.plot2D( valueX, valueY, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
202 }
203 // ============================================================================
204 /* fill the 2D histogram (book on demand)
205  * @param valueX x value to be filled
206  * @param valueY y value to be filled
207  * @param ID Histogram ID to use
208  * @param title histogram title (must be unique within the algorithm)
209  * @param lowX low x limit for histogram
210  * @param highX high x limit for histogram
211  * @param lowY low y limit for histogram
212  * @param highY high y limit for histogram
213  * @param binsX number of bins in x
214  * @param binsY number of bins in y
215  * @param weight weight
216  * @return pointer to AIDA 2D histogram
217  */
218 // ============================================================================
219 AIDA::IHistogram2D* GaudiPython::HistoDecorator::plot2D( const GaudiHistoAlg& algo, const double valueX,
220  const double valueY, const long ID, const std::string& title,
221  const double lowX, const double highX, const double lowY,
222  const double highY, const unsigned long binsX,
223  const unsigned long binsY, const double weight ) {
224  return algo.plot2D( valueX, valueY, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
225 }
226 // ============================================================================
227 /* fill the 2D histogram (book on demand)
228  * @param valueX x value to be filled
229  * @param valueY y value to be filled
230  * @param ID Histogram ID to use
231  * @param title histogram title (must be unique within the algorithm)
232  * @param lowX low x limit for histogram
233  * @param highX high x limit for histogram
234  * @param lowY low y limit for histogram
235  * @param highY high y limit for histogram
236  * @param binsX number of bins in x
237  * @param binsY number of bins in y
238  * @param weight weight
239  * @return pointer to AIDA 2D histogram
240  */
241 // ============================================================================
242 AIDA::IHistogram2D* GaudiPython::HistoDecorator::plot2D( const GaudiHistoAlg& algo, const double valueX,
243  const double valueY, const std::string& ID,
244  const std::string& title, const double lowX,
245  const double highX, const double lowY, const double highY,
246  const unsigned long binsX, const unsigned long binsY,
247  const double weight ) {
248  return algo.plot2D( valueX, valueY, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
249 }
250 // ============================================================================
251 /* fill the 3D histogram (book on demand)
252  * @param valueX x value to be filled
253  * @param valueY y value to be filled
254  * @param valueZ z value to be filled
255  * @param title histogram title (must be unique within the algorithm)
256  * @param lowX low x limit for histogram
257  * @param highX high x limit for histogram
258  * @param lowY low y limit for histogram
259  * @param highY high y limit for histogram
260  * @param lowZ low z limit for histogram
261  * @param highZ high z limit for histogram
262  * @param binsX number of bins in x
263  * @param binsY number of bins in y
264  * @param binsZ number of bins in z
265  * @param weight weight
266  * @return pointer to AIDA 3D histogram
267  */
268 // ============================================================================
270  const GaudiHistoAlg& algo, const double valueX, const double valueY, const double valueZ, const std::string& title,
271  const double lowX, const double highX, const double lowY, const double highY, const double lowZ, const double highZ,
272  const unsigned long binsX, const unsigned long binsY, const unsigned long binsZ, const double weight ) {
273  return algo.plot3D( valueX, valueY, valueZ, title, lowX, highX, lowY, highY, lowZ, highZ, binsX, binsY, binsZ,
274  weight );
275 }
276 // ============================================================================
277 /* fill the 3D histogram (book on demand)
278  * @param valueX x value to be filled
279  * @param valueY y value to be filled
280  * @param valueZ z value to be filled
281  * @param title histogram title (must be unique within the algorithm)
282  * @param lowX low x limit for histogram
283  * @param highX high x limit for histogram
284  * @param lowY low y limit for histogram
285  * @param highY high y limit for histogram
286  * @param lowZ low z limit for histogram
287  * @param highZ high z limit for histogram
288  * @param binsX number of bins in x
289  * @param binsY number of bins in y
290  * @param binsZ number of bins in z
291  * @param weight weight
292  * @return pointer to AIDA 3D histogram
293  */
294 // ============================================================================
295 AIDA::IHistogram3D* GaudiPython::HistoDecorator::plot3D( const GaudiHistoAlg& algo, const double valueX,
296  const double valueY, const double valueZ,
297  const GaudiAlg::HistoID& ID, const std::string& title,
298  const double lowX, const double highX, const double lowY,
299  const double highY, const double lowZ, const double highZ,
300  const unsigned long binsX, const unsigned long binsY,
301  const unsigned long binsZ, const double weight ) {
302  return algo.plot3D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, lowZ, highZ, binsX, binsY, binsZ,
303  weight );
304 }
305 // ============================================================================
306 /* fill the 3D histogram (book on demand)
307  * @param valueX x value to be filled
308  * @param valueY y value to be filled
309  * @param valueZ z value to be filled
310  * @param title histogram title (must be unique within the algorithm)
311  * @param lowX low x limit for histogram
312  * @param highX high x limit for histogram
313  * @param lowY low y limit for histogram
314  * @param highY high y limit for histogram
315  * @param lowZ low z limit for histogram
316  * @param highZ high z limit for histogram
317  * @param binsX number of bins in x
318  * @param binsY number of bins in y
319  * @param binsZ number of bins in z
320  * @param weight weight
321  * @return pointer to AIDA 3D histogram
322  */
323 // ============================================================================
324 AIDA::IHistogram3D* GaudiPython::HistoDecorator::plot3D( const GaudiHistoAlg& algo, const double valueX,
325  const double valueY, const double valueZ, const long ID,
326  const std::string& title, const double lowX,
327  const double highX, const double lowY, const double highY,
328  const double lowZ, const double highZ,
329  const unsigned long binsX, const unsigned long binsY,
330  const unsigned long binsZ, const double weight ) {
331  return algo.plot3D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, lowZ, highZ, binsX, binsY, binsZ,
332  weight );
333 }
334 // ============================================================================
335 /* fill the 3D histogram (book on demand)
336  * @param valueX x value to be filled
337  * @param valueY y value to be filled
338  * @param valueZ z value to be filled
339  * @param title histogram title (must be unique within the algorithm)
340  * @param lowX low x limit for histogram
341  * @param highX high x limit for histogram
342  * @param lowY low y limit for histogram
343  * @param highY high y limit for histogram
344  * @param lowZ low z limit for histogram
345  * @param highZ high z limit for histogram
346  * @param binsX number of bins in x
347  * @param binsY number of bins in y
348  * @param binsZ number of bins in z
349  * @param weight weight
350  * @return pointer to AIDA 3D histogram
351  */
352 // ============================================================================
353 AIDA::IHistogram3D* GaudiPython::HistoDecorator::plot3D( const GaudiHistoAlg& algo, const double valueX,
354  const double valueY, const double valueZ,
355  const std::string& ID, const std::string& title,
356  const double lowX, const double highX, const double lowY,
357  const double highY, const double lowZ, const double highZ,
358  const unsigned long binsX, const unsigned long binsY,
359  const unsigned long binsZ, const double weight ) {
360  return algo.plot3D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, lowZ, highZ, binsX, binsY, binsZ,
361  weight );
362 }
363 // ========================================================================
364 // 1D-profiles: by title
365 // ========================================================================
366 AIDA::IProfile1D* GaudiPython::HistoDecorator::profile1D( const GaudiHistoAlg& algo, const double valueX,
367  const double valueY, const std::string& title,
368  const double lowX, const double highX,
369  const unsigned long binsX, const std::string& opt,
370  const double lowY, const double highY, const double weight ) {
371  return algo.profile1D( valueX, valueY, title, lowX, highX, binsX, opt, lowY, highY, weight );
372 }
373 // ========================================================================
374 // 1D-profiles: by generic ID
375 // ========================================================================
376 AIDA::IProfile1D* GaudiPython::HistoDecorator::profile1D( const GaudiHistoAlg& algo, const double valueX,
377  const double valueY, const GaudiAlg::HistoID& ID,
378  const std::string& title, const double lowX,
379  const double highX, const unsigned long binsX,
380  const std::string& opt, const double lowY, const double highY,
381  const double weight ) {
382  return algo.profile1D( valueX, valueY, ID, title, lowX, highX, binsX, opt, lowY, highY, weight );
383 }
384 // ========================================================================
385 // 1D-profiles: by numeric ID
386 // ========================================================================
387 AIDA::IProfile1D* GaudiPython::HistoDecorator::profile1D( const GaudiHistoAlg& algo, const double valueX,
388  const double valueY, const long ID, const std::string& title,
389  const double lowX, const double highX,
390  const unsigned long binsX, const std::string& opt,
391  const double lowY, const double highY, const double weight ) {
392  return algo.profile1D( valueX, valueY, ID, title, lowX, highX, binsX, opt, lowY, highY, weight );
393 }
394 // ========================================================================
395 // 1D-profiles: by string ID
396 // ========================================================================
397 AIDA::IProfile1D* GaudiPython::HistoDecorator::profile1D( const GaudiHistoAlg& algo, const double valueX,
398  const double valueY, const std::string& ID,
399  const std::string& title, const double lowX,
400  const double highX, const unsigned long binsX,
401  const std::string& opt, const double lowY, const double highY,
402  const double weight ) {
403  return algo.profile1D( valueX, valueY, ID, title, lowX, highX, binsX, opt, lowY, highY, weight );
404 }
405 // ========================================================================
406 // 2D-profiles: by title
407 // ========================================================================
408 AIDA::IProfile2D* GaudiPython::HistoDecorator::profile2D( const GaudiHistoAlg& algo, const double valueX,
409  const double valueY, const double valueZ,
410  const std::string& title, const double lowX,
411  const double highX, const double lowY, const double highY,
412  const unsigned long binsX, const unsigned long binsY,
413  const double weight ) {
414  return algo.profile2D( valueX, valueY, valueZ, title, lowX, highX, lowY, highY, binsX, binsY, weight );
415 }
416 // ========================================================================
417 // 2D-profiles: by generic ID
418 // ========================================================================
419 AIDA::IProfile2D* GaudiPython::HistoDecorator::profile2D( const GaudiHistoAlg& algo, const double valueX,
420  const double valueY, const double valueZ,
421  const GaudiAlg::HistoID& ID, const std::string& title,
422  const double lowX, const double highX, const double lowY,
423  const double highY, const unsigned long binsX,
424  const unsigned long binsY, const double weight ) {
425  return algo.profile2D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
426 }
427 // ========================================================================
428 // 2D-profiles: by numeric ID
429 // ========================================================================
430 AIDA::IProfile2D* GaudiPython::HistoDecorator::profile2D( const GaudiHistoAlg& algo, const double valueX,
431  const double valueY, const double valueZ, const long ID,
432  const std::string& title, const double lowX,
433  const double highX, const double lowY, const double highY,
434  const unsigned long binsX, const unsigned long binsY,
435  const double weight ) {
436  return algo.profile2D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
437 }
438 // ========================================================================
439 // 2D-profiles: by string ID
440 // ========================================================================
441 AIDA::IProfile2D* GaudiPython::HistoDecorator::profile2D( const GaudiHistoAlg& algo, const double valueX,
442  const double valueY, const double valueZ,
443  const std::string& ID, const std::string& title,
444  const double lowX, const double highX, const double lowY,
445  const double highY, const unsigned long binsX,
446  const unsigned long binsY, const double weight ) {
447  return algo.profile2D( valueX, valueY, valueZ, ID, title, lowX, highX, lowY, highY, binsX, binsY, weight );
448 }
449 // ============================================================================
450 // get all histograms
451 // ============================================================================
452 namespace {
454  // =========================================================================
455  template <typename Container, typename HISTO>
456  size_t fromMap( const Container& a, std::vector<GaudiAlg::ID>& b, std::vector<HISTO>& c ) {
457  b.clear();
458  c.clear();
459  for ( const auto& i : a ) {
460  if ( !i.second ) { continue; }
461  b.push_back( i.first );
462  c.push_back( i.second );
463  }
464  return b.size();
465  }
466  // ==========================================================================
467 } // namespace
468 // ============================================================================
471  histos.clear();
472  ids.clear();
473  return cmp ? fromMap( cmp->histo1DMapID(), ids, histos ) : 0;
474  // ==========================================================================
475 }
476 // ============================================================================
479  histos.clear();
480  ids.clear();
481  return cmp ? fromMap( cmp->histo1DMapID(), ids, histos ) : 0;
482  // ==========================================================================
483 }
484 // ============================================================================
487  ids.clear();
488  histos.clear();
489  return cmp ? _histos_a_( dynamic_cast<const GaudiHistoAlg*>( cmp ), ids, histos ) : 0;
490 }
491 // ============================================================================
494  ids.clear();
495  histos.clear();
496  return cmp ? _histos_t_( dynamic_cast<const GaudiHistoTool*>( cmp ), ids, histos ) : 0;
497 }
498 // ============================================================================
499 // 2D-histograms
500 // ============================================================================
503  histos.clear();
504  ids.clear();
505  return cmp ? fromMap( cmp->histo2DMapID(), ids, histos ) : 0;
506  // ==========================================================================
507 }
508 // ============================================================================
511  histos.clear();
512  ids.clear();
513  return cmp ? fromMap( cmp->histo2DMapID(), ids, histos ) : 0;
514  // ==========================================================================
515 }
516 // ============================================================================
519  ids.clear();
520  histos.clear();
521  return cmp ? _histos_a_( dynamic_cast<const GaudiHistoAlg*>( cmp ), ids, histos ) : 0;
522 }
523 // ============================================================================
526  ids.clear();
527  histos.clear();
528  return cmp ? _histos_t_( dynamic_cast<const GaudiHistoTool*>( cmp ), ids, histos ) : 0;
529 }
530 // ============================================================================
531 // 3D-histograms
532 // ============================================================================
535  histos.clear();
536  ids.clear();
537  return cmp ? fromMap( cmp->histo3DMapID(), ids, histos ) : 0;
538  // ==========================================================================
539 }
540 // ============================================================================
543  histos.clear();
544  ids.clear();
545  return cmp ? fromMap( cmp->histo3DMapID(), ids, histos ) : 0;
546  // ==========================================================================
547 }
548 // ============================================================================
551  ids.clear();
552  histos.clear();
553  return cmp ? _histos_a_( dynamic_cast<const GaudiHistoAlg*>( cmp ), ids, histos ) : 0;
554 }
555 // ============================================================================
558  ids.clear();
559  histos.clear();
560  return cmp ? _histos_t_( dynamic_cast<const GaudiHistoTool*>( cmp ), ids, histos ) : 0;
561 }
562 // ============================================================================
563 // 1D-profiles
564 // ============================================================================
567  histos.clear();
568  ids.clear();
569  return cmp ? fromMap( cmp->profile1DMapID(), ids, histos ) : 0;
570  // ==========================================================================
571 }
572 // ============================================================================
575  histos.clear();
576  ids.clear();
577  return cmp ? fromMap( cmp->profile1DMapID(), ids, histos ) : 0;
578  // ==========================================================================
579 }
580 // ============================================================================
583  ids.clear();
584  histos.clear();
585  return cmp ? _histos_a_( dynamic_cast<const GaudiHistoAlg*>( cmp ), ids, histos ) : 0;
586 }
587 // ============================================================================
590  ids.clear();
591  histos.clear();
592  return cmp ? _histos_t_( dynamic_cast<const GaudiHistoTool*>( cmp ), ids, histos ) : 0;
593 }
594 // ============================================================================
595 // 2D-profiles
596 // ============================================================================
599  histos.clear();
600  ids.clear();
601  return cmp ? fromMap( cmp->profile2DMapID(), ids, histos ) : 0;
602  // ==========================================================================
603 }
604 // ============================================================================
607  histos.clear();
608  ids.clear();
609  return cmp ? fromMap( cmp->profile2DMapID(), ids, histos ) : 0;
610  // ==========================================================================
611 }
612 // ============================================================================
615  ids.clear();
616  histos.clear();
617  return cmp ? _histos_a_( dynamic_cast<const GaudiHistoAlg*>( cmp ), ids, histos ) : 0;
618 }
619 // ============================================================================
622  ids.clear();
623  histos.clear();
624  return cmp ? _histos_t_( dynamic_cast<const GaudiHistoTool*>( cmp ), ids, histos ) : 0;
625 }
626 // ============================================================================
627 
628 // ============================================================================
629 // The END
630 // ============================================================================
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:27
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:152
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:2650
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:2448
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:2600
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:2498
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:43
const Histo3DMapID & histo3DMapID() const
get access to the map of all 3D histograms index via a ID
Definition: GaudiHistos.h:2548