| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Functions | Variables
GaudiPython.HistoUtils Namespace Reference

## Classes
class | HistoFile

## Functions
def | _getAppMgr
| Helper private auxiliary function to get Application Manager.
def | _getHistoSvc
| Helper private auxiliary function to get iHistogramSvs.
def | _getEvtSvc
| Helper private auxiliary function to get iDataSvs.
def | book
| The trivial function to book the various 1D,2D&3D-histograms.
def | bookProf
| The trivial function to book 1D&2D profile histograms:
def | getAsAIDA
| The most trivial function to retrieve the histogram from Histogram Transient Store.
def | getAsROOT
| The most trivial function to retrieve the histogram from Histogram Transient Store.
def | fill
| The function which allows 'the smart fill' of 1D-histogram.
def | _to_root_
| Convert AIDA to ROOT.
def | _moment_
| Evaluate 'bin-by-bin' momentum of certain order around the value.
def | _momentErr_
| Evaluate error in 'bin-by-bin' momentum of certain order around the value.
def | _centralMoment_
| Evaluate 'bin-by-bin' central momentum (around mean value)
def | _centralMomentErr_
| Evaluate error in 'bin-by-bin' momentum of certain order around the value.
def | _skewness_
| Evaluate 'bin-by-bin' skewness for 1D histogram.
def | _skewnessErr_
| Evaluate error for 'bin-by-bin' skewness for 1D histogram.
def | _kurtosis_
| Evaluate 'bin-by-bin' kurtosis for 1D histogram.
def | _kurtosisErr_
| Evaluate error for 'bin-by-bin' kurtosis for 1D histogram.
def | _nEff_
def | _mean_
def | _meanErr_
def | _rms_
def | _rmsErr_
def | _sumBinHeightErr_
def | _sumAllBinHeightErr_
def | _overflowEntriesFrac_
def | _overflowEntriesFracErr_
def | _underflowEntriesFrac_
def | _underflowEntriesFracErr_
def | _overflowIntegralFrac_
def | _overflowIntegralFracErr_
def | _underflowIntegralFrac_
def | _underflowIntegralFracErr_
def | _nEntries_
| get number of entries in histogram up to the certain bin (not-included) get number of entries in histogram form the certain minimal bin up to the certain maximal bin (not-included)
def | _nEntriesFrac_
def | _nEntriesFracErr_
def | _path_
| ============================================================================
def | __dumpHisto__
| =============================================================================

## Variables
string | __author__ "Vanya BELYAEV ibelyaev@physics.syr.edu"
| This module contains set of simple and useful utilities for booking and manipulations with Gaudi-AIDA histograms, inspired by Thomas' request.
tuple | __all__
| HID cpp.GaudiAlg.ID
| useROOT False
| global flag
| aida2root cpp.Gaudi.Utils.Aida2ROOT.aida2root
| AIDA -> ROOT converter.
| HistoStats cpp.Gaudi.Utils.HistoStats
| i1DH cpp.AIDA.IHistogram1D
| iBH cpp.AIDA.IBaseHistogram
| histoDump __dumpHisto__
| the actual function for text dump of the histogram
| dumpHisto __dumpHisto__

## Function Documentation

def GaudiPython.HistoUtils.__dumpHisto__ | ( |  | histo,
|  |  | args
| ) |  |

=============================================================================

    Dump the histogram/profile in text format (a'la HBOOK)

    >>> histo
    >>> print dumpHisto ( histo )

    >>> print histo.dump()
    >>> print histo.dump( 20 , 20 )
    >>> print histo.dump( 20 , 20 , True )

    Uses:

Definition at line 778 of file HistoUtils.py.

778
779 def __dumpHisto__ ( histo , *args ) :
780 """
781
782 Dump the histogram/profile in text format (a'la HBOOK)
783
784 >>> histo
785 >>> print dumpHisto ( histo )
786
787 >>> print histo.dump()
788 >>> print histo.dump( 20 , 20 )
789 >>> print histo.dump( 20 , 20 , True )
790
791 Uses:
792
793 """
794 return cpp.Gaudi.Utils.Histos.histoDump ( histo , *args )

def GaudiPython.HistoUtils._centralMoment_ | ( |  | self,
|  |  | order
| ) |  |
| private

Evaluate 'bin-by-bin' central momentum (around mean value)

    Evaluate 'bin-by-bin' central momentum (around mean value)
    for 1D histogram

    >>> h1 = ...
    >>> print h1.centralMoment ( 5 )

Definition at line 502 of file HistoUtils.py.

502
503 def _centralMoment_ ( self , order ) :
504 """
505 Evaluate 'bin-by-bin' central momentum (around mean value)
506 for 1D histogram
507
508 >>> h1 = ...
509 >>> print h1.centralMoment ( 5 )
510
511 """
512 return HistoStats.centralMoment ( self , order )
513
# =============================================================================

def GaudiPython.HistoUtils._centralMomentErr_ | ( |  | self,
|  |  | order
| ) |  |
| private

Evaluate error in 'bin-by-bin' momentum of certain order around the value.

    Evaluate error for 'bin-by-bin' central momentum (around mean value)
    for 1D histogram

    >>> h1 = ...
    >>> print h1.centralMomentErr ( 5 )

Definition at line 515 of file HistoUtils.py.

515
516 def _centralMomentErr_ ( self , order ) :
517 """
518 Evaluate error for 'bin-by-bin' central momentum (around mean value)
519 for 1D histogram
520
521 >>> h1 = ...
522 >>> print h1.centralMomentErr ( 5 )
523
524 """
525 return HistoStats.centralMomentErr ( self , order )
526
# =============================================================================

def GaudiPython.HistoUtils._getAppMgr | ( |  | kwargs | ) |
| private

Helper private auxiliary function to get Application Manager.

    Helper private auxiliary function to get Application Manager

Definition at line 54 of file HistoUtils.py.

54
55 def _getAppMgr ( **kwargs ) :
56 """
57 Helper private auxiliary function to get Application Manager
58 """
59 gaudi = kwargs.get ( 'gaudi' , None )
60 if not gaudi : gaudi = AppMgr()
61 if not gaudi : raise RuntimeError, 'Unable to get valid ApplicationMgr'
62
63 state = gaudi._isvc.FSMState()
64 if state < cpp.Gaudi.StateMachine.CONFIGURED : gaudi.config ()
65 state = gaudi._isvc.FSMState()
66 if state < cpp.Gaudi.StateMachine.INITIALIZED : gaudi.initialize ()
67
68 return gaudi ## RETURN
69
# =============================================================================

def GaudiPython.HistoUtils._getEvtSvc | ( |  | kwargs | ) |
| private

Helper private auxiliary function to get iDataSvs.

    Helper private auxiliary function to get iDataSvs

Definition at line 83 of file HistoUtils.py.

83
84 def _getEvtSvc ( **kwargs ) :
85 """
86 Helper private auxiliary function to get iDataSvs
87 """
88 svc = kwargs.get ( 'service' , None )
89 if not svc : svc = kwargs.get ( 'svc' , None )
90 else : return svc ## RETURN
91 gaudi = _getAppMgr ( **kwargs )
92 return gaudi.evtsvc() ## RETURN
93
# =============================================================================

def GaudiPython.HistoUtils._getHistoSvc | ( |  | kwargs | ) |
| private

Helper private auxiliary function to get iHistogramSvs.

    Helper private auxiliary function to get iHistogramSvs

Definition at line 71 of file HistoUtils.py.

71
72 def _getHistoSvc ( **kwargs ) :
73 """
74 Helper private auxiliary function to get iHistogramSvs
75 """
76 svc = kwargs.get ( 'service' , None )
77 if not svc : svc = kwargs.get ( 'svc' , None )
78 else : return svc ## RETURN
79 gaudi = _getAppMgr ( **kwargs )
80 return gaudi.histsvc () ## RETURN
81
# =============================================================================

def GaudiPython.HistoUtils._kurtosis_ | ( |  | self | ) |
| private

Evaluate 'bin-by-bin' kurtosis for 1D histogram.

    Evaluate 'bin-by-bin' kurtosis

    >>> h1 = ...
    >>> print h1.kurtosis ()

Definition at line 552 of file HistoUtils.py.

552
553 def _kurtosis_ ( self ) :
554 """
555 Evaluate 'bin-by-bin' kurtosis
556
557 >>> h1 = ...
558 >>> print h1.kurtosis ()
559
560 """
561 return HistoStats.kurtosis ( self )
562
# =============================================================================

def GaudiPython.HistoUtils._kurtosisErr_ | ( |  | self | ) |
| private

Evaluate error for 'bin-by-bin' kurtosis for 1D histogram.

    Evaluate error for 'bin-by-bin' kurtotis for 1D AIDA histogram

    >>> h1 = ...
    >>> print h1.kurtotisErr()

Definition at line 564 of file HistoUtils.py.

564
565 def _kurtosisErr_ ( self ) :
566 """
567 Evaluate error for 'bin-by-bin' kurtotis for 1D AIDA histogram
568
569 >>> h1 = ...
570 >>> print h1.kurtotisErr()
571
572 """
573 return HistoStats.kurtosisErr ( self )
574
# =============================================================================

def GaudiPython.HistoUtils._mean_ | ( |  | self | ) |
| private

    Evaluate the MEAN value

Definition at line 581 of file HistoUtils.py.

581
582 def _mean_ ( self ) :
583 """
584 Evaluate the MEAN value
585 """
586 return HistoStats.mean ( self )
# =============================================================================

def GaudiPython.HistoUtils._meanErr_ | ( |  | self | ) |
| private

    Evaluate the error for MEAN estimate

Definition at line 587 of file HistoUtils.py.

587
588 def _meanErr_ ( self ) :
589 """
590 Evaluate the error for MEAN estimate
591 """
592 return HistoStats.meanErr ( self )
593
# =============================================================================

def GaudiPython.HistoUtils._moment_ | ( |  | self,
|  |  | order,
|  |  | value = `0`
| ) |  |
| private

Evaluate 'bin-by-bin' momentum of certain order around the value.

    Evaluate 'bin-by-bin' momentum of order 'order' around the value 'value'
    for 1D histogram

    >>> h1 = ...
    >>> print h1.moment ( 5 )

Definition at line 477 of file HistoUtils.py.

477
478 def _moment_ ( self , order , value = 0 ) :
479 """
480 Evaluate 'bin-by-bin' momentum of order 'order' around the value 'value'
481 for 1D histogram
482
483 >>> h1 = ...
484 >>> print h1.moment ( 5 )
485
486 """
487 return HistoStats.moment ( self , order , value )
488
# =============================================================================

def GaudiPython.HistoUtils._momentErr_ | ( |  | self,
|  |  | order
| ) |  |
| private

Evaluate error in 'bin-by-bin' momentum of certain order around the value.

    Evaluate error for 'bin-by-bin' momentum of order 'order' around the value 'value'
    for 1D histogram

    >>> h1 = ...
    >>> print h1.momentErr ( 5 )

Definition at line 490 of file HistoUtils.py.

490
491 def _momentErr_ ( self , order ) :
492 """
493 Evaluate error for 'bin-by-bin' momentum of order 'order' around the value 'value'
494 for 1D histogram
495
496 >>> h1 = ...
497 >>> print h1.momentErr ( 5 )
498
499 """
500 return HistoStats.momentErr ( self , order )
# =============================================================================

def GaudiPython.HistoUtils._nEff_ | ( |  | self | ) |
| private

    Number of equivalent entries

Definition at line 575 of file HistoUtils.py.

575
576 def _nEff_ ( self ) :
577 """
578 Number of equivalent entries
579 """
580 return HistoStats.nEff ( self )
# =============================================================================

def GaudiPython.HistoUtils._nEntries_ | ( |  | self,
|  |  | i1,
|  |  | i2 = `-10000000`
| ) |  |
| private

get number of entries in histogram up to the certain bin (not-included) get number of entries in histogram form the certain minimal bin up to the certain maximal bin (not-included)

    Get number of entries in histogram up to  the certain bin (not-included)

    attention: underflow bin is included!

    >>> h1
    >>> print h1.nEntries ( 10 )

    Get number of entries in histogram form the certain
    minimal bin up to the certain maximal bin (not-included)

    >>> h1
    >>> print h1.nEntries ( 10 , 15 )

Definition at line 672 of file HistoUtils.py.

672
673 def _nEntries_ ( self , i1 , i2 = -10000000 ) :
674 """
675 Get number of entries in histogram up to the certain bin (not-included)
676
677 attention: underflow bin is included!
678
679 >>> h1
680 >>> print h1.nEntries ( 10 )
681
682 Get number of entries in histogram form the certain
683 minimal bin up to the certain maximal bin (not-included)
684
685 >>> h1
686 >>> print h1.nEntries ( 10 , 15 )
687
688 """
689 if i2 < i1 or i2 < 0 : return HistoStats.nEntries ( self , i1 )
690 return HistoStats.nEntries ( self , i1 , i2 )
# =============================================================================

def GaudiPython.HistoUtils._nEntriesFrac_ | ( |  | self,
|  |  | i1,
|  |  | i2 = `-10000000`
| ) |  |
| private

    Get the fraction of entries in histogram up to  the certain bin (not-included)

    attention: underflow bin is included!

    >>> h1
    >>> print h1.nEntriesFrac ( 10 )

    Get the fraction of entries in histogram form the certain
    minimal bin up to the certain maximal bin (not-included)

    >>> h1
    >>> print h1.nEntriesFrac ( 10 , 15 )

Definition at line 691 of file HistoUtils.py.

691
692 def _nEntriesFrac_ ( self , i1 , i2 = -10000000 ) :
693 """
694 Get the fraction of entries in histogram up to the certain bin (not-included)
695
696 attention: underflow bin is included!
697
698 >>> h1
699 >>> print h1.nEntriesFrac ( 10 )
700
701 Get the fraction of entries in histogram form the certain
702 minimal bin up to the certain maximal bin (not-included)
703
704 >>> h1
705 >>> print h1.nEntriesFrac ( 10 , 15 )
706
707 """
708 if i2 < i1 or i2 < 0 : return HistoStats.nEntriesFrac ( self , i1 )
709 return HistoStats.nEntriesFrac ( self , i1 , i2 )
# =============================================================================

def GaudiPython.HistoUtils._nEntriesFracErr_ | ( |  | self,
|  |  | i1,
|  |  | i2 = `-10000000`
| ) |  |
| private

    Get error for  fraction of entries in histogram up to  the certain bin (not-included)

    attention: underflow bin is included!

    >>> h1
    >>> print h1.nEntriesFracErr( 10 )

    Get error  fraction of entries in histogram form the certain
    minimal bin up to the certain maximal bin (not-included)

    >>> h1
    >>> print h1.nEntriesFracErr ( 10 , 15 )

Definition at line 710 of file HistoUtils.py.

710
711 def _nEntriesFracErr_ ( self , i1 , i2 = -10000000 ) :
712 """
713 Get error for fraction of entries in histogram up to the certain bin (not-included)
714
715 attention: underflow bin is included!
716
717 >>> h1
718 >>> print h1.nEntriesFracErr( 10 )
719
720 Get error fraction of entries in histogram form the certain
721 minimal bin up to the certain maximal bin (not-included)
722
723 >>> h1
724 >>> print h1.nEntriesFracErr ( 10 , 15 )
725
726 """
727 if i2 < i1 or i2 < 0 : return HistoStats.nEntriesFracErr ( self , i1 )
728 return HistoStats.nEntriesFracErr ( self , i1 , i2 )
729
# =============================================================================

def GaudiPython.HistoUtils._overflowEntriesFrac_ | ( |  | self | ) |
| private

    The fraction of overflow entries  (useful for shape comparison)

Definition at line 619 of file HistoUtils.py.

619
620 def _overflowEntriesFrac_ ( self ) :
621 """
622 The fraction of overflow entries (useful for shape comparison)
623 """
624 return HistoStats.overflowEntriesFrac ( self )
# =============================================================================

def GaudiPython.HistoUtils._overflowEntriesFracErr_ | ( |  | self | ) |
| private

    The error for fraction of overflow entries  (useful for shape comparison)

Definition at line 625 of file HistoUtils.py.

625
626 def _overflowEntriesFracErr_ ( self ) :
627 """
628 The error for fraction of overflow entries (useful for shape comparison)
629 """
630 return HistoStats.overflowEntriesFracErr ( self )
# =============================================================================

def GaudiPython.HistoUtils._overflowIntegralFrac_ | ( |  | self | ) |
| private

    The fraction of overflow integral  (useful for shape comparison)

Definition at line 644 of file HistoUtils.py.

644
645 def _overflowIntegralFrac_ ( self ) :
646 """
647 The fraction of overflow integral (useful for shape comparison)
648 """
649 return HistoStats.overflowIntegralFrac ( self )
# =============================================================================

def GaudiPython.HistoUtils._overflowIntegralFracErr_ | ( |  | self | ) |
| private

    The error for fraction of overflow integral  (useful for shape comparison)

Definition at line 650 of file HistoUtils.py.

650
651 def _overflowIntegralFracErr_ ( self ) :
652 """
653 The error for fraction of overflow integral (useful for shape comparison)
654 """
655 return HistoStats.overflowIntegralFracErr ( self )
# =============================================================================

def GaudiPython.HistoUtils._path_ | ( |  | self | ) |
| private

============================================================================

    Get the path in THS for the given AIDA object:

    >>> aida =
    >>> print aida.path()

Definition at line 761 of file HistoUtils.py.

761
762 def _path_ ( self ) :
763 """
764 Get the path in THS for the given AIDA object:
765
766 >>> aida =
767 >>> print aida.path()
768
769 """
770 return cpp.Gaudi.Utils.Histos.path ( self )

def GaudiPython.HistoUtils._rms_ | ( |  | self | ) |
| private

    Evaluate the RMS for AIDA histogram

Definition at line 594 of file HistoUtils.py.

594
595 def _rms_ ( self ) :
596 """
597 Evaluate the RMS for AIDA histogram
598 """
599 return HistoStats.rms ( self )
# =============================================================================

def GaudiPython.HistoUtils._rmsErr_ | ( |  | self | ) |
| private

    Evaluate the error for RMS estimate

Definition at line 600 of file HistoUtils.py.

600
601 def _rmsErr_ ( self ) :
602 """
603 Evaluate the error for RMS estimate
604 """
605 return HistoStats.rmsErr ( self )
606
# =============================================================================

def GaudiPython.HistoUtils._skewness_ | ( |  | self | ) |
| private

Evaluate 'bin-by-bin' skewness for 1D histogram.

    Evaluate 'bin-by-bin' skewness for 1D AIDA histogram

    >>> h1 = ...
    >>> print h1.skewness()

Definition at line 528 of file HistoUtils.py.

528
529 def _skewness_ ( self ) :
530 """
531 Evaluate 'bin-by-bin' skewness for 1D AIDA histogram
532
533 >>> h1 = ...
534 >>> print h1.skewness()
535
536 """
537 return HistoStats.skewness ( self )
538
# =============================================================================

def GaudiPython.HistoUtils._skewnessErr_ | ( |  | self | ) |
| private

Evaluate error for 'bin-by-bin' skewness for 1D histogram.

    Evaluate error for 'bin-by-bin' skewness

    >>> h1 = ...
    >>> print h1.skewnessErr()

Definition at line 540 of file HistoUtils.py.

540
541 def _skewnessErr_ ( self ) :
542 """
543 Evaluate error for 'bin-by-bin' skewness
544
545 >>> h1 = ...
546 >>> print h1.skewnessErr()
547
548 """
549 return HistoStats.skewnessErr ( self )
550
# =============================================================================

def GaudiPython.HistoUtils._sumAllBinHeightErr_ | ( |  | self | ) |
| private

    Get an error in the sum bin height ('in-range integral')

Definition at line 614 of file HistoUtils.py.

614
615 def _sumAllBinHeightErr_ ( self ) :
616 """ Get an error in the sum bin height ('in-range integral') """
617 return HistoStats.sumAllBinHeightErr ( self )
618
# =============================================================================

def GaudiPython.HistoUtils._sumBinHeightErr_ | ( |  | self | ) |
| private

    Get an error in the sum bin height ('in-range integral')

Definition at line 607 of file HistoUtils.py.

607
608 def _sumBinHeightErr_ ( self ) :
609 """
610 Get an error in the sum bin height ('in-range integral')
611 """
612 return HistoStats.sumBinHeightErr ( self )
613
# =============================================================================

def GaudiPython.HistoUtils._to_root_ | ( |  | self | ) |
| private

Convert AIDA to ROOT.

    Convert AIDA to ROOT

    >>> aida = ...            ## get AIDA histogram
    >>> root = aida.toROOT()  ## convert it to ROOT

Definition at line 445 of file HistoUtils.py.

445
446 def _to_root_ ( self ) :
447 """
448 Convert AIDA to ROOT
449
450 >>> aida = ... ## get AIDA histogram
451 >>> root = aida.toROOT() ## convert it to ROOT
452
453 """
454 return aida2root ( self )

def GaudiPython.HistoUtils._underflowEntriesFrac_ | ( |  | self | ) |
| private

    The fraction of underflow entries  (useful for shape comparison)

Definition at line 631 of file HistoUtils.py.

631
632 def _underflowEntriesFrac_ ( self ) :
633 """
634 The fraction of underflow entries (useful for shape comparison)
635 """
636 return HistoStats.underflowEntriesFrac ( self )
# =============================================================================

def GaudiPython.HistoUtils._underflowEntriesFracErr_ | ( |  | self | ) |
| private

    The error for fraction of underflow entries  (useful for shape comparison)

Definition at line 637 of file HistoUtils.py.

637
638 def _underflowEntriesFracErr_ ( self ) :
639 """
640 The error for fraction of underflow entries (useful for shape comparison)
641 """
642 return HistoStats.underflowEntriesFracErr ( self )
643
# =============================================================================

def GaudiPython.HistoUtils._underflowIntegralFrac_ | ( |  | self | ) |
| private

    The fraction of underflow integral  (useful for shape comparison)

Definition at line 656 of file HistoUtils.py.

656
657 def _underflowIntegralFrac_ ( self ) :
658 """
659 The fraction of underflow integral (useful for shape comparison)
660 """
661 return HistoStats.underflowIntegralFrac ( self )
# =============================================================================

def GaudiPython.HistoUtils._underflowIntegralFracErr_ | ( |  | self | ) |
| private

    The error for fraction of underflow integral (useful for shape comparison)

Definition at line 662 of file HistoUtils.py.

662
663 def _underflowIntegralFracErr_ ( self ) :
664 """
665 The error for fraction of underflow integral (useful for shape comparison)
666 """
667 return HistoStats.underflowIntegralFracErr ( self )
668
# =============================================================================

def GaudiPython.HistoUtils.book | ( |  | args,
|  |  | kwargs
| ) |  |

The trivial function to book the various 1D,2D&3D-histograms.

    The trivial function to book the various 1D,2D&3D-histograms

    (1) book the trivial 1D histogram with full path

    >>> h1D = book ( 'path/to/my/histo'       , ## path in Histogram Transient Store
                     'cosine of decay angle ' , ## histogram title
                      100                     , ## number of bins
                      -1                      , ## low edge
                      100                     ) ## high edge

    (2) book the trivial 1D histogram with directory path and string ID :

    >>> h1D = book ( 'path/to/directory'      , ## the path to directory in HTS
                     'H1'                     , ## string histogram identifier
                     'cosine of decay angle ' , ## histogram title
                      100                     , ## number of bins
                      -1                      , ## low edge
                      100                     ) ## high edge

    (3) book the trivial 1D histogram with directory path and integer ID :

    >>> h1D = book ( 'path/to/directory'      , ## the path to directory in HTS
                     124                      , ## integer histogram identifier
                     'cosine of decay angle ' , ## histogram title
                      100                     , ## number of bins
                      -1                      , ## low edge
                      100                     ) ## high edge

    (4) book the trivial 2D histogram with full path

    >>> h1D = book ( 'path/to/my/histo'       , ## path in Histogram Transient Store
                     'm12**2 versus m13**2'   , ## histogram title
                      50                      , ## number of X-bins
                      1.0                     , ## low X-edge
                      4.0                     , ## high X-edge
                      50                      , ## number of Y-bins
                      1                       , ## low Y-edge
                      2                       ) ## high Y-edge

    (5) book the trivial 2D histogram with directory path and literal ID

    >>> h1D = book ( 'path/to/directory'      , ## path in Histogram Transient Store
                     'Dalitz1'                , ## literal histogram identifier
                     'm12**2 versus m13**2'   , ## histogram title
                      50                      , ## number of X-bins
                      1.0                     , ## low X-edge
                      4.0                     , ## high X-edge
                      50                      , ## number of Y-bins
                      1                       , ## low Y-edge
                      2                       ) ## high Y-edge

    (6) book the trivial 2D histogram with directory path and integer ID

    >>> h1D = book ( 'path/to/directory'      , ## path in Histogram Transient Store
                     854                      , ## integer histogram identifier
                     'm12**2 versus m13**2'   , ## histogram title
                      50                      , ## number of X-bins
                      1.0                     , ## low X-edge
                      4.0                     , ## high X-edge
                      50                      , ## number of Y-bins
                      1.0                     , ## low Y-edge
                      4.0                     ) ## high Y-edge

    (7) book the trivial 3D histogram with full path

    >>> h1D = book ( 'path/to/my/histo'       , ## path in Histogram Transient Store
                     'x vs y vs z '           , ## histogram title
                      10                      , ## number of X-bins
                      -1.0                    , ## low X-edge
                      1.0                     , ## high X-edge
                      10                      , ## number of Y-bins
                      -1.0                    , ## low Y-edge
                      1.0                     , ## high Y-edge
                      10                      , ## number of Z-bins
                      -1.0                    , ## low Z-edge
                      1.0                     ) ## high Z-edge

    (8) book the trivial 3D histogram with directory path and literal ID

    >>> h1D = book ( 'path/to/directory'      , ## path in Histogram Transient Store
                     'xyz'                    , ## literal histogram identifier
                     'x vs y vs z'            , ## histogram title
                      10                      , ## number of X-bins
                      -1.0                    , ## low X-edge
                      1.0                     , ## high X-edge
                      10                      , ## number of Y-bins
                      -1.0                    , ## low Y-edge
                      1.0                     , ## high Y-edge
                      10                      , ## number of Z-bins
                      -1.0                    , ## low Z-edge
                      1.0                     ) ## high Z-edge

    (9) book the trivial 3D histogram with directory path and integer ID

    >>> h1D = book ( 'path/to/directory'      , ## path in Histogram Transient Store
                     888                      , ## integer histogram identifier
                     'x vs y vs z'            , ## histogram title
                      10                      , ## number of X-bins
                      -1.0                    , ## low X-edge
                      1.0                     , ## high X-edge
                      10                      , ## number of Y-bins
                      -1.0                    , ## low Y-edge
                      1.0                     , ## high Y-edge
                      10                      , ## number of Z-bins
                      -1.0                    , ## low Z-edge
                      1.0                     ) ## high Z-edge

    Many other booking methods are available,
    e.g. for the histograms with non-equidistant bins, see IHistogamSvc::book

Definition at line 95 of file HistoUtils.py.

95
96 def book ( *args , **kwargs ) :
97 """
98 The trivial function to book the various 1D,2D&3D-histograms
99
100 (1) book the trivial 1D histogram with full path
101
102 >>> h1D = book ( 'path/to/my/histo' , ## path in Histogram Transient Store
103 'cosine of decay angle ' , ## histogram title
104 100 , ## number of bins
105 -1 , ## low edge
106 100 ) ## high edge
107
108 (2) book the trivial 1D histogram with directory path and string ID :
109
110 >>> h1D = book ( 'path/to/directory' , ## the path to directory in HTS
111 'H1' , ## string histogram identifier
112 'cosine of decay angle ' , ## histogram title
113 100 , ## number of bins
114 -1 , ## low edge
115 100 ) ## high edge
116
117 (3) book the trivial 1D histogram with directory path and integer ID :
118
119 >>> h1D = book ( 'path/to/directory' , ## the path to directory in HTS
120 124 , ## integer histogram identifier
121 'cosine of decay angle ' , ## histogram title
122 100 , ## number of bins
123 -1 , ## low edge
124 100 ) ## high edge
125
126 (4) book the trivial 2D histogram with full path
127
128 >>> h1D = book ( 'path/to/my/histo' , ## path in Histogram Transient Store
129 'm12**2 versus m13**2' , ## histogram title
130 50 , ## number of X-bins
131 1.0 , ## low X-edge
132 4.0 , ## high X-edge
133 50 , ## number of Y-bins
134 1 , ## low Y-edge
135 2 ) ## high Y-edge
136
137 (5) book the trivial 2D histogram with directory path and literal ID
138
139 >>> h1D = book ( 'path/to/directory' , ## path in Histogram Transient Store
140 'Dalitz1' , ## literal histogram identifier
141 'm12**2 versus m13**2' , ## histogram title
142 50 , ## number of X-bins
143 1.0 , ## low X-edge
144 4.0 , ## high X-edge
145 50 , ## number of Y-bins
146 1 , ## low Y-edge
147 2 ) ## high Y-edge
148
149 (6) book the trivial 2D histogram with directory path and integer ID
150
151 >>> h1D = book ( 'path/to/directory' , ## path in Histogram Transient Store
152 854 , ## integer histogram identifier
153 'm12**2 versus m13**2' , ## histogram title
154 50 , ## number of X-bins
155 1.0 , ## low X-edge
156 4.0 , ## high X-edge
157 50 , ## number of Y-bins
158 1.0 , ## low Y-edge
159 4.0 ) ## high Y-edge
160
161 (7) book the trivial 3D histogram with full path
162
163 >>> h1D = book ( 'path/to/my/histo' , ## path in Histogram Transient Store
164 'x vs y vs z ' , ## histogram title
165 10 , ## number of X-bins
166 -1.0 , ## low X-edge
167 1.0 , ## high X-edge
168 10 , ## number of Y-bins
169 -1.0 , ## low Y-edge
170 1.0 , ## high Y-edge
171 10 , ## number of Z-bins
172 -1.0 , ## low Z-edge
173 1.0 ) ## high Z-edge
174
175 (8) book the trivial 3D histogram with directory path and literal ID
176
177 >>> h1D = book ( 'path/to/directory' , ## path in Histogram Transient Store
178 'xyz' , ## literal histogram identifier
179 'x vs y vs z' , ## histogram title
180 10 , ## number of X-bins
181 -1.0 , ## low X-edge
182 1.0 , ## high X-edge
183 10 , ## number of Y-bins
184 -1.0 , ## low Y-edge
185 1.0 , ## high Y-edge
186 10 , ## number of Z-bins
187 -1.0 , ## low Z-edge
188 1.0 ) ## high Z-edge
189
190 (9) book the trivial 3D histogram with directory path and integer ID
191
192 >>> h1D = book ( 'path/to/directory' , ## path in Histogram Transient Store
193 888 , ## integer histogram identifier
194 'x vs y vs z' , ## histogram title
195 10 , ## number of X-bins
196 -1.0 , ## low X-edge
197 1.0 , ## high X-edge
198 10 , ## number of Y-bins
199 -1.0 , ## low Y-edge
200 1.0 , ## high Y-edge
201 10 , ## number of Z-bins
202 -1.0 , ## low Z-edge
203 1.0 ) ## high Z-edge
204
205 Many other booking methods are available,
206 e.g. for the histograms with non-equidistant bins, see IHistogamSvc::book
207
208 """
209 if useROOT or kwargs.get( 'useROOT' , False ) or not kwargs.get('useAIDA' , True ) :
210 from ROOT import TH1D
211 a0 = args[0]
212 a1 = args[1]
213 a2 = args[2]
214 if not str is type(a1) :
215 a1 = 'h'+str(a1)
216 if str is type(a2) :
217 return TH1D ( a0+a1 , a2 , *args[3:] )
218 else :
219 return TH1D ( a0 , a1 , *args[2:] )
220
221 svc = _getHistoSvc ( **kwargs )
222 if not svc : raise RuntimeError, 'Unable to get valid HistogramService '
223 ## book the histogram using the service
224 return svc.book(*args) ## RETURN
225
226 book.__doc__ += '\n\n' + '\thelp(iHistogramSvc.book) : \n\n' \
227 + iHistogramSvc.book . __doc__
228 book.__doc__ += '\n\n' + '\thelp(IHistogramSvc::book) : \n\n' \
229 + cpp.IHistogramSvc.book . __doc__
230
# =============================================================================

def GaudiPython.HistoUtils.bookProf | ( |  | args,
|  |  | kwargs
| ) |  |

The trivial function to book 1D&2D profile histograms:

    The trivial function to book 1D&2D profile histograms:

    (1) book 1D-profile histogram with full path in Histogram Transient Store:
    >>> histo = bookProf ( 'path/to/my/profile'  , ## path in Histogram Transient Store
                           'Energy Correction'   , ## the histogram title
                           100                   , ## number of X-bins
                           0.0                   , ## low X-edge
                           100                   ) ## high X-edge

    (2) book 1D-profile histogram with directory path and literal ID
    >>> histo = bookProf ( 'path/to/my/profile'  , ## path in Histogram Transient Store
                           'Calibration'         , ## the histogram literal identifier
                           'Energy Correction'   , ## the histogram title
                           100                   , ## number of X-bins
                           0.0                   , ## low X-edge
                           100                   ) ## high X-edge

    (3) book 1D-profile histogram with directory path and integer  ID
    >>> histo = bookProf ( 'path/to/my/profile'  , ## path in Histogram Transient Store
                           418                   , ## the histogram integer identifier
                           'Energy Correction'   , ## the histogram title
                           100                   , ## number of X-bins
                           0.0                   , ## low X-edge
                           100                   ) ## high X-edge

    (4) book 2D-profile histogram with full path in Histogram Transient Store:
    >>> histo = bookProf ( 'path/to/my/profile'  , ## path in Histogram Transient Store
                           'Energy Correction'   , ## the histogram title
                           50                    , ## number of X-bins
                           0.0                   , ## low X-edge
                           100                   , ## high X-edge
                           50                    , ## number of Y-bins
                           0.0                   , ## low Y-edge
                           100                   ) ## high Y-edge

    (5) book 2D-profile histogram with directory path and literal ID
    >>> histo = bookProf ( 'path/to/my/profile'  , ## path in Histogram Transient Store
                           'Calibration'         , ## the histogram literal identifier
                           'Energy Correction'   , ## the histogram title
                           50                    , ## number of X-bins
                           0.0                   , ## low X-edge
                           100                   , ## high X-edge
                           50                    , ## number of Y-bins
                           0.0                   , ## low Y-edge
                           100                   ) ## high Y-edge

    (6) book 2D-profile histogram with directory path and integer  ID
    >>> histo = bookProf ( 'path/to/my/profile'  , ## path in Histogram Transient Store
                           418                   , ## the histogram integer identifier
                           'Energy Correction'   , ## the histogram title
                           50                    , ## number of X-bins
                           0.0                   , ## low X-edge
                           100                   , ## high X-edge
                           50                    , ## number of Y-bins
                           0.0                   , ## low Y-edge
                           100                   ) ## high Y-edge

    Many other booking methods are available,
    e.g. for the histograms with non-equidistant bins, see IHistogamSvc::book

Definition at line 232 of file HistoUtils.py.

232
233 def bookProf ( *args , **kwargs ) :
234 """
235
236 The trivial function to book 1D&2D profile histograms:
237
238 (1) book 1D-profile histogram with full path in Histogram Transient Store:
239 >>> histo = bookProf ( 'path/to/my/profile' , ## path in Histogram Transient Store
240 'Energy Correction' , ## the histogram title
241 100 , ## number of X-bins
242 0.0 , ## low X-edge
243 100 ) ## high X-edge
244
245 (2) book 1D-profile histogram with directory path and literal ID
246 >>> histo = bookProf ( 'path/to/my/profile' , ## path in Histogram Transient Store
247 'Calibration' , ## the histogram literal identifier
248 'Energy Correction' , ## the histogram title
249 100 , ## number of X-bins
250 0.0 , ## low X-edge
251 100 ) ## high X-edge
252
253 (3) book 1D-profile histogram with directory path and integer ID
254 >>> histo = bookProf ( 'path/to/my/profile' , ## path in Histogram Transient Store
255 418 , ## the histogram integer identifier
256 'Energy Correction' , ## the histogram title
257 100 , ## number of X-bins
258 0.0 , ## low X-edge
259 100 ) ## high X-edge
260
261 (4) book 2D-profile histogram with full path in Histogram Transient Store:
262 >>> histo = bookProf ( 'path/to/my/profile' , ## path in Histogram Transient Store
263 'Energy Correction' , ## the histogram title
264 50 , ## number of X-bins
265 0.0 , ## low X-edge
266 100 , ## high X-edge
267 50 , ## number of Y-bins
268 0.0 , ## low Y-edge
269 100 ) ## high Y-edge
270
271 (5) book 2D-profile histogram with directory path and literal ID
272 >>> histo = bookProf ( 'path/to/my/profile' , ## path in Histogram Transient Store
273 'Calibration' , ## the histogram literal identifier
274 'Energy Correction' , ## the histogram title
275 50 , ## number of X-bins
276 0.0 , ## low X-edge
277 100 , ## high X-edge
278 50 , ## number of Y-bins
279 0.0 , ## low Y-edge
280 100 ) ## high Y-edge
281
282 (6) book 2D-profile histogram with directory path and integer ID
283 >>> histo = bookProf ( 'path/to/my/profile' , ## path in Histogram Transient Store
284 418 , ## the histogram integer identifier
285 'Energy Correction' , ## the histogram title
286 50 , ## number of X-bins
287 0.0 , ## low X-edge
288 100 , ## high X-edge
289 50 , ## number of Y-bins
290 0.0 , ## low Y-edge
291 100 ) ## high Y-edge
292
293 Many other booking methods are available,
294 e.g. for the histograms with non-equidistant bins, see IHistogamSvc::book
295
296 """
297 svc = _getHistoSvc ( **kwargs )
298 if not svc : raise RuntimeError, 'Unable to get valid HistogramService '
299 ## book the histogram using the service
300 return svc.bookProf(*args) ## RETURN
301
302
303 bookProf.__doc__ += '\n\n' + '\thelp(iHistogramSvc.bookProf) : \n\n' \
304 + iHistogramSvc.bookProf . __doc__
305 bookProf.__doc__ += '\n\n' + '\thelp(IHistogramSvc::bookProf) : \n\n' \
306 + cpp.IHistogramSvc.bookProf . __doc__
307
# =============================================================================

def GaudiPython.HistoUtils.fill | ( |  | histo,
|  |  | data,
|  |  | fun = `lambda x : x`,
|  |  | cut = `lambda x : True`,
|  |  | kwargs
| ) |  |

The function which allows 'the smart fill' of 1D-histogram.

    The function which allows 'the smart fill' of 1D-histogram

    >>> histo = ...

    The most trivial case, fill with the value
    >>> fill ( histo , 1.0 )

    Fill from any iterable object (sequence)
    >>> fill ( histo , [1,,2,3,4,5,10] )

    Fill from iterable object and apply the function:
    >>> fill ( histo , [1,2,3,4,5] , math.sin )

    Use lambda form:
    >>> fill ( histo , [1,2,3,4,5] , lambda x : x*x )

    The same
    >>> fill ( histo , [1,2,3,4,5] , fun = lambda x : x*x )

    Use internal attributes:
    >>> tracks = evtSvc['Rec/Track/Best']    ## iterable container of tracks
    >>> fill ( histo , tracks , lambda t : t.pt() )

    Apply the predicate: fill only even numbers:
    >>> fill ( histo , [1,2,3,4,5,6,7] , lambda x : x , lambda y : y%2 )

    The same (omit the trivial function) :
    >>> fill ( histo , [1,2,3,4,5,6,7] , cut = lambda y : y%2 )

    Apply the predicate: fill only pt for positively charged tracks:
    >>> tracks = evtSvc['Rec/Track/Best']
    >>> fill ( histo , tracks , lambda t : t.pt() , lambda t : 0<t.charge() )

    The same:
    >>> fill ( histo , tracks ,
               fun = lambda t : t.pt()       ,
               cut = lambda t : 0<t.charge() )

    Ordinary functions are also fine:
    >>> def myfun ( track ) : return sin( track.pt() + track.p() )
    >>> def mycut ( track ) : return track.p() > 100 * GeV
    >>> fill ( histo , tracks , myfun , mycut )

    The 'data' could be the address in TES, in this case the object
    is retrieved from TES and the method is applied to the objects,
    retrieved from TES:
    >>> fill (  histo             , ## the reference to the histogram
               'Rec/Track/Best'   , ## the location of objects in TES
                lambda t : t.pt() ) ## function to be used for histogram fill
    >>> fill (  histo             , ## the reference to the histogram
               'Rec/Track/Best'   , ## the address of objects in TES
                lambda t : t.pt() , ## the function to be used for histogram fill
                lambda t : t.charge()>0 ) ## the criteria to select tracks

    The arguments 'fun' and 'cut' could be strings, in this case
    they are evaluated by python before usage.
    This option could be often very useful.

Definition at line 354 of file HistoUtils.py.

354
355 **kwargs ) : ## optional extra arguments
356 """
357
358 The function which allows 'the smart fill' of 1D-histogram
359
360 >>> histo = ...
361
362 The most trivial case, fill with the value
363 >>> fill ( histo , 1.0 )
364
365 Fill from any iterable object (sequence)
366 >>> fill ( histo , [1,,2,3,4,5,10] )
367
368 Fill from iterable object and apply the function:
369 >>> fill ( histo , [1,2,3,4,5] , math.sin )
370
371 Use lambda form:
372 >>> fill ( histo , [1,2,3,4,5] , lambda x : x*x )
373
374 The same
375 >>> fill ( histo , [1,2,3,4,5] , fun = lambda x : x*x )
376
377 Use internal attributes:
378 >>> tracks = evtSvc['Rec/Track/Best'] ## iterable container of tracks
379 >>> fill ( histo , tracks , lambda t : t.pt() )
380
381 Apply the predicate: fill only even numbers:
382 >>> fill ( histo , [1,2,3,4,5,6,7] , lambda x : x , lambda y : y%2 )
383
384 The same (omit the trivial function) :
385 >>> fill ( histo , [1,2,3,4,5,6,7] , cut = lambda y : y%2 )
386
387 Apply the predicate: fill only pt for positively charged tracks:
388 >>> tracks = evtSvc['Rec/Track/Best']
389 >>> fill ( histo , tracks , lambda t : t.pt() , lambda t : 0<t.charge() )
390
391 The same:
392 >>> fill ( histo , tracks ,
393 fun = lambda t : t.pt() ,
394 cut = lambda t : 0<t.charge() )
395
396 Ordinary functions are also fine:
397 >>> def myfun ( track ) : return sin( track.pt() + track.p() )
398 >>> def mycut ( track ) : return track.p() > 100 * GeV
399 >>> fill ( histo , tracks , myfun , mycut )
400
401 The 'data' could be the address in TES, in this case the object
402 is retrieved from TES and the method is applied to the objects,
403 retrieved from TES:
404 >>> fill ( histo , ## the reference to the histogram
405 'Rec/Track/Best' , ## the location of objects in TES
406 lambda t : t.pt() ) ## function to be used for histogram fill
407 >>> fill ( histo , ## the reference to the histogram
408 'Rec/Track/Best' , ## the address of objects in TES
409 lambda t : t.pt() , ## the function to be used for histogram fill
410 lambda t : t.charge()>0 ) ## the criteria to select tracks
411
412 The arguments 'fun' and 'cut' could be strings, in this case
413 they are evaluated by python before usage.
414 This option could be often very useful.
415
416 """
417
418 # if value is a string, try to get the objects from TES
419 if type ( data ) == str :
420 svc = _getEvtSvc ( **kwargs )
421 data = svc[data]
422 return fill ( histo , data , fun , cut , **kwargs )
423
424 # if the function is a string: evaluate it!
425 if type ( fun ) == str : fun = eval ( fun , globals() )
426
427 # if the criterion is a string: evaluate it!
428 if type ( cut ) == str : cut = eval ( cut , globals() )
429
430 if not hasattr ( data , '__iter__' ) : data = [ data ]
431
432 if not hasattr ( histo , 'fill' ) and hasattr ( histo , 'Fill' ) :
433 setattr ( histo , 'fill' , getattr ( histo , 'Fill' ) )
434
435 for item in data :
436 if not cut ( item ) : continue ## CONTINUE
437 histo.fill ( fun ( item ) )
438
439 return histo ## RETURN
440
# =============================================================================

def GaudiPython.HistoUtils.getAsAIDA | ( |  | path,
|  |  | kwargs
| ) |  |

The most trivial function to retrieve the histogram from Histogram Transient Store.

    The most trivial function to retrieve the histogram from Histogram Transient Store
    The histogram is returned by reference to its AIDA-representation (if possible)

    >>> h = getAsAIDA ( 'some/path/to/my/histogram' )

Definition at line 309 of file HistoUtils.py.

309
310 def getAsAIDA ( path , **kwargs ) :
311 """
312
313 The most trivial function to retrieve the histogram from Histogram Transient Store
314 The histogram is returned by reference to its AIDA-representation (if possible)
315
316 >>> h = getAsAIDA ( 'some/path/to/my/histogram' )
317
318 """
319 svc = _getHistoSvc ( **kwargs )
320 if not svc : raise RuntimeError, 'Unable to get valid HistogramService '
321 ## return the histogram
322 return svc.getAsAIDA( path ) ## RETURN
323
324 getAsAIDA.__doc__ += '\n\n' + '\thelp(iHistogramSvc.getAsAIDA) : \n\n' \
325 + iHistogramSvc.getAsAIDA . __doc__
326 getAsAIDA.__doc__ += '\n\n' + '\thelp(iHistogramSvc.retrieve) : \n\n' \
327 + iHistogramSvc.retrieve . __doc__
328
# =============================================================================

def GaudiPython.HistoUtils.getAsROOT | ( |  | path,
|  |  | kwargs
| ) |  |

The most trivial function to retrieve the histogram from Histogram Transient Store.

    The most trivial function to retrieve the histogram from Histogram Transient Store
    The histogram is returned by reference to its underlying native ROOT-representation (if possible)

    >>> h = getAsROOT ( 'some/path/to/my/histogram' )

Definition at line 330 of file HistoUtils.py.

330
331 def getAsROOT ( path , **kwargs ) :
332 """
333
334 The most trivial function to retrieve the histogram from Histogram Transient Store
335 The histogram is returned by reference to its underlying native ROOT-representation (if possible)
336
337 >>> h = getAsROOT ( 'some/path/to/my/histogram' )
338
339 """
340 svc = _getHistoSvc ( **kwargs )
341 if not svc : raise RuntimeError, 'Unable to get valid HistogramService '
342 ## return the histogram
343 return svc.getAsROOT( path ) ## RETURN
344
345 getAsROOT.__doc__ += '\n\n' + '\thelp(iHistogramSvc.getAsROOT) : \n\n' \
346 + iHistogramSvc.getAsROOT . __doc__
347
348
# =============================================================================

## Variable Documentation

tuple GaudiPython.HistoUtils.__all__

Initial value:
1 (
2 'book' , ## book AIDA histogram using Histogram Service
3 'bookProf' , ## book AIDA profile histogram using Histogram Service
4 'getAsAIDA' , ## get the histogram form Histogram Service as AIDA histogram
5 'getAsROOT' , ## get the histogram form Histogram Service as AIDA histogram
6 'fill' , ## "power-fill" method for filling of histograms
7 'aida2root' , ## AIDA -> ROOT converter
8 'HistoStats', ## statistical information for 1D-histograms
9 'HistoFile' , ## class for storing histograms to a file
10 'histoDump' , ## dump histogramintext format a'la HBOOK
11 'dumpHisto' ## dump histogramintext format a'la HBOOK
12 )

Definition at line 29 of file HistoUtils.py.

string GaudiPython.HistoUtils.__author__ "Vanya BELYAEV ibelyaev@physics.syr.edu"

This module contains set of simple and useful utilities for booking and manipulations with Gaudi-AIDA histograms, inspired by Thomas' request.

Author
  Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u

  # 2007-08-03

Definition at line 27 of file HistoUtils.py.

GaudiPython.HistoUtils.aida2root cpp.Gaudi.Utils.Aida2ROOT.aida2root

AIDA -> ROOT converter.

Definition at line 442 of file HistoUtils.py.

GaudiPython.HistoUtils.dumpHisto __dumpHisto__

Definition at line 800 of file HistoUtils.py.

GaudiPython.HistoUtils.HID cpp.GaudiAlg.ID

Definition at line 47 of file HistoUtils.py.

GaudiPython.HistoUtils.histoDump __dumpHisto__

the actual function for text dump of the histogram

Definition at line 799 of file HistoUtils.py.

GaudiPython.HistoUtils.HistoStats cpp.Gaudi.Utils.HistoStats

Definition at line 473 of file HistoUtils.py.

GaudiPython.HistoUtils.i1DH cpp.AIDA.IHistogram1D

Definition at line 730 of file HistoUtils.py.

GaudiPython.HistoUtils.iBH cpp.AIDA.IBaseHistogram

Definition at line 771 of file HistoUtils.py.

GaudiPython.HistoUtils.useROOT False

global flag

Definition at line 50 of file HistoUtils.py.