//_______________________________________________________
void AliTRDtrackingChamber::Clear(const Option_t *opt)
{
- for(Int_t itb=0; itb<kNTimeBins; itb++) fTB[itb].Clear(opt);
+ for(Int_t itb=0; itb<AliTRDseedV1::kNtb; itb++) fTB[itb].Clear(opt);
}
//_______________________________________________________
Int_t nrows = pp->GetNrows();
Int_t index[50], jtb = 0;
- for(Int_t itb=0; itb<kNTimeBins; itb++){
+ for(Int_t itb=0; itb<AliTRDseedV1::kNtb; itb++){
if(!fTB[itb]) continue;
fTB[itb].SetRange(z0, zl);
fTB[itb].SetNRows(nrows);
mean /= roc->GetNchannels();
t0 = (Int_t)(cal->GetValue(fDetector) + mean);
}
-
+ fTB[t0].SetT0();
fX0 = x0 + dx*(index[0] - t0);
return kTRUE;
}
// Returns number of clusters in chamber
//
Int_t n = 0;
- for(Int_t itb=0; itb<kNTimeBins; itb++){
+ for(Int_t itb=0; itb<AliTRDseedV1::kNtb; itb++){
n += Int_t(fTB[itb]);
}
return n;
// Bootstrap each time bin
//
AliTRDchamberTimeBin *jtb = &fTB[0];
- for(Int_t itb=0; itb<kNTimeBins; itb++, ++jtb){
+ for(Int_t itb=0; itb<AliTRDseedV1::kNtb; itb++, ++jtb){
(*jtb).Bootstrap(rec, fDetector);
}
}
// Set ownership in time bins
//
AliTRDchamberTimeBin *jtb = &fTB[0];
- for(Int_t itb=0; itb<kNTimeBins; itb++, ++jtb){
+ for(Int_t itb=0; itb<AliTRDseedV1::kNtb; itb++, ++jtb){
if(!(Int_t(*jtb))) continue;
(*jtb).SetOwner();
}
Int_t ncl = 0;
Int_t nused = 0;
Int_t nClLayer;
- for(int itb=0; itb<kNTimeBins; itb++){
+ for(int itb=0; itb<AliTRDseedV1::kNtb; itb++){
if(!(nClLayer = fTB[itb].GetNClusters())) continue;
ncl += nClLayer;
for(Int_t incl = 0; incl < nClLayer; incl++){
histogram[irs] = &hvals[irs*kMaxCols];
sigmas[irs] = &svals[irs*kMaxCols];
}
- for(Int_t iTime = timeBinMin; iTime < kNTimeBins-timeBinMax; iTime++){
+ for(Int_t iTime = timeBinMin; iTime < AliTRDseedV1::kNtb-timeBinMax; iTime++){
if(!(nClusters = fTB[iTime].GetNClusters())) continue;
z0 = fTB[iTime].GetZ0();
zl = fTB[iTime].GetDZ0();
Int_t col, row, lower, lower1, upper, upper1;
for(Int_t ib = 0; ib < nCont; ib++){
if(nCandidates >= AliTRDtrackerV1::kMaxTracksStack){
- printf("Number of seed candidates %d exceeded maximum allowed per stack %d", nCandidates, AliTRDtrackerV1::kMaxTracksStack);
+ AliWarning(Form("Number of seed candidates %d exceeded maximum allowed per stack %d", nCandidates, AliTRDtrackerV1::kMaxTracksStack));
break;
}
// Positions
col = cand[ican] % nCols;
//temporary
Int_t n = 0; Double_t x = 0., y = 0., z = 0.;
- for(int itb=0; itb<kNTimeBins; itb++){
+ for(int itb=0; itb<AliTRDseedV1::kNtb; itb++){
if(!(nClusters = fTB[itb].GetNClusters())) continue;
for(Int_t incl = 0; incl < nClusters; incl++){
c = fTB[itb].GetCluster(incl);
//for(Int_t i = 0; i < nRows; i++)
// for(Int_t j = 0; j < nCols; j++)
// hist(i,j) = histogram[i][j];
- TTreeSRedirector &cstreamer = *AliTRDtrackerV1::DebugStreamer();
+ TTreeSRedirector &cstreamer = *rec->GetDebugStream(AliTRDReconstructor::kTracker);
cstreamer << "GetSeedingLayer"
<< "layer=" << layer
<< "ymin=" << ymin
AliInfo(Form("fDetector = %d", fDetector));
AliInfo(Form("fX0 = %7.3f", fX0));
const AliTRDchamberTimeBin *itb = &fTB[0];
- for(Int_t jtb=0; jtb<kNTimeBins; jtb++, itb++) (*itb).Print(opt);
+ for(Int_t jtb=0; jtb<AliTRDseedV1::kNtb; jtb++, itb++) (*itb).Print(opt);
}
+
+
+//_______________________________________________________
+void AliTRDtrackingChamber::Update()
+{
+// Steer purging of used and shared clusters
+
+ AliTRDchamberTimeBin *jtb = &fTB[0];
+ for(Int_t itb=AliTRDseedV1::kNtb; itb--; ++jtb){
+ if(!(Int_t(*jtb))) continue;
+ (*jtb).BuildIndices();
+ }
+}
+