117 std::vector<uint32_t> SelectedDetIds;
130 edm::LogInfo(
"SiStripMonitorPedestals") <<
"SiStripMonitorPedestals::createMEs: " 131 <<
"Number of Detector Present in cabling " << SelectedDetIds.size();
133 for (std::vector<uint32_t>::const_iterator idetid=SelectedDetIds.begin(), iEnd=SelectedDetIds.end();idetid!=iEnd;++idetid){
135 uint32_t detid = *idetid;
138 if (detid == 0 || detid == 0xFFFFFFFF){
139 edm::LogError(
"SiStripMonitorPedestals") <<
"SiStripMonitorPedestals::createMEs: " 140 <<
"Wrong DetId !!!!!! " << detid <<
" Neglecting !!!!!! ";
147 if (apv_pairs < 1 || apv_pairs > 3) {
148 edm::LogError(
"SiStripMonitorPedestals") <<
"SiStripMonitorPedestals::createMEs: Wrong APV Pairs => detId " 149 << detid <<
" APV pairs " << apv_pairs <<
" Neglecting !!!!!! ";
152 unsigned int napvs = apv_pairs * 2;
153 unsigned int nStrip = napvs * 128;
159 local_modmes.PedsPerStrip =
nullptr;
160 local_modmes.PedsDistribution =
nullptr;
161 local_modmes.PedsEvolution =
nullptr;
162 local_modmes.CMSubNoisePerStrip =
nullptr;
163 local_modmes.RawNoisePerStrip =
nullptr;
164 local_modmes.CMSubNoiseProfile =
nullptr;
165 local_modmes.RawNoiseProfile =
nullptr;
166 local_modmes.NoisyStrips =
nullptr;
167 local_modmes.NoisyStripDistribution =
nullptr;
168 local_modmes.CMDistribution =
nullptr;
169 local_modmes.CMSlopeDistribution =
nullptr;
170 local_modmes.PedsPerStripDB =
nullptr;
171 local_modmes.CMSubNoisePerStripDB =
nullptr;
172 local_modmes.BadStripsDB =
nullptr;
183 hid = hidmanager.
createHistoId(
"PedestalFromCondDB",
"det", detid);
184 local_modmes.PedsPerStripDB = ibooker.book1D(hid, hid, nStrip,0.5,nStrip+0.5);
185 ibooker.tag(local_modmes.PedsPerStripDB, detid);
186 (local_modmes.PedsPerStripDB)->setAxisTitle(
"Pedestal from CondDB(ADC) vs Strip Number",1);
188 hid = hidmanager.
createHistoId(
"NoiseFromCondDB",
"det", detid);
189 local_modmes.CMSubNoisePerStripDB = ibooker.book1D(hid, hid, nStrip,0.5,nStrip+0.5);
190 ibooker.tag(local_modmes.CMSubNoisePerStripDB, detid);
191 (local_modmes.CMSubNoisePerStripDB)->setAxisTitle(
"CMSubNoise from CondDB(ADC) vs Strip Number",1);
193 hid = hidmanager.
createHistoId(
"BadStripFlagCondDB",
"det", detid);
194 local_modmes.BadStripsDB = ibooker.book2D(hid, hid, nStrip,0.5,nStrip+0.5,6,-0.5,5.5);
195 ibooker.tag(local_modmes.BadStripsDB, detid);
196 (local_modmes.BadStripsDB)->setAxisTitle(
"Strip Flag from CondDB(ADC) vs Strip Number",1);
201 local_modmes.PedsPerStrip = ibooker.book1D(hid, hid, nStrip,0.5,nStrip+0.5);
202 ibooker.tag(local_modmes.PedsPerStrip, detid);
203 (local_modmes.PedsPerStrip)->setAxisTitle(
"Pedestal (ADC) vs Strip Number ",1);
205 hid = hidmanager.
createHistoId(
"PedsDistribution",
"det", detid);
206 local_modmes.PedsDistribution = ibooker.book2D(hid, hid, napvs,-0.5,napvs-0.5, 300, 200, 500);
207 ibooker.tag(local_modmes.PedsDistribution, detid);
208 (local_modmes.PedsDistribution)->setAxisTitle(
"Apv Number",1);
209 (local_modmes.PedsDistribution)->setAxisTitle(
"Mean Pedestal Value (ADC)",2);
211 hid = hidmanager.
createHistoId(
"PedsEvolution",
"det", detid);
212 local_modmes.PedsEvolution = ibooker.book2D(hid, hid, napvs,-0.5,napvs-0.5, 50, 0., 50.);
213 ibooker.tag(local_modmes.PedsEvolution, detid);
214 (local_modmes.PedsEvolution)->setAxisTitle(
"Apv Number",1);
215 (local_modmes.PedsEvolution)->setAxisTitle(
"Iteration Number",2);
218 hid = hidmanager.
createHistoId(
"CMSubNoisePerStrip",
"det", detid);
219 local_modmes.CMSubNoisePerStrip = ibooker.book1D(hid, hid, nStrip,0.5,nStrip+0.5);
220 ibooker.tag(local_modmes.CMSubNoisePerStrip, detid);
221 (local_modmes.CMSubNoisePerStrip)->setAxisTitle(
"CMSubNoise (ADC) vs Strip Number",1);
223 hid = hidmanager.
createHistoId(
"RawNoisePerStrip",
"det", detid);
224 local_modmes.RawNoisePerStrip = ibooker.book1D(hid, hid, nStrip,0.5,nStrip+0.5);
225 ibooker.tag(local_modmes.RawNoisePerStrip, detid);
226 (local_modmes.RawNoisePerStrip)->setAxisTitle(
"RawNoise(ADC) vs Strip Number",1);
228 hid = hidmanager.
createHistoId(
"CMSubNoiseProfile",
"det", detid);
229 local_modmes.CMSubNoiseProfile = ibooker.bookProfile(hid, hid, nStrip,0.5,nStrip+0.5, 100, 0., 100.);
230 ibooker.tag(local_modmes.CMSubNoiseProfile, detid);
231 (local_modmes.CMSubNoiseProfile)->setAxisTitle(
"Mean of CMSubNoise (ADC) vs Strip Number",1);
233 hid = hidmanager.
createHistoId(
"RawNoiseProfile",
"det", detid);
234 local_modmes.RawNoiseProfile = ibooker.bookProfile(hid, hid, nStrip,0.5,nStrip+0.5, 100, 0., 100.);
235 ibooker.tag(local_modmes.RawNoiseProfile, detid);
236 (local_modmes.RawNoiseProfile)->setAxisTitle(
"Mean of RawNoise (ADC) vs Strip Number",1);
239 local_modmes.NoisyStrips = ibooker.book2D(hid, hid, nStrip,0.5,nStrip+0.5,6,-0.5,5.5);
240 ibooker.tag(local_modmes.NoisyStrips, detid);
241 (local_modmes.NoisyStrips)->setAxisTitle(
"Strip Number",1);
242 (local_modmes.NoisyStrips)->setAxisTitle(
"Flag Value",2);
244 hid = hidmanager.
createHistoId(
"NoisyStripDistribution",
"det", detid);
245 local_modmes.NoisyStripDistribution = ibooker.book1D(hid, hid, 11, -0.5,10.5);
246 ibooker.tag(local_modmes.NoisyStripDistribution, detid);
247 (local_modmes.NoisyStripDistribution)->setAxisTitle(
"Flag Value",1);
250 hid = hidmanager.
createHistoId(
"CMDistribution",
"det", detid);
251 local_modmes.CMDistribution = ibooker.book2D(hid, hid, napvs,-0.5,napvs-0.5, 150, -15., 15.);
252 ibooker.tag(local_modmes.CMDistribution, detid);
253 (local_modmes.CMDistribution)->setAxisTitle(
"Common Mode (ADC) vs APV Number",1);
255 hid = hidmanager.
createHistoId(
"CMSlopeDistribution",
"det", detid);
256 local_modmes.CMSlopeDistribution = ibooker.book2D(hid, hid, napvs,-0.5,napvs-0.5, 100, -0.05, 0.05);
257 ibooker.tag(local_modmes.CMSlopeDistribution, detid);
258 (local_modmes.CMSlopeDistribution)->setAxisTitle(
"Common Mode Slope vs APV Number",1);
263 PedMEs.insert( std::make_pair(detid, local_modmes));
267 edm::LogInfo(
"SiStripMonitorPedestals") <<
"SiStripMonitorPedestals::createMEs: Number of DETS used "
edm::ESHandle< SiStripDetCabling > detcabling
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
static const std::string RunMode1
void setDetectorFolder(uint32_t rawdetid, const TrackerTopology *tTopo)
edm::ParameterSet pedsPSet_
static const std::string RunMode3
bool instantiateApvs(uint32_t det_id, int numberOfApvs)
ApvAnalysisFactory * apvFactory_
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
const uint16_t nApvPairs(uint32_t det_id) const
static const std::string RunMode2
T const * product() const
void resetMEs(uint32_t idet)
std::map< uint32_t, ModMEs > PedMEs