1 #ifndef DPGAnalysis_SiStripTools_DigiCollectionProfile_H
2 #define DPGAnalysis_SiStripTools_DigiCollectionProfile_H
27 void fill(
edm::Handle<T> digis,
const std::vector<TH1F*>&,
const std::vector<TProfile*>&,
const std::vector<TH2F*>&)
const;
42 m_folded(
false), m_want1dHisto(
false), m_wantProfile(
false), m_want2dHisto(
false), m_selections() { }
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))
53 std::vector<edm::ParameterSet> selconfigs = iConfig.
getParameter<std::vector<edm::ParameterSet> >(
"selections");
55 for(std::vector<edm::ParameterSet>::const_iterator selconfig=selconfigs.begin();selconfig!=selconfigs.end();++selconfig) {
73 for(
unsigned int isel=0;isel< m_selections.size(); ++isel) {
75 if(m_selections[isel].isSelected(
mod->detId())) {
77 TProfile* tobefilledprof=0;
80 if(m_want1dHisto) tobefilled1d = hist[isel];
81 if(m_wantProfile) tobefilledprof = hprof[isel];
82 if(m_want2dHisto) tobefilled2d = hist2d[isel];
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());
104 for(
unsigned int isel=0;isel< m_selections.size(); ++isel) {
106 if(m_selections[isel].isSelected(
mod->detId())) {
107 TH1F* tobefilled1d=0;
108 TProfile* tobefilledprof=0;
109 TH2F* tobefilled2d=0;
111 if(m_want1dHisto) tobefilled1d = hist[isel];
112 if(m_wantProfile) tobefilledprof = hprof[isel];
113 if(m_want2dHisto) tobefilled2d = hist2d[isel];
117 for(
unsigned int digi=0; digi < clus->amplitudes().size() ; ++digi) {
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]);
133 #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
collection_type::const_iterator const_iterator
collection_type::const_iterator const_iterator
T mod(const T &a, const T &b)
~DigiCollectionProfiler()