CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
DigiCollectionProfiler< T > Class Template Reference

#include <DigiCollectionProfiler.h>

Public Member Functions

 DigiCollectionProfiler ()
 
 DigiCollectionProfiler (const edm::ParameterSet &iConfig)
 
void fill (edm::Handle< T > digis, const std::vector< TH1F * > &, const std::vector< TProfile * > &, const std::vector< TH2F * > &) const
 
template<>
void fill (edm::Handle< edm::DetSetVector< SiStripDigi > > digis, const std::vector< TH1F * > &hist, const std::vector< TProfile * > &hprof, const std::vector< TH2F * > &hist2d) const
 
template<>
void fill (edm::Handle< edmNew::DetSetVector< SiStripCluster > > digis, const std::vector< TH1F * > &hist, const std::vector< TProfile * > &hprof, const std::vector< TH2F * > &hist2d) const
 
 ~DigiCollectionProfiler ()
 

Private Attributes

bool m_folded
 
std::vector< DetIdSelectorm_selections
 
bool m_want1dHisto
 
bool m_want2dHisto
 
bool m_wantProfile
 

Detailed Description

template<class T>
class DigiCollectionProfiler< T >

Definition at line 20 of file DigiCollectionProfiler.h.

Constructor & Destructor Documentation

template<class T >
DigiCollectionProfiler< T >::DigiCollectionProfiler ( )
template<class T >
DigiCollectionProfiler< T >::DigiCollectionProfiler ( const edm::ParameterSet iConfig)

Definition at line 45 of file DigiCollectionProfiler.h.

References edm::ParameterSet::getParameter(), DigiCollectionProfiler< T >::m_selections, and corrVsCorr::selection.

45  :
46  m_folded(iConfig.getUntrackedParameter<bool>("foldedStrips",false)),
47  m_want1dHisto(iConfig.getUntrackedParameter<bool>("want1dHisto",true)),
48  m_wantProfile(iConfig.getUntrackedParameter<bool>("wantProfile",true)),
49  m_want2dHisto(iConfig.getUntrackedParameter<bool>("want2dHisto",false))
50 
51 {
52 
53  std::vector<edm::ParameterSet> selconfigs = iConfig.getParameter<std::vector<edm::ParameterSet> >("selections");
54 
55  for(std::vector<edm::ParameterSet>::const_iterator selconfig=selconfigs.begin();selconfig!=selconfigs.end();++selconfig) {
56  DetIdSelector selection(*selconfig);
57  m_selections.push_back(selection);
58  }
59 
60 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::vector< DetIdSelector > m_selections
selection
main part
Definition: corrVsCorr.py:98
template<class T >
DigiCollectionProfiler< T >::~DigiCollectionProfiler ( )
inline

Definition at line 25 of file DigiCollectionProfiler.h.

25 {};

Member Function Documentation

template<class T >
void DigiCollectionProfiler< T >::fill ( edm::Handle< T digis,
const std::vector< TH1F * > &  hist,
const std::vector< TProfile * > &  hprof,
const std::vector< TH2F * > &  hist2d 
) const

Definition at line 63 of file DigiCollectionProfiler.h.

63  {
64 
65 }
template<>
void DigiCollectionProfiler< edm::DetSetVector< SiStripDigi > >::fill ( edm::Handle< edm::DetSetVector< SiStripDigi > >  digis,
const std::vector< TH1F * > &  hist,
const std::vector< TProfile * > &  hprof,
const std::vector< TH2F * > &  hist2d 
) const

Definition at line 69 of file DigiCollectionProfiler.h.

References mod().

69  {
70 
72 
73  for(unsigned int isel=0;isel< m_selections.size(); ++isel) {
74 
75  if(m_selections[isel].isSelected(mod->detId())) {
76  TH1F* tobefilled1d=0;
77  TProfile* tobefilledprof=0;
78  TH2F* tobefilled2d=0;
79 
80  if(m_want1dHisto) tobefilled1d = hist[isel];
81  if(m_wantProfile) tobefilledprof = hprof[isel];
82  if(m_want2dHisto) tobefilled2d = hist2d[isel];
83 
84  for(edm::DetSet<SiStripDigi>::const_iterator digi=mod->begin();digi!=mod->end();digi++) {
85 
86  if(digi->adc()>0) {
87  unsigned int strip = digi->strip();
88  if(m_folded) strip = strip%256;
89  if(tobefilled1d) tobefilled1d->Fill(strip);
90  if(tobefilledprof) tobefilledprof->Fill(strip,digi->adc());
91  if(tobefilled2d) tobefilled2d->Fill(strip,digi->adc());
92  }
93  }
94  }
95  }
96  }
97 }
std::vector< DetIdSelector > m_selections
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:356
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:341
collection_type::const_iterator const_iterator
Definition: DetSet.h:33
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:106
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
template<>
void DigiCollectionProfiler< edmNew::DetSetVector< SiStripCluster > >::fill ( edm::Handle< edmNew::DetSetVector< SiStripCluster > >  digis,
const std::vector< TH1F * > &  hist,
const std::vector< TProfile * > &  hprof,
const std::vector< TH2F * > &  hist2d 
) const

Definition at line 100 of file DigiCollectionProfiler.h.

References mod().

100  {
101 
102  for(edmNew::DetSetVector<SiStripCluster>::const_iterator mod = digis->begin();mod!=digis->end();mod++) {
103 
104  for(unsigned int isel=0;isel< m_selections.size(); ++isel) {
105 
106  if(m_selections[isel].isSelected(mod->detId())) {
107  TH1F* tobefilled1d=0;
108  TProfile* tobefilledprof=0;
109  TH2F* tobefilled2d=0;
110 
111  if(m_want1dHisto) tobefilled1d = hist[isel];
112  if(m_wantProfile) tobefilledprof = hprof[isel];
113  if(m_want2dHisto) tobefilled2d = hist2d[isel];
114 
115  for(edmNew::DetSet<SiStripCluster>::const_iterator clus=mod->begin();clus!=mod->end();clus++) {
116 
117  for(unsigned int digi=0; digi < clus->amplitudes().size() ; ++digi) {
118 
119  if(clus->amplitudes()[digi]>0) {
120  unsigned int strip = clus->firstStrip()+digi;
121  if(m_folded) strip = strip%256;
122  if(tobefilled1d) tobefilled1d->Fill(strip);
123  if(tobefilledprof) tobefilledprof->Fill(strip,clus->amplitudes()[digi]);
124  if(tobefilled2d) tobefilled2d->Fill(strip,clus->amplitudes()[digi]);
125  }
126  }
127  }
128  }
129  }
130  }
131 }
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
std::vector< DetIdSelector > m_selections
data_type const * const_iterator
Definition: DetSetNew.h:30
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4

Member Data Documentation

template<class T >
bool DigiCollectionProfiler< T >::m_folded
private

Definition at line 31 of file DigiCollectionProfiler.h.

template<class T >
std::vector<DetIdSelector> DigiCollectionProfiler< T >::m_selections
private
template<class T >
bool DigiCollectionProfiler< T >::m_want1dHisto
private

Definition at line 32 of file DigiCollectionProfiler.h.

template<class T >
bool DigiCollectionProfiler< T >::m_want2dHisto
private

Definition at line 34 of file DigiCollectionProfiler.h.

template<class T >
bool DigiCollectionProfiler< T >::m_wantProfile
private

Definition at line 33 of file DigiCollectionProfiler.h.