18 static const float qie10_tdc_to_ns = 0.5f;
22 static const int qie10_tdc_code_overshoot = 62;
23 static const int qie10_tdc_code_undershoot = 63;
34 const int nRead = cs.
size();
42 double charge = 0.0, energy = 0.0;
45 for (
int ts=0; ts<nRead; ++ts)
48 const int capid = s.
capid();
49 const float q = cs[ts] - calib.
pedestal(capid);
63 timeRising, timeFalling,
66 else if (0 <= tsToUse && tsToUse < nRead)
69 const int capid = s.
capid();
73 const int tdc = s.
le_tdc();
74 float timeRising = qie10_tdc_to_ns*tdc;
75 if (tdc == qie10_tdc_code_overshoot)
77 else if (tdc == qie10_tdc_code_undershoot)
88 const int winCenter = nStore/2;
89 if (tsToUse > winCenter)
90 shift = tsToUse - winCenter;
91 if (shift + nStore > nRead)
92 shift = nRead - nStore;
97 for (
int i=0;
i<nStore; ++
i)
98 raw[
i] = digi[
i + shift].wideRaw();
101 timeRising, timeFalling,
102 raw, nStore, tsToUse -
shift);
HFQIE10Info reconstruct(const QIE10DataFrame &digi, int tsToUse, const HcalCoder &coder, const HcalCalibrations &calibs) const
double respcorrgain(int fCapId) const
get response corrected gain for capid=0..3
auto_ptr< ClusterSequence > cs
edm::DataFrame::id_type id() const
double pedestal(int fCapId) const
get pedestal for capid=0..3
constexpr float UNKNOWN_T_UNDERSHOOT
constexpr float UNKNOWN_T_OVERSHOOT
wide_type wideRaw() const
QIE10DataFrame::Sample::wide_type raw_type
virtual void adc2fC(const HBHEDataFrame &df, CaloSamples &lf) const =0
int size() const
get the size
constexpr float UNKNOWN_T_NOTDC
static unsigned int const shift
static const unsigned N_RAW_MAX