13 std::unique_ptr<AbsHFPhase1Algo>
algo;
17 const bool isHFSimpleTimeCheck = className ==
"HFSimpleTimeCheck";
18 if (isHFSimpleTimeCheck || className ==
"HFFlexibleTimeCheck")
20 const std::vector<double>& energyWeightsVec =
22 const unsigned soiPhase =
24 const float timeShift =
26 const float triseIfNoTDC =
28 const float tfallIfNoTDC =
30 const bool rejectAllFailures =
34 const unsigned sz =
sizeof(energyWeights)/
sizeof(energyWeights[0][0]);
36 if (energyWeightsVec.size() == sz)
38 std::pair<float,float> tlimits[2];
39 if (isHFSimpleTimeCheck)
42 const std::vector<double>& tlimitsVec =
44 if (tlimitsVec.size() == 4)
46 tlimits[0] = std::pair<float,float>(tlimitsVec[0], tlimitsVec[1]);
47 tlimits[1] = std::pair<float,float>(tlimitsVec[2], tlimitsVec[3]);
55 tlimits[0] = std::pair<float,float>(-FLT_MAX, FLT_MAX);
56 tlimits[1] = tlimits[0];
60 float*
to = &energyWeights[0][0];
61 for (
unsigned i=0;
i<sz; ++
i)
62 to[
i] = energyWeightsVec[
i];
65 if (isHFSimpleTimeCheck)
66 algo = std::unique_ptr<AbsHFPhase1Algo>(
68 timeShift, triseIfNoTDC, tfallIfNoTDC,
71 algo = std::unique_ptr<AbsHFPhase1Algo>(
73 timeShift, triseIfNoTDC, tfallIfNoTDC,
T getParameter(std::string const &) const
std::string className(const T &t)