Functions | |
def | _getAppMgr |
Helper private auxillary function to get Aplication Manager. | |
def | _getHistoSvc |
Helper private auxillary function to get iHistogramSvs. | |
def | _getEvtSvc |
Helper private auxillary 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. | |
Variables | |
string | __author__ = "Vanya BELYAEV ibelyaev@physics.syr.edu" |
This module contains set of simple and useful utilitied for booking and manipulations with Gaudi-AIDA histograms, inspired by Thomas' requiest. | |
tuple | __all__ = ( 'book' , 'bookProf' , 'getAsAIDA' , 'getAsROOT' , 'fill' ) |
def GaudiPython::HistoUtils::_getAppMgr | ( | kwars | ) | [private] |
Helper private auxillary function to get Aplication Manager.
Helper private auxillary function to get Aplication Manager
Definition at line 32 of file HistoUtils.py.
00032 : 00033 """ Helper private auxillary function to get Aplication Manager """ 00034 gaudi = kwargs.get ( 'gaudi' , None ) 00035 if not gaudi : gaudi = gaudimodule.gaudi 00036 if not gaudi : gaudi = gaudimodule.AppMgr() 00037 if not gaudi : raise RuntimeError, 'Unable to get valid ApplicationMgr' 00038 return gaudi ## RETURN 00039 00040 # ============================================================================= ## Helper private auxillary function to get iHistogramSvs
def GaudiPython::HistoUtils::_getHistoSvc | ( | kwargs | ) | [private] |
Helper private auxillary function to get iHistogramSvs.
Helper private auxillary function to get iHistogramSvs
Definition at line 42 of file HistoUtils.py.
00042 : 00043 """ Helper private auxillary function to get iHistogramSvs """ 00044 svc = kwargs.get ( 'service' , None ) 00045 if not svc : svc = kwargs.get ( 'svc' , None ) 00046 else : return svc ## RETURN 00047 gaudi = _getAppMgr ( **kwargs ) 00048 return gaudi.histsvc () ## RETURN 00049 00050 # ============================================================================= ## Helper private auxillary function to get iDataSvs
def GaudiPython::HistoUtils::_getEvtSvc | ( | kwargs | ) | [private] |
Helper private auxillary function to get iDataSvs.
Helper private auxillary function to get iDataSvs
Definition at line 52 of file HistoUtils.py.
00052 : 00053 """ Helper private auxillary function to get iDataSvs """ 00054 svc = kwargs.get ( 'service' , None ) 00055 if not svc : svc = kwargs.get ( 'svc' , None ) 00056 else : return svc ## RETURN 00057 gaudi = _getAppMgr ( **kwargs ) 00058 return gaudi.evtsvc() ## RETURN 00059 00060 # ============================================================================= ## The trivial function to book the various 1D,2D&3D-histograms
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 histogrsm identifier 'cosine of decay angle ' , ## histogram title 100 , ## number of bins -1 , ## low edge 100 ) ## high edge (3) book the trivial 1D histogram with directoty path and integer ID : >>> h1D = book ( 'path/to/directory' , ## the path to directory in HTS 124 , ## integer histogrsm 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 avilable, e.g. for the histograms with non-equidistant bins, see IHistogamSvc::book
Definition at line 62 of file HistoUtils.py.
00062 : 00063 """ 00064 The trivial function to book the various 1D,2D&3D-histograms 00065 00066 (1) book the trivial 1D histogram with full path 00067 00068 >>> h1D = book ( 'path/to/my/histo' , ## path in Histogram Transient Store 00069 'cosine of decay angle ' , ## histogram title 00070 100 , ## number of bins 00071 -1 , ## low edge 00072 100 ) ## high edge 00073 00074 (2) book the trivial 1D histogram with directory path and string ID : 00075 00076 >>> h1D = book ( 'path/to/directory' , ## the path to directory in HTS 00077 'H1' , ## string histogrsm identifier 00078 'cosine of decay angle ' , ## histogram title 00079 100 , ## number of bins 00080 -1 , ## low edge 00081 100 ) ## high edge 00082 00083 (3) book the trivial 1D histogram with directoty path and integer ID : 00084 00085 >>> h1D = book ( 'path/to/directory' , ## the path to directory in HTS 00086 124 , ## integer histogrsm identifier 00087 'cosine of decay angle ' , ## histogram title 00088 100 , ## number of bins 00089 -1 , ## low edge 00090 100 ) ## high edge 00091 00092 (4) book the trivial 2D histogram with full path 00093 00094 >>> h1D = book ( 'path/to/my/histo' , ## path in Histogram Transient Store 00095 'm12**2 versus m13**2' , ## histogram title 00096 50 , ## number of X-bins 00097 1.0 , ## low X-edge 00098 4.0 , ## high X-edge 00099 50 , ## number of Y-bins 00100 1 , ## low Y-edge 00101 2 ) ## high Y-edge 00102 00103 (5) book the trivial 2D histogram with directory path and literal ID 00104 00105 >>> h1D = book ( 'path/to/directory' , ## path in Histogram Transient Store 00106 'Dalitz1' , ## literal histogram identifier 00107 'm12**2 versus m13**2' , ## histogram title 00108 50 , ## number of X-bins 00109 1.0 , ## low X-edge 00110 4.0 , ## high X-edge 00111 50 , ## number of Y-bins 00112 1 , ## low Y-edge 00113 2 ) ## high Y-edge 00114 00115 (6) book the trivial 2D histogram with directory path and integer ID 00116 00117 >>> h1D = book ( 'path/to/directory' , ## path in Histogram Transient Store 00118 854 , ## integer histogram identifier 00119 'm12**2 versus m13**2' , ## histogram title 00120 50 , ## number of X-bins 00121 1.0 , ## low X-edge 00122 4.0 , ## high X-edge 00123 50 , ## number of Y-bins 00124 1.0 , ## low Y-edge 00125 4.0 ) ## high Y-edge 00126 00127 (7) book the trivial 3D histogram with full path 00128 00129 >>> h1D = book ( 'path/to/my/histo' , ## path in Histogram Transient Store 00130 'x vs y vs z ' , ## histogram title 00131 10 , ## number of X-bins 00132 -1.0 , ## low X-edge 00133 1.0 , ## high X-edge 00134 10 , ## number of Y-bins 00135 -1.0 , ## low Y-edge 00136 1.0 , ## high Y-edge 00137 10 , ## number of Z-bins 00138 -1.0 , ## low Z-edge 00139 1.0 ) ## high Z-edge 00140 00141 (8) book the trivial 3D histogram with directory path and literal ID 00142 00143 >>> h1D = book ( 'path/to/directory' , ## path in Histogram Transient Store 00144 'xyz' , ## literal histogram identifier 00145 'x vs y vs z' , ## histogram title 00146 10 , ## number of X-bins 00147 -1.0 , ## low X-edge 00148 1.0 , ## high X-edge 00149 10 , ## number of Y-bins 00150 -1.0 , ## low Y-edge 00151 1.0 , ## high Y-edge 00152 10 , ## number of Z-bins 00153 -1.0 , ## low Z-edge 00154 1.0 ) ## high Z-edge 00155 00156 (9) book the trivial 3D histogram with directory path and integer ID 00157 00158 >>> h1D = book ( 'path/to/directory' , ## path in Histogram Transient Store 00159 888 , ## integer histogram identifier 00160 'x vs y vs z' , ## histogram title 00161 10 , ## number of X-bins 00162 -1.0 , ## low X-edge 00163 1.0 , ## high X-edge 00164 10 , ## number of Y-bins 00165 -1.0 , ## low Y-edge 00166 1.0 , ## high Y-edge 00167 10 , ## number of Z-bins 00168 -1.0 , ## low Z-edge 00169 1.0 ) ## high Z-edge 00170 00171 Many other booking methods are avilable, 00172 e.g. for the histograms with non-equidistant bins, see IHistogamSvc::book 00173 00174 """ 00175 svc = _getHistoSvc ( **kwargs ) 00176 if not svc : raise RuntimeError, 'Unable to get valid HistogramService ' 00177 ## book the histogram using the service 00178 return svc.book(*args) ## RETURN 00179 00180 book.__doc__ += '\n\n' + '\thelp(gaudimodule.iHistogramSvc.book) : \n\n' \ 00181 + gaudimodule.iHistogramSvc.book . __doc__ 00182 book.__doc__ += '\n\n' + '\thelp(IHistogramSvc::book) : \n\n' \ 00183 + gaudimodule.gbl.IHistogramSvc.book . __doc__ 00184 00185 # ============================================================================= ## The trivial function to book 1D&2D profile histograms:
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 Historam 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 Historam 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 avilable, e.g. for the histograms with non-equidistant bins, see IHistogamSvc::book
Definition at line 187 of file HistoUtils.py.
00187 : 00188 """ 00189 00190 The trivial function to book 1D&2D profile histograms: 00191 00192 (1) book 1D-profile histogram with full path in Historam Transient Store: 00193 >>> histo = bookProf ( 'path/to/my/profile' , ## path in Histogram Transient Store 00194 'Energy Correction' , ## the histogram title 00195 100 , ## number of X-bins 00196 0.0 , ## low X-edge 00197 100 ) ## high X-edge 00198 00199 (2) book 1D-profile histogram with directory path and literal ID 00200 >>> histo = bookProf ( 'path/to/my/profile' , ## path in Histogram Transient Store 00201 'Calibration' , ## the histogram literal identifier 00202 'Energy Correction' , ## the histogram title 00203 100 , ## number of X-bins 00204 0.0 , ## low X-edge 00205 100 ) ## high X-edge 00206 00207 (3) book 1D-profile histogram with directory path and integer ID 00208 >>> histo = bookProf ( 'path/to/my/profile' , ## path in Histogram Transient Store 00209 418 , ## the histogram integer identifier 00210 'Energy Correction' , ## the histogram title 00211 100 , ## number of X-bins 00212 0.0 , ## low X-edge 00213 100 ) ## high X-edge 00214 00215 (4) book 2D-profile histogram with full path in Historam Transient Store: 00216 >>> histo = bookProf ( 'path/to/my/profile' , ## path in Histogram Transient Store 00217 'Energy Correction' , ## the histogram title 00218 50 , ## number of X-bins 00219 0.0 , ## low X-edge 00220 100 , ## high X-edge 00221 50 , ## number of Y-bins 00222 0.0 , ## low Y-edge 00223 100 ) ## high Y-edge 00224 00225 (5) book 2D-profile histogram with directory path and literal ID 00226 >>> histo = bookProf ( 'path/to/my/profile' , ## path in Histogram Transient Store 00227 'Calibration' , ## the histogram literal identifier 00228 'Energy Correction' , ## the histogram title 00229 50 , ## number of X-bins 00230 0.0 , ## low X-edge 00231 100 , ## high X-edge 00232 50 , ## number of Y-bins 00233 0.0 , ## low Y-edge 00234 100 ) ## high Y-edge 00235 00236 (6) book 2D-profile histogram with directory path and integer ID 00237 >>> histo = bookProf ( 'path/to/my/profile' , ## path in Histogram Transient Store 00238 418 , ## the histogram integer identifier 00239 'Energy Correction' , ## the histogram title 00240 50 , ## number of X-bins 00241 0.0 , ## low X-edge 00242 100 , ## high X-edge 00243 50 , ## number of Y-bins 00244 0.0 , ## low Y-edge 00245 100 ) ## high Y-edge 00246 00247 Many other booking methods are avilable, 00248 e.g. for the histograms with non-equidistant bins, see IHistogamSvc::book 00249 00250 """ 00251 svc = _getHistoSvc ( **kwargs ) 00252 if not svc : raise RuntimeError, 'Unable to get valid HistogramService ' 00253 ## book the histogram using the service 00254 return svc.bookProf(*args) ## RETURN 00255 00256 00257 bookProf.__doc__ += '\n\n' + '\thelp(gaudimodule.iHistogramSvc.bookProf) : \n\n' \ 00258 + gaudimodule.iHistogramSvc.bookProf . __doc__ 00259 bookProf.__doc__ += '\n\n' + '\thelp(IHistogramSvc::bookProf) : \n\n' \ 00260 + gaudimodule.gbl.IHistogramSvc.bookProf . __doc__ 00261 00262 # ============================================================================= ## The most trivial function to retrieve the histogram from Histogram Transient Store
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 historgam is returned by reference to its AIDA-representation (if possible) >>> h = getAsAIDA ( 'some/path/to/my/histogram' )
Definition at line 264 of file HistoUtils.py.
00264 : 00265 """ 00266 00267 The most trivial function to retrieve the histogram from Histogram Transient Store 00268 The historgam is returned by reference to its AIDA-representation (if possible) 00269 00270 >>> h = getAsAIDA ( 'some/path/to/my/histogram' ) 00271 00272 """ 00273 svc = _getHistoSvc ( **kwargs ) 00274 if not svc : raise RuntimeError, 'Unable to get valid HistogramService ' 00275 ## return the histogram 00276 return svc.getAsAIDA( path ) ## RETURN 00277 00278 getAsAIDA.__doc__ += '\n\n' + '\thelp(gaudimodule.iHistogramSvc.getAsAIDA) : \n\n' \ 00279 + gaudimodule.iHistogramSvc.getAsAIDA . __doc__ 00280 getAsAIDA.__doc__ += '\n\n' + '\thelp(gaudimodule.iHistogramSvc.retrieve) : \n\n' \ 00281 + gaudimodule.iHistogramSvc.retrieve . __doc__ 00282 00283 # ============================================================================= ## The most trivial function to retrieve the histogram from Histogram Transient Store
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 historgam is returned by reference to its underlying native ROOT-representation (if possible) >>> h = getAsROOT ( 'some/path/to/my/histogram' )
Definition at line 285 of file HistoUtils.py.
00285 : 00286 """ 00287 00288 The most trivial function to retrieve the histogram from Histogram Transient Store 00289 The historgam is returned by reference to its underlying native ROOT-representation (if possible) 00290 00291 >>> h = getAsROOT ( 'some/path/to/my/histogram' ) 00292 00293 """ 00294 svc = _getHistoSvc ( **kwargs ) 00295 if not svc : raise RuntimeError, 'Unable to get valid HistogramService ' 00296 ## return the histogram 00297 return svc.getAsROOT( path ) ## RETURN 00298 00299 getAsROOT.__doc__ += '\n\n' + '\thelp(gaudimodule.iHistogramSvc.getAsROOT) : \n\n' \ 00300 + gaudimodule.iHistogramSvc.getAsROOT . __doc__ 00301 00302 00303 # ============================================================================= ## The function which allows 'the smart fill' of 1D-histogram
def GaudiPython::HistoUtils::fill | ( | histo, | ||
histogram, | ||||
data, | ||||
input, | ||||
data, | ||||
fun = lambda x : x , |
||||
function, | ||||
to, | ||||
be, | ||||
used, | ||||
cut = lambda x : True , |
||||
cut, | ||||
to, | ||||
be, | ||||
applied, | ||||
kwargs | ||||
) |
The function which allows 'the smart fill' of 1D-histogram.
Definition at line 305 of file HistoUtils.py.
00307 : x , ## function to be used 00308 cut = lambda x : True , ## cut to be applied 00309 **kwargs ) : ## optional extra arguments 00310 """ 00311 00312 The function which allows 'the smart fill' of 1D-histogram 00313 00314 >>> histo = ... 00315 00316 The most trivial case, fill with the value 00317 >>> fill ( histo , 1.0 ) 00318 00319 Fill from any iterable object (sequence) 00320 >>> fill ( histo , [1,,2,3,4,5,10] ) 00321 00322 Fill from iterable object and apply the function: 00323 >>> fill ( histo , [1,2,3,4,5] , math.sin ) 00324 00325 Use lambda form: 00326 >>> fill ( histo , [1,2,3,4,5] , lambda x : x*x ) 00327 00328 The same 00329 >>> fill ( histo , [1,2,3,4,5] , fun = lambda x : x*x ) 00330 00331 Use internal attributes: 00332 >>> tracks = evtSvc['Rec/Track/Best'] ## iterable container of tracks 00333 >>> fill ( histo , tracks , lambda t : t.pt() ) 00334 00335 Apply the predicate: fill only even numbers: 00336 >>> fill ( histo , [1,2,3,4,5,6,7] , lambda x : x , lambda y : y%2 ) 00337 00338 The same (omit the trivial function) : 00339 >>> fill ( histo , [1,2,3,4,5,6,7] , cut = lambda y : y%2 ) 00340 00341 Apply the predicate: fill only pt for positively charged tracks: 00342 >>> tracks = evtSvc['Rec/Track/Best'] 00343 >>> fill ( histo , tracks , lambda t : t.pt() , lambda t : 0<t.charge() ) 00344 00345 The same: 00346 >>> fill ( histo , tracks , 00347 fun = lambda t : t.pt() , 00348 cut = lambda t : 0<t.charge() ) 00349 00350 Ordinary functions are also fine: 00351 >>> def myfun ( track ) : return sin( track.pt() + track.p() ) 00352 >>> def mycut ( track ) : return track.p() > 100 * GeV 00353 >>> fill ( histo , tracks , myfun , mycut ) 00354 00355 The 'data' could be the address in TES, in this case the object 00356 is retrieevd from TES and the method is applied to the objects, 00357 retrieved from TES: 00358 >>> fill ( histo , ## the reference to the histogram 00359 'Rec/Track/Best' , ## the location of objects in TES 00360 lambda t : t.pt() ) ## function to be used for histogram fill 00361 >>> fill ( histo , ## the reference to the histogram 00362 'Rec/Track/Best' , ## the address of objects in TES 00363 lambda t : t.pt() , ## the functuon to be used for histogram fill 00364 lambda t : t.charge()>0 ) ## the criteria to select tracks 00365 00366 The arguments 'fun' and 'cut' could be strings, in this case 00367 they are evaluated by python before usage. 00368 This option could be often very useful. 00369 00370 """ 00371 00372 # if value is a string, try to get the objects from TES 00373 if type ( data ) == str : 00374 svc = _getEvtSvc ( **kwargs ) 00375 data = svc[data] 00376 return fill ( histo , data , fun , cut , **kwargs ) 00377 00378 # if the function is a string: evaluate it! 00379 if type ( fun ) == str : fun = eval ( fun , globals() ) 00380 00381 # if the criterion is a string: evaluate it! 00382 if type ( cut ) == str : cut = eval ( cut , globals() ) 00383 00384 if not hasattr ( data , '__iter__' ) : data = [ data ] 00385 00386 if not hassattr ( histo , 'fill' ) and hasattr ( histo , 'Fill' ) : 00387 setattr ( histo , 'fill' , getattr ( histo , 'Fill' ) ) 00388 00389 for item in data : 00390 if not cut ( item ) : continue ## CONTINUE 00391 histo.fill ( fun ( item ) ) 00392 00393 return histo ## RETURN 00394 00395 00396 # ==================================================:===========================
string GaudiPython::HistoUtils::__author__ = "Vanya BELYAEV ibelyaev@physics.syr.edu" [static] |
This module contains set of simple and useful utilitied for booking and manipulations with Gaudi-AIDA histograms, inspired by Thomas' requiest.
Definition at line 22 of file HistoUtils.py.
tuple GaudiPython::HistoUtils::__all__ = ( 'book' , 'bookProf' , 'getAsAIDA' , 'getAsROOT' , 'fill' ) [static] |
Definition at line 24 of file HistoUtils.py.