16 : fixedphasens_(fixedphase_ns),
17 phaseAsInSim_(phaseAsInSim),
19 hcalTimeSlew_delay_(hcalTimeSlew_delay) {
28 : fixedphasens_(fixedphase_ns),
29 phaseAsInSim_(phaseAsInSim),
31 hcalTimeSlew_delay_(hcalTimeSlew_delay) {
36 const int binsize_ns = 25;
46 for (
int shift_ns = 0; shift_ns < binsize_ns; shift_ns++) {
50 double tmin = -(double)shift_ns;
51 double bin0val = (double)
integrator_(tmin, tmin + binsize_ns);
52 double bin1val = (double)
integrator_(tmin + binsize_ns, tmin + 2 * binsize_ns);
56 sprintf (s,
"%7.3f %8.5f %8.5f\n", tmin, bin0val, bin1val);
60 if (bin1val > bin0val) {
87 double recofc = (double)truefc * integral;
91 sprintf (s,
"%8.2f %8.4f %8.4f %8.5f %8.5f %8.5f ",
92 truefc, tmin, tmax, integral, corfactor, recofc);
96 std::pair<double, double> thepair(recofc, corfactor);
HcalPulseContainmentAlgo(const HcalPulseShape *shape, int num_samples, double fixedphase_ns, bool phaseAsInSim, const HcalTimeSlew *hcalTimeSlew_delay)
std::pair< double, double > calcpair(double)
HcalShapeIntegrator integrator_
const HcalTimeSlew * hcalTimeSlew_delay_
void init(int num_samples)
double integrationwindowns_
Log< level::Warning, true > LogPrint
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...