16 for (
size_t i = 0; i < nGains; ++i) {
24 std::vector<float> &autocorrtotal) {
34const std::vector<double>
36 float Nminbias)
const {
38 std::vector<double> vResult;
39 int tsize = int(sqrt(terms.size()));
40 int nsize_tot = (tsize - 1) * (tsize) / 2;
41 vResult.reserve(nsize_tot);
42 for (
int i1 = 0; i1 < tsize - 1; i1++) {
43 for (
int i2 = i1 + 1; i2 < tsize; i2++) {
45 int index = i1 * tsize - i1 * (i1 + 1) / 2 + i2 - (i1 + 1);
47 vResult.push_back((terms[
index] + Nminbias * terms[nsize_tot +
index]) /
48 sqrt((1. + Nminbias * terms[2 * nsize_tot + i1]) *
49 (1. + Nminbias * terms[2 * nsize_tot + i2])));
57const std::vector<double>
59 float Nminbias)
const {
76const std::vector<double>
78 float Nminbias)
const {
80 std::vector<double> vResult;
81 int tsize = int(sqrt(terms.size()));
82 vResult.reserve(tsize);
83 int nsize_tot = (tsize - 1) * (tsize) / 2;
84 for (
int i = 0; i < tsize; i++) {
85 vResult.push_back(sqrt(1. + Nminbias * terms[2 * nsize_tot + i]));
92 float Nminbias)
const {
98 float Nminbias)
const {
100 return this->
samplRMS(hid, gain, Nminbias);
105 float Nminbias)
const {
107 return this->
samplRMS(hwid, gain, Nminbias);
size_t size() const
Number of registered mappings.
This is a "hash" representation of an Identifier.
const std::vector< double > autoCorrTotal(const IdentifierHash &hid, int gain, float Nminbias) const
const LArOnOffIdMapping * m_cabling
LArAutoCorrTotal()=delete
bool set(const IdentifierHash &hid, const int gain, std::vector< float > &autocorrtotal)
const std::vector< double > computeRMS(const std::vector< float > &terms, float Nminbias) const
std::array< vecAutoCorrTotal, CaloGain::LARNGAIN > m_AutoCorrTotal
const LArOnlineID_Base * m_onlineID
const std::vector< double > computeAutoCorr(const std::vector< float > &terms, float Nminbias) const
const std::vector< double > samplRMS(const IdentifierHash &hid, int gain, float Nminbias) const
Helper for the Liquid Argon Calorimeter cell identifiers.
size_type channelHashMax() const
Define channel hash tables max size.