117 std::vector<uint32_t> SelectedDetIds;
132 edm::LogInfo(
"SiStripMonitorPedestals") <<
"SiStripMonitorPedestals::createMEs: " 133 <<
"Number of Detector Present in cabling " << SelectedDetIds.size();
135 for (std::vector<uint32_t>::const_iterator idetid = SelectedDetIds.begin(), iEnd = SelectedDetIds.end();
138 uint32_t detid = *idetid;
141 if (detid == 0 || detid == 0xFFFFFFFF) {
142 edm::LogError(
"SiStripMonitorPedestals") <<
"SiStripMonitorPedestals::createMEs: " 143 <<
"Wrong DetId !!!!!! " << detid <<
" Neglecting !!!!!! ";
150 if (apv_pairs < 1 || apv_pairs > 3) {
151 edm::LogError(
"SiStripMonitorPedestals") <<
"SiStripMonitorPedestals::createMEs: Wrong APV Pairs => detId " 152 << detid <<
" APV pairs " << apv_pairs <<
" Neglecting !!!!!! ";
155 unsigned int napvs = apv_pairs * 2;
156 unsigned int nStrip = napvs * 128;
162 local_modmes.PedsPerStrip =
nullptr;
163 local_modmes.PedsDistribution =
nullptr;
164 local_modmes.PedsEvolution =
nullptr;
165 local_modmes.CMSubNoisePerStrip =
nullptr;
166 local_modmes.RawNoisePerStrip =
nullptr;
167 local_modmes.CMSubNoiseProfile =
nullptr;
168 local_modmes.RawNoiseProfile =
nullptr;
169 local_modmes.NoisyStrips =
nullptr;
170 local_modmes.NoisyStripDistribution =
nullptr;
171 local_modmes.CMDistribution =
nullptr;
172 local_modmes.CMSlopeDistribution =
nullptr;
173 local_modmes.PedsPerStripDB =
nullptr;
174 local_modmes.CMSubNoisePerStripDB =
nullptr;
175 local_modmes.BadStripsDB =
nullptr;
187 hid = hidmanager.
createHistoId(
"PedestalFromCondDB",
"det", detid);
188 local_modmes.PedsPerStripDB =
189 ibooker.book1D(hid, hid, nStrip, 0.5, nStrip + 0.5);
190 ibooker.tag(local_modmes.PedsPerStripDB, detid);
191 (local_modmes.PedsPerStripDB)->setAxisTitle(
"Pedestal from CondDB(ADC) vs Strip Number", 1);
193 hid = hidmanager.
createHistoId(
"NoiseFromCondDB",
"det", detid);
194 local_modmes.CMSubNoisePerStripDB = ibooker.book1D(hid, hid, nStrip, 0.5, nStrip + 0.5);
195 ibooker.tag(local_modmes.CMSubNoisePerStripDB, detid);
196 (local_modmes.CMSubNoisePerStripDB)->setAxisTitle(
"CMSubNoise from CondDB(ADC) vs Strip Number", 1);
198 hid = hidmanager.
createHistoId(
"BadStripFlagCondDB",
"det", detid);
199 local_modmes.BadStripsDB = ibooker.book2D(hid, hid, nStrip, 0.5, nStrip + 0.5, 6, -0.5, 5.5);
200 ibooker.tag(local_modmes.BadStripsDB, detid);
201 (local_modmes.BadStripsDB)->setAxisTitle(
"Strip Flag from CondDB(ADC) vs Strip Number", 1);
205 hid = hidmanager.
createHistoId(
"PedsPerStrip",
"det", detid);
206 local_modmes.PedsPerStrip = ibooker.book1D(hid, hid, nStrip, 0.5, nStrip + 0.5);
207 ibooker.tag(local_modmes.PedsPerStrip, detid);
208 (local_modmes.PedsPerStrip)->setAxisTitle(
"Pedestal (ADC) vs Strip Number ", 1);
210 hid = hidmanager.
createHistoId(
"PedsDistribution",
"det", detid);
211 local_modmes.PedsDistribution = ibooker.book2D(hid,
219 ibooker.tag(local_modmes.PedsDistribution, detid);
220 (local_modmes.PedsDistribution)->setAxisTitle(
"Apv Number", 1);
221 (local_modmes.PedsDistribution)->setAxisTitle(
"Mean Pedestal Value (ADC)", 2);
223 hid = hidmanager.
createHistoId(
"PedsEvolution",
"det", detid);
224 local_modmes.PedsEvolution = ibooker.book2D(hid,
232 ibooker.tag(local_modmes.PedsEvolution, detid);
233 (local_modmes.PedsEvolution)->setAxisTitle(
"Apv Number", 1);
234 (local_modmes.PedsEvolution)->setAxisTitle(
"Iteration Number", 2);
237 hid = hidmanager.
createHistoId(
"CMSubNoisePerStrip",
"det", detid);
238 local_modmes.CMSubNoisePerStrip = ibooker.book1D(hid, hid, nStrip, 0.5, nStrip + 0.5);
239 ibooker.tag(local_modmes.CMSubNoisePerStrip, detid);
240 (local_modmes.CMSubNoisePerStrip)->setAxisTitle(
"CMSubNoise (ADC) vs Strip Number", 1);
242 hid = hidmanager.
createHistoId(
"RawNoisePerStrip",
"det", detid);
243 local_modmes.RawNoisePerStrip = ibooker.book1D(hid, hid, nStrip, 0.5, nStrip + 0.5);
244 ibooker.tag(local_modmes.RawNoisePerStrip, detid);
245 (local_modmes.RawNoisePerStrip)->setAxisTitle(
"RawNoise(ADC) vs Strip Number", 1);
247 hid = hidmanager.
createHistoId(
"CMSubNoiseProfile",
"det", detid);
248 local_modmes.CMSubNoiseProfile = ibooker.bookProfile(hid, hid, nStrip, 0.5, nStrip + 0.5, 100, 0., 100.);
249 ibooker.tag(local_modmes.CMSubNoiseProfile, detid);
250 (local_modmes.CMSubNoiseProfile)->setAxisTitle(
"Mean of CMSubNoise (ADC) vs Strip Number", 1);
252 hid = hidmanager.
createHistoId(
"RawNoiseProfile",
"det", detid);
253 local_modmes.RawNoiseProfile = ibooker.bookProfile(hid, hid, nStrip, 0.5, nStrip + 0.5, 100, 0., 100.);
254 ibooker.tag(local_modmes.RawNoiseProfile, detid);
255 (local_modmes.RawNoiseProfile)->setAxisTitle(
"Mean of RawNoise (ADC) vs Strip Number", 1);
258 local_modmes.NoisyStrips = ibooker.book2D(hid, hid, nStrip, 0.5, nStrip + 0.5, 6, -0.5, 5.5);
259 ibooker.tag(local_modmes.NoisyStrips, detid);
260 (local_modmes.NoisyStrips)->setAxisTitle(
"Strip Number", 1);
261 (local_modmes.NoisyStrips)->setAxisTitle(
"Flag Value", 2);
263 hid = hidmanager.
createHistoId(
"NoisyStripDistribution",
"det", detid);
264 local_modmes.NoisyStripDistribution = ibooker.book1D(hid, hid, 11, -0.5, 10.5);
265 ibooker.tag(local_modmes.NoisyStripDistribution, detid);
266 (local_modmes.NoisyStripDistribution)->setAxisTitle(
"Flag Value", 1);
269 hid = hidmanager.
createHistoId(
"CMDistribution",
"det", detid);
270 local_modmes.CMDistribution = ibooker.book2D(hid, hid, napvs, -0.5, napvs - 0.5, 150, -15., 15.);
271 ibooker.tag(local_modmes.CMDistribution, detid);
272 (local_modmes.CMDistribution)->setAxisTitle(
"Common Mode (ADC) vs APV Number", 1);
274 hid = hidmanager.
createHistoId(
"CMSlopeDistribution",
"det", detid);
275 local_modmes.CMSlopeDistribution = ibooker.book2D(hid, hid, napvs, -0.5, napvs - 0.5, 100, -0.05, 0.05);
276 ibooker.tag(local_modmes.CMSlopeDistribution, detid);
277 (local_modmes.CMSlopeDistribution)->setAxisTitle(
"Common Mode Slope vs APV Number", 1);
281 PedMEs.insert(std::make_pair(detid, local_modmes));
285 <<
"SiStripMonitorPedestals::createMEs: Number of DETS used " <<
PedMEs.size();
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