- Signals[2] = fDigitsOut->GetData(row,col+1,time);
- status[2] = fDigitsIn->GetPadStatus(row,col+1,time);
- //if(status[2]) SETBIT(pasStatus, AliTRDcluster::kMaskedLeft);//TR: mod: this is already done by SetPadStatus
-
- Signals[0] = fDigitsOut->GetData(row,col-1,time);
- status[0] = fDigitsIn->GetPadStatus(row,col-1,time);
- //if(status[0]) SETBIT(pasStatus, AliTRDcluster::kMaskedRight);//TR: mod: this is already done by SetPadStatus
-
- // reject candidates with more than 1 problematic pad
- if(pasStatus >= 3) return kFALSE;
-
- if (!status[1]) { // good central pad
- if (!pasStatus) { // all pads are OK
- if ((Signals[2] <= Signals[1]) && (Signals[0] < Signals[1])) {
- if ((Signals[2] >= fSigThresh) || (Signals[0] >= fSigThresh)) {
- Float_t noiseSumThresh = fMinLeftRightCutSigma
- * fCalNoiseDetValue
- * fCalNoiseROC->GetValue(col,row);
- if ((Signals[2]+Signals[0]+Signals[1]) >= noiseSumThresh)
- return kTRUE;
- }
- }
- } else { // one of the neighbouring pads are bad
- if (status[2] && Signals[0] < Signals[1] && Signals[0] >= fSigThresh) {
- fDigitsOut->SetData(row, col+1, time, 0.);//TR: mod: was: SetData(row, col, time+1, 0.)
- SetPadStatus(status[2], pasStatus);
- return kTRUE;
- }
- else if (status[0] && Signals[2] <= Signals[1] && Signals[2] >= fSigThresh) {
- fDigitsOut->SetData(row, col-1, time, 0.);//TR: mod: was: SetData(row, col, time-1, 0.)
- SetPadStatus(status[0], pasStatus);
+ Signals[0] = fDigitsOut->GetData(Max.Row, Max.Col-1, Max.Time);
+ Signals[2] = fDigitsOut->GetData(Max.Row, Max.Col+1, Max.Time);
+
+ if(!(status[0] | status[1] | status[2])) {//all pads are good
+ if ((Signals[2] <= Signals[1]) && (Signals[0] < Signals[1])) {
+ if ((Signals[2] >= fSigThresh) || (Signals[0] >= fSigThresh)) {
+ Float_t noiseSumThresh = fMinLeftRightCutSigma
+ * fCalNoiseDetValue
+ * fCalNoiseROC->GetValue(Max.Col, Max.Row);
+ if ((Signals[2]+Signals[0]+Signals[1]) < noiseSumThresh) return kFALSE;
+ padStatus = 0;