CMS 3D CMS Logo

HcalDbService.h
Go to the documentation of this file.
1 
2 //
3 // F.Ratnikov (UMd), Aug. 9, 2005
4 //
5 
6 #ifndef HcalDbService_h
7 #define HcalDbService_h
8 
9 #include <memory>
10 #include <map>
11 #include <atomic>
12 
17 
20 
22 
23 class HcalCalibrations;
25 class HcalTopology;
26 
28  public:
31 
32  const HcalTopology* getTopologyUsed() const;
33 
34  const HcalCalibrations& getHcalCalibrations(const HcalGenericDetId& fId) const;
38 
39  const HcalPedestal* getPedestal (const HcalGenericDetId& fId) const;
40  const HcalPedestalWidth* getPedestalWidth (const HcalGenericDetId& fId) const;
41  const HcalPedestal* getEffectivePedestal (const HcalGenericDetId& fId) const;
43  const HcalGain* getGain (const HcalGenericDetId& fId) const;
44  const HcalGainWidth* getGainWidth (const HcalGenericDetId& fId) const;
45  const HcalQIECoder* getHcalCoder (const HcalGenericDetId& fId) const;
46  const HcalQIEShape* getHcalShape (const HcalGenericDetId& fId) const;
47  const HcalQIEShape* getHcalShape (const HcalQIECoder *coder) const;
48  const HcalElectronicsMap* getHcalMapping () const;
50  const HcalRespCorr* getHcalRespCorr (const HcalGenericDetId& fId) const;
51  const HcalTimeCorr* getHcalTimeCorr (const HcalGenericDetId& fId) const;
54  const HcalZSThreshold* getHcalZSThreshold (const HcalGenericDetId& fId) const;
55  const HcalLUTCorr* getHcalLUTCorr (const HcalGenericDetId& fId) const;
56  const HcalPFCorr* getHcalPFCorr (const HcalGenericDetId& fId) const;
57  const HcalLutMetadata* getHcalLutMetadata () const;
58  const HcalQIEType* getHcalQIEType (const HcalGenericDetId& fId) const;
62  const HcalTPParameters* getHcalTPParameters () const;
63  const HcalMCParam* getHcalMCParam (const HcalGenericDetId& fId) const;
64  const HcalRecoParam* getHcalRecoParam (const HcalGenericDetId& fId) const;
65 
66  void setData (const HcalPedestals* fItem, bool eff=false) {
67  if(eff) mEffectivePedestals = fItem;
68  else mPedestals = fItem;
69  mCalibSet = nullptr;
70  }
71  void setData (const HcalPedestalWidths* fItem, bool eff=false) {
72  if(eff) mEffectivePedestalWidths = fItem;
73  else mPedestalWidths = fItem;
74  mCalibWidthSet = nullptr;
75  }
76  void setData (const HcalGains* fItem) {mGains = fItem; mCalibSet = nullptr; }
77  void setData (const HcalGainWidths* fItem) {mGainWidths = fItem; mCalibWidthSet = nullptr; }
78  void setData (const HcalQIEData* fItem) {mQIEData = fItem; mCalibSet=nullptr; mCalibWidthSet=nullptr;}
79  void setData (const HcalQIETypes* fItem) {mQIETypes = fItem; mCalibSet = nullptr; }
80  void setData (const HcalChannelQuality* fItem) {mChannelQuality = fItem;}
81  void setData (const HcalElectronicsMap* fItem) {mElectronicsMap = fItem;}
82  void setData (const HcalFrontEndMap* fItem) {mFrontEndMap = fItem;}
83  void setData (const HcalRespCorrs* fItem) {mRespCorrs = fItem; mCalibSet = nullptr; }
84  void setData (const HcalTimeCorrs* fItem) {mTimeCorrs = fItem; mCalibSet = nullptr; }
85  void setData (const HcalZSThresholds* fItem) {mZSThresholds = fItem;}
86  void setData (const HcalL1TriggerObjects* fItem) {mL1TriggerObjects = fItem;}
87  void setData (const HcalLUTCorrs* fItem) {mLUTCorrs = fItem; mCalibSet = nullptr; }
88  void setData (const HcalPFCorrs* fItem) {mPFCorrs = fItem; }
89  void setData (const HcalLutMetadata* fItem) {mLutMetadata = fItem;}
90  void setData (const HcalSiPMParameters* fItem) {mSiPMParameters = fItem; mCalibSet = nullptr;}
91  void setData (const HcalSiPMCharacteristics* fItem) {mSiPMCharacteristics = fItem;}
92  void setData (const HcalTPChannelParameters* fItem) {mTPChannelParameters = fItem; mCalibSet = nullptr;}
93  void setData (const HcalTPParameters* fItem) {mTPParameters = fItem;}
94  void setData (const HcalMCParams* fItem) {mMCParams = fItem;}
95  void setData (const HcalRecoParams* fItem) {mRecoParams = fItem;}
96 
97  private:
98  bool makeHcalCalibration (const HcalGenericDetId& fId, HcalCalibrations* fObject,
99  bool pedestalInADC, bool effPedestalInADC) const;
100  void buildCalibrations() const;
102  bool pedestalInADC, bool effPedestalInADC) const;
103  void buildCalibWidths() const;
104  bool convertPedestals(const HcalGenericDetId& fId, const HcalPedestal* pedestal, float* pedTrue, bool inADC) const;
105  bool convertPedestalWidths(const HcalGenericDetId& fId, const HcalPedestalWidth* pedestalwidth, float* pedTrueWidth, bool inADC) const;
130  // bool mPedestalInADC;
131  mutable std::atomic<HcalCalibrationsSet const *> mCalibSet;
132  mutable std::atomic<HcalCalibrationWidthsSet const *> mCalibWidthSet;
133 };
134 
135 #endif
const HcalLUTCorrs * mLUTCorrs
const HcalQIETypes * mQIETypes
const HcalPedestalWidths * mEffectivePedestalWidths
const HcalGainWidth * getGainWidth(const HcalGenericDetId &fId) const
const HcalFrontEndMap * getHcalFrontEndMapping() const
const HcalSiPMParameters * mSiPMParameters
void setData(const HcalMCParams *fItem)
Definition: HcalDbService.h:94
bool makeHcalCalibration(const HcalGenericDetId &fId, HcalCalibrations *fObject, bool pedestalInADC, bool effPedestalInADC) const
const HcalMCParams * mMCParams
const HcalTPParameters * mTPParameters
std::atomic< HcalCalibrationWidthsSet const * > mCalibWidthSet
const HcalTPChannelParameter * getHcalTPChannelParameter(const HcalGenericDetId &fId) const
const HcalPedestals * mEffectivePedestals
const HcalRecoParam * getHcalRecoParam(const HcalGenericDetId &fId) const
const HcalChannelStatus * getHcalChannelStatus(const HcalGenericDetId &fId) const
const HcalL1TriggerObjects * mL1TriggerObjects
const HcalPFCorrs * mPFCorrs
const HcalGains * mGains
void setData(const HcalRecoParams *fItem)
Definition: HcalDbService.h:95
const HcalChannelQuality * mChannelQuality
const HcalLutMetadata * mLutMetadata
const HcalTPChannelParameters * mTPChannelParameters
void setData(const HcalQIETypes *fItem)
Definition: HcalDbService.h:79
void setData(const HcalSiPMParameters *fItem)
Definition: HcalDbService.h:90
const HcalPedestalWidth * getPedestalWidth(const HcalGenericDetId &fId) const
const HcalRespCorr * getHcalRespCorr(const HcalGenericDetId &fId) const
void setData(const HcalElectronicsMap *fItem)
Definition: HcalDbService.h:81
const HcalLUTCorr * getHcalLUTCorr(const HcalGenericDetId &fId) const
void setData(const HcalGainWidths *fItem)
Definition: HcalDbService.h:77
const HcalTimeCorr * getHcalTimeCorr(const HcalGenericDetId &fId) const
void setData(const HcalPFCorrs *fItem)
Definition: HcalDbService.h:88
void buildCalibWidths() const
void setData(const HcalFrontEndMap *fItem)
Definition: HcalDbService.h:82
void setData(const HcalTimeCorrs *fItem)
Definition: HcalDbService.h:84
void setData(const HcalSiPMCharacteristics *fItem)
Definition: HcalDbService.h:91
void setData(const HcalTPParameters *fItem)
Definition: HcalDbService.h:93
void setData(const HcalZSThresholds *fItem)
Definition: HcalDbService.h:85
void setData(const HcalRespCorrs *fItem)
Definition: HcalDbService.h:83
const HcalL1TriggerObject * getHcalL1TriggerObject(const HcalGenericDetId &fId) const
const HcalPedestal * getEffectivePedestal(const HcalGenericDetId &fId) const
const HcalLutMetadata * getHcalLutMetadata() const
const HcalMCParam * getHcalMCParam(const HcalGenericDetId &fId) const
void setData(const HcalLutMetadata *fItem)
Definition: HcalDbService.h:89
const HcalPedestalWidths * mPedestalWidths
const HcalRespCorrs * mRespCorrs
void setData(const HcalPedestals *fItem, bool eff=false)
Definition: HcalDbService.h:66
const HcalCalibrationWidths & getHcalCalibrationWidths(const HcalGenericDetId &fId) const
HcalDbService(const edm::ParameterSet &)
void setData(const HcalGains *fItem)
Definition: HcalDbService.h:76
bool makeHcalCalibrationWidth(const HcalGenericDetId &fId, HcalCalibrationWidths *fObject, bool pedestalInADC, bool effPedestalInADC) const
const HcalZSThreshold * getHcalZSThreshold(const HcalGenericDetId &fId) const
const HcalElectronicsMap * mElectronicsMap
const HcalGainWidths * mGainWidths
const HcalCalibrationsSet * getHcalCalibrationsSet() const
const HcalTimeCorrs * mTimeCorrs
const HcalQIEType * getHcalQIEType(const HcalGenericDetId &fId) const
void setData(const HcalLUTCorrs *fItem)
Definition: HcalDbService.h:87
const HcalPFCorr * getHcalPFCorr(const HcalGenericDetId &fId) const
const HcalTopology * getTopologyUsed() const
const HcalZSThresholds * mZSThresholds
const HcalPedestalWidth * getEffectivePedestalWidth(const HcalGenericDetId &fId) const
const HcalQIEData * mQIEData
const HcalGain * getGain(const HcalGenericDetId &fId) const
const HcalTPParameters * getHcalTPParameters() const
const HcalSiPMCharacteristics * getHcalSiPMCharacteristics() const
const HcalQIECoder * getHcalCoder(const HcalGenericDetId &fId) const
void setData(const HcalPedestalWidths *fItem, bool eff=false)
Definition: HcalDbService.h:71
const HcalQIEShape * getHcalShape(const HcalGenericDetId &fId) const
void setData(const HcalL1TriggerObjects *fItem)
Definition: HcalDbService.h:86
bool convertPedestals(const HcalGenericDetId &fId, const HcalPedestal *pedestal, float *pedTrue, bool inADC) const
void buildCalibrations() const
void setData(const HcalChannelQuality *fItem)
Definition: HcalDbService.h:80
const HcalElectronicsMap * getHcalMapping() const
std::atomic< HcalCalibrationsSet const * > mCalibSet
const HcalFrontEndMap * mFrontEndMap
const HcalPedestals * mPedestals
const HcalCalibrations & getHcalCalibrations(const HcalGenericDetId &fId) const
bool convertPedestalWidths(const HcalGenericDetId &fId, const HcalPedestalWidth *pedestalwidth, float *pedTrueWidth, bool inADC) const
void setData(const HcalQIEData *fItem)
Definition: HcalDbService.h:78
const HcalPedestal * getPedestal(const HcalGenericDetId &fId) const
const HcalSiPMParameter * getHcalSiPMParameter(const HcalGenericDetId &fId) const
const HcalRecoParams * mRecoParams
const HcalSiPMCharacteristics * mSiPMCharacteristics
void setData(const HcalTPChannelParameters *fItem)
Definition: HcalDbService.h:92
const HcalCalibrationWidthsSet * getHcalCalibrationWidthsSet() const