22#ifndef GPUCA_GPUCODE_DEVICE
32 const int32_t truncLow =
param.rec.tpc.dEdxTruncLow;
33 const int32_t truncHigh =
param.rec.tpc.dEdxTruncHigh;
34 const int32_t countIROC = mNClsROC[0];
35 const int32_t countOROC1 = mNClsROC[1];
36 const int32_t countOROC2 = mNClsROC[2];
37 const int32_t countOROC3 = mNClsROC[3];
38 output.dEdxTotIROC = GetSortTruncMean(mChargeTot + countOROC3 + countOROC2 + countOROC1, countIROC, truncLow, truncHigh);
39 output.dEdxTotOROC1 = GetSortTruncMean(mChargeTot + countOROC3 + countOROC2, countOROC1, truncLow, truncHigh);
40 output.dEdxTotOROC2 = GetSortTruncMean(mChargeTot + countOROC3, countOROC2, truncLow, truncHigh);
41 output.dEdxTotOROC3 = GetSortTruncMean(mChargeTot, countOROC3, truncLow, truncHigh);
42 output.dEdxTotTPC = GetSortTruncMean(mChargeTot, mCount, truncLow, truncHigh);
43 output.dEdxMaxIROC = GetSortTruncMean(mChargeMax + countOROC3 + countOROC2 + countOROC1, countIROC, truncLow, truncHigh);
44 output.dEdxMaxOROC1 = GetSortTruncMean(mChargeMax + countOROC3 + countOROC2, countOROC1, truncLow, truncHigh);
45 output.dEdxMaxOROC2 = GetSortTruncMean(mChargeMax + countOROC3, countOROC2, truncLow, truncHigh);
46 output.dEdxMaxOROC3 = GetSortTruncMean(mChargeMax, countOROC3, truncLow, truncHigh);
47 output.dEdxMaxTPC = GetSortTruncMean(mChargeMax, mCount, truncLow, truncHigh);
48 output.NHitsIROC = countIROC - mNClsROCSubThresh[0];
49 output.NHitsSubThresholdIROC = countIROC;
50 output.NHitsOROC1 = countOROC1 - mNClsROCSubThresh[1];
51 output.NHitsSubThresholdOROC1 = countOROC1;
52 output.NHitsOROC2 = countOROC2 - mNClsROCSubThresh[2];
53 output.NHitsSubThresholdOROC2 = countOROC2;
54 output.NHitsOROC3 = countOROC3 - mNClsROCSubThresh[3];
55 output.NHitsSubThresholdOROC3 = countOROC3;
60 trunclow =
count * trunclow / 128;
61 trunchigh =
count * trunchigh / 128;
62 if (trunclow >= trunchigh) {
67 for (int32_t
i = trunclow;
i < trunchigh;
i++) {
68 mean += (
float)
array[
i] * (1.f / scalingFactor<GPUCA_DEDX_STORAGE_TYPE_A>::factor);
70 return (mean / (trunchigh - trunclow));
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
double mean(std::vector< double >::const_iterator first, std::vector< double >::const_iterator last)