CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
egHLT::MonElemContainer< T > Class Template Reference

#include <EgHLTMonElemContainer.h>

Inheritance diagram for egHLT::MonElemContainer< T >:
egHLT::MonElemWithCutBase< T >

Public Member Functions

std::vector< MonElemWithCutBase< T > * > & cutMonElems ()
 
const std::vector< MonElemWithCutBase< T > * > & cutMonElems () const
 
void fill (const T &obj, const OffEvt &evt, float weight) override
 
 MonElemContainer (std::string baseName="", std::string baseTitle="", EgHLTDQMCut< T > *cut=0)
 
std::vector< MonElemManagerBase< T > * > & monElems ()
 
const std::vector< MonElemManagerBase< T > * > & monElems () const
 
const std::string & name () const
 
const std::string & title () const
 
 ~MonElemContainer () override
 
- Public Member Functions inherited from egHLT::MonElemWithCutBase< T >
 MonElemWithCutBase ()=default
 
virtual ~MonElemWithCutBase ()=default
 

Private Member Functions

 MonElemContainer (const MonElemContainer &rhs)
 
MonElemContaineroperator= (const MonElemContainer &rhs)
 

Private Attributes

std::string baseName_
 
std::string baseTitle_
 
EgHLTDQMCut< T > * cut_
 
std::vector< MonElemWithCutBase< T > * > cutMonElems_
 
std::vector< MonElemManagerBase< T > * > monElems_
 

Detailed Description

template<class T>
class egHLT::MonElemContainer< T >

Definition at line 27 of file EgHLTMonElemContainer.h.

Constructor & Destructor Documentation

template<class T>
egHLT::MonElemContainer< T >::MonElemContainer ( const MonElemContainer< T > &  rhs)
inlineprivate

Definition at line 42 of file EgHLTMonElemContainer.h.

42 {}
template<class T>
egHLT::MonElemContainer< T >::MonElemContainer ( std::string  baseName = "",
std::string  baseTitle = "",
EgHLTDQMCut< T > *  cut = 0 
)
inline

Definition at line 46 of file EgHLTMonElemContainer.h.

References egHLT::MonElemContainer< T >::~MonElemContainer().

47  :
48  baseName_(std::move(baseName)),
49  baseTitle_(std::move(baseTitle)),
50  cut_(cut){}
def move(src, dest)
Definition: eostools.py:511
template<class T >
egHLT::MonElemContainer< T >::~MonElemContainer ( )
override

Definition at line 68 of file EgHLTMonElemContainer.h.

References egHLT::MonElemContainer< T >::cut_, egHLT::MonElemContainer< T >::cutMonElems_, mps_fire::i, and egHLT::MonElemContainer< T >::monElems_.

Referenced by egHLT::MonElemContainer< T >::MonElemContainer().

69  {
70  for(size_t i=0;i<monElems_.size();i++) delete monElems_[i];
71  for(size_t i=0;i<cutMonElems_.size();i++) delete cutMonElems_[i];
72  if(cut_!=nullptr) delete cut_;
73  }
std::vector< MonElemManagerBase< T > * > monElems_
std::vector< MonElemWithCutBase< T > * > cutMonElems_

Member Function Documentation

template<class T>
std::vector<MonElemWithCutBase<T>*>& egHLT::MonElemContainer< T >::cutMonElems ( )
inline
template<class T>
const std::vector<MonElemWithCutBase<T>*>& egHLT::MonElemContainer< T >::cutMonElems ( ) const
inline

Definition at line 56 of file EgHLTMonElemContainer.h.

References egHLT::MonElemContainer< T >::cutMonElems_.

56 {return cutMonElems_;}
std::vector< MonElemWithCutBase< T > * > cutMonElems_
template<class T >
void egHLT::MonElemContainer< T >::fill ( const T obj,
const OffEvt evt,
float  weight 
)
overridevirtual

Implements egHLT::MonElemWithCutBase< T >.

Definition at line 76 of file EgHLTMonElemContainer.h.

References egHLT::MonElemContainer< T >::cut_, egHLT::MonElemContainer< T >::cutMonElems_, mps_fire::i, and egHLT::MonElemContainer< T >::monElems_.

Referenced by egHLT::MonElemContainer< T >::title().

77  {
78  if(cut_==nullptr || cut_->pass(obj,evt)){
79  for(size_t i=0;i<monElems_.size();i++) monElems_[i]->fill(obj,weight);
80  for(size_t i=0;i<cutMonElems_.size();i++) cutMonElems_[i]->fill(obj,evt,weight);
81  }
82  }
Definition: weight.py:1
void fill(const T &obj, const OffEvt &evt, float weight) override
std::vector< MonElemManagerBase< T > * > monElems_
std::vector< MonElemWithCutBase< T > * > cutMonElems_
template<class T>
std::vector<MonElemManagerBase<T>*>& egHLT::MonElemContainer< T >::monElems ( )
inline

Definition at line 57 of file EgHLTMonElemContainer.h.

References egHLT::MonElemContainer< T >::monElems_.

Referenced by egHLT::MonElemFuncs::addTightLooseTrigHist().

57 {return monElems_;}
std::vector< MonElemManagerBase< T > * > monElems_
template<class T>
const std::vector<MonElemManagerBase<T>*>& egHLT::MonElemContainer< T >::monElems ( ) const
inline

Definition at line 58 of file EgHLTMonElemContainer.h.

References egHLT::MonElemContainer< T >::monElems_.

58 {return monElems_;}
std::vector< MonElemManagerBase< T > * > monElems_
template<class T>
const std::string& egHLT::MonElemContainer< T >::name ( void  ) const
inline
template<class T>
MonElemContainer& egHLT::MonElemContainer< T >::operator= ( const MonElemContainer< T > &  rhs)
inlineprivate

Definition at line 43 of file EgHLTMonElemContainer.h.

43 {return *this;}
template<class T>
const std::string& egHLT::MonElemContainer< T >::title ( ) const
inline

Member Data Documentation

template<class T>
std::string egHLT::MonElemContainer< T >::baseName_
private

Definition at line 30 of file EgHLTMonElemContainer.h.

Referenced by egHLT::MonElemContainer< T >::name().

template<class T>
std::string egHLT::MonElemContainer< T >::baseTitle_
private

Definition at line 31 of file EgHLTMonElemContainer.h.

Referenced by egHLT::MonElemContainer< T >::title().

template<class T>
EgHLTDQMCut<T>* egHLT::MonElemContainer< T >::cut_
private
template<class T>
std::vector<MonElemWithCutBase<T>*> egHLT::MonElemContainer< T >::cutMonElems_
private
template<class T>
std::vector<MonElemManagerBase<T>*> egHLT::MonElemContainer< T >::monElems_
private