25 int col = di->column();
27 if (
isDead(detID,col,row) ||
isNoisy(detID,col,row) ) electron[i++] =0;
29 float DBgain =
getGain(detID, col, row);
30 float DBpedestal =
getPedestal(detID, col, row) * DBgain;
31 float vcal = di->adc() * DBgain - DBpedestal;
33 electron[i++] = int( vcal * conversionFactor + offset);
46 if (isDead || isNoisy)
58 float gainValue = this->
getGainByColumn(detID, col, row, isDead, isNoisy);
59 if (isDead || isNoisy)
78 edm::LogInfo(
"SiPixelGainCalibrationService") <<
"Attempting to check if nonexistant pixel is dead. Exception message: " << e.
what();
95 edm::LogInfo(
"SiPixelGainCalibrationService") <<
"Attempting to check if nonexistant pixel is noisy. Exception message: " << e.
what();
103 edm::LogError(
"SiPixelGainCalibrationService") <<
"You attempted to check if an entire column was dead with a payload that stores information at pixel granularity. Please check by pixel. THANKS!";
109 edm::LogError(
"SiPixelGainCalibrationService") <<
"You attempted to check if an entire column was noisy with a payload that stores information at pixel granularity. Please check by pixel. THANKS!";
virtual char const * what() const
bool isNoisy(const uint32_t &detID, const int &col, const int &row)
edm::DetSet< PixelDigi >::const_iterator DigiIterator
float getPedestalByPixel(const uint32_t &detID, const int &col, const int &row, bool &isDeadPixel, bool &isNoisyPixel)
float getGain(const uint32_t &detID, const int &col, const int &row)
bool isNoisyColumn(const uint32_t &detID, const int &col, const int &row)
virtual bool isDead(const uint32_t &detID, const int &col, const int &row)=0
float getPedestal(const uint32_t &detID, const int &col, const int &row)
float getGainByColumn(const uint32_t &detID, const int &col, const int &row, bool &isDeadColumn, bool &isNoisyColumn)
void throwExepctionForBadRead(std::string payload, const uint32_t &detID, const int &col, const int &row, double value=-1) const
bool isDeadColumn(const uint32_t &detID, const int &col, const int &row)
unsigned int offset(bool)
virtual float getPedestal(const uint32_t &detID, const int &col, const int &row)=0
virtual float getGain(const uint32_t &detID, const int &col, const int &row)=0
virtual bool isNoisy(const uint32_t &detID, const int &col, const int &row)=0
virtual void calibrate(uint32_t detID, DigiIterator b, DigiIterator e, float conversionFactor, float offset, int *electron)
bool isDead(const uint32_t &detID, const int &col, const int &row)