CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends
PhysicsTools::TrainerMonitoring::Module Class Reference

#include <TrainerMonitoring.h>

Public Member Functions

template<typename T >
void book (const std::string &name, T *object)
 
template<typename T >
Tbook (const std::string &name)
 
template<typename T , typename T1 >
Tbook (const std::string &name, T1 a1)
 
template<typename T , typename T1 , typename T2 >
Tbook (const std::string &name, T1 a1, T2 a2)
 
template<typename T , typename T1 , typename T2 , typename T3 >
Tbook (const std::string &name, T1 a1, T2 a2, T3 a3)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
Tbook (const std::string &name, T1 a1, T2 a2, T3 a3, T4 a4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
Tbook (const std::string &name, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
Tbook (const std::string &name, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
Tbook (const std::string &name, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
Tbook (const std::string &name, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
Tbook (const std::string &name, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
 
 ~Module ()
 

Protected Member Functions

 Module ()
 
void write (TDirectory *dir)
 

Private Member Functions

void add (Object *object)
 
template<typename T >
void reg (const std::string &name, T *object)
 

Private Attributes

std::map< std::string,
boost::shared_ptr< Object > > 
data
 
TDirectory * dir
 

Friends

class TrainerMonitoring
 

Detailed Description

Definition at line 42 of file TrainerMonitoring.h.

Constructor & Destructor Documentation

PhysicsTools::TrainerMonitoring::Module::~Module ( )

Definition at line 61 of file TrainerMonitoring.cc.

62 {
63 }
PhysicsTools::TrainerMonitoring::Module::Module ( )
protected

Definition at line 57 of file TrainerMonitoring.cc.

58 {
59 }

Member Function Documentation

void PhysicsTools::TrainerMonitoring::Module::add ( Object object)
private

Definition at line 73 of file TrainerMonitoring.cc.

References data, and PhysicsTools::TrainerMonitoring::Object::getName().

Referenced by book(), and counter.Counter::register().

74 {
75  boost::shared_ptr<Object> ptr(object);
76  if (!data.insert(std::make_pair(object->getName(), ptr)).second)
77  throw cms::Exception("DuplicateNode")
78  << "Node \"" << object->getName() << "\" already"
79  " exists." << std::endl;
80 }
std::map< std::string, boost::shared_ptr< Object > > data
list object
Definition: dbtoconf.py:77
template<typename T >
void PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T object 
)
inline

Definition at line 47 of file TrainerMonitoring.h.

References add().

Referenced by PhysicsTools::TrainProcessor::doTrainBegin(), and reg().

48  { add(new RootObject<T>(name, object)); }
template<typename T >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name)
inline

Definition at line 51 of file TrainerMonitoring.h.

References getGTfromDQMFile::obj, and reg().

51  {
52  T *obj = new T();
53  this->reg(name, obj);
54  return obj;
55  }
void reg(const std::string &name, T *object)
long double T
template<typename T , typename T1 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1 
)
inline

Definition at line 58 of file TrainerMonitoring.h.

References getGTfromDQMFile::obj, and reg().

58  {
59  T *obj = new T(a1);
60  this->reg(name, obj);
61  return obj;
62  }
void reg(const std::string &name, T *object)
long double T
template<typename T , typename T1 , typename T2 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2 
)
inline

Definition at line 65 of file TrainerMonitoring.h.

References getGTfromDQMFile::obj, and reg().

65  {
66  T *obj = new T(a1, a2);
67  this->reg(name, obj);
68  return obj;
69  }
void reg(const std::string &name, T *object)
long double T
template<typename T , typename T1 , typename T2 , typename T3 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2,
T3  a3 
)
inline

Definition at line 72 of file TrainerMonitoring.h.

References getGTfromDQMFile::obj, and reg().

72  {
73  T *obj = new T(a1, a2, a3);
74  this->reg(name, obj);
75  return obj;
76  }
void reg(const std::string &name, T *object)
long double T
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2,
T3  a3,
T4  a4 
)
inline

Definition at line 80 of file TrainerMonitoring.h.

References getGTfromDQMFile::obj, and reg().

80  {
81  T *obj = new T(a1, a2, a3, a4);
82  this->reg(name, obj);
83  return obj;
84  }
void reg(const std::string &name, T *object)
long double T
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
)
inline

Definition at line 88 of file TrainerMonitoring.h.

References getGTfromDQMFile::obj, and reg().

88  {
89  T *obj = new T(a1, a2, a3, a4, a5);
90  this->reg(name, obj);
91  return obj;
92  }
void reg(const std::string &name, T *object)
long double T
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
)
inline

Definition at line 96 of file TrainerMonitoring.h.

References getGTfromDQMFile::obj, and reg().

96  {
97  T *obj = new T(a1, a2, a3, a4, a5, a6);
98  this->reg(name, obj);
99  return obj;
100  }
void reg(const std::string &name, T *object)
long double T
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6,
T7  a7 
)
inline

Definition at line 104 of file TrainerMonitoring.h.

References getGTfromDQMFile::obj, and reg().

104  {
105  T *obj = new T(a1, a2, a3, a4, a5, a6, a7);
106  this->reg(name, obj);
107  return obj;
108  }
void reg(const std::string &name, T *object)
long double T
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6,
T7  a7,
T8  a8 
)
inline

Definition at line 113 of file TrainerMonitoring.h.

References getGTfromDQMFile::obj, and reg().

113  {
114  T *obj = new T(a1, a2, a3, a4, a5, a6, a7, a8);
115  this->reg(name, obj);
116  return obj;
117  }
void reg(const std::string &name, T *object)
long double T
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6,
T7  a7,
T8  a8,
T9  a9 
)
inline

Definition at line 122 of file TrainerMonitoring.h.

References getGTfromDQMFile::obj, and reg().

122  {
123  T *obj = new T(a1, a2, a3, a4, a5, a6, a7, a8, a9);
124  this->reg(name, obj);
125  return obj;
126  }
void reg(const std::string &name, T *object)
long double T
template<typename T >
void PhysicsTools::TrainerMonitoring::Module::reg ( const std::string &  name,
T object 
)
inlineprivate

Definition at line 195 of file TrainerMonitoring.h.

References book(), and PhysicsTools::helper::trainerMonitoringRootClear().

Referenced by book().

196 {
198  boost::mpl::or_<
199  boost::is_base_of<TH1, T>,
200  boost::is_base_of<TTree, T> >());
201  this->book(name, object);
202 }
void trainerMonitoringRootClear(T *object, const boost::mpl::bool_< B > &)
void book(const std::string &name, T *object)
void PhysicsTools::TrainerMonitoring::Module::write ( TDirectory *  dir)
protected

Definition at line 65 of file TrainerMonitoring.cc.

References data.

66 {
67  typedef std::map<std::string, boost::shared_ptr<Object> > Map;
68  for(Map::const_iterator iter = data.begin();
69  iter != data.end(); ++iter)
70  iter->second->write(dir);
71 }
std::map< std::string, boost::shared_ptr< Object > > data

Friends And Related Function Documentation

friend class TrainerMonitoring
friend

Definition at line 129 of file TrainerMonitoring.h.

Member Data Documentation

std::map<std::string, boost::shared_ptr<Object> > PhysicsTools::TrainerMonitoring::Module::data
private

Definition at line 142 of file TrainerMonitoring.h.

Referenced by cuy.FindIssue::__init__().

TDirectory* PhysicsTools::TrainerMonitoring::Module::dir
private

Definition at line 141 of file TrainerMonitoring.h.

Referenced by Inspector.Inspector::GetListObjects().