CMS 3D CMS Logo

List of all members | Public Member Functions
SiPixelGainCalibrationOfflineService Class Reference

#include <SiPixelGainCalibrationOfflineService.h>

Inheritance diagram for SiPixelGainCalibrationOfflineService:
SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd > SiPixelGainCalibrationServiceBase

Public Member Functions

float getGain (const uint32_t &detID, const int &col, const int &row) override
 
float getPedestal (const uint32_t &detID, const int &col, const int &row) override
 
bool isDead (const uint32_t &detID, const int &col, const int &row) override
 
bool isDeadColumn (const uint32_t &detID, const int &col, const int &row) override
 
bool isNoisy (const uint32_t &detID, const int &col, const int &row) override
 
bool isNoisyColumn (const uint32_t &detID, const int &col, const int &row) override
 
 SiPixelGainCalibrationOfflineService (const edm::ParameterSet &conf, edm::ConsumesCollector iC)
 
- Public Member Functions inherited from SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >
std::vector< uint32_t > getDetIds () override
 
double getGainHigh () override
 
double getGainLow () override
 
double getPedHigh () override
 
double getPedLow () override
 
SiPixelGainCalibrationOffline const & payload () const
 
void setESObjects (const edm::EventSetup &es) override
 
 SiPixelGainCalibrationServicePayloadGetter (const edm::ParameterSet &conf, edm::ConsumesCollector iC)
 
- Public Member Functions inherited from SiPixelGainCalibrationServiceBase
virtual void calibrate (uint32_t detID, DigiIterator b, DigiIterator e, float conversionFactor, float offset, int *electron)
 
 SiPixelGainCalibrationServiceBase ()
 
virtual ~SiPixelGainCalibrationServiceBase ()
 

Additional Inherited Members

- Public Types inherited from SiPixelGainCalibrationServiceBase
typedef edm::DetSet< PixelDigi >::const_iterator DigiIterator
 
- Static Public Member Functions inherited from SiPixelGainCalibrationServiceBase
static void fillPSetDescription (edm::ParameterSetDescription &desc)
 
- Protected Member Functions inherited from SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >
float getGainByColumn (const uint32_t &detID, const int &col, const int &row, bool &isDeadColumn, bool &isNoisyColumn)
 
float getGainByPixel (const uint32_t &detID, const int &col, const int &row, bool &isDeadPixel, bool &isNoisyPixel)
 
float getPedestalByColumn (const uint32_t &detID, const int &col, const int &row, bool &isDeadColumn, bool &isNoisyColumn)
 
float getPedestalByPixel (const uint32_t &detID, const int &col, const int &row, bool &isDeadPixel, bool &isNoisyPixel)
 
void throwExepctionForBadRead (std::string payload, const uint32_t &detID, const int &col, const int &row, double value=-1) const
 
- Protected Attributes inherited from SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >
edm::ParameterSet conf_
 
bool ESetupInit_
 
double gainHigh_
 
double gainLow_
 
int numberOfRowsAveragedOver_
 
int old_cols
 
uint32_t old_detID
 
SiPixelGainCalibrationOffline ::Range old_range
 
int oldAveragedBlockDataGain_
 
int oldAveragedBlockDataPed_
 
int oldColumnIndexGain_
 
int oldColumnIndexPed_
 
float oldColumnValueGain_
 
float oldColumnValuePed_
 
bool oldThisColumnIsDeadGain_
 
bool oldThisColumnIsDeadPed_
 
bool oldThisColumnIsNoisyGain_
 
bool oldThisColumnIsNoisyPed_
 
const SiPixelGainCalibrationOfflineped
 
double pedHigh_
 
double pedLow_
 
const edm::ESGetToken< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcdpedToken_
 

Detailed Description

Definition at line 21 of file SiPixelGainCalibrationOfflineService.h.

Constructor & Destructor Documentation

◆ SiPixelGainCalibrationOfflineService()

SiPixelGainCalibrationOfflineService::SiPixelGainCalibrationOfflineService ( const edm::ParameterSet conf,
edm::ConsumesCollector  iC 
)
inlineexplicit

Member Function Documentation

◆ getGain()

float SiPixelGainCalibrationOfflineService::getGain ( const uint32_t &  detID,
const int &  col,
const int &  row 
)
overridevirtual

Implements SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >.

Definition at line 30 of file SiPixelGainCalibrationOfflineService.cc.

References cuy::col, SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >::getGainByColumn(), isDead(), isNoisy(), and SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >::throwExepctionForBadRead().

Referenced by SiPixelGainCalibrationRejectNoisyAndDead::fillDatabase().

30  {
31  bool isDead = false;
32  bool isNoisy = false;
33  float gainValue = this->getGainByColumn(detID, col, row, isDead, isNoisy);
34  if (isDead || isNoisy) {
35  this->throwExepctionForBadRead("Offline getGain()", detID, col, row, gainValue);
36  return 0.0;
37  }
38  return gainValue;
39 }
float getGainByColumn(const uint32_t &detID, const int &col, const int &row, bool &isDeadColumn, bool &isNoisyColumn)
bool isDead(const uint32_t &detID, const int &col, const int &row) override
bool isNoisy(const uint32_t &detID, const int &col, const int &row) override
void throwExepctionForBadRead(std::string payload, const uint32_t &detID, const int &col, const int &row, double value=-1) const
col
Definition: cuy.py:1009

◆ getPedestal()

float SiPixelGainCalibrationOfflineService::getPedestal ( const uint32_t &  detID,
const int &  col,
const int &  row 
)
overridevirtual

Implements SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >.

Definition at line 19 of file SiPixelGainCalibrationOfflineService.cc.

References cuy::col, SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >::getPedestalByPixel(), isDead(), isNoisy(), and SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >::throwExepctionForBadRead().

Referenced by SiPixelGainCalibrationRejectNoisyAndDead::fillDatabase().

19  {
20  bool isDead = false;
21  bool isNoisy = false;
22  float pedestalValue = this->getPedestalByPixel(detID, col, row, isDead, isNoisy);
23  if (isDead || isNoisy) {
24  this->throwExepctionForBadRead("Offline getPedestal()", detID, col, row, pedestalValue);
25  return 0.0;
26  }
27  return pedestalValue;
28 }
float getPedestalByPixel(const uint32_t &detID, const int &col, const int &row, bool &isDeadPixel, bool &isNoisyPixel)
bool isDead(const uint32_t &detID, const int &col, const int &row) override
bool isNoisy(const uint32_t &detID, const int &col, const int &row) override
void throwExepctionForBadRead(std::string payload, const uint32_t &detID, const int &col, const int &row, double value=-1) const
col
Definition: cuy.py:1009

◆ isDead()

bool SiPixelGainCalibrationOfflineService::isDead ( const uint32_t &  detID,
const int &  col,
const int &  row 
)
overridevirtual

Implements SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >.

Definition at line 41 of file SiPixelGainCalibrationOfflineService.cc.

References cuy::col, MillePedeFileConverter_cfg::e, SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >::getPedestalByPixel(), and isNoisy().

Referenced by SiPixelGainCalibrationRejectNoisyAndDead::fillDatabase(), getGain(), getPedestal(), isDeadColumn(), isNoisy(), and isNoisyColumn().

41  {
42  bool isDead = false;
43  bool isNoisy = false;
44  try {
45  this->getPedestalByPixel(detID, col, row, isDead, isNoisy);
46  } catch (cms::Exception& e) {
47  // Do not stop processing if you check if a nonexistant pixel is dead
48  edm::LogInfo("SiPixelGainCalibrationOfflineService")
49  << "Attempting to check if nonexistant pixel is dead. Exception message: " << e.what();
50  isDead = false;
51  }
52  return isDead;
53 }
float getPedestalByPixel(const uint32_t &detID, const int &col, const int &row, bool &isDeadPixel, bool &isNoisyPixel)
bool isDead(const uint32_t &detID, const int &col, const int &row) override
bool isNoisy(const uint32_t &detID, const int &col, const int &row) override
Log< level::Info, false > LogInfo
col
Definition: cuy.py:1009

◆ isDeadColumn()

bool SiPixelGainCalibrationOfflineService::isDeadColumn ( const uint32_t &  detID,
const int &  col,
const int &  row 
)
overridevirtual

Implements SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >.

Definition at line 69 of file SiPixelGainCalibrationOfflineService.cc.

References cuy::col, MillePedeFileConverter_cfg::e, SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >::getGainByColumn(), isDead(), and isNoisy().

Referenced by SiPixelGainCalibrationRejectNoisyAndDead::fillDatabase().

69  {
70  bool isDead = false;
71  bool isNoisy = false;
72  try {
73  this->getGainByColumn(detID, col, row, isDead, isNoisy); // the gain column average can flag a whole column as bad
74  } catch (cms::Exception& e) {
75  // Do not stop processing if you check if a nonexistant pixel is dead
76  edm::LogInfo("SiPixelGainCalibrationOfflineService")
77  << "Attempting to check if nonexistant pixel is dead. Exception message: " << e.what();
78  isDead = false;
79  }
80  return isDead;
81 }
float getGainByColumn(const uint32_t &detID, const int &col, const int &row, bool &isDeadColumn, bool &isNoisyColumn)
bool isDead(const uint32_t &detID, const int &col, const int &row) override
bool isNoisy(const uint32_t &detID, const int &col, const int &row) override
Log< level::Info, false > LogInfo
col
Definition: cuy.py:1009

◆ isNoisy()

bool SiPixelGainCalibrationOfflineService::isNoisy ( const uint32_t &  detID,
const int &  col,
const int &  row 
)
overridevirtual

Implements SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >.

Definition at line 55 of file SiPixelGainCalibrationOfflineService.cc.

References cuy::col, MillePedeFileConverter_cfg::e, SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >::getPedestalByPixel(), and isDead().

Referenced by SiPixelGainCalibrationRejectNoisyAndDead::fillDatabase(), getGain(), getPedestal(), isDead(), isDeadColumn(), and isNoisyColumn().

55  {
56  bool isDead = false;
57  bool isNoisy = false;
58  try {
59  this->getPedestalByPixel(detID, col, row, isDead, isNoisy);
60  } catch (cms::Exception& e) {
61  // Do not stop processing if you check if a nonexistant pixel is dead
62  edm::LogInfo("SiPixelGainCalibrationOfflineService")
63  << "Attempting to check if nonexistant pixel is noisy. Exception message: " << e.what();
64  isNoisy = false;
65  }
66  return isNoisy;
67 }
float getPedestalByPixel(const uint32_t &detID, const int &col, const int &row, bool &isDeadPixel, bool &isNoisyPixel)
bool isDead(const uint32_t &detID, const int &col, const int &row) override
bool isNoisy(const uint32_t &detID, const int &col, const int &row) override
Log< level::Info, false > LogInfo
col
Definition: cuy.py:1009

◆ isNoisyColumn()

bool SiPixelGainCalibrationOfflineService::isNoisyColumn ( const uint32_t &  detID,
const int &  col,
const int &  row 
)
overridevirtual

Implements SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >.

Definition at line 83 of file SiPixelGainCalibrationOfflineService.cc.

References cuy::col, MillePedeFileConverter_cfg::e, SiPixelGainCalibrationServicePayloadGetter< SiPixelGainCalibrationOffline, SiPixelGainCalibrationOfflineRcd >::getGainByColumn(), isDead(), and isNoisy().

Referenced by SiPixelGainCalibrationRejectNoisyAndDead::fillDatabase().

83  {
84  bool isDead = false;
85  bool isNoisy = false;
86  try {
87  this->getGainByColumn(detID, col, row, isDead, isNoisy); // the gain column average can flag a whole column as bad
88  } catch (cms::Exception& e) {
89  // Do not stop processing if you check if a nonexistant pixel is dead
90  edm::LogInfo("SiPixelGainCalibrationOfflineService")
91  << "Attempting to check if nonexistant pixel is Noisy. Exception message: " << e.what();
92  isNoisy = false;
93  }
94  return isNoisy;
95 }
float getGainByColumn(const uint32_t &detID, const int &col, const int &row, bool &isDeadColumn, bool &isNoisyColumn)
bool isDead(const uint32_t &detID, const int &col, const int &row) override
bool isNoisy(const uint32_t &detID, const int &col, const int &row) override
Log< level::Info, false > LogInfo
col
Definition: cuy.py:1009