ATLAS Offline Software
Classes | Functions | Variables
computils.cxx File Reference
#include <stdlib.h>
#include <sys/time.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <glob.h>
#include <stdint.h>
#include <iostream>
#include <string>
#include <vector>
#include "label.h"
#include "DrawLabel.h"
#include "TFile.h"
#include "TKey.h"
#include "TTree.h"
#include "TList.h"
#include "TObject.h"
#include "TDirectory.h"
#include "TH1D.h"
#include "TLegend.h"
#include "TColor.h"
#include "computils.h"

Go to the source code of this file.

Classes

union  floaty_t
 

Functions

double Entries (TH1 *h)
 
double integral (TH1 *h)
 
void Norm (TH1 *h, double scale)
 
bool almost_equal (floaty_t a, floaty_t b, int max_diff)
 
bool almost_equal (float a, float b, int max_diff)
 
bool operator== (floaty_t a, floaty_t b)
 
void trim_tgraph (TH1 *h, TGraphAsymmErrors *t)
 
void ATLASFORAPP_LABEL (double x, double y, int color, double size)
 
void myText (Double_t x, Double_t y, Color_t color, const std::string &text, Double_t tsize)
 
std::string stime ()
 return the current data and time More...
 
bool contains (const std::string &s, const std::string &p)
 contains a string More...
 
bool contains (const std::string &s, char p) noexcept
 
bool fcontains (const std::string &s, const std::string &p)
 contains a string at the beginning of the string More...
 
double plotable (TH1 *h)
 
bool exists (const std::string &filename)
 does a file exist More...
 
std::string globbed (const std::string &s)
 match a file name More...
 
bool empty (TH1 *h)
 
std::string tail (std::string s, const std::string &pattern)
 tail of a string More...
 
std::string head (std::string s, const std::string &pattern)
 head of a string More...
 
void contents (std::vector< std::string > &keys, TDirectory *td, const std::string &directory, const std::string &pattern, const std::string &path)
 
void contents (std::vector< std::string > &keys, TDirectory *td, const std::string &directory, const std::vector< std::string > &patterns, const std::string &path)
 
double realmax (TH1 *h, bool include_error, double lo, double hi)
 
double realmin (TH1 *h, bool, double lo, double hi)
 
double hmean (TH1 *h)
 
std::vector< int > findxrange (TH1 *h, bool symmetric)
 automatically set the xrange on a histogram More...
 
void xrange (TH1 *h, bool symmetric)
 
std::vector< double > findxrangeuser (TH1 *h, bool symmetric)
 
void xrangeuser (TH1 *h, bool symmetric)
 
std::string findcell (std::string name, const std::string &regex, const std::string &splitex)
 
std::string findrun (TFile *f)
 
void copyReleaseInfo (TFile *finput, TFile *foutdir)
 copy the release info TTree More...
 

Variables

bool LINEF = true
 
bool LINES = false
 
int colours [6] = { 1, 2, kBlue-4, 6, kCyan-2, kMagenta+2 }
 
int markers [6] = { 20, 24, 25, 26, 25, 22 }
 
double msizes [6] = { 0.85, 1, 1, 1, 1, 1 }
 

Detailed Description

Author
mark sutton
Date
Sat Aug 30 2014 14:38:03 CEST

Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration

Definition in file computils.cxx.

Function Documentation

◆ almost_equal() [1/2]

bool almost_equal ( float  a,
float  b,
int  max_diff 
)

Definition at line 141 of file computils.cxx.

141  {
142  return almost_equal( floaty_t(a), floaty_t(b), max_diff );
143 }

◆ almost_equal() [2/2]

bool almost_equal ( floaty_t  a,
floaty_t  b,
int  max_diff 
)

Definition at line 125 of file computils.cxx.

125  {
126 
127  // Check for trivial equality to make sure +0==-0
128  if ( a.f == b.f ) return true;
129 
130  // Different signs means they do not match.
131  if ( a.negative() != b.negative() ) return false;
132 
133  // Find the difference in last place units
134  int ulps_diff = std::abs( a.i - b.i );
135  if (ulps_diff <= max_diff) return true;
136 
137  return false;
138 }

◆ ATLASFORAPP_LABEL()

void ATLASFORAPP_LABEL ( double  x,
double  y,
int  color,
double  size 
)

Definition at line 187 of file computils.cxx.

188 {
189  TLatex* lat = new TLatex(); //lat.SetTextAlign(12); lat.SetTextSize(tsize);
190  lat->SetNDC();
191  lat->SetTextFont(72);
192  lat->SetTextColor(color);
193  lat->SetTextSize(size);
194  lat->DrawLatex(x,y,"ATLAS");
195 
196  TLatex* lat2 = new TLatex(); //lat.SetTextAlign(12); lat.SetTextSize(tsize);
197  lat2->SetNDC();
198  lat2->SetTextFont(52);
199  lat2->SetTextColor(color);
200  lat2->SetTextSize(size); // this 0.13 should really be calculated as a ratio of the width of the canvas
201  lat2->DrawLatex(x+0.13,y,"For Approval");
202 }

◆ contains() [1/2]

bool contains ( const std::string &  s,
char  p 
)
noexcept

Definition at line 227 of file computils.cxx.

227  {
228  return (s.find(p)!=std::string::npos);
229 }

◆ contains() [2/2]

bool contains ( const std::string &  s,
const std::string &  p 
)

contains a string

does a string contain the substring

Definition at line 222 of file computils.cxx.

222  {
223  return (s.find(p)!=std::string::npos);
224 }

◆ contents() [1/2]

void contents ( std::vector< std::string > &  keys,
TDirectory *  td,
const std::string &  directory,
const std::string &  pattern,
const std::string &  path 
)

Definition at line 320 of file computils.cxx.

321  {
322  std::vector<std::string> patterns;
323  patterns.push_back(pattern);
324  contents( keys, td, directory, patterns, path );
325 }

◆ contents() [2/2]

void contents ( std::vector< std::string > &  keys,
TDirectory *  td,
const std::string &  directory,
const std::vector< std::string > &  patterns,
const std::string &  path 
)

directory, cd to it ...

test to see whether we are searhing for a specific directory name not a directory so include this ...

Definition at line 330 of file computils.cxx.

331  {
332 
333  bool print = false;
334 
335  TList* tl = td->GetListOfKeys();
336 
337  for ( int i=tl->GetSize() ; i-- ; ) {
338 
339  TKey* tobj = (TKey*)tl->At(i);
340 
341  if ( tobj==0 ) continue;
342 
343  if ( std::string(tobj->GetClassName()).find("TDirectory")!=std::string::npos ) {
344 
345  TDirectory* tnd = (TDirectory*)tobj->ReadObj();
346 
348  std::string dname = tnd->GetName();
349 
350  std::string newpath = path+dname+"/";
351  contents( keys, tnd, directory, patterns, newpath );
352 
353  }
354  else {
357  if ( directory == "" || contains( path, directory ) ) {
358 
359 
360  bool matched = true;
361  for ( size_t i=patterns.size() ; i-- ; ) {
362  const std::string& pattern = patterns[i];
363  if ( contains(std::string(tobj->GetName()), pattern ) ) matched &=true;
364  else matched = false;
365  }
366  if ( matched ) {
367  if ( print ) std::cout << "will process " << td->GetName() << " \t:: " << tobj->GetName() << "\tpatterns: " << patterns.size() << std::endl;
368  print = false;
369  keys.push_back( path+tobj->GetName() );
370  }
371  }
372  }
373  }
374 }

◆ copyReleaseInfo()

void copyReleaseInfo ( TFile *  finput,
TFile *  foutdir 
)

copy the release info TTree

copy the TTree of release info from one directory to another

Definition at line 619 of file computils.cxx.

619  {
620 
621  std::vector<std::string> release_data;
622 
623  if ( finput && foutdir ) {
624 
625  TTree* tree = (TTree*)finput->Get("dataTree");
626  TTree* clone = tree->CloneTree();
627 
628  foutdir->cd();
629  clone->Write("", TObject::kOverwrite);
630 
631  delete clone;
632 
633  }
634 
635 }

◆ empty()

bool empty ( TH1 *  h)

Definition at line 295 of file computils.cxx.

295  {
296  for ( int i=h->GetNbinsX() ; i>0 ; i-- ) if ( h->GetBinContent(i)!=0 ) return false;
297  return true;
298 }

◆ Entries()

double Entries ( TH1 *  h)

Definition at line 51 of file computils.cxx.

51  {
52  double n = 0;
53  for ( int i=h->GetNbinsX()+1 ; --i ; ) n += h->GetBinContent(i);
54  return n;
55 }

◆ exists()

bool exists ( const std::string &  filename)

does a file exist

Definition at line 255 of file computils.cxx.

255  {
256  struct stat sb;
257  if ( stat( filename.c_str(), &sb)==0 ) return true; // && S_ISREG(sb.st_mode ))
258  else return false;
259 }

◆ fcontains()

bool fcontains ( const std::string &  s,
const std::string &  p 
)

contains a string at the beginning of the string

does a string contain the substring at the beginning of the string

Definition at line 233 of file computils.cxx.

233  {
234  return (s.find(p)==0);
235 }

◆ findcell()

std::string findcell ( std::string  name,
const std::string &  regex,
const std::string &  splitex 
)

Definition at line 546 of file computils.cxx.

546  {
547 
548  size_t posex = name.find( regex );
549 
550  if ( posex==std::string::npos ) return "";
551 
552  size_t pos = name.find_last_of( splitex );
553 
554  std::string duff = name;
555 
556  while ( pos!=std::string::npos && pos>posex+regex.size() ) {
557  name.resize(pos); //pos must be <=string length
558  pos = name.find_last_of( splitex );
559  }
560 
561  pos = name.find( regex );
562 
563  name = name.substr( pos, name.size() );
564 
565  pos = name.find( splitex );
566 
567  if ( pos!=std::string::npos ) return name.substr( 0, pos );
568 
569  return name;
570 }

◆ findrun()

std::string findrun ( TFile *  f)

go through sub directories

Definition at line 574 of file computils.cxx.

574  {
575 
576  TDirectory* here = gDirectory;
577 
578  f->cd();
579 
580  std::cout << "gDirectory::GetName() " << gDirectory->GetName() << std::endl;
581 
582  // gDirectory->pwd();
583 
584  // gDirectory->ls();
585 
586  TList* tl = gDirectory->GetListOfKeys();
587 
589 
590  for ( int i=0 ; i<tl->GetSize() ; i++ ) {
591 
592  TKey* tobj = (TKey*)tl->At(i);
593 
594  if ( tobj==0 ) continue;
595 
596  if ( std::string(tobj->GetClassName()).find("TDirectory")!=std::string::npos ) {
597 
598  TDirectory* tnd = (TDirectory*)tobj->ReadObj();
599 
600  std::string name = tnd->GetName();
601 
602  if ( name.find( "run_" )==0 ) {
603  here->cd();
604  return name;
605  }
606  }
607  }
608 
609  here->cd();
610 
611  return "";
612 }

◆ findxrange()

std::vector<int> findxrange ( TH1 *  h,
bool  symmetric 
)

automatically set the xrange on a histogram

zoom on non-empty bins

Definition at line 447 of file computils.cxx.

447  {
448 
449  int ilo = 1;
450  int ihi = h->GetNbinsX();
451 
452  h->GetXaxis()->SetRange( ilo, ihi );
453 
454  std::vector<int> limits(2,0);
455  limits[0] = ilo;
456  limits[1] = ihi;
457 
458  if ( empty(h) ) return limits;
459 
460 #if 1
461 
463  for ( ; ilo<=ihi ; ilo++ ) if ( h->GetBinContent(ilo)!=0 ) break;
464  for ( ; ihi>=ilo ; ihi-- ) if ( h->GetBinContent(ihi)!=0 ) break;
465 
466 #else
467 
469 
471 
472  double icont = 1/content;
473 
474  double flo = 0;
475  double fhi = 0;
476  for ( ; ilo<=ihi ; ilo++ ) {
477  flo += h->GetBinContent(ilo);
478  if ( (flo*icont)>0.0005 ) break;
479  }
480 
481  for ( ; ihi>=ilo ; ihi-- ) {
482  fhi += h->GetBinContent(ihi);
483  if ( (fhi*icont)>0.0005 ) break;
484  }
485 
486 #endif
487 
488  int delta_lo = ilo-1;
489  int delta_hi = h->GetNbinsX()-ihi;
490 
491  if ( symmetric ) {
492  if ( delta_hi<delta_lo ) {
493  limits[0] = 1+delta_hi;
494  limits[1] = ihi;
495  }
496  else {
497  limits[0] = 1+delta_lo;
498  limits[1] = h->GetNbinsX()-delta_lo;
499  }
500  }
501  else {
502 
503  if ( ilo>1 ) ilo--;
504  if ( ihi<h->GetNbinsX() ) ihi++;
505 
506  limits[0] = ilo;
507  limits[1] = ihi;
508  }
509 
510  return limits;
511 
512 }

◆ findxrangeuser()

std::vector<double> findxrangeuser ( TH1 *  h,
bool  symmetric 
)

Definition at line 524 of file computils.cxx.

524  {
525 
526  std::vector<int> limits = findxrange( h, symmetric );
527 
528  std::vector<double> dlimits(2,0);
529 
530  double dx = h->GetBinLowEdge(limits[1]+1)-h->GetBinLowEdge(limits[1]);
531 
532  dlimits[0] = h->GetBinLowEdge(limits[0]);
533  dlimits[1] = h->GetBinLowEdge(limits[1]+1)-dx*1e-11;
534 
535  return dlimits;
536 }

◆ globbed()

std::string globbed ( const std::string &  s)

match a file name

glob for a file based on the pattern, then return the name of the first matching file

Definition at line 263 of file computils.cxx.

263  {
266 
267  glob_t glob_result;
268  glob( s.c_str(), GLOB_TILDE, 0, &glob_result );
269 
270  std::vector<std::string> ret;
271  for( unsigned i=0 ; i<glob_result.gl_pathc ; i++ ){
272  ret.push_back( std::string(glob_result.gl_pathv[i]) );
273  }
274  globfree(&glob_result);
275 
276 
277  if ( ret.empty() ) {
278  std::cerr << "no matching file: " << s << std::endl;
279  return "";
280  }
281 
282  if ( ret.size()>1 ) {
283  for ( unsigned i=0 ; i<ret.size() ; i++ ) {
284  std::cout << "matched " << ret[i] << std::endl;
285  }
286  }
287 
288  return ret[0];
289 }

◆ head()

std::string head ( std::string  s,
const std::string &  pattern 
)

head of a string

Definition at line 311 of file computils.cxx.

311  {
312  size_t pos = s.find_last_of(pattern);
313  if ( pos != std::string::npos ) {
314  s.erase( pos, s.size() );
315  }
316  return s;
317 }

◆ hmean()

double hmean ( TH1 *  h)

Definition at line 434 of file computils.cxx.

434  {
435  double N = integral(h);
436  double n=0;
437  for ( int i=h->GetNbinsX() ; i>0 ; i-- ) {
438  n += h->GetBinContent(i);
439  if ( 2*n>N ) return h->GetBinCenter(i);
440  }
441  return 0;
442 }

◆ integral()

double integral ( TH1 *  h)

Definition at line 58 of file computils.cxx.

58  {
59  double n=0;
60  for ( int i=h->GetNbinsX() ; i>0 ; i-- ) n += h->GetBinContent(i);
61  return n;
62 }

◆ myText()

void myText ( Double_t  x,
Double_t  y,
Color_t  color,
const std::string &  text,
Double_t  tsize 
)

Definition at line 204 of file computils.cxx.

204  {
205 
206  //Double_t tsize=0.05;
207  TLatex lat; lat.SetTextAlign(12); lat.SetTextSize(tsize);
208  lat.SetNDC();
209  lat.SetTextColor(color);
210  lat.DrawLatex(x,y,text.c_str());
211 }

◆ Norm()

void Norm ( TH1 *  h,
double  scale 
)

Definition at line 66 of file computils.cxx.

66  {
67  double n = 0;
68  for ( int i=h->GetNbinsX()+2 ; --i ; ) n += h->GetBinContent(i);
69  if ( n!=0 ) {
70  double in=scale/n;
71  for ( int i=h->GetNbinsX()+2 ; --i ; ) {
72  h->SetBinContent(i, h->GetBinContent(i)*in );
73  h->SetBinError(i, h->GetBinError(i)*in );
74  }
75  }
76 
77 }

◆ operator==()

bool operator== ( floaty_t  a,
floaty_t  b 
)

use a maximum 5 float separation between the two - could be more precise

Definition at line 146 of file computils.cxx.

146  {
148  return almost_equal( a, b, 5 );
149 }

◆ plotable()

double plotable ( TH1 *  h)

Definition at line 238 of file computils.cxx.

238  { // , double xlo, double xhi ) {
239  double n = 0;
240 
241  double xlo = h->GetBinLowEdge(1);
242  double xhi = h->GetBinLowEdge(h->GetNbinsX()+1);
243 
244  // if ( xlo!=-999 ) _xlo = xlo;
245  // if ( xhi!=-999 ) _xhi = xhi;
246 
247  for ( int i=h->GetNbinsX()+1 ; --i ; ) {
248  if ( h->GetBinCenter(i)>xlo && h->GetBinCenter(i)<xhi ) n += h->GetBinContent(i);
249  }
250  return n;
251 }

◆ realmax()

double realmax ( TH1 *  h,
bool  include_error,
double  lo,
double  hi 
)

Definition at line 380 of file computils.cxx.

380  {
381  double rm = 0;
382  if ( h->GetNbinsX()==0 ) return 0;
383 
384  bool first = true;
385  for ( int i=1 ; i<=h->GetNbinsX() ; i++ ) {
386 
387  if ( lo!=hi ) {
388  double c = h->GetBinCenter(i);
389  if ( lo>c || hi<c ) continue;
390  }
391 
392  double re = h->GetBinContent(i);
393  if ( include_error ) re += h->GetBinError(i);
394  if ( re!=0 ) {
395  if ( first || rm<re ) {
396  rm = re;
397  first = false;
398  }
399  }
400  }
401 
402  return rm;
403 }

◆ realmin()

double realmin ( TH1 *  h,
bool  ,
double  lo,
double  hi 
)

Definition at line 407 of file computils.cxx.

407  {
408 
409  if ( h->GetNbinsX()==0 ) return 0;
410 
411  double rm = 0;
412 
413  bool first = true;
414  for ( int i=1 ; i<=h->GetNbinsX() ; i++ ) {
415 
416  if ( lo!=hi ) {
417  double c = h->GetBinCenter(i);
418  if ( lo>c || hi<c ) continue;
419  }
420 
421  double re = h->GetBinContent(i);
422 
423  if ( re!=0 ) {
424  // if ( include_error ) re -= h->GetBinError(i);
425  if ( first || rm>re ) rm = re;
426  first = false;
427  }
428  }
429 
430  return rm;
431 }

◆ stime()

std::string stime ( )

return the current data and time

Definition at line 214 of file computils.cxx.

214  {
215  time_t t;
216  time(&t);
217  return label("%s", ctime(&t) );
218 }

◆ tail()

std::string tail ( std::string  s,
const std::string &  pattern 
)

tail of a string

Definition at line 301 of file computils.cxx.

301  {
302  size_t pos = s.find(pattern);
303  while ( pos != std::string::npos ) {
304  s.erase( 0, pos+1 );
305  pos = s.find(pattern);
306  }
307  return s;
308 }

◆ trim_tgraph()

void trim_tgraph ( TH1 *  h,
TGraphAsymmErrors *  t 
)

Definition at line 152 of file computils.cxx.

152  {
153 
154  double ylo = h->GetMinimum();
155 
156  int ih=1;
157 
158  for ( int i=0 ; i<t->GetN() && ih<=h->GetNbinsX() ; i++, ih++ ) {
159 
160  double yt = 0;
161  double xt = 0;
162  double ye = 0;
163 
164  t->GetPoint( i, xt, yt );
165  ye = t->GetErrorYlow( i );
166 
167  double yh = h->GetBinContent(ih);
168  double xh = h->GetBinCenter(ih);
169 
170  while( !almost_equal( xh, xt, 5 ) && ih<=h->GetNbinsX() ) {
171  ih++;
172  yh = h->GetBinContent(ih);
173  xh = h->GetBinCenter(ih);
174  }
175 
176  if ( !almost_equal( yh, yt, 5 ) ) throw data_mismatch(std::string("for histogram ")+h->GetName());
177 
178  if ( (yt-ye) < ylo ) {
179  h->SetBinContent(ih, ylo-100 );
180  t->SetPoint( i, xt, ylo-100 );
181  }
182 
183  }
184 }

◆ xrange()

void xrange ( TH1 *  h,
bool  symmetric 
)

Definition at line 516 of file computils.cxx.

516  {
517  std::vector<int> limits = findxrange( h, symmetric );
518  h->GetXaxis()->SetRange( limits[0], limits[1] );
519 }

◆ xrangeuser()

void xrangeuser ( TH1 *  h,
bool  symmetric 
)

Definition at line 539 of file computils.cxx.

539  {
540  std::vector<double> limits = findxrangeuser( h, symmetric );
541  h->GetXaxis()->SetRangeUser( limits[0], limits[1] );
542 }

Variable Documentation

◆ colours

int colours[6] = { 1, 2, kBlue-4, 6, kCyan-2, kMagenta+2 }

Definition at line 45 of file computils.cxx.

◆ LINEF

bool LINEF = true

Definition at line 39 of file computils.cxx.

◆ LINES

bool LINES = false

Definition at line 40 of file computils.cxx.

◆ markers

int markers[6] = { 20, 24, 25, 26, 25, 22 }

Definition at line 46 of file computils.cxx.

◆ msizes

double msizes[6] = { 0.85, 1, 1, 1, 1, 1 }

Definition at line 47 of file computils.cxx.

mergePhysValFiles.pattern
pattern
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:26
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
color
Definition: jFexInputByteStreamTool.cxx:25
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
yt
#define yt
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:128
integral
double integral(TH1 *h)
Definition: computils.cxx:58
patterns
std::vector< std::string > patterns
Definition: listroot.cxx:187
PlotCalibFromCool.label
label
Definition: PlotCalibFromCool.py:78
tree
TChain * tree
Definition: tile_monitor.h:30
JetTiledMap::N
@ N
Definition: TiledEtaPhiMap.h:44
data_mismatch
Definition: computils.h:99
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
yodamerge_tmp.scale
scale
Definition: yodamerge_tmp.py:138
x
#define x
empty
bool empty(TH1 *h)
Definition: computils.cxx:295
python.Utilities.clone
clone
Definition: Utilities.py:134
PrepareReferenceFile.regex
regex
Definition: PrepareReferenceFile.py:43
grepfile.content
string content
Definition: grepfile.py:56
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
xt
#define xt
contains
bool contains(const std::string &s, const std::string &p)
contains a string
Definition: computils.cxx:222
WritePulseShapeToCool.xhi
xhi
Definition: WritePulseShapeToCool.py:152
DeMoScan.directory
string directory
Definition: DeMoScan.py:80
ParseInputs.gDirectory
gDirectory
Definition: Final2012/ParseInputs.py:133
lumiFormat.i
int i
Definition: lumiFormat.py:85
beamspotman.n
n
Definition: beamspotman.py:731
hist_file_dump.f
f
Definition: hist_file_dump.py:135
WritePulseShapeToCool.xlo
xlo
Definition: WritePulseShapeToCool.py:133
contents
void contents(std::vector< std::string > &keys, TDirectory *td, const std::string &directory, const std::string &pattern, const std::string &path)
Definition: computils.cxx:320
WritePulseShapeToCool.ylo
ylo
Definition: WritePulseShapeToCool.py:134
beamspotman.stat
stat
Definition: beamspotman.py:266
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25
findxrangeuser
std::vector< double > findxrangeuser(TH1 *h, bool symmetric)
Definition: computils.cxx:524
keylayer_zslicemap.sb
sb
Definition: keylayer_zslicemap.py:192
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
findxrange
std::vector< int > findxrange(TH1 *h, bool symmetric)
automatically set the xrange on a histogram
Definition: computils.cxx:447
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
python.ElectronD3PDObject.matched
matched
Definition: ElectronD3PDObject.py:138
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
PlotCalibFromCool.lat
lat
Definition: PlotCalibFromCool.py:867
a
TList * a
Definition: liststreamerinfos.cxx:10
y
#define y
h
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
DeMoScan.first
bool first
Definition: DeMoScan.py:536
re
const boost::regex re(r_e)
makeTRTBarrelCans.dx
tuple dx
Definition: makeTRTBarrelCans.py:20
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
makeTransCanvas.text
text
Definition: makeTransCanvas.py:11
dq_defect_create_virtual_defects.dname
dname
Definition: dq_defect_create_virtual_defects.py:71
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
dqt_zlumi_alleff_HIST.tl
tl
Definition: dqt_zlumi_alleff_HIST.py:73
atlasStyleMacro.tsize
float tsize
Definition: atlasStyleMacro.py:37
almost_equal
bool almost_equal(floaty_t a, floaty_t b, int max_diff)
Definition: computils.cxx:125
python.compressB64.c
def c
Definition: compressB64.py:93
floaty_t
Definition: computils.cxx:108