}
// 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);
}
AliTPCTransform *transform = AliTPCcalibDB::Instance()->GetTransform() ;
if (!transform) {
AliFatal("Tranformations not in calibDB");
+ return;
}
transform->SetCurrentRecoParam((AliTPCRecoParam*)fRecoParam);
Double_t x[3]={c.GetRow(),c.GetPad(),c.GetTimeBin()};
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) {
rawReader->Select("TPC",indexDDL,indexDDL+nDDLs-1);
// select only good sector
- input.Next();
+ if (!input.Next()) continue;
if(input.GetSector() != fSector) continue;
AliTPCCalROC * gainROC = gainTPC->GetCalROC(fSector); // pad gains per given sector
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)
dsignal[i] = signal[i];
}
- TGraph * graph=0;
//
// Big signals dumping
//
"Sector="<<uid[0]<<
"Row="<<uid[1]<<
"Pad="<<uid[2]<<
- "Graph="<<graph<<
+ // "Graph="<<graph<<
"Max="<<max<<
"MaxPos="<<maxPos<<
//
"Mean09="<<mean09<<
"RMS09="<<rms09<<
"\n";
- delete graph;
}
delete [] dsignal;