10 theCalculationFlag_ = ctype;
13 theTruncationCut_ = tcut;
21 cout <<
"Destructing TT6ApvMask " << endl;
29 double sumVal, sqSumVal, avVal, sqAvVal, rmsVal;
30 sort(temp_in.begin(), temp_in.end());
31 int nSize = in.size();
32 int cutLow = int(nSize * theTruncationCut_);
33 int cutHigh = int(nSize * theTruncationCut_);
34 int effSize = nSize - cutLow - cutHigh;
37 sumVal = accumulate((temp_in.begin() + cutLow), (temp_in.end() - cutHigh), 0.0);
38 sqSumVal = inner_product((temp_in.begin() + cutLow), (temp_in.end() - cutHigh), (temp_in.begin() + cutLow), 0.0);
40 avVal = (effSize) ? sumVal /
float(effSize) : 0.0;
41 sqAvVal = (effSize) ? sqSumVal /
float(effSize) : 0.0;
42 rmsVal = (sqAvVal - avVal * avVal > 0.0) ?
sqrt(sqAvVal - avVal * avVal) : 0.0;
44 cout <<
" TT6ApvMask::calculateMask Mean " << avVal <<
" RMS " << rmsVal <<
" " << effSize << endl;
45 for (
unsigned int i = 0;
i < in.size();
i++) {
46 if (defineNoisy(static_cast<float>(avVal), static_cast<float>(rmsVal), in[
i])) {
47 theMask_.push_back(noisy);
48 }
else if (in[i] < theDeadCut_ * avVal) {
49 theMask_.push_back(dead);
51 theMask_.push_back(
ok);
63 if (theCalculationFlag_ == 1) {
64 if ((noise - avrg) > theNoiseCut_ * rms) {
67 cout <<
" Mean " << avrg <<
" rms " << rms <<
" Noise " << noise << endl;
69 }
else if (theCalculationFlag_ == 2) {
70 if ((noise - avrg) > avrg * theNoiseCut_)
72 }
else if (theCalculationFlag_ == 3) {
73 if (noise > theNoiseCut_)
std::vector< float > PedestalType
TT6ApvMask(int ctype, float ncut, float dcut, float tcut)
void calculateMask(const ApvAnalysis::PedestalType &) override
bool defineNoisy(float avrg, float rms, float noise)