CMS 3D CMS Logo

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< edm::DetSetVector< SiStripRawDigi > > 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 19 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 44 of file DigiCollectionProfiler.h.

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

44  :
45  m_folded(iConfig.getUntrackedParameter<bool>("foldedStrips",false)),
46  m_want1dHisto(iConfig.getUntrackedParameter<bool>("want1dHisto",true)),
47  m_wantProfile(iConfig.getUntrackedParameter<bool>("wantProfile",true)),
48  m_want2dHisto(iConfig.getUntrackedParameter<bool>("want2dHisto",false))
49 
50 {
51 
52  std::vector<edm::ParameterSet> selconfigs = iConfig.getParameter<std::vector<edm::ParameterSet> >("selections");
53 
54  for(std::vector<edm::ParameterSet>::const_iterator selconfig=selconfigs.begin();selconfig!=selconfigs.end();++selconfig) {
55  DetIdSelector selection(*selconfig);
56  m_selections.push_back(selection);
57  }
58 
59 }
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:99
template<class T>
DigiCollectionProfiler< T >::~DigiCollectionProfiler ( )
inline

Definition at line 24 of file DigiCollectionProfiler.h.

References DigiCollectionProfiler< T >::fill().

24 {};

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 62 of file DigiCollectionProfiler.h.

Referenced by DigiCollectionProfiler< T >::~DigiCollectionProfiler().

62  {
63 
64 }
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 68 of file DigiCollectionProfiler.h.

References DigiCollectionProfiler< T >::m_folded, DigiCollectionProfiler< T >::m_selections, DigiCollectionProfiler< T >::m_want1dHisto, DigiCollectionProfiler< T >::m_want2dHisto, DigiCollectionProfiler< T >::m_wantProfile, mod(), and digitizers_cfi::strip.

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

Definition at line 99 of file DigiCollectionProfiler.h.

References DigiCollectionProfiler< T >::m_folded, DigiCollectionProfiler< T >::m_selections, DigiCollectionProfiler< T >::m_want1dHisto, DigiCollectionProfiler< T >::m_want2dHisto, DigiCollectionProfiler< T >::m_wantProfile, mod(), and digitizers_cfi::strip.

99  {
100 
102 
103  for(unsigned int isel=0;isel< m_selections.size(); ++isel) {
104 
105  if(m_selections[isel].isSelected(mod->detId())) {
106  TH1F* tobefilled1d=nullptr;
107  TProfile* tobefilledprof=nullptr;
108  TH2F* tobefilled2d=nullptr;
109 
110  if(m_want1dHisto) tobefilled1d = hist[isel];
111  if(m_wantProfile) tobefilledprof = hprof[isel];
112  if(m_want2dHisto) tobefilled2d = hist2d[isel];
113 
114  unsigned int istrip=0;
115  for(edm::DetSet<SiStripRawDigi>::const_iterator digi=mod->begin();digi!=mod->end();digi++,++istrip) {
116 
117  if(digi->adc()>0) {
118  unsigned int strip = istrip;
119  if(m_folded) strip = strip%256;
120  if(tobefilled1d) tobefilled1d->Fill(strip);
121  if(tobefilledprof) tobefilledprof->Fill(strip,digi->adc());
122  if(tobefilled2d) tobefilled2d->Fill(strip,digi->adc());
123  }
124  }
125  }
126  }
127  }
128 }
std::vector< DetIdSelector > m_selections
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:361
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:346
collection_type::const_iterator const_iterator
Definition: DetSet.h:33
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:104
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 131 of file DigiCollectionProfiler.h.

References DigiCollectionProfiler< T >::m_folded, DigiCollectionProfiler< T >::m_selections, DigiCollectionProfiler< T >::m_want1dHisto, DigiCollectionProfiler< T >::m_want2dHisto, DigiCollectionProfiler< T >::m_wantProfile, mod(), and digitizers_cfi::strip.

131  {
132 
134 
135  for(unsigned int isel=0;isel< m_selections.size(); ++isel) {
136 
137  if(m_selections[isel].isSelected(mod->detId())) {
138  TH1F* tobefilled1d=nullptr;
139  TProfile* tobefilledprof=nullptr;
140  TH2F* tobefilled2d=nullptr;
141 
142  if(m_want1dHisto) tobefilled1d = hist[isel];
143  if(m_wantProfile) tobefilledprof = hprof[isel];
144  if(m_want2dHisto) tobefilled2d = hist2d[isel];
145 
146  for(edmNew::DetSet<SiStripCluster>::const_iterator clus=mod->begin();clus!=mod->end();clus++) {
147 
148  for(unsigned int digi=0; digi < clus->amplitudes().size() ; ++digi) {
149 
150  if(clus->amplitudes()[digi]>0) {
151  unsigned int strip = clus->firstStrip()+digi;
152  if(m_folded) strip = strip%256;
153  if(tobefilled1d) tobefilled1d->Fill(strip);
154  if(tobefilledprof) tobefilledprof->Fill(strip,clus->amplitudes()[digi]);
155  if(tobefilled2d) tobefilled2d->Fill(strip,clus->amplitudes()[digi]);
156  }
157  }
158  }
159  }
160  }
161  }
162 }
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
const_iterator end(bool update=false) const
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
const_iterator begin(bool update=false) const

Member Data Documentation

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

Definition at line 30 of file DigiCollectionProfiler.h.

Referenced by DigiCollectionProfiler< T >::fill().

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

Definition at line 31 of file DigiCollectionProfiler.h.

Referenced by DigiCollectionProfiler< T >::fill().

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

Definition at line 33 of file DigiCollectionProfiler.h.

Referenced by DigiCollectionProfiler< T >::fill().

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

Definition at line 32 of file DigiCollectionProfiler.h.

Referenced by DigiCollectionProfiler< T >::fill().