1 #ifndef DPGAnalysis_SiStripTools_DigiCollectionProfile_H
2 #define DPGAnalysis_SiStripTools_DigiCollectionProfile_H
28 void fill(
edm::Handle<T> digis,
const std::vector<TH1F*>&,
const std::vector<TProfile*>&,
const std::vector<TH2F*>&)
const;
43 m_folded(
false), m_want1dHisto(
false), m_wantProfile(
false), m_want2dHisto(
false), m_selections() { }
47 m_folded(iConfig.getUntrackedParameter<bool>(
"foldedStrips",
false)),
48 m_want1dHisto(iConfig.getUntrackedParameter<bool>(
"want1dHisto",
true)),
49 m_wantProfile(iConfig.getUntrackedParameter<bool>(
"wantProfile",
true)),
50 m_want2dHisto(iConfig.getUntrackedParameter<bool>(
"want2dHisto",
false))
54 std::vector<edm::ParameterSet> selconfigs = iConfig.
getParameter<std::vector<edm::ParameterSet> >(
"selections");
56 for(std::vector<edm::ParameterSet>::const_iterator selconfig=selconfigs.begin();selconfig!=selconfigs.end();++selconfig) {
74 for(
unsigned int isel=0;isel< m_selections.size(); ++isel) {
76 if(m_selections[isel].isSelected(
mod->detId())) {
78 TProfile* tobefilledprof=0;
81 if(m_want1dHisto) tobefilled1d = hist[isel];
82 if(m_wantProfile) tobefilledprof = hprof[isel];
83 if(m_want2dHisto) tobefilled2d = hist2d[isel];
88 unsigned int strip = digi->strip();
89 if(m_folded) strip = strip%256;
90 if(tobefilled1d) tobefilled1d->Fill(strip);
91 if(tobefilledprof) tobefilledprof->Fill(strip,digi->adc());
92 if(tobefilled2d) tobefilled2d->Fill(strip,digi->adc());
105 for(
unsigned int isel=0;isel< m_selections.size(); ++isel) {
107 if(m_selections[isel].isSelected(
mod->detId())) {
108 TH1F* tobefilled1d=0;
109 TProfile* tobefilledprof=0;
110 TH2F* tobefilled2d=0;
112 if(m_want1dHisto) tobefilled1d = hist[isel];
113 if(m_wantProfile) tobefilledprof = hprof[isel];
114 if(m_want2dHisto) tobefilled2d = hist2d[isel];
116 unsigned int istrip=0;
120 unsigned int strip = istrip;
121 if(m_folded) strip = strip%256;
122 if(tobefilled1d) tobefilled1d->Fill(strip);
123 if(tobefilledprof) tobefilledprof->Fill(strip,digi->adc());
124 if(tobefilled2d) tobefilled2d->Fill(strip,digi->adc());
137 for(
unsigned int isel=0;isel< m_selections.size(); ++isel) {
139 if(m_selections[isel].isSelected(
mod->detId())) {
140 TH1F* tobefilled1d=0;
141 TProfile* tobefilledprof=0;
142 TH2F* tobefilled2d=0;
144 if(m_want1dHisto) tobefilled1d = hist[isel];
145 if(m_wantProfile) tobefilledprof = hprof[isel];
146 if(m_want2dHisto) tobefilled2d = hist2d[isel];
150 for(
unsigned int digi=0; digi < clus->amplitudes().size() ; ++digi) {
152 if(clus->amplitudes()[digi]>0) {
153 unsigned int strip = clus->firstStrip()+digi;
154 if(m_folded) strip = strip%256;
155 if(tobefilled1d) tobefilled1d->Fill(strip);
156 if(tobefilledprof) tobefilledprof->Fill(strip,clus->amplitudes()[digi]);
157 if(tobefilled2d) tobefilled2d->Fill(strip,clus->amplitudes()[digi]);
166 #endif // DPGAnalysis_SiStripTools_DigiCollectionProfile_H
T getParameter(std::string const &) const
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
std::vector< DetIdSelector > m_selections
data_type const * const_iterator
void fill(edm::Handle< T > digis, const std::vector< TH1F * > &, const std::vector< TProfile * > &, const std::vector< TH2F * > &) const
volatile std::atomic< bool > shutdown_flag false
collection_type::const_iterator const_iterator
collection_type::const_iterator const_iterator
T mod(const T &a, const T &b)
~DigiCollectionProfiler()