}
// Int_t nPoints = fRecoParam->GetLastBin()-fRecoParam->GetFirstBin();
- fRowCl= new AliTPCClustersRow();
- fRowCl->SetClass("AliTPCclusterMI");
- fRowCl->SetArray(1);
+ fRowCl= new AliTPCClustersRow("AliTPCclusterMI");
// Non-persistent arrays
//
delete fOutputClonesArray;
}
+ if (fRowCl) {
+ fRowCl->GetArray()->Delete();
+ delete fRowCl;
+ }
+
AliTPCROC * roc = AliTPCROC::Instance();
Int_t nRowsMax = roc->GetNRows(roc->GetNSector()-1);
for (Int_t iRow = 0; iRow < nRowsMax; iRow++) {
//
if (!tree) return;
fOutput= tree;
- AliTPCClustersRow clrow;
- AliTPCClustersRow *pclrow=&clrow;
- clrow.SetClass("AliTPCclusterMI");
- clrow.SetArray(1); // to make Clones array
+ AliTPCClustersRow clrow, *pclrow=&clrow;
+ pclrow = new AliTPCClustersRow("AliTPCclusterMI");
fOutput->Branch("Segment","AliTPCClustersRow",&pclrow,32000,200);
}
FindClusters(noiseROC);
FillRow();
- fRowCl->GetArray()->Clear();
+ fRowCl->GetArray()->Clear("C");
nclusters+=fNcluster;
delete[] fBins;
FindClusters(noiseROC);
FillRow();
- if(fBClonesArray == kFALSE) fRowCl->GetArray()->Clear();
+ if(fBClonesArray == kFALSE) fRowCl->GetArray()->Clear("C");
fNclusters += fNcluster;
} // End of loop to find clusters
}
if (rawReader->GetEventId() && fOutput ){
- Info("Digits2Clusters", "File %s Event\t%d\tNumber of found clusters : %d\n", fOutput->GetName(),*(rawReader->GetEventId()), fNclusters);
+ Info("Digits2Clusters", "File %s Event\t%u\tNumber of found clusters : %d\n", fOutput->GetName(),*(rawReader->GetEventId()), fNclusters);
}
if(rawReader->GetEventId()) {
- Info("Digits2Clusters", "Event\t%d\tNumber of found clusters : %d\n",*(rawReader->GetEventId()), fNclusters);
+ Info("Digits2Clusters", "Event\t%u\tNumber of found clusters : %d\n",*(rawReader->GetEventId()), fNclusters);
}
if(fBClonesArray) {
Float_t minMaxCutSigma = fRecoParam->GetMinMaxCutSigma();
Float_t minLeftRightCutSigma = fRecoParam->GetMinLeftRightCutSigma();
Float_t minUpDownCutSigma = fRecoParam->GetMinUpDownCutSigma();
+ Int_t useOnePadCluster = fRecoParam->GetUseOnePadCluster();
for (Int_t iSig = 0; iSig < fNSigBins; iSig++) {
Int_t i = fSigBins[iSig];
if (i%fMaxTime<=crtime) continue;
//absolute custs
if (b[0]<minMaxCutAbs) continue; //threshold for maxima
//
- if (b[-1]+b[1]+b[-fMaxTime]+b[fMaxTime]<=0) continue; // cut on isolated clusters
- if (b[-1]+b[1]<=0) continue; // cut on isolated clusters
- if (b[-fMaxTime]+b[fMaxTime]<=0) continue; // cut on isolated clusters
+ if (useOnePadCluster==0){
+ if (b[-1]+b[1]+b[-fMaxTime]+b[fMaxTime]<=0) continue; // cut on isolated clusters
+ if (b[-1]+b[1]<=0) continue; // cut on isolated clusters
+ if (b[-fMaxTime]+b[fMaxTime]<=0) continue; // cut on isolated clusters
+ }
//
if ((b[0]+b[-1]+b[1])<minUpDownCutAbs) continue; //threshold for up down (TRF)
if ((b[0]+b[-fMaxTime]+b[fMaxTime])<minLeftRightCutAbs) continue; //threshold for left right (PRF)