CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
HcalDbService Class Reference

#include <HcalDbService.h>

Public Member Functions

const HcalGaingetGain (const HcalGenericDetId &fId) const
 
const HcalGainWidthgetGainWidth (const HcalGenericDetId &fId) const
 
const HcalCalibrationsgetHcalCalibrations (const HcalGenericDetId &fId) const
 
const HcalCalibrationWidthsgetHcalCalibrationWidths (const HcalGenericDetId &fId) const
 
const HcalChannelStatusgetHcalChannelStatus (const HcalGenericDetId &fId) const
 
const HcalQIECodergetHcalCoder (const HcalGenericDetId &fId) const
 
const HcalL1TriggerObjectgetHcalL1TriggerObject (const HcalGenericDetId &fId) const
 
const HcalLUTCorrgetHcalLUTCorr (const HcalGenericDetId &fId) const
 
const HcalLutMetadatagetHcalLutMetadata () const
 
const HcalElectronicsMapgetHcalMapping () const
 
const HcalPFCorrgetHcalPFCorr (const HcalGenericDetId &fId) const
 
const HcalRespCorrgetHcalRespCorr (const HcalGenericDetId &fId) const
 
const HcalQIEShapegetHcalShape (const HcalGenericDetId &fId) const
 
const HcalQIEShapegetHcalShape (const HcalQIECoder *coder) const
 
const HcalTimeCorrgetHcalTimeCorr (const HcalGenericDetId &fId) const
 
const HcalZSThresholdgetHcalZSThreshold (const HcalGenericDetId &fId) const
 
const HcalPedestalgetPedestal (const HcalGenericDetId &fId) const
 
const HcalPedestalWidthgetPedestalWidth (const HcalGenericDetId &fId) const
 
const HcalTopologygetTopologyUsed () const
 
 HcalDbService (const edm::ParameterSet &)
 
void setData (const HcalPedestals *fItem)
 
void setData (const HcalPedestalWidths *fItem)
 
void setData (const HcalGains *fItem)
 
void setData (const HcalGainWidths *fItem)
 
void setData (const HcalQIEData *fItem)
 
void setData (const HcalChannelQuality *fItem)
 
void setData (const HcalElectronicsMap *fItem)
 
void setData (const HcalRespCorrs *fItem)
 
void setData (const HcalTimeCorrs *fItem)
 
void setData (const HcalZSThresholds *fItem)
 
void setData (const HcalL1TriggerObjects *fItem)
 
void setData (const HcalLUTCorrs *fItem)
 
void setData (const HcalPFCorrs *fItem)
 
void setData (const HcalLutMetadata *fItem)
 

Private Member Functions

void buildCalibrations () const
 
void buildCalibWidths () const
 
bool makeHcalCalibration (const HcalGenericDetId &fId, HcalCalibrations *fObject, bool pedestalInADC) const
 
bool makeHcalCalibrationWidth (const HcalGenericDetId &fId, HcalCalibrationWidths *fObject, bool pedestalInADC) const
 

Private Attributes

HcalCalibrationsSet mCalibSet
 
HcalCalibrationWidthsSet mCalibWidthSet
 
const HcalChannelQualitymChannelQuality
 
const HcalElectronicsMapmElectronicsMap
 
const HcalGainsmGains
 
const HcalGainWidthsmGainWidths
 
const HcalL1TriggerObjectsmL1TriggerObjects
 
const HcalLUTCorrsmLUTCorrs
 
const HcalLutMetadatamLutMetadata
 
const HcalPedestalsmPedestals
 
const HcalPedestalWidthsmPedestalWidths
 
const HcalPFCorrsmPFCorrs
 
const HcalQIEDatamQIEData
 
HcalQIEShapemQieShapeCache
 
const HcalRespCorrsmRespCorrs
 
const HcalTimeCorrsmTimeCorrs
 
bool mUpdateCalibrations
 
bool mUpdateCalibWidths
 
const HcalZSThresholdsmZSThresholds
 

Detailed Description

Definition at line 28 of file HcalDbService.h.

Constructor & Destructor Documentation

HcalDbService::HcalDbService ( const edm::ParameterSet cfg)

Definition at line 16 of file HcalDbService.cc.

16  :
17  mPedestals (0), mPedestalWidths (0),
18  mGains (0), mGainWidths (0),
19  mQieShapeCache (0), mQIEData(0),
20  mElectronicsMap(0),
21  mRespCorrs(0),
23  mTimeCorrs(0),
24  mLUTCorrs(0),
25  mPFCorrs(0),
26  mLutMetadata(0),
28  {}
const HcalLUTCorrs * mLUTCorrs
Definition: HcalDbService.h:88
bool mUpdateCalibWidths
Definition: HcalDbService.h:94
bool mUpdateCalibrations
Definition: HcalDbService.h:94
const HcalL1TriggerObjects * mL1TriggerObjects
Definition: HcalDbService.h:86
const HcalPFCorrs * mPFCorrs
Definition: HcalDbService.h:89
const HcalGains * mGains
Definition: HcalDbService.h:78
const HcalLutMetadata * mLutMetadata
Definition: HcalDbService.h:90
HcalQIEShape * mQieShapeCache
Definition: HcalDbService.h:80
const HcalPedestalWidths * mPedestalWidths
Definition: HcalDbService.h:77
const HcalRespCorrs * mRespCorrs
Definition: HcalDbService.h:84
const HcalElectronicsMap * mElectronicsMap
Definition: HcalDbService.h:83
const HcalGainWidths * mGainWidths
Definition: HcalDbService.h:79
const HcalTimeCorrs * mTimeCorrs
Definition: HcalDbService.h:87
const HcalQIEData * mQIEData
Definition: HcalDbService.h:81
const HcalPedestals * mPedestals
Definition: HcalDbService.h:76

Member Function Documentation

void HcalDbService::buildCalibrations ( ) const
private

Definition at line 60 of file HcalDbService.cc.

References HcalCalibrationsSet::clear(), HcalCondObjectContainer< Item >::getAllChannels(), HcalPedestals::isADC(), makeHcalCalibration(), mCalibSet, mGains, mLUTCorrs, mPedestals, mQIEData, mRespCorrs, mTimeCorrs, convertSQLiteXML::ok, HcalCalibrationsSet::setCalibrations(), and HcalCalibrationsSet::sort().

Referenced by getHcalCalibrations().

60  {
61  // we use the set of ids for pedestals as the master list
62  if ((!mPedestals) || (!mGains) || (!mQIEData) || (!mRespCorrs) || (!mTimeCorrs) || (!mLUTCorrs) ) return;
63 
64  std::vector<DetId> ids=mPedestals->getAllChannels();
65  bool pedsInADC = mPedestals->isADC();
66  // clear the calibrations set
67  mCalibSet.clear();
68  // loop!
69  HcalCalibrations tool;
70 
71  // std::cout << " length of id-vector: " << ids.size() << std::endl;
72  for (std::vector<DetId>::const_iterator id=ids.begin(); id!=ids.end(); ++id) {
73  // make
74  bool ok=makeHcalCalibration(*id,&tool,pedsInADC);
75  // store
76  if (ok) mCalibSet.setCalibrations(*id,tool);
77  // std::cout << "Hcal calibrations built... detid no. " << HcalGenericDetId(*id) << std::endl;
78  }
79  mCalibSet.sort();
80 }
const HcalLUTCorrs * mLUTCorrs
Definition: HcalDbService.h:88
bool isADC() const
Definition: HcalPedestals.h:26
const HcalGains * mGains
Definition: HcalDbService.h:78
HcalCalibrationsSet mCalibSet
Definition: HcalDbService.h:92
std::vector< DetId > getAllChannels() const
bool makeHcalCalibration(const HcalGenericDetId &fId, HcalCalibrations *fObject, bool pedestalInADC) const
const HcalRespCorrs * mRespCorrs
Definition: HcalDbService.h:84
const HcalTimeCorrs * mTimeCorrs
Definition: HcalDbService.h:87
const HcalQIEData * mQIEData
Definition: HcalDbService.h:81
void setCalibrations(const DetId id, const HcalCalibrations &ca)
const HcalPedestals * mPedestals
Definition: HcalDbService.h:76
void HcalDbService::buildCalibWidths ( ) const
private

Definition at line 82 of file HcalDbService.cc.

References HcalCalibrationWidthsSet::clear(), HcalCondObjectContainer< Item >::getAllChannels(), HcalPedestalWidths::isADC(), makeHcalCalibrationWidth(), mCalibWidthSet, mGainWidths, mPedestalWidths, mQIEData, convertSQLiteXML::ok, HcalCalibrationWidthsSet::setCalibrationWidths(), and HcalCalibrationWidthsSet::sort().

Referenced by getHcalCalibrationWidths().

82  {
83  // we use the set of ids for pedestal widths as the master list
84  if ((!mPedestalWidths) || (!mGainWidths) || (!mQIEData) ) return;
85 
86  std::vector<DetId> ids=mPedestalWidths->getAllChannels();
87  bool pedsInADC = mPedestalWidths->isADC();
88  // clear the calibrations set
90  // loop!
92 
93  // std::cout << " length of id-vector: " << ids.size() << std::endl;
94  for (std::vector<DetId>::const_iterator id=ids.begin(); id!=ids.end(); ++id) {
95  // make
96  bool ok=makeHcalCalibrationWidth(*id,&tool,pedsInADC);
97  // store
98  if (ok) mCalibWidthSet.setCalibrationWidths(*id,tool);
99  // std::cout << "Hcal calibrations built... detid no. " << HcalGenericDetId(*id) << std::endl;
100  }
102 }
std::vector< DetId > getAllChannels() const
bool makeHcalCalibrationWidth(const HcalGenericDetId &fId, HcalCalibrationWidths *fObject, bool pedestalInADC) const
void setCalibrationWidths(const DetId id, const HcalCalibrationWidths &ca)
const HcalPedestalWidths * mPedestalWidths
Definition: HcalDbService.h:77
const HcalGainWidths * mGainWidths
Definition: HcalDbService.h:79
HcalCalibrationWidthsSet mCalibWidthSet
Definition: HcalDbService.h:93
const HcalQIEData * mQIEData
Definition: HcalDbService.h:81
const HcalGain * HcalDbService::getGain ( const HcalGenericDetId fId) const

Definition at line 194 of file HcalDbService.cc.

References HcalCondObjectContainer< Item >::getValues(), and mGains.

Referenced by HFSimParameters::fCtoGeV(), HcalSimParameters::fCtoGeV(), HPDIonFeedbackSim::fCtoGeV(), HcalRecHitsMaker::init(), and makeHcalCalibration().

194  {
195  if (mGains) {
196  return mGains->getValues(fId);
197  }
198  return 0;
199 }
const Item * getValues(DetId fId, bool throwOnFail=true) const
const HcalGains * mGains
Definition: HcalDbService.h:78
const HcalGainWidth * HcalDbService::getGainWidth ( const HcalGenericDetId fId) const

Definition at line 201 of file HcalDbService.cc.

References HcalCondObjectContainer< Item >::getValues(), and mGainWidths.

Referenced by HFSimParameters::fCtoGeV(), HcalSimParameters::fCtoGeV(), HPDIonFeedbackSim::fCtoGeV(), and makeHcalCalibrationWidth().

201  {
202  if (mGainWidths) {
203  return mGainWidths->getValues (fId);
204  }
205  return 0;
206 }
const Item * getValues(DetId fId, bool throwOnFail=true) const
const HcalGainWidths * mGainWidths
Definition: HcalDbService.h:79
const HcalCalibrations & HcalDbService::getHcalCalibrations ( const HcalGenericDetId fId) const

Definition at line 40 of file HcalDbService.cc.

References buildCalibrations(), HcalCalibrationsSet::getCalibrations(), mCalibSet, and mUpdateCalibrations.

Referenced by HcalAmplifier::addPedestals(), HcalTDC::getThreshold(), HcalMonitorClient::PlotPedestalValues(), and HcaluLUTTPGCoder::update().

41 {
43  {
45  mUpdateCalibrations = false;
46  }
47  return mCalibSet.getCalibrations(fId);
48 }
bool mUpdateCalibrations
Definition: HcalDbService.h:94
HcalCalibrationsSet mCalibSet
Definition: HcalDbService.h:92
const HcalCalibrations & getCalibrations(const DetId id) const
void buildCalibrations() const
const HcalCalibrationWidths & HcalDbService::getHcalCalibrationWidths ( const HcalGenericDetId fId) const

Definition at line 50 of file HcalDbService.cc.

References buildCalibWidths(), HcalCalibrationWidthsSet::getCalibrationWidths(), mCalibWidthSet, and mUpdateCalibWidths.

Referenced by HcalAmplifier::addPedestals(), and HcalTDC::getThreshold().

51 {
52  if (mUpdateCalibWidths)
53  {
55  mUpdateCalibWidths = false;
56  }
58 }
bool mUpdateCalibWidths
Definition: HcalDbService.h:94
void buildCalibWidths() const
const HcalCalibrationWidths & getCalibrationWidths(const DetId id) const
HcalCalibrationWidthsSet mCalibWidthSet
Definition: HcalDbService.h:93
const HcalChannelStatus * HcalDbService::getHcalChannelStatus ( const HcalGenericDetId fId) const

Definition at line 239 of file HcalDbService.cc.

References HcalCondObjectContainer< Item >::getValues(), and mChannelQuality.

Referenced by HcaluLUTTPGCoder::update().

240 {
241  return mChannelQuality->getValues (fId);
242 }
const Item * getValues(DetId fId, bool throwOnFail=true) const
const HcalChannelQuality * mChannelQuality
Definition: HcalDbService.h:82
const HcalQIECoder * HcalDbService::getHcalCoder ( const HcalGenericDetId fId) const
const HcalL1TriggerObject * HcalDbService::getHcalL1TriggerObject ( const HcalGenericDetId fId) const

Definition at line 234 of file HcalDbService.cc.

References HcalCondObjectContainer< Item >::getValues(), and mL1TriggerObjects.

Referenced by HcaluLUTTPGCoder::update().

235 {
236  return mL1TriggerObjects->getValues (fId);
237 }
const HcalL1TriggerObjects * mL1TriggerObjects
Definition: HcalDbService.h:86
const Item * getValues(DetId fId, bool throwOnFail=true) const
const HcalLUTCorr * HcalDbService::getHcalLUTCorr ( const HcalGenericDetId fId) const

Definition at line 256 of file HcalDbService.cc.

References HcalCondObjectContainer< Item >::getValues(), and mLUTCorrs.

Referenced by makeHcalCalibration().

256  {
257  if (mLUTCorrs) {
258  return mLUTCorrs->getValues (fId);
259  }
260  return 0;
261 }
const HcalLUTCorrs * mLUTCorrs
Definition: HcalDbService.h:88
const Item * getValues(DetId fId, bool throwOnFail=true) const
const HcalLutMetadata * HcalDbService::getHcalLutMetadata ( ) const

Definition at line 270 of file HcalDbService.cc.

References mLutMetadata.

Referenced by HcaluLUTTPGCoder::update().

270  {
271  return mLutMetadata;
272 }
const HcalLutMetadata * mLutMetadata
Definition: HcalDbService.h:90
const HcalElectronicsMap * HcalDbService::getHcalMapping ( ) const

Definition at line 230 of file HcalDbService.cc.

References mElectronicsMap.

230  {
231  return mElectronicsMap;
232 }
const HcalElectronicsMap * mElectronicsMap
Definition: HcalDbService.h:83
const HcalPFCorr * HcalDbService::getHcalPFCorr ( const HcalGenericDetId fId) const

Definition at line 263 of file HcalDbService.cc.

References HcalCondObjectContainer< Item >::getValues(), and mPFCorrs.

263  {
264  if (mPFCorrs) {
265  return mPFCorrs->getValues (fId);
266  }
267  return 0;
268 }
const HcalPFCorrs * mPFCorrs
Definition: HcalDbService.h:89
const Item * getValues(DetId fId, bool throwOnFail=true) const
const HcalRespCorr * HcalDbService::getHcalRespCorr ( const HcalGenericDetId fId) const

Definition at line 173 of file HcalDbService.cc.

References HcalCondObjectContainer< Item >::getValues(), and mRespCorrs.

Referenced by makeHcalCalibration().

173  {
174  if (mRespCorrs) {
175  return mRespCorrs->getValues (fId);
176  }
177  return 0;
178 }
const Item * getValues(DetId fId, bool throwOnFail=true) const
const HcalRespCorrs * mRespCorrs
Definition: HcalDbService.h:84
const HcalQIEShape * HcalDbService::getHcalShape ( const HcalGenericDetId fId) const
const HcalQIEShape * HcalDbService::getHcalShape ( const HcalQIECoder coder) const

Definition at line 222 of file HcalDbService.cc.

References HcalQIEData::getShape(), and mQIEData.

222  {
223  if (mQIEData) {
224  return &mQIEData->getShape(coder);
225  }
226  return 0;
227 }
const HcalQIEShape & getShape(DetId fId) const
get basic shape
Definition: HcalQIEData.h:35
const HcalQIEData * mQIEData
Definition: HcalDbService.h:81
const HcalTimeCorr * HcalDbService::getHcalTimeCorr ( const HcalGenericDetId fId) const

Definition at line 249 of file HcalDbService.cc.

References HcalCondObjectContainer< Item >::getValues(), and mTimeCorrs.

Referenced by makeHcalCalibration().

249  {
250  if (mTimeCorrs) {
251  return mTimeCorrs->getValues (fId);
252  }
253  return 0;
254 }
const Item * getValues(DetId fId, bool throwOnFail=true) const
const HcalTimeCorrs * mTimeCorrs
Definition: HcalDbService.h:87
const HcalZSThreshold * HcalDbService::getHcalZSThreshold ( const HcalGenericDetId fId) const

Definition at line 244 of file HcalDbService.cc.

References HcalCondObjectContainer< Item >::getValues(), and mZSThresholds.

Referenced by HcalZSAlgoRealistic::keepMe().

245 {
246  return mZSThresholds->getValues (fId);
247 }
const Item * getValues(DetId fId, bool throwOnFail=true) const
const HcalZSThresholds * mZSThresholds
Definition: HcalDbService.h:85
const HcalPedestal * HcalDbService::getPedestal ( const HcalGenericDetId fId) const

Definition at line 180 of file HcalDbService.cc.

References HcalCondObjectContainer< Item >::getValues(), and mPedestals.

Referenced by HcalRecHitsMaker::init(), ZSEnergy_impl::keepMe(), HcalLedAnalysis::LedHBHEHists(), HcalLedAnalysis::LedHFHists(), HcalLedAnalysis::LedHOHists(), and makeHcalCalibration().

180  {
181  if (mPedestals) {
182  return mPedestals->getValues (fId);
183  }
184  return 0;
185 }
const Item * getValues(DetId fId, bool throwOnFail=true) const
const HcalPedestals * mPedestals
Definition: HcalDbService.h:76
const HcalPedestalWidth * HcalDbService::getPedestalWidth ( const HcalGenericDetId fId) const

Definition at line 187 of file HcalDbService.cc.

References HcalCondObjectContainer< Item >::getValues(), and mPedestalWidths.

Referenced by makeHcalCalibrationWidth(), and HcalMonitorClient::PlotPedestalValues().

187  {
188  if (mPedestalWidths) {
189  return mPedestalWidths->getValues (fId);
190  }
191  return 0;
192 }
const Item * getValues(DetId fId, bool throwOnFail=true) const
const HcalPedestalWidths * mPedestalWidths
Definition: HcalDbService.h:77
const HcalTopology * HcalDbService::getTopologyUsed ( ) const

Definition at line 30 of file HcalDbService.cc.

References mGains, mL1TriggerObjects, mLutMetadata, mPedestals, mRespCorrs, and HcalCondObjectContainerBase::topo().

30  {
31  if (mPedestals && mPedestals->topo()) return mPedestals->topo();
32  if (mGains && mGains->topo()) return mGains->topo();
33  if (mRespCorrs && mRespCorrs->topo()) return mRespCorrs->topo();
35  if (mLutMetadata && mLutMetadata->topo()) return mLutMetadata->topo();
36  return 0;
37 }
const HcalL1TriggerObjects * mL1TriggerObjects
Definition: HcalDbService.h:86
const HcalGains * mGains
Definition: HcalDbService.h:78
const HcalLutMetadata * mLutMetadata
Definition: HcalDbService.h:90
const HcalRespCorrs * mRespCorrs
Definition: HcalDbService.h:84
const HcalPedestals * mPedestals
Definition: HcalDbService.h:76
const HcalTopology * topo() const
bool HcalDbService::makeHcalCalibration ( const HcalGenericDetId fId,
HcalCalibrations fObject,
bool  pedestalInADC 
) const
private

Definition at line 104 of file HcalDbService.cc.

References HcalQIECoder::charge(), getGain(), getHcalCoder(), getHcalLUTCorr(), getHcalRespCorr(), getHcalShape(), getHcalTimeCorr(), getPedestal(), HcalRespCorr::getValue(), HcalLUTCorr::getValue(), HcalTimeCorr::getValue(), HcalPedestal::getValues(), HcalGain::getValues(), i, and x.

Referenced by buildCalibrations().

104  {
105  if (fObject) {
106  const HcalPedestal* pedestal = getPedestal (fId);
107  const HcalGain* gain = getGain (fId);
108  const HcalRespCorr* respcorr = getHcalRespCorr (fId);
109  const HcalTimeCorr* timecorr = getHcalTimeCorr (fId);
110  const HcalLUTCorr* lutcorr = getHcalLUTCorr (fId);
111 
112  if (pedestalInADC) {
113  const HcalQIECoder* coder=getHcalCoder(fId);
114  const HcalQIEShape* shape=getHcalShape(coder);
115  if (pedestal && gain && shape && coder && respcorr && timecorr && lutcorr) {
116  float pedTrue[4];
117  for (int i=0; i<4; i++) {
118  float x=pedestal->getValues()[i];
119  int x1=(int)std::floor(x);
120  int x2=(int)std::floor(x+1);
121  // y = (y2-y1)/(x2-x1) * (x - x1) + y1 [note: x2-x1=1]
122  float y2=coder->charge(*shape,x2,i);
123  float y1=coder->charge(*shape,x1,i);
124  pedTrue[i]=(y2-y1)*(x-x1)+y1;
125  }
126  *fObject = HcalCalibrations (gain->getValues (), pedTrue, respcorr->getValue(), timecorr->getValue(), lutcorr->getValue() );
127  return true;
128  }
129  } else {
130  if (pedestal && gain && respcorr && timecorr && lutcorr) {
131  *fObject = HcalCalibrations (gain->getValues (), pedestal->getValues (), respcorr->getValue(), timecorr->getValue(), lutcorr->getValue() );
132  return true;
133  }
134  }
135  }
136  return false;
137 }
int i
Definition: DBlmapReader.cc:9
const HcalRespCorr * getHcalRespCorr(const HcalGenericDetId &fId) const
const HcalLUTCorr * getHcalLUTCorr(const HcalGenericDetId &fId) const
const HcalTimeCorr * getHcalTimeCorr(const HcalGenericDetId &fId) const
const float * getValues() const
get value for all capId = 0..3
Definition: HcalGain.h:18
float getValue() const
Definition: HcalLUTCorr.h:18
float getValue() const
Definition: HcalTimeCorr.h:18
const HcalGain * getGain(const HcalGenericDetId &fId) const
const HcalQIECoder * getHcalCoder(const HcalGenericDetId &fId) const
const HcalQIEShape * getHcalShape(const HcalGenericDetId &fId) const
float getValue() const
Definition: HcalRespCorr.h:18
const float * getValues() const
get value for all capId = 0..3
Definition: HcalPedestal.h:17
Definition: DDAxes.h:10
const HcalPedestal * getPedestal(const HcalGenericDetId &fId) const
float charge(const HcalQIEShape &fShape, unsigned fAdc, unsigned fCapId) const
ADC [0..127] + capid [0..3] -&gt; fC conversion.
Definition: HcalQIECoder.cc:22
bool HcalDbService::makeHcalCalibrationWidth ( const HcalGenericDetId fId,
HcalCalibrationWidths fObject,
bool  pedestalInADC 
) const
private

Definition at line 139 of file HcalDbService.cc.

References HcalQIECoder::charge(), getGainWidth(), getHcalCoder(), getHcalShape(), getPedestalWidth(), HcalGainWidth::getValues(), HcalPedestalWidth::getWidth(), i, and x.

Referenced by buildCalibWidths().

140  {
141  if (fObject) {
142  const HcalPedestalWidth* pedestalwidth = getPedestalWidth (fId);
143  const HcalGainWidth* gainwidth = getGainWidth (fId);
144  if (pedestalInADC) {
145  const HcalQIECoder* coder=getHcalCoder(fId);
146  const HcalQIEShape* shape=getHcalShape(coder);
147  if (pedestalwidth && gainwidth && shape && coder) {
148  float pedTrueWidth[4];
149  for (int i=0; i<4; i++) {
150  float x=pedestalwidth->getWidth(i);
151  // assume QIE is linear in low range and use x1=0 and x2=1
152  // y = (y2-y1) * (x) [do not add any constant, only scale!]
153  float y2=coder->charge(*shape,1,i);
154  float y1=coder->charge(*shape,0,i);
155  pedTrueWidth[i]=(y2-y1)*x;
156  }
157  *fObject = HcalCalibrationWidths (gainwidth->getValues (), pedTrueWidth);
158  return true;
159  }
160  } else {
161  if (pedestalwidth && gainwidth) {
162  float pedestalWidth [4];
163  for (int i = 0; i < 4; i++) pedestalWidth [i] = pedestalwidth->getWidth (i);
164  *fObject = HcalCalibrationWidths (gainwidth->getValues (), pedestalWidth);
165  return true;
166  }
167  }
168  }
169  return false;
170 }
const HcalGainWidth * getGainWidth(const HcalGenericDetId &fId) const
int i
Definition: DBlmapReader.cc:9
const float * getValues() const
get value for all capId = 0..3
Definition: HcalGainWidth.h:17
const HcalPedestalWidth * getPedestalWidth(const HcalGenericDetId &fId) const
float getWidth(int fCapId) const
get width (sqrt(sigma_i_i)) for capId = 0..3
const HcalQIECoder * getHcalCoder(const HcalGenericDetId &fId) const
const HcalQIEShape * getHcalShape(const HcalGenericDetId &fId) const
Definition: DDAxes.h:10
float charge(const HcalQIEShape &fShape, unsigned fAdc, unsigned fCapId) const
ADC [0..127] + capid [0..3] -&gt; fC conversion.
Definition: HcalQIECoder.cc:22
void HcalDbService::setData ( const HcalPedestals fItem)
inline

Definition at line 54 of file HcalDbService.h.

References mPedestals, and mUpdateCalibrations.

54 {mPedestals = fItem; mUpdateCalibrations = true; }
bool mUpdateCalibrations
Definition: HcalDbService.h:94
const HcalPedestals * mPedestals
Definition: HcalDbService.h:76
void HcalDbService::setData ( const HcalPedestalWidths fItem)
inline

Definition at line 55 of file HcalDbService.h.

References mPedestalWidths, and mUpdateCalibWidths.

55 {mPedestalWidths = fItem; mUpdateCalibWidths = true; }
bool mUpdateCalibWidths
Definition: HcalDbService.h:94
const HcalPedestalWidths * mPedestalWidths
Definition: HcalDbService.h:77
void HcalDbService::setData ( const HcalGains fItem)
inline

Definition at line 56 of file HcalDbService.h.

References mGains, and mUpdateCalibrations.

56 {mGains = fItem; mUpdateCalibrations = true; }
bool mUpdateCalibrations
Definition: HcalDbService.h:94
const HcalGains * mGains
Definition: HcalDbService.h:78
void HcalDbService::setData ( const HcalGainWidths fItem)
inline

Definition at line 57 of file HcalDbService.h.

References mGainWidths, and mUpdateCalibWidths.

57 {mGainWidths = fItem; mUpdateCalibWidths = true; }
bool mUpdateCalibWidths
Definition: HcalDbService.h:94
const HcalGainWidths * mGainWidths
Definition: HcalDbService.h:79
void HcalDbService::setData ( const HcalQIEData fItem)
inline

Definition at line 58 of file HcalDbService.h.

References mQIEData, mUpdateCalibrations, and mUpdateCalibWidths.

58 {mQIEData = fItem; mUpdateCalibrations = true; mUpdateCalibWidths = true; }
bool mUpdateCalibWidths
Definition: HcalDbService.h:94
bool mUpdateCalibrations
Definition: HcalDbService.h:94
const HcalQIEData * mQIEData
Definition: HcalDbService.h:81
void HcalDbService::setData ( const HcalChannelQuality fItem)
inline

Definition at line 59 of file HcalDbService.h.

References mChannelQuality.

59 {mChannelQuality = fItem;}
const HcalChannelQuality * mChannelQuality
Definition: HcalDbService.h:82
void HcalDbService::setData ( const HcalElectronicsMap fItem)
inline

Definition at line 60 of file HcalDbService.h.

References mElectronicsMap.

60 {mElectronicsMap = fItem;}
const HcalElectronicsMap * mElectronicsMap
Definition: HcalDbService.h:83
void HcalDbService::setData ( const HcalRespCorrs fItem)
inline

Definition at line 61 of file HcalDbService.h.

References mRespCorrs, and mUpdateCalibrations.

61 {mRespCorrs = fItem; mUpdateCalibrations = true; }
bool mUpdateCalibrations
Definition: HcalDbService.h:94
const HcalRespCorrs * mRespCorrs
Definition: HcalDbService.h:84
void HcalDbService::setData ( const HcalTimeCorrs fItem)
inline

Definition at line 62 of file HcalDbService.h.

References mTimeCorrs, and mUpdateCalibrations.

62 {mTimeCorrs = fItem; mUpdateCalibrations = true; }
bool mUpdateCalibrations
Definition: HcalDbService.h:94
const HcalTimeCorrs * mTimeCorrs
Definition: HcalDbService.h:87
void HcalDbService::setData ( const HcalZSThresholds fItem)
inline

Definition at line 63 of file HcalDbService.h.

References mZSThresholds.

63 {mZSThresholds = fItem;}
const HcalZSThresholds * mZSThresholds
Definition: HcalDbService.h:85
void HcalDbService::setData ( const HcalL1TriggerObjects fItem)
inline

Definition at line 64 of file HcalDbService.h.

References mL1TriggerObjects.

64 {mL1TriggerObjects = fItem;}
const HcalL1TriggerObjects * mL1TriggerObjects
Definition: HcalDbService.h:86
void HcalDbService::setData ( const HcalLUTCorrs fItem)
inline

Definition at line 65 of file HcalDbService.h.

References mLUTCorrs, and mUpdateCalibrations.

65 {mLUTCorrs = fItem; mUpdateCalibrations = true; }
const HcalLUTCorrs * mLUTCorrs
Definition: HcalDbService.h:88
bool mUpdateCalibrations
Definition: HcalDbService.h:94
void HcalDbService::setData ( const HcalPFCorrs fItem)
inline

Definition at line 66 of file HcalDbService.h.

References mPFCorrs.

66 {mPFCorrs = fItem; }
const HcalPFCorrs * mPFCorrs
Definition: HcalDbService.h:89
void HcalDbService::setData ( const HcalLutMetadata fItem)
inline

Definition at line 67 of file HcalDbService.h.

References mLutMetadata.

67 {mLutMetadata = fItem;}
const HcalLutMetadata * mLutMetadata
Definition: HcalDbService.h:90

Member Data Documentation

HcalCalibrationsSet HcalDbService::mCalibSet
mutableprivate

Definition at line 92 of file HcalDbService.h.

Referenced by buildCalibrations(), and getHcalCalibrations().

HcalCalibrationWidthsSet HcalDbService::mCalibWidthSet
mutableprivate

Definition at line 93 of file HcalDbService.h.

Referenced by buildCalibWidths(), and getHcalCalibrationWidths().

const HcalChannelQuality* HcalDbService::mChannelQuality
private

Definition at line 82 of file HcalDbService.h.

Referenced by getHcalChannelStatus(), and setData().

const HcalElectronicsMap* HcalDbService::mElectronicsMap
private

Definition at line 83 of file HcalDbService.h.

Referenced by getHcalMapping(), and setData().

const HcalGains* HcalDbService::mGains
private

Definition at line 78 of file HcalDbService.h.

Referenced by buildCalibrations(), getGain(), getTopologyUsed(), and setData().

const HcalGainWidths* HcalDbService::mGainWidths
private

Definition at line 79 of file HcalDbService.h.

Referenced by buildCalibWidths(), getGainWidth(), and setData().

const HcalL1TriggerObjects* HcalDbService::mL1TriggerObjects
private

Definition at line 86 of file HcalDbService.h.

Referenced by getHcalL1TriggerObject(), getTopologyUsed(), and setData().

const HcalLUTCorrs* HcalDbService::mLUTCorrs
private

Definition at line 88 of file HcalDbService.h.

Referenced by buildCalibrations(), getHcalLUTCorr(), and setData().

const HcalLutMetadata* HcalDbService::mLutMetadata
private

Definition at line 90 of file HcalDbService.h.

Referenced by getHcalLutMetadata(), getTopologyUsed(), and setData().

const HcalPedestals* HcalDbService::mPedestals
private

Definition at line 76 of file HcalDbService.h.

Referenced by buildCalibrations(), getPedestal(), getTopologyUsed(), and setData().

const HcalPedestalWidths* HcalDbService::mPedestalWidths
private

Definition at line 77 of file HcalDbService.h.

Referenced by buildCalibWidths(), getPedestalWidth(), and setData().

const HcalPFCorrs* HcalDbService::mPFCorrs
private

Definition at line 89 of file HcalDbService.h.

Referenced by getHcalPFCorr(), and setData().

const HcalQIEData* HcalDbService::mQIEData
private
HcalQIEShape* HcalDbService::mQieShapeCache
mutableprivate

Definition at line 80 of file HcalDbService.h.

const HcalRespCorrs* HcalDbService::mRespCorrs
private

Definition at line 84 of file HcalDbService.h.

Referenced by buildCalibrations(), getHcalRespCorr(), getTopologyUsed(), and setData().

const HcalTimeCorrs* HcalDbService::mTimeCorrs
private

Definition at line 87 of file HcalDbService.h.

Referenced by buildCalibrations(), getHcalTimeCorr(), and setData().

bool HcalDbService::mUpdateCalibrations
mutableprivate

Definition at line 94 of file HcalDbService.h.

Referenced by getHcalCalibrations(), and setData().

bool HcalDbService::mUpdateCalibWidths
mutableprivate

Definition at line 94 of file HcalDbService.h.

Referenced by getHcalCalibrationWidths(), and setData().

const HcalZSThresholds* HcalDbService::mZSThresholds
private

Definition at line 85 of file HcalDbService.h.

Referenced by getHcalZSThreshold(), and setData().