Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:59:32

0001 #ifndef CalibTracker_SiPixelESProducers_SiPixelGainCalibrationForHLTService_H
0002 #define CalibTracker_SiPixelESProducers_SiPixelGainCalibrationForHLTService_H
0003 
0004 // ************************************************************************
0005 // ************************************************************************
0006 // *******     SiPixelOfflineCalibrationForHLTService               *******
0007 // *******     Author:   Evan Friis (evan.friis@cern.ch)            *******
0008 // *******                                                          *******
0009 // *******     Retrives gain calibration data from offline DB       *******
0010 // *******     at lowest  (gain:column,pedestal:column) granularity *******
0011 // *******                                                          *******
0012 // ************************************************************************
0013 // ************************************************************************
0014 //
0015 // Gain Calibration base class
0016 #include "CalibTracker/SiPixelESProducers/interface/SiPixelGainCalibrationServiceBase.h"
0017 
0018 #include "CondFormats/SiPixelObjects/interface/SiPixelGainCalibrationForHLT.h"
0019 #include "CondFormats/DataRecord/interface/SiPixelGainCalibrationForHLTRcd.h"
0020 
0021 class SiPixelGainCalibrationForHLTService final
0022     : public SiPixelGainCalibrationServicePayloadGetter<SiPixelGainCalibrationForHLT, SiPixelGainCalibrationForHLTRcd> {
0023 public:
0024   explicit SiPixelGainCalibrationForHLTService(const edm::ParameterSet& conf, edm::ConsumesCollector iC)
0025       : SiPixelGainCalibrationServicePayloadGetter<SiPixelGainCalibrationForHLT, SiPixelGainCalibrationForHLTRcd>(
0026             conf, std::move(iC)){};
0027 
0028   void calibrate(
0029       uint32_t detID, DigiIterator b, DigiIterator e, float conversionFactor, float offset, int* electron) override;
0030 
0031   // column granularity
0032   float getPedestal(const uint32_t& detID, const int& col, const int& row) override;
0033   float getGain(const uint32_t& detID, const int& col, const int& row) override;
0034   bool isDead(const uint32_t& detID, const int& col, const int& row) override;  //also return dead by column.
0035   bool isDeadColumn(const uint32_t& detID, const int& col, const int& row) override;
0036   bool isNoisy(const uint32_t& detID, const int& col, const int& row) override;
0037   bool isNoisyColumn(const uint32_t& detID, const int& col, const int& row) override;
0038 };
0039 #endif