CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Types | Public Member Functions | Private Types | Private Attributes
Book Class Reference

#include <Book.h>

Classes

struct  match_name
 

Public Types

typedef boost::filter_iterator
< match_name,
book_t::const_iterator > 
const_iterator
 
typedef boost::filter_iterator
< match_name, book_t::iterator > 
iterator
 

Public Member Functions

iterator begin (string_t re=".*")
 
const_iterator begin (string_t re=".*") const
 
 Book ()
 
 Book (string_t t)
 
TH1 * book (string_t name, TH1 *const hist)
 
bool empty () const
 
iterator end (string_t re=".*")
 
const_iterator end (string_t re=".*") const
 
void erase (string_t name)
 
void erase (iterator it)
 
void fill (double_t X, const char *name, uint_t NbinsX, double_t Xlow, double_t Xup, double_t W=1)
 
void fill (double_t X, const poly< std::string > &names, uint_t NbinsX, double_t Xlow, double_t Xup, double_t W=1)
 
void fill (double_t X, double_t Y, const char *name, uint_t NbinsX, double_t Xlow, double_t Xup, double_t W=1)
 
void fill (double_t X, double_t Y, const poly< std::string > &names, uint_t NbinsX, double_t Xlow, double_t Xup, double_t W=1)
 
void fill (double_t X, double_t Y, const char *name, uint_t NbinsX, double_t Xlow, double_t Xup, uint_t NbinsY, double_t Ylow, double_t Yup, double_t W=1)
 
void fill (double_t X, double_t Y, const poly< std::string > &names, uint_t NbinsX, double_t Xlow, double_t Xup, uint_t NbinsY, double_t Ylow, double_t Yup, double_t W=1)
 
void fill (double_t X, double_t Y, double_t Z, const char *name, uint_t NbinsX, double_t Xlow, double_t Xup, uint_t NbinsY, double_t Ylow, double_t Yup, uint_t NbinsZ, double_t Zlow, double_t Zup, double_t W=1)
 
void fill (double_t X, double_t Y, double_t Z, const poly< std::string > &names, uint_t NbinsX, double_t Xlow, double_t Xup, uint_t NbinsY, double_t Ylow, double_t Yup, uint_t NbinsZ, double_t Zlow, double_t Zup, double_t W=1)
 
std::pair< iterator, iteratorfilter_range (string_t re=".*")
 
std::pair< const_iterator,
const_iterator
filter_range (string_t re=".*") const
 
iterator find (string_t name, string_t re=".*")
 
const_iterator find (string_t name, string_t re=".*") const
 
TH1 *& operator[] (string_t name)
 
const TH1 * operator[] (string_t name) const
 
long size () const
 
string_ttitle () const
 

Private Types

typedef std::map< std::string,
TH1 * > 
book_t
 
typedef const double double_t
 
typedef const std::string string_t
 
typedef const unsigned long uint_t
 

Private Attributes

book_t book_
 
TDirectory * directory
 
std::string title_
 

Detailed Description

Definition at line 16 of file Book.h.

Member Typedef Documentation

typedef std::map<std::string, TH1*> Book::book_t
private

Definition at line 21 of file Book.h.

typedef boost::filter_iterator<match_name,book_t::const_iterator> Book::const_iterator

Definition at line 47 of file Book.h.

typedef const double Book::double_t
private

Definition at line 18 of file Book.h.

typedef boost::filter_iterator<match_name,book_t::iterator> Book::iterator

Definition at line 46 of file Book.h.

typedef const std::string Book::string_t
private

Definition at line 20 of file Book.h.

typedef const unsigned long Book::uint_t
private

Definition at line 19 of file Book.h.

Constructor & Destructor Documentation

Book::Book ( )
inline

Definition at line 35 of file Book.h.

35 : title_(""), directory(0) {}
std::string title_
Definition: Book.h:24
TDirectory * directory
Definition: Book.h:25
Book::Book ( string_t  t)
inline

Definition at line 36 of file Book.h.

36 : title_(t), directory(new TDirectory(t.c_str(),t.c_str())) {}
std::string title_
Definition: Book.h:24
TDirectory * directory
Definition: Book.h:25

Member Function Documentation

iterator Book::begin ( string_t  re = ".*")
inline
const_iterator Book::begin ( string_t  re = ".*") const
inline

Definition at line 49 of file Book.h.

References b, book_, and ExpressReco_HICollisions_FallBack::e.

49 {book_t::const_iterator b(book_.begin()), e(book_.end()); return boost::make_filter_iterator(match_name(re),b,e);}
book_t book_
Definition: Book.h:23
double b
Definition: hdecay.h:120
TH1* Book::book ( string_t  name,
TH1 *const  hist 
)
inline

Definition at line 42 of file Book.h.

References book_, directory, estimatePileup::hist, and AlCaRecoCosmics_cfg::name.

Referenced by fill(), and LA_Filler_Fitter::make_and_fit_symmchi2().

42 { book_[name]=hist; hist->SetDirectory(directory); if(!hist->GetSumw2N()) hist->Sumw2(); return hist;}
book_t book_
Definition: Book.h:23
TDirectory * directory
Definition: Book.h:25
bool Book::empty ( ) const
inline

Definition at line 39 of file Book.h.

References book_.

Referenced by python.Vispa.Gui.VispaWidget.TextField::setAutosizeFont(), and python.Vispa.Gui.VispaWidget.TextField::setAutotruncate().

39 { return book_.empty(); }
book_t book_
Definition: Book.h:23
iterator Book::end ( string_t  re = ".*")
inline
const_iterator Book::end ( string_t  re = ".*") const
inline

Definition at line 51 of file Book.h.

References book_, and ExpressReco_HICollisions_FallBack::e.

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

51 {book_t::const_iterator e(book_.end()); return boost::make_filter_iterator(match_name(re),e,e);}
book_t book_
Definition: Book.h:23
void Book::erase ( string_t  name)
inline

Definition at line 57 of file Book.h.

References book_.

Referenced by LA_Filler_Fitter::fit_width_profile().

57 { book_t::iterator it = book_.find(name); if(it!=book_.end()) {delete it->second; book_.erase(it); } }
book_t book_
Definition: Book.h:23
void Book::erase ( iterator  it)
inline

Definition at line 58 of file Book.h.

References book_.

58 { delete it->second; book_.erase(it.base()); }
book_t book_
Definition: Book.h:23
void Book::fill ( double_t  X,
const char *  name,
uint_t  NbinsX,
double_t  Xlow,
double_t  Xup,
double_t  W = 1 
)
inline

Definition at line 60 of file Book.h.

Referenced by fill(), LA_Filler_Fitter::fill_one_cluster(), LA_Filler_Fitter::summarize_ensembles(), and sistrip::MeasureLA::summarize_module_muH_byLayer().

61  { fill(X,std::string(name),NbinsX,Xlow,Xup,W);}
#define X(str)
Definition: MuonsGrabber.cc:49
void fill(double_t X, const char *name, uint_t NbinsX, double_t Xlow, double_t Xup, double_t W=1)
Definition: Book.h:60
void Book::fill ( double_t  X,
const poly< std::string > &  names,
uint_t  NbinsX,
double_t  Xlow,
double_t  Xup,
double_t  W = 1 
)
inline

Definition at line 62 of file Book.h.

References poly< T >::begin(), book(), book_, cond::rpcobimon::current, poly< T >::end(), and AlCaRecoCosmics_cfg::name.

64  {
65  BOOST_FOREACH(string_t name, std::make_pair(names.begin(),names.end())) {
66  book_t::const_iterator current = book_.find(name);
67  if( current == book_.end() )
68  book(name, new TH1D(name.c_str(), "", NbinsX, Xlow, Xup))->Fill(X,W);
69  else current->second->Fill(X,W);
70  }
71  }
const_iterator end() const
Definition: poly.h:48
#define X(str)
Definition: MuonsGrabber.cc:49
const std::string string_t
Definition: Book.h:20
const_iterator begin() const
Definition: poly.h:47
book_t book_
Definition: Book.h:23
TH1 * book(string_t name, TH1 *const hist)
Definition: Book.h:42
void Book::fill ( double_t  X,
double_t  Y,
const char *  name,
uint_t  NbinsX,
double_t  Xlow,
double_t  Xup,
double_t  W = 1 
)
inline

Definition at line 72 of file Book.h.

References fill().

73  {fill(X,Y,std::string(name),NbinsX,Xlow,Xup,W);}
#define X(str)
Definition: MuonsGrabber.cc:49
void fill(double_t X, const char *name, uint_t NbinsX, double_t Xlow, double_t Xup, double_t W=1)
Definition: Book.h:60
void Book::fill ( double_t  X,
double_t  Y,
const poly< std::string > &  names,
uint_t  NbinsX,
double_t  Xlow,
double_t  Xup,
double_t  W = 1 
)
inline

Definition at line 74 of file Book.h.

References poly< T >::begin(), book(), book_, cond::rpcobimon::current, poly< T >::end(), and AlCaRecoCosmics_cfg::name.

76  {
77  BOOST_FOREACH(string_t name, std::make_pair(names.begin(),names.end())) {
78  book_t::const_iterator current = book_.find(name);
79  if( current == book_.end() )
80  static_cast<TProfile*>(book(name, new TProfile(name.c_str(), "", NbinsX, Xlow, Xup)))->Fill(X,Y,W);
81  else static_cast<TProfile*>(current->second)->Fill(X,Y,W);
82  }
83  }
const_iterator end() const
Definition: poly.h:48
#define X(str)
Definition: MuonsGrabber.cc:49
const std::string string_t
Definition: Book.h:20
const_iterator begin() const
Definition: poly.h:47
book_t book_
Definition: Book.h:23
TH1 * book(string_t name, TH1 *const hist)
Definition: Book.h:42
void Book::fill ( double_t  X,
double_t  Y,
const char *  name,
uint_t  NbinsX,
double_t  Xlow,
double_t  Xup,
uint_t  NbinsY,
double_t  Ylow,
double_t  Yup,
double_t  W = 1 
)
inline

Definition at line 84 of file Book.h.

References fill().

86  { fill(X,Y,std::string(name),NbinsX,Xlow,Xup,NbinsY,Ylow,Yup,W);}
#define X(str)
Definition: MuonsGrabber.cc:49
void fill(double_t X, const char *name, uint_t NbinsX, double_t Xlow, double_t Xup, double_t W=1)
Definition: Book.h:60
void Book::fill ( double_t  X,
double_t  Y,
const poly< std::string > &  names,
uint_t  NbinsX,
double_t  Xlow,
double_t  Xup,
uint_t  NbinsY,
double_t  Ylow,
double_t  Yup,
double_t  W = 1 
)
inline

Definition at line 87 of file Book.h.

References poly< T >::begin(), book(), book_, cond::rpcobimon::current, poly< T >::end(), and AlCaRecoCosmics_cfg::name.

90  {
91  BOOST_FOREACH(string_t name, std::make_pair(names.begin(),names.end())) {
92  book_t::const_iterator current = book_.find(name);
93  if( current == book_.end() )
94  static_cast<TH2*>(book(name, new TH2D(name.c_str(), "", NbinsX, Xlow, Xup, NbinsY, Ylow, Yup)))->Fill(X,Y,W);
95  else static_cast<TH2*>(current->second)->Fill(X,Y,W);
96  }
97  }
const_iterator end() const
Definition: poly.h:48
#define X(str)
Definition: MuonsGrabber.cc:49
const std::string string_t
Definition: Book.h:20
const_iterator begin() const
Definition: poly.h:47
book_t book_
Definition: Book.h:23
TH1 * book(string_t name, TH1 *const hist)
Definition: Book.h:42
void Book::fill ( double_t  X,
double_t  Y,
double_t  Z,
const char *  name,
uint_t  NbinsX,
double_t  Xlow,
double_t  Xup,
uint_t  NbinsY,
double_t  Ylow,
double_t  Yup,
uint_t  NbinsZ,
double_t  Zlow,
double_t  Zup,
double_t  W = 1 
)
inline

Definition at line 98 of file Book.h.

References fill().

101  {fill(X,Y,Z,std::string(name),NbinsX,Xlow,Xup,NbinsY,Ylow,Yup,NbinsZ,Zlow,Zup);}
const double Z[kNumberCalorimeter]
#define X(str)
Definition: MuonsGrabber.cc:49
void fill(double_t X, const char *name, uint_t NbinsX, double_t Xlow, double_t Xup, double_t W=1)
Definition: Book.h:60
void Book::fill ( double_t  X,
double_t  Y,
double_t  Z,
const poly< std::string > &  names,
uint_t  NbinsX,
double_t  Xlow,
double_t  Xup,
uint_t  NbinsY,
double_t  Ylow,
double_t  Yup,
uint_t  NbinsZ,
double_t  Zlow,
double_t  Zup,
double_t  W = 1 
)
inline

Definition at line 102 of file Book.h.

References poly< T >::begin(), book(), book_, cond::rpcobimon::current, poly< T >::end(), and AlCaRecoCosmics_cfg::name.

106  {
107  BOOST_FOREACH(string_t name, std::make_pair(names.begin(),names.end())) {
108  book_t::const_iterator current = book_.find(name);
109  if( current == book_.end() )
110  static_cast<TH3*>(book(name, new TH3D(name.c_str(), "", NbinsX, Xlow, Xup, NbinsY, Ylow, Yup, NbinsZ, Zlow, Zup)))->Fill(X,Y,Z,W);
111  else static_cast<TH3*>(current->second)->Fill(X,Y,Z,W);
112  }
113  }
const double Z[kNumberCalorimeter]
const_iterator end() const
Definition: poly.h:48
#define X(str)
Definition: MuonsGrabber.cc:49
const std::string string_t
Definition: Book.h:20
const_iterator begin() const
Definition: poly.h:47
book_t book_
Definition: Book.h:23
TH1 * book(string_t name, TH1 *const hist)
Definition: Book.h:42
std::pair<iterator,iterator> Book::filter_range ( string_t  re = ".*")
inline

Definition at line 54 of file Book.h.

References begin(), and end().

54 { return std::make_pair(begin(re), end(re) ); }
iterator begin(string_t re=".*")
Definition: Book.h:48
iterator end(string_t re=".*")
Definition: Book.h:50
std::pair<const_iterator,const_iterator> Book::filter_range ( string_t  re = ".*") const
inline

Definition at line 55 of file Book.h.

References begin(), and end().

55 { return std::make_pair(begin(re), end(re) ); }
iterator begin(string_t re=".*")
Definition: Book.h:48
iterator end(string_t re=".*")
Definition: Book.h:50
iterator Book::find ( string_t  name,
string_t  re = ".*" 
)
inline

Definition at line 52 of file Book.h.

References book_.

Referenced by BeautifulSoup.Tag::_invert(), BeautifulSoup.PageElement::insert(), and LA_Filler_Fitter::make_and_fit_symmchi2().

52 { return boost::make_filter_iterator(match_name(re),book_.find(name),book_.end()); }
book_t book_
Definition: Book.h:23
const_iterator Book::find ( string_t  name,
string_t  re = ".*" 
) const
inline

Definition at line 53 of file Book.h.

References book_.

Referenced by BeautifulSoup.Tag::_invert(), and BeautifulSoup.PageElement::insert().

53 { return boost::make_filter_iterator(match_name(re),book_.find(name),book_.end()); }
book_t book_
Definition: Book.h:23
TH1*& Book::operator[] ( string_t  name)
inline

Definition at line 43 of file Book.h.

References book_, and AlCaRecoCosmics_cfg::name.

43 { return book_[name]; }
book_t book_
Definition: Book.h:23
const TH1* Book::operator[] ( string_t  name) const
inline

Definition at line 44 of file Book.h.

References book_.

44 { book_t::const_iterator it = book_.find(name); return it==book_.end() ? 0 : it->second;}
book_t book_
Definition: Book.h:23
long Book::size ( void  ) const
inline

Definition at line 40 of file Book.h.

References book_.

40 { return book_.size(); }
book_t book_
Definition: Book.h:23
string_t& Book::title ( ) const
inline

Member Data Documentation

book_t Book::book_
private

Definition at line 23 of file Book.h.

Referenced by begin(), book(), empty(), end(), erase(), fill(), find(), operator[](), and size().

TDirectory* Book::directory
private

Definition at line 25 of file Book.h.

Referenced by book().

std::string Book::title_
private

Definition at line 24 of file Book.h.

Referenced by title().