26 cn.qTot = CAMath::Float2UIntRn(mQtot);
27 if (cn.qTot <=
param.rec.tpc.cfQTotCutoff) {
31 if (cn.qMax <=
param.rec.tpc.cfQMaxCutoff) {
34 if (mTimeMean <
param.rec.tpc.clustersShiftTimebinsClusterizer) {
37 if (q <=
param.rec.tpc.cfQMaxCutoffSingleTime && mTimeSigma == 0) {
40 if (q <=
param.rec.tpc.cfQMaxCutoffSinglePad && mPadSigma == 0) {
44 bool isEdgeCluster = CfUtils::isAtEdge(
pos,
param.tpcGeometry.NPads(
pos.row()));
45 bool wasSplitInTime = mSplitInTime >=
param.rec.tpc.cfMinSplitNum;
46 bool wasSplitInPad = mSplitInPad >=
param.rec.tpc.cfMinSplitNum;
47 bool isSingleCluster = (mPadSigma == 0) || (mTimeSigma == 0);
50 flags |= (isEdgeCluster) ? tpc::ClusterNative::flagEdge : 0;
51 flags |= (wasSplitInTime) ? tpc::ClusterNative::flagSplitTime : 0;
52 flags |= (wasSplitInPad) ? tpc::ClusterNative::flagSplitPad : 0;
53 flags |= (isSingleCluster) ? tpc::ClusterNative::flagSingle : 0;
55 cn.setTimeFlags(mTimeMean -
param.rec.tpc.clustersShiftTimebinsClusterizer,
flags);
57 cn.setSigmaTime(mTimeSigma);
58 cn.setSigmaPad(mPadSigma);
66 mPadMean += splitCharge * d.x;
67 mTimeMean += splitCharge * d.y;
68 mPadSigma += splitCharge * d.x * d.x;
69 mTimeSigma += splitCharge * d.y * d.y;