CMS 3D CMS Logo

HcalTextCalibrations.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 // Original Author: Fedor Ratnikov
3 //
4 //
5 
6 #include <memory>
7 #include <iostream>
8 #include <fstream>
9 
13 
15 
17 
19 
20 #include "HcalTextCalibrations.h"
21 //
22 // class declaration
23 //
24 
25 using namespace cms;
26 
28 
29 {
30  //parsing parameters
31  std::vector<edm::ParameterSet> data = iConfig.getParameter<std::vector<edm::ParameterSet> >("input");
32  std::vector<edm::ParameterSet>::iterator request = data.begin ();
33  for (; request != data.end (); ++request) {
34  std::string objectName = request->getParameter<std::string> ("object");
35  edm::FileInPath fp = request->getParameter<edm::FileInPath>("file");
36  mInputs [objectName] = fp.fullPath();
37 // std::cout << objectName << " with file " << fp.fullPath() << std::endl;
38  if (objectName == "Pedestals") {
39  setWhatProduced (this, &HcalTextCalibrations::producePedestals);
40  findingRecord <HcalPedestalsRcd> ();
41  }
42  else if (objectName == "PedestalWidths") {
43  setWhatProduced (this, &HcalTextCalibrations::producePedestalWidths);
44  findingRecord <HcalPedestalWidthsRcd> ();
45  }
46  else if (objectName == "EffectivePedestals") {
47  setWhatProduced (this, &HcalTextCalibrations::produceEffectivePedestals, edm::es::Label("effective"));
48  findingRecord <HcalPedestalsRcd> ();
49  }
50  else if (objectName == "EffectivePedestalWidths") {
51  setWhatProduced (this, &HcalTextCalibrations::produceEffectivePedestalWidths, edm::es::Label("effective"));
52  findingRecord <HcalPedestalWidthsRcd> ();
53  }
54  else if (objectName == "Gains") {
55  setWhatProduced (this, &HcalTextCalibrations::produceGains);
56  findingRecord <HcalGainsRcd> ();
57  }
58  else if (objectName == "GainWidths") {
59  setWhatProduced (this, &HcalTextCalibrations::produceGainWidths);
60  findingRecord <HcalGainWidthsRcd> ();
61  }
62  else if (objectName == "QIEData") {
63  setWhatProduced (this, &HcalTextCalibrations::produceQIEData);
64  findingRecord <HcalQIEDataRcd> ();
65  }
66  else if (objectName == "QIETypes") {
67  setWhatProduced (this, &HcalTextCalibrations::produceQIETypes);
68  findingRecord <HcalQIETypesRcd> ();
69  }
70  else if (objectName == "ChannelQuality") {
71  setWhatProduced (this, &HcalTextCalibrations::produceChannelQuality, edm::es::Label("withTopo"));
72  findingRecord <HcalChannelQualityRcd> ();
73  }
74  else if (objectName == "ZSThresholds") {
75  setWhatProduced (this, &HcalTextCalibrations::produceZSThresholds);
76  findingRecord <HcalZSThresholdsRcd> ();
77  }
78  else if (objectName == "RespCorrs") {
79  setWhatProduced (this, &HcalTextCalibrations::produceRespCorrs);
80  findingRecord <HcalRespCorrsRcd> ();
81  }
82  else if (objectName == "LUTCorrs") {
83  setWhatProduced (this, &HcalTextCalibrations::produceLUTCorrs);
84  findingRecord <HcalLUTCorrsRcd> ();
85  }
86  else if (objectName == "PFCorrs") {
87  setWhatProduced (this, &HcalTextCalibrations::producePFCorrs);
88  findingRecord <HcalPFCorrsRcd> ();
89  }
90  else if (objectName == "TimeCorrs") {
91  setWhatProduced (this, &HcalTextCalibrations::produceTimeCorrs);
92  findingRecord <HcalTimeCorrsRcd> ();
93  }
94  else if (objectName == "L1TriggerObjects") {
95  setWhatProduced (this, &HcalTextCalibrations::produceL1TriggerObjects);
96  findingRecord <HcalL1TriggerObjectsRcd> ();
97  }
98  else if (objectName == "ElectronicsMap") {
99  setWhatProduced (this, &HcalTextCalibrations::produceElectronicsMap);
100  findingRecord <HcalElectronicsMapRcd> ();
101  }
102  else if (objectName == "FrontEndMap") {
103  setWhatProduced (this, &HcalTextCalibrations::produceFrontEndMap);
104  findingRecord <HcalFrontEndMapRcd> ();
105  }
106  else if (objectName == "ValidationCorrs") {
107  setWhatProduced (this, &HcalTextCalibrations::produceValidationCorrs);
108  findingRecord <HcalValidationCorrsRcd> ();
109  }
110  else if (objectName == "LutMetadata") {
111  setWhatProduced (this, &HcalTextCalibrations::produceLutMetadata);
112  findingRecord <HcalLutMetadataRcd> ();
113  }
114  else if (objectName == "DcsValues") {
115  setWhatProduced (this, &HcalTextCalibrations::produceDcsValues);
116  findingRecord <HcalDcsRcd> ();
117  }
118  else if (objectName == "DcsMap") {
119  setWhatProduced (this, &HcalTextCalibrations::produceDcsMap);
120  findingRecord <HcalDcsMapRcd> ();
121  }
122  else if (objectName == "RecoParams") {
123  setWhatProduced (this, &HcalTextCalibrations::produceRecoParams);
124  findingRecord <HcalRecoParamsRcd> ();
125  }
126  else if (objectName == "TimingParams") {
127  setWhatProduced (this, &HcalTextCalibrations::produceTimingParams);
128  findingRecord <HcalTimingParamsRcd> ();
129  }
130  else if (objectName == "LongRecoParams") {
131  setWhatProduced (this, &HcalTextCalibrations::produceLongRecoParams);
132  findingRecord <HcalLongRecoParamsRcd> ();
133  }
134  else if (objectName == "ZDCLowGainFractions") {
135  setWhatProduced (this, &HcalTextCalibrations::produceZDCLowGainFractions);
136  findingRecord <HcalZDCLowGainFractionsRcd> ();
137  }
138  else if (objectName == "MCParams") {
139  setWhatProduced (this, &HcalTextCalibrations::produceMCParams);
140  findingRecord <HcalMCParamsRcd> ();
141  }
142  else if (objectName == "FlagHFDigiTimeParams") {
143  setWhatProduced (this, &HcalTextCalibrations::produceFlagHFDigiTimeParams);
144  findingRecord <HcalFlagHFDigiTimeParamsRcd> ();
145  }
146  else if (objectName == "SiPMParameters") {
147  setWhatProduced (this, &HcalTextCalibrations::produceSiPMParameters);
148  findingRecord <HcalSiPMParametersRcd> ();
149  }
150  else if (objectName == "SiPMCharacteristics") {
151  setWhatProduced (this, &HcalTextCalibrations::produceSiPMCharacteristics);
152  findingRecord <HcalSiPMCharacteristicsRcd> ();
153  }
154  else if (objectName == "TPChannelParameters") {
155  setWhatProduced (this, &HcalTextCalibrations::produceTPChannelParameters);
156  findingRecord <HcalTPChannelParametersRcd> ();
157  }
158  else if (objectName == "TPParameters") {
159  setWhatProduced (this, &HcalTextCalibrations::produceTPParameters);
160  findingRecord <HcalTPParametersRcd> ();
161  }
162  else {
163  std::cerr << "HcalTextCalibrations-> Unknown object name '" << objectName
164  << "', known names are: "
165  << "Pedestals PedestalWidths Gains GainWidths QIEData QIETypes ChannelQuality ElectronicsMap "
166  << "FrontEndMap ZSThresholds RespCorrs LUTCorrs PFCorrs TimeCorrs L1TriggerObjects "
167  << "ValidationCorrs LutMetadata DcsValues DcsMap "
168  << "RecoParams LongRecoParams ZDCLowGainFraction FlagHFDigiTimeParams MCParams "
169  << "SiPMParameters SiPMCharacteristics TPChannelParameters TPParameters" << std::endl;
170  }
171  }
172  // setWhatProduced(this);
173 }
174 
175 
177 {
178 }
179 
180 
181 //
182 // member functions
183 //
184 void
186  std::string record = iKey.name ();
188 }
189 
190 template <class T, template <class> class F>
191 std::unique_ptr<T> produce_impl (const std::string& fFile, const HcalTopology* topo=nullptr) {
192  std::ifstream inStream (fFile.c_str ());
193  if (!inStream.good ()) {
194  std::cerr << "HcalTextCalibrations-> Unable to open file '" << fFile << "'" << std::endl;
195  throw cms::Exception("FileNotFound") << "Unable to open '" << fFile << "'" << std::endl;
196  }
197  auto result = F<T>(topo)(inStream);
198  if (!result) {
199  std::cerr << "HcalTextCalibrations-> Can not read object from file '" << fFile << "'" << std::endl;
200  throw cms::Exception("ReadError") << "Can not read object from file '" << fFile << "'" << std::endl;
201  }
202  return result;
203 }
204 template <class T> std::unique_ptr<T> get_impl (const std::string& fFile) { return produce_impl<T,HcalTextCalibrations::CheckGetObject>(fFile); }
205 template <class T> std::unique_ptr<T> get_impl_topo (const std::string& fFile, const HcalTopology* topo) { return produce_impl<T,HcalTextCalibrations::CheckGetObjectTopo>(fFile,topo); }
206 template <class T> std::unique_ptr<T> create_impl (const std::string& fFile) { return produce_impl<T,HcalTextCalibrations::CheckCreateObject>(fFile); }
207 
208 
209 std::unique_ptr<HcalPedestals> HcalTextCalibrations::producePedestals (const HcalPedestalsRcd& rcd) {
211  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
212  const HcalTopology* topo=&(*htopo);
213 
214  return get_impl_topo<HcalPedestals> (mInputs ["Pedestals"],topo);
215 }
216 
217 std::unique_ptr<HcalPedestalWidths> HcalTextCalibrations::producePedestalWidths (const HcalPedestalWidthsRcd& rcd) {
219  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
220  const HcalTopology* topo=&(*htopo);
221  return get_impl_topo<HcalPedestalWidths> (mInputs ["PedestalWidths"],topo);
222 }
223 
224 std::unique_ptr<HcalPedestals> HcalTextCalibrations::produceEffectivePedestals (const HcalPedestalsRcd& rcd) {
226  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
227  const HcalTopology* topo=&(*htopo);
228 
229  return get_impl_topo<HcalPedestals> (mInputs ["PedestalsEffective"],topo);
230 }
231 
232 std::unique_ptr<HcalPedestalWidths> HcalTextCalibrations::produceEffectivePedestalWidths (const HcalPedestalWidthsRcd& rcd) {
234  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
235  const HcalTopology* topo=&(*htopo);
236  return get_impl_topo<HcalPedestalWidths> (mInputs ["PedestalWidthsEffective"],topo);
237 }
238 
239 std::unique_ptr<HcalGains> HcalTextCalibrations::produceGains (const HcalGainsRcd& rcd) {
241  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
242  const HcalTopology* topo=&(*htopo);
243  return get_impl_topo<HcalGains> (mInputs ["Gains"],topo);
244 }
245 
246 std::unique_ptr<HcalGainWidths> HcalTextCalibrations::produceGainWidths (const HcalGainWidthsRcd& rcd) {
248  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
249  const HcalTopology* topo=&(*htopo);
250  return get_impl_topo<HcalGainWidths> (mInputs ["GainWidths"],topo);
251 }
252 
253 std::unique_ptr<HcalQIEData> HcalTextCalibrations::produceQIEData (const HcalQIEDataRcd& rcd) {
255  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
256  const HcalTopology* topo=&(*htopo);
257  return get_impl_topo<HcalQIEData> (mInputs ["QIEData"],topo);
258 }
259 
260 std::unique_ptr<HcalQIETypes> HcalTextCalibrations::produceQIETypes (const HcalQIETypesRcd& rcd) {
262  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
263  const HcalTopology* topo=&(*htopo);
264  return get_impl_topo<HcalQIETypes> (mInputs ["QIETypes"],topo);
265 }
266 
267 std::unique_ptr<HcalChannelQuality> HcalTextCalibrations::produceChannelQuality (const HcalChannelQualityRcd& rcd) {
269  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
270  const HcalTopology* topo=&(*htopo);
271  return get_impl_topo<HcalChannelQuality> (mInputs ["ChannelQuality"],topo);
272 }
273 
275  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
276  const HcalTopology* topo=&(*htopo);
277  return get_impl_topo<HcalZSThresholds> (mInputs ["ZSThresholds"],topo);
278 }
279 
280 std::unique_ptr<HcalRespCorrs> HcalTextCalibrations::produceRespCorrs (const HcalRespCorrsRcd& rcd) {
282  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
283  const HcalTopology* topo=&(*htopo);
284  return get_impl_topo<HcalRespCorrs> (mInputs ["RespCorrs"],topo);
285 }
286 
287 std::unique_ptr<HcalLUTCorrs> HcalTextCalibrations::produceLUTCorrs (const HcalLUTCorrsRcd& rcd) {
289  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
290  const HcalTopology* topo=&(*htopo);
291  return get_impl_topo<HcalLUTCorrs> (mInputs ["LUTCorrs"],topo);
292 }
293 
294 std::unique_ptr<HcalPFCorrs> HcalTextCalibrations::producePFCorrs (const HcalPFCorrsRcd& rcd) {
296  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
297  const HcalTopology* topo=&(*htopo);
298  return get_impl_topo<HcalPFCorrs> (mInputs ["PFCorrs"],topo);
299 }
300 
301 std::unique_ptr<HcalTimeCorrs> HcalTextCalibrations::produceTimeCorrs (const HcalTimeCorrsRcd& rcd) {
303  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
304  const HcalTopology* topo=&(*htopo);
305  return get_impl_topo<HcalTimeCorrs> (mInputs ["TimeCorrs"],topo);
306 }
307 
308 std::unique_ptr<HcalL1TriggerObjects> HcalTextCalibrations::produceL1TriggerObjects (const HcalL1TriggerObjectsRcd& rcd) {
310  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
311  const HcalTopology* topo=&(*htopo);
312  return get_impl_topo<HcalL1TriggerObjects> (mInputs ["L1TriggerObjects"],topo);
313 }
314 
315 std::unique_ptr<HcalElectronicsMap> HcalTextCalibrations::produceElectronicsMap (const HcalElectronicsMapRcd& rcd) {
316  return create_impl<HcalElectronicsMap> (mInputs ["ElectronicsMap"]);
317 }
318 
319 std::unique_ptr<HcalFrontEndMap> HcalTextCalibrations::produceFrontEndMap (const HcalFrontEndMapRcd& rcd) {
320  return create_impl<HcalFrontEndMap> (mInputs ["FrontEndMap"]);
321 }
322 
323 std::unique_ptr<HcalValidationCorrs> HcalTextCalibrations::produceValidationCorrs (const HcalValidationCorrsRcd& rcd) {
325  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
326  const HcalTopology* topo=&(*htopo);
327  return get_impl_topo<HcalValidationCorrs> (mInputs ["ValidationCorrs"],topo);
328 }
329 
330 std::unique_ptr<HcalLutMetadata> HcalTextCalibrations::produceLutMetadata (const HcalLutMetadataRcd& rcd) {
332  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
333  const HcalTopology* topo=&(*htopo);
334  return get_impl_topo<HcalLutMetadata> (mInputs ["LutMetadata"],topo);
335 }
336 
337 std::unique_ptr<HcalDcsValues>
339  return get_impl<HcalDcsValues> (mInputs ["DcsValues"]);
340 }
341 
342 std::unique_ptr<HcalDcsMap> HcalTextCalibrations::produceDcsMap (const HcalDcsMapRcd& rcd) {
343  return create_impl<HcalDcsMap> (mInputs ["DcsMap"]);
344 }
345 
346 std::unique_ptr<HcalRecoParams> HcalTextCalibrations::produceRecoParams (const HcalRecoParamsRcd& rcd) {
348  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
349  const HcalTopology* topo=&(*htopo);
350  return get_impl_topo<HcalRecoParams> (mInputs ["RecoParams"],topo);
351 }
352 
353 std::unique_ptr<HcalLongRecoParams> HcalTextCalibrations::produceLongRecoParams (const HcalLongRecoParamsRcd& rcd) {
355  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
356  const HcalTopology* topo=&(*htopo);
357  return get_impl_topo<HcalLongRecoParams> (mInputs ["LongRecoParams"],topo);
358 }
359 
360 std::unique_ptr<HcalZDCLowGainFractions> HcalTextCalibrations::produceZDCLowGainFractions (const HcalZDCLowGainFractionsRcd& rcd) {
362  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
363  const HcalTopology* topo=&(*htopo);
364  return get_impl_topo<HcalZDCLowGainFractions> (mInputs ["ZDCLowGainFractions"],topo);
365 }
366 
367 std::unique_ptr<HcalTimingParams> HcalTextCalibrations::produceTimingParams (const HcalTimingParamsRcd& rcd) {
369  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
370  const HcalTopology* topo=&(*htopo);
371  return get_impl_topo<HcalTimingParams> (mInputs ["TimingParams"],topo);
372 }
373 std::unique_ptr<HcalMCParams> HcalTextCalibrations::produceMCParams (const HcalMCParamsRcd& rcd) {
375  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
376  const HcalTopology* topo=&(*htopo);
377  return get_impl_topo<HcalMCParams> (mInputs ["MCParams"],topo);
378 }
379 
380 std::unique_ptr<HcalFlagHFDigiTimeParams> HcalTextCalibrations::produceFlagHFDigiTimeParams (const HcalFlagHFDigiTimeParamsRcd& rcd) {
382  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
383  const HcalTopology* topo=&(*htopo);
384  return get_impl_topo<HcalFlagHFDigiTimeParams> (mInputs ["FlagHFDigiTimeParams"],topo);
385 }
386 
387 std::unique_ptr<HcalSiPMParameters> HcalTextCalibrations::produceSiPMParameters (const HcalSiPMParametersRcd& rcd) {
389  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
390  const HcalTopology* topo=&(*htopo);
391  return get_impl_topo<HcalSiPMParameters> (mInputs ["SiPMParameters"],topo);
392 }
393 
394 std::unique_ptr<HcalSiPMCharacteristics> HcalTextCalibrations::produceSiPMCharacteristics (const HcalSiPMCharacteristicsRcd& rcd) {
395  return create_impl<HcalSiPMCharacteristics> (mInputs ["SiPMCharacteristics"]);
396 }
397 
398 std::unique_ptr<HcalTPChannelParameters> HcalTextCalibrations::produceTPChannelParameters (const HcalTPChannelParametersRcd& rcd) {
400  rcd.getRecord<HcalRecNumberingRecord>().get(htopo);
401  const HcalTopology* topo=&(*htopo);
402  return get_impl_topo<HcalTPChannelParameters> (mInputs ["TPChannelParameters"],topo);
403 }
404 
405 std::unique_ptr<HcalTPParameters> HcalTextCalibrations::produceTPParameters (const HcalTPParametersRcd& rcd) {
406  return get_impl<HcalTPParameters> (mInputs ["TPParameters"]);
407 }
std::unique_ptr< HcalPedestals > producePedestals(const HcalPedestalsRcd &rcd)
std::unique_ptr< HcalGainWidths > produceGainWidths(const HcalGainWidthsRcd &rcd)
T getParameter(std::string const &) const
std::unique_ptr< HcalZDCLowGainFractions > produceZDCLowGainFractions(const HcalZDCLowGainFractionsRcd &rcd)
std::unique_ptr< T > get_impl(const std::string &fFile)
std::unique_ptr< T > get_impl_topo(const std::string &fFile, const HcalTopology *topo)
std::unique_ptr< HcalPedestals > produceEffectivePedestals(const HcalPedestalsRcd &rcd)
std::unique_ptr< HcalL1TriggerObjects > produceL1TriggerObjects(const HcalL1TriggerObjectsRcd &rcd)
std::unique_ptr< HcalPedestalWidths > producePedestalWidths(const HcalPedestalWidthsRcd &rcd)
JetCorrectorParameters::Record record
Definition: classes.h:7
std::unique_ptr< HcalLongRecoParams > produceLongRecoParams(const HcalLongRecoParamsRcd &rcd)
std::unique_ptr< HcalMCParams > produceMCParams(const HcalMCParamsRcd &rcd)
std::unique_ptr< HcalLUTCorrs > produceLUTCorrs(const HcalLUTCorrsRcd &rcd)
std::unique_ptr< HcalPFCorrs > producePFCorrs(const HcalPFCorrsRcd &rcd)
std::unique_ptr< T > create_impl(const std::string &fFile)
static const IOVSyncValue & endOfTime()
Definition: IOVSyncValue.cc:97
std::unique_ptr< HcalDcsValues > produceDcsValues(HcalDcsRcd const &rcd)
std::unique_ptr< HcalQIEData > produceQIEData(const HcalQIEDataRcd &rcd)
std::pair< Time_t, Time_t > ValidityInterval
Definition: Time.h:19
void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &) override
std::unique_ptr< HcalSiPMCharacteristics > produceSiPMCharacteristics(const HcalSiPMCharacteristicsRcd &rcd)
std::unique_ptr< HcalZSThresholds > produceZSThresholds(const HcalZSThresholdsRcd &rcd)
std::unique_ptr< HcalSiPMParameters > produceSiPMParameters(const HcalSiPMParametersRcd &rcd)
std::unique_ptr< HcalDcsMap > produceDcsMap(const HcalDcsMapRcd &rcd)
static const IOVSyncValue & beginOfTime()
std::unique_ptr< HcalRecoParams > produceRecoParams(const HcalRecoParamsRcd &rcd)
std::unique_ptr< HcalChannelQuality > produceChannelQuality(const HcalChannelQualityRcd &rcd)
std::unique_ptr< HcalPedestalWidths > produceEffectivePedestalWidths(const HcalPedestalWidthsRcd &rcd)
HcalTextCalibrations(const edm::ParameterSet &)
std::unique_ptr< T > produce_impl(const std::string &fFile, const HcalTopology *topo=0)
std::unique_ptr< HcalTPChannelParameters > produceTPChannelParameters(const HcalTPChannelParametersRcd &rcd)
std::unique_ptr< HcalQIETypes > produceQIETypes(const HcalQIETypesRcd &rcd)
std::unique_ptr< HcalTimingParams > produceTimingParams(const HcalTimingParamsRcd &rcd)
std::unique_ptr< HcalTPParameters > produceTPParameters(const HcalTPParametersRcd &rcd)
std::unique_ptr< HcalElectronicsMap > produceElectronicsMap(const HcalElectronicsMapRcd &rcd)
std::unique_ptr< HcalGains > produceGains(const HcalGainsRcd &rcd)
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
std::unique_ptr< HcalRespCorrs > produceRespCorrs(const HcalRespCorrsRcd &rcd)
std::unique_ptr< HcalFrontEndMap > produceFrontEndMap(const HcalFrontEndMapRcd &rcd)
std::string fullPath() const
Definition: FileInPath.cc:197
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
Definition: blowfish.cc:281
std::unique_ptr< HcalLutMetadata > produceLutMetadata(const HcalLutMetadataRcd &rcd)
std::unique_ptr< HcalTimeCorrs > produceTimeCorrs(const HcalTimeCorrsRcd &rcd)
std::unique_ptr< HcalFlagHFDigiTimeParams > produceFlagHFDigiTimeParams(const HcalFlagHFDigiTimeParamsRcd &rcd)
std::unique_ptr< HcalValidationCorrs > produceValidationCorrs(const HcalValidationCorrsRcd &rcd)