15 : fixedphasens_(fixedphase_ns),
17 hcalTimeSlew_delay_(hcalTimeSlew_delay) {
30 const int binsize_ns = 25;
40 for (
int shift_ns = 0; shift_ns < binsize_ns; shift_ns++) {
44 double tmin = -(double)shift_ns;
45 double bin0val = (double)
integrator_(tmin, tmin + binsize_ns);
46 double bin1val = (double)
integrator_(tmin + binsize_ns, tmin + 2 * binsize_ns);
50 sprintf (s,
"%7.3f %8.5f %8.5f\n", tmin, bin0val, bin1val);
54 if (bin1val > bin0val) {
70 double tmin = -shift_ns;
77 double recofc = (double)truefc * integral;
81 sprintf (s,
"%8.2f %8.4f %8.4f %8.5f %8.5f %8.5f ",
82 truefc, tmin, tmax, integral, corfactor, recofc);
86 std::pair<double, double> thepair(recofc, corfactor);
std::pair< double, double > calcpair(double)
HcalShapeIntegrator integrator_
const HcalTimeSlew * hcalTimeSlew_delay_
void init(int num_samples)
double integrationwindowns_
HcalPulseContainmentAlgo(const HcalPulseShape *shape, int num_samples, double fixedphase_ns, const HcalTimeSlew *hcalTimeSlew_delay)
Integral< F, X >::type integral(const F &f)
static const double tmax[3]
float delay(float fC, BiasSetting bias=Medium) const
Returns the amount (ns) by which a pulse of the given number of fC will be delayed by the timeslew ef...