3 #include "boost/serialization/export.hpp" 8 const std::vector<OOTPileupCorrDataFcn>& corrs,
9 const std::vector<uint32_t>& iEtaLimits,
10 const double chargeLimit,
11 const int requireFirstTS,
13 const bool readjustTiming)
15 iEtaLimits_(iEtaLimits),
16 chargeLimit_(chargeLimit),
17 requireFirstTS_(requireFirstTS),
18 requireNTS_(requireNTS),
19 readjustTiming_(readjustTiming)
22 "Invalid OOTPileupCorrData constructor arguments");
30 if (nLimits >= static_cast<std::size_t>(UINT_MAX))
32 for (std::size_t
i=0;
i<nLimits-1; ++
i)
35 if (
corrs_.size() != nLimits + 1)
41 const double* inputCharge,
const unsigned lenInputCharge,
42 const BunchXParameter* ,
const unsigned ,
43 const unsigned firstTimeSlice,
const unsigned nTimeSlices,
44 double* correctedCharge,
const unsigned lenCorrectedCharge,
45 bool* pulseShapeCorrApplied,
bool* leakCorrApplied,
46 bool* readjustTiming)
const 49 if (inputCharge ==
nullptr || correctedCharge ==
nullptr ||
50 lenCorrectedCharge < lenInputCharge ||
51 pulseShapeCorrApplied ==
nullptr || leakCorrApplied ==
nullptr ||
52 readjustTiming ==
nullptr)
54 "Invalid arguments in OOTPileupCorrData::apply");
56 for (
unsigned i=0;
i<lenInputCharge; ++
i)
57 correctedCharge[
i] = inputCharge[
i];
65 apply(
id, correctedCharge, firstTimeSlice);
67 *pulseShapeCorrApplied =
false;
68 *leakCorrApplied = fixCharge;
std::vector< uint32_t > iEtaLimits_
std::vector< OOTPileupCorrDataFcn > corrs_
void apply(const HcalDetId &id, const double *inputCharge, unsigned lenInputCharge, const BunchXParameter *bcParams, unsigned lenBcParams, unsigned firstTimeSlice, unsigned nTimeSlices, double *correctedCharge, unsigned lenCorrectedCharge, bool *pulseShapeCorrApplied, bool *leakCorrApplied, bool *readjustTiming) const override