Gaudi Framework, version v21r6

Home   Generated: 11 Nov 2009

GaudiPython::GaudiAlgs::HistoAlgo Class Reference

Inheritance diagram for GaudiPython::GaudiAlgs::HistoAlgo:

Inheritance graph
[legend]
Collaboration diagram for GaudiPython::GaudiAlgs::HistoAlgo:

Collaboration graph
[legend]

List of all members.


Detailed Description

The base class for easy histogramming.

*******************************************************************************
*                                                * 'Physisics do not like it, *
*                                                *  physisics do not need it, *
*                                                *  physisics do not use  it' *
*                                                * ****************************
*  Usage:                                                                     *
*                                                                             *
*  from GaudiPython.GaudiAlgs import HistoAlgo, SUCCESS                       *
*                                                                             *
*  class MyClass(HistoAlgo) :                                                 *
*       ' My specific Algorithm, derived from GaudiAlgo base class '          *
*       def __init__( self , name , **args ) :                                *
*            'Constructor from algorithm instance name'                       *
*             #invoke the constructor of base class                           *
*             HistoAlgo.__init__(self , name , **args )                       *
*                                                                             *
*       def execute ( self ) :                                                *
*            'Major method (from IAlgorithm interface)'                       *
*                                                                             *
*           # get some data from Transient Event Store                        *
*           tracks = self.get('/Event/Rec/Tracks')                            *
*                                                                             *
*           self.plot1D ( tracks->size() , '#tracks' , 0 , 100 )              *
*                                                                             *
*           return SUCCESS                                                    *
*                                                                             *
* Alternatively the histogram  could be booked in advance:                    *
*                                                                             *
*  class MyClass(HistoAlgo) :                                                 *
*       ' My specific Algorithm, derived from GaudiAlgo base class '          *
*       def __init__( self , name ) :                                         *
*            'Constructor from algorithm instance name'                       *
*             #invoke the constructor of base class                           *
*             HistoAlgo.__init__(self , name )                                *
*                                                                             *
*       def initialize ( self ) :                                             *
*           'Algorithm initialization'                                        *
*           # initialize the base class                                       *
*           status = HistoAlgo.initialize( self )                             *
*           if status.isFailure() : return status                             *
*                                                                             *
*           # book the histogram                                              *
*           self.h1 = selff.book1D ( '#tracks' , 0 , 100 )                    *
*                                                                             *
*           return SUCCESS                                                    *
*                                                                             *
*                                                                             *
*       def execute ( self ) :                                                *
*            'Major method (from IAlgorithm interface)'                       *
*                                                                             *
*           # get some data from Transient Event Store                        *
*           tracks = self.get('/Event/Rec/Tracks')                            *
*                                                                             *
*           # fill the histogram                                              *
*           self.h1.fill ( tracks->size() )                                   *
*                                                                             *
*           return SUCCESS                                                    *
*                                                                             *
*******************************************************************************

Usage:

  from GaudiPython.GaudiAlgs import HistoAlgo, SUCCESS

  class MyClass(HistoAlgo) :
       ' My specific Algorithm, derived from GaudiAlgo base class '
       def __init__( self , name , **args ) :
            'Constructor from algorithm instance name & parameters'
             #invoke the constructor of base class
             HistoAlgo.__init__(self , name , **args )

       def execute ( self ) :
            'Major method (from IAlgorithm interface)'

           # get some data from Transient Event Store
           tracks = self.get('/Event/Rec/Tracks')

           self.plot1D ( tracks->size() , '#tracks' , 0 , 100 )

           return SUCCESS

Alternatively the histogram could be booked in advance:

  class MyClass(HistoAlgo) :
       ' My specific Algorithm, derived from GaudiAlgo base class '
       def __init__( self , name ) :
            'Constructor from algorithm instance name'
             #invoke the constructor of base class
             HistoAlgo.__init__(self , name )

       def initialize ( self ) :
           'Algorithm initialization'
           # initialize the base class
           status = HistoAlgo.initialize( self )
           if status.isFailure() : return status

           # book the histogram
           self.h1 = selff.book1D ( '#tracks' , 0 , 100 )

           return SUCCESS


       def execute ( self ) :
            'Major method (from IAlgorithm interface)'

           # get some data from Transient Event Store
           tracks = self.get('/Event/Rec/Tracks')

           # fill the histogram
           self.h1.fill ( tracks->size() )

            return SUCCESS

See also:
GaudiHistoAlg
Author:
Vanya BELYAEV ibelyaev@physics.syr.edu
Date:
2006-11-26

Definition at line 656 of file GaudiAlgs.py.


The documentation for this class was generated from the following file:

Generated at Wed Nov 11 16:37:02 2009 for Gaudi Framework, version v21r6 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004