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