#include "AliTRDtrackingChamber.h"
#include "TMath.h"
#include "TMatrixTBase.h"
#include <TTreeStream.h>
#include "AliTRDReconstructor.h"
#include "AliTRDrecoParam.h"
#include "AliTRDtrackerV1.h"
#include "AliTRDgeometry.h"
#include "AliTRDpadPlane.h"
#include "AliTRDcalibDB.h"
#include "AliTRDCommonParam.h"
#include "Cal/AliTRDCalDet.h"
#include "Cal/AliTRDCalROC.h"
ClassImp(AliTRDtrackingChamber)
AliTRDtrackingChamber::AliTRDtrackingChamber()
:TObject()
,fDetector(-1)
,fX0(0.)
{}
void AliTRDtrackingChamber::Clear(const Option_t *opt)
{
for(Int_t itb=0; itb<AliTRDseedV1::kNtb; itb++) fTB[itb].Clear(opt);
}
Bool_t AliTRDtrackingChamber::Build(AliTRDgeometry *const geo, Bool_t hlt)
{
if(fDetector < 0 || fDetector >= AliTRDgeometry::kNdet){
AliWarning(Form("Detector index not set correctly to %d", fDetector));
return kFALSE;
}
Int_t stack = AliTRDgeometry::GetStack(fDetector);
Int_t layer = AliTRDgeometry::GetLayer(fDetector);
AliTRDpadPlane *pp = geo->GetPadPlane(layer, stack);
Double_t zl = pp->GetRow0ROC() - pp->GetRowEndROC();
Double_t z0 = geo->GetRow0(layer, stack, 0) - zl;
Int_t nrows = pp->GetNrows();
Int_t index[50], jtb = 0;
for(Int_t itb=0; itb<AliTRDseedV1::kNtb; itb++){
if(!fTB[itb]) continue;
fTB[itb].SetRange(z0, zl);
fTB[itb].SetNRows(nrows);
fTB[itb].SetPlane(layer);
fTB[itb].SetStack(stack);
fTB[itb].SetSector(AliTRDgeometry::GetSector(fDetector));
fTB[itb].BuildIndices();
index[jtb++] = itb;
}
if(jtb<2) return kFALSE;
AliTRDcalibDB *calib = AliTRDcalibDB::Instance();
Float_t t0;
if(!hlt){
t0 = calib->GetT0Average(fDetector);
}else{
t0 = calib->GetT0Det()->GetValue(fDetector);
}
Double_t x0 = fTB[index[0]].GetX();
Double_t x1 = fTB[index[1]].GetX();
Double_t dx = (x0 - x1)/(index[1] - index[0]);
fX0 = x0 + dx*(index[0] - t0);
return kTRUE;
}
Int_t AliTRDtrackingChamber::GetNClusters() const
{
Int_t n = 0;
for(Int_t itb=0; itb<AliTRDseedV1::kNtb; itb++){
n += Int_t(fTB[itb]);
}
return n;
}
void AliTRDtrackingChamber::Bootstrap(const AliTRDReconstructor *rec)
{
AliTRDchamberTimeBin *jtb = &fTB[0];
for(Int_t itb=0; itb<AliTRDseedV1::kNtb; itb++, ++jtb){
(*jtb).Bootstrap(rec, fDetector);
}
}
void AliTRDtrackingChamber::SetOwner()
{
AliTRDchamberTimeBin *jtb = &fTB[0];
for(Int_t itb=0; itb<AliTRDseedV1::kNtb; itb++, ++jtb){
if(!(Int_t(*jtb))) continue;
(*jtb).SetOwner();
}
}
Double_t AliTRDtrackingChamber::GetQuality()
{
Int_t ncl = 0;
Int_t nused = 0;
Int_t nClLayer;
for(int itb=0; itb<AliTRDseedV1::kNtb; itb++){
if(!(nClLayer = fTB[itb].GetNClusters())) continue;
ncl += nClLayer;
for(Int_t incl = 0; incl < nClLayer; incl++){
if((fTB[itb].GetCluster(incl))->IsUsed()) nused++;
}
}
Float_t nclMed = float(ncl-nused)/AliTRDtrackerV1::GetNTimeBins();
Int_t ncli = Int_t(nclMed);
Float_t nclDev = TMath::Abs(nclMed - TMath::Max(ncli, 1));
nclDev -= (nclDev>.5) && ncli ? 1. : 0.;
return TMath::Exp(-5.*TMath::Abs(nclDev));
}
Bool_t AliTRDtrackingChamber::GetSeedingLayer(AliTRDchamberTimeBin *&fakeLayer, AliTRDgeometry * const geo, const AliTRDReconstructor *rec)
{
const Int_t kMaxRows = 16;
const Int_t kMaxCols = 144;
const Int_t kMaxPads = 2304;
Int_t timeBinMin = rec->GetRecoParam()->GetNumberOfPresamples();
Int_t timeBinMax = rec->GetRecoParam()->GetNumberOfPostsamples();
Int_t layer = geo->GetLayer(fDetector);
Int_t stack = geo->GetStack(fDetector);
Int_t sector= geo->GetSector(fDetector);
AliTRDpadPlane *pp = geo->GetPadPlane(layer, stack);
Int_t nCols = pp->GetNcols();
Float_t ymin = TMath::Min(pp->GetCol0(), pp->GetColEnd());
Float_t ymax = TMath::Max(pp->GetCol0(), pp->GetColEnd());
Float_t zmin = TMath::Min(pp->GetRow0(), pp->GetRowEnd());
Float_t zmax = TMath::Max(pp->GetRow0(), pp->GetRowEnd());
Float_t z0 = -1., zl = -1.;
Int_t nRows = pp->GetNrows();
Float_t binlength = (ymax - ymin)/nCols;
Int_t nClusters;
Int_t *histogram[kMaxRows];
Int_t hvals[kMaxPads + 1]; memset(hvals, 0, sizeof(Int_t)*kMaxPads);
Float_t *sigmas[kMaxRows];
Float_t svals[kMaxPads]; memset(svals, 0, sizeof(Float_t)*kMaxPads);
AliTRDcluster *c = NULL;
for(Int_t irs = 0; irs < kMaxRows; irs++){
histogram[irs] = &hvals[irs*kMaxCols];
sigmas[irs] = &svals[irs*kMaxCols];
}
for(Int_t iTime = timeBinMin; iTime < AliTRDseedV1::kNtb-timeBinMax; iTime++){
if(!(nClusters = fTB[iTime].GetNClusters())) continue;
z0 = fTB[iTime].GetZ0();
zl = fTB[iTime].GetDZ0();
for(Int_t incl = 0; incl < nClusters; incl++){
c = fTB[iTime].GetCluster(incl);
histogram[c->GetPadRow()][c->GetPadCol()]++;
sigmas[c->GetPadRow()][c->GetPadCol()] += c->GetSigmaZ2();
}
}
Float_t cogyvals[kMaxPads]; memset(cogyvals, 0, sizeof(Float_t)*kMaxPads);
Float_t cogzvals[kMaxPads]; memset(cogzvals, 0, sizeof(Float_t)*kMaxPads);
Float_t *cogy[kMaxRows];
Float_t *cogz[kMaxRows];
Float_t yLengths[kMaxCols]; memset(yLengths, 0, kMaxCols*sizeof(Float_t));
Float_t zLengths[kMaxRows]; memset(zLengths, 0, kMaxRows*sizeof(Float_t));
for(Int_t icnt = 0; icnt < nCols; icnt++){
yLengths[icnt] = pp->GetColPos(nCols - 1 - icnt) + binlength/2;
}
for(Int_t icnt = 0; icnt < nRows; icnt++){
zLengths[icnt] = pp->GetRowPos(icnt) - pp->GetRowSize(icnt)/2;
}
Short_t mask[kMaxCols]; memset(mask, 0 ,sizeof(Short_t) * kMaxCols);
for(UChar_t icount = 0; icount < nRows; icount++){
cogy[icount] = &cogyvals[icount*kMaxCols];
cogz[icount] = &cogzvals[icount*kMaxCols];
}
Int_t cand[AliTRDtrackerV1::kMaxTracksStack];
Float_t sigcands[AliTRDtrackerV1::kMaxTracksStack];
Int_t indices[kMaxPads]; memset(indices, -1, sizeof(Int_t)*kMaxPads);
Int_t nCandidates = 0;
Float_t norm, cogv;
Int_t nPads = nCols * nRows;
Int_t content[kMaxPads], dictionary[kMaxPads], nCont = 0, padnumber = 0;
Int_t *iter = &hvals[0], *citer = &content[0], *diter = &dictionary[0];
const Int_t threshold = 2;
hvals[nPads] = -1;
do{
if(*iter > threshold){
*(citer++) = *iter;
*(diter++) = padnumber;
nCont++;
}
padnumber++;
}while(*(++iter) != -1);
TMath::Sort(nCont, content, indices);
Int_t col, row, lower, lower1, upper, upper1;
for(Int_t ib = 0; ib < nCont; ib++){
if(nCandidates >= AliTRDtrackerV1::kMaxTracksStack){
AliDebug(1, Form("Number of seed candidates %d exceeded maximum allowed per stack %d", nCandidates, AliTRDtrackerV1::kMaxTracksStack));
break;
}
row = dictionary[indices[ib]]/nCols;
col = dictionary[indices[ib]]%nCols;
if((mask[col] & (1 << row)) != 0) continue;
lower = TMath::Max(col - 1, 0); upper = TMath::Min(col + 2, nCols);
lower1 = TMath::Max(row - 1, 0); upper1 = TMath::Min(row + 2, nCols);
for(Int_t ic = lower; ic < upper; ++ic)
for(Int_t ir = lower1; ir < upper1; ++ir){
if(ic == col && ir == row) continue;
mask[ic] |= (1 << ir);
}
cogv = 0;
norm = 0;
lower = TMath::Max(col - 1, 0);
upper = TMath::Min(col + 2, nCols);
for(Int_t inb = lower; inb < upper; ++inb){
cogv += yLengths[inb] * histogram[row][inb];
norm += histogram[row][inb];
}
cogy[row][col] = cogv / norm;
cogv = 0; norm = 0;
lower = TMath::Max(row - 1, 0);
upper = TMath::Min(row + 2, nRows);
for(Int_t inb = lower; inb < upper; ++inb){
cogv += zLengths[inb] * histogram[inb][col];
norm += histogram[inb][col];
}
cogz[row][col] = Float_t(cogv) / norm;
cand[nCandidates] = row*nCols + col;
sigcands[nCandidates] = sigmas[row][col] / histogram[row][col];
nCandidates++;
}
if(!nCandidates) return kFALSE;
Float_t pos[3], sig[2];
Short_t signal[7]; memset(&signal[0], 0, 7*sizeof(Short_t));
new(fakeLayer) AliTRDchamberTimeBin(layer, stack, sector, z0, zl);
fakeLayer->SetReconstructor(rec);
fakeLayer->SetNRows(nRows);
fakeLayer->SetOwner(kFALSE);
if(nCandidates){
UInt_t fakeIndex = 0;
for(Int_t ican = 0; ican < nCandidates; ican++){
row = cand[ican] / nCols;
col = cand[ican] % nCols;
Int_t n = 0; Double_t x = 0., y = 0., z = 0.;
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);
if(c->GetPadRow() != row) continue;
if(TMath::Abs(c->GetPadCol() - col) > 2) continue;
x += c->GetX();
y += c->GetY();
z += c->GetZ();
n++;
}
}
if(!n) continue;
pos[0] = x/n;
pos[1] = y/n;
pos[2] = z/n;
sig[0] = .02;
sig[1] = sigcands[ican];
fakeLayer->InsertCluster(new AliTRDcluster(fDetector, 0., pos, sig, NULL, 3, signal, col, row, 0, 0, 0., 0), fakeIndex++);
}
}
fakeLayer->BuildIndices();
if(rec->GetRecoParam()->GetStreamLevel(AliTRDrecoParam::kTracker) >= 3){
TTreeSRedirector &cstreamer = *rec->GetDebugStream(AliTRDrecoParam::kTracker);
cstreamer << "GetSeedingLayer"
<< "layer=" << layer
<< "ymin=" << ymin
<< "ymax=" << ymax
<< "zmin=" << zmin
<< "zmax=" << zmax
<< "L.=" << fakeLayer
<< "\n";
}
return kTRUE;
}
void AliTRDtrackingChamber::Print(Option_t *opt) const
{
if(!GetNClusters()) return;
AliInfo(Form("fDetector = %d", fDetector));
AliInfo(Form("fX0 = %7.3f", fX0));
const AliTRDchamberTimeBin *itb = &fTB[0];
for(Int_t jtb=0; jtb<AliTRDseedV1::kNtb; jtb++, itb++) (*itb).Print(opt);
}
void AliTRDtrackingChamber::Update()
{
AliTRDchamberTimeBin *jtb = &fTB[0];
for(Int_t itb=AliTRDseedV1::kNtb; itb--; ++jtb){
if(!(Int_t(*jtb))) continue;
(*jtb).BuildIndices();
}
}
AliTRDtrackingChamber.cxx:1 AliTRDtrackingChamber.cxx:2 AliTRDtrackingChamber.cxx:3 AliTRDtrackingChamber.cxx:4 AliTRDtrackingChamber.cxx:5 AliTRDtrackingChamber.cxx:6 AliTRDtrackingChamber.cxx:7 AliTRDtrackingChamber.cxx:8 AliTRDtrackingChamber.cxx:9 AliTRDtrackingChamber.cxx:10 AliTRDtrackingChamber.cxx:11 AliTRDtrackingChamber.cxx:12 AliTRDtrackingChamber.cxx:13 AliTRDtrackingChamber.cxx:14 AliTRDtrackingChamber.cxx:15 AliTRDtrackingChamber.cxx:16 AliTRDtrackingChamber.cxx:17 AliTRDtrackingChamber.cxx:18 AliTRDtrackingChamber.cxx:19 AliTRDtrackingChamber.cxx:20 AliTRDtrackingChamber.cxx:21 AliTRDtrackingChamber.cxx:22 AliTRDtrackingChamber.cxx:23 AliTRDtrackingChamber.cxx:24 AliTRDtrackingChamber.cxx:25 AliTRDtrackingChamber.cxx:26 AliTRDtrackingChamber.cxx:27 AliTRDtrackingChamber.cxx:28 AliTRDtrackingChamber.cxx:29 AliTRDtrackingChamber.cxx:30 AliTRDtrackingChamber.cxx:31 AliTRDtrackingChamber.cxx:32 AliTRDtrackingChamber.cxx:33 AliTRDtrackingChamber.cxx:34 AliTRDtrackingChamber.cxx:35 AliTRDtrackingChamber.cxx:36 AliTRDtrackingChamber.cxx:37 AliTRDtrackingChamber.cxx:38 AliTRDtrackingChamber.cxx:39 AliTRDtrackingChamber.cxx:40 AliTRDtrackingChamber.cxx:41 AliTRDtrackingChamber.cxx:42 AliTRDtrackingChamber.cxx:43 AliTRDtrackingChamber.cxx:44 AliTRDtrackingChamber.cxx:45 AliTRDtrackingChamber.cxx:46 AliTRDtrackingChamber.cxx:47 AliTRDtrackingChamber.cxx:48 AliTRDtrackingChamber.cxx:49 AliTRDtrackingChamber.cxx:50 AliTRDtrackingChamber.cxx:51 AliTRDtrackingChamber.cxx:52 AliTRDtrackingChamber.cxx:53 AliTRDtrackingChamber.cxx:54 AliTRDtrackingChamber.cxx:55 AliTRDtrackingChamber.cxx:56 AliTRDtrackingChamber.cxx:57 AliTRDtrackingChamber.cxx:58 AliTRDtrackingChamber.cxx:59 AliTRDtrackingChamber.cxx:60 AliTRDtrackingChamber.cxx:61 AliTRDtrackingChamber.cxx:62 AliTRDtrackingChamber.cxx:63 AliTRDtrackingChamber.cxx:64 AliTRDtrackingChamber.cxx:65 AliTRDtrackingChamber.cxx:66 AliTRDtrackingChamber.cxx:67 AliTRDtrackingChamber.cxx:68 AliTRDtrackingChamber.cxx:69 AliTRDtrackingChamber.cxx:70 AliTRDtrackingChamber.cxx:71 AliTRDtrackingChamber.cxx:72 AliTRDtrackingChamber.cxx:73 AliTRDtrackingChamber.cxx:74 AliTRDtrackingChamber.cxx:75 AliTRDtrackingChamber.cxx:76 AliTRDtrackingChamber.cxx:77 AliTRDtrackingChamber.cxx:78 AliTRDtrackingChamber.cxx:79 AliTRDtrackingChamber.cxx:80 AliTRDtrackingChamber.cxx:81 AliTRDtrackingChamber.cxx:82 AliTRDtrackingChamber.cxx:83 AliTRDtrackingChamber.cxx:84 AliTRDtrackingChamber.cxx:85 AliTRDtrackingChamber.cxx:86 AliTRDtrackingChamber.cxx:87 AliTRDtrackingChamber.cxx:88 AliTRDtrackingChamber.cxx:89 AliTRDtrackingChamber.cxx:90 AliTRDtrackingChamber.cxx:91 AliTRDtrackingChamber.cxx:92 AliTRDtrackingChamber.cxx:93 AliTRDtrackingChamber.cxx:94 AliTRDtrackingChamber.cxx:95 AliTRDtrackingChamber.cxx:96 AliTRDtrackingChamber.cxx:97 AliTRDtrackingChamber.cxx:98 AliTRDtrackingChamber.cxx:99 AliTRDtrackingChamber.cxx:100 AliTRDtrackingChamber.cxx:101 AliTRDtrackingChamber.cxx:102 AliTRDtrackingChamber.cxx:103 AliTRDtrackingChamber.cxx:104 AliTRDtrackingChamber.cxx:105 AliTRDtrackingChamber.cxx:106 AliTRDtrackingChamber.cxx:107 AliTRDtrackingChamber.cxx:108 AliTRDtrackingChamber.cxx:109 AliTRDtrackingChamber.cxx:110 AliTRDtrackingChamber.cxx:111 AliTRDtrackingChamber.cxx:112 AliTRDtrackingChamber.cxx:113 AliTRDtrackingChamber.cxx:114 AliTRDtrackingChamber.cxx:115 AliTRDtrackingChamber.cxx:116 AliTRDtrackingChamber.cxx:117 AliTRDtrackingChamber.cxx:118 AliTRDtrackingChamber.cxx:119 AliTRDtrackingChamber.cxx:120 AliTRDtrackingChamber.cxx:121 AliTRDtrackingChamber.cxx:122 AliTRDtrackingChamber.cxx:123 AliTRDtrackingChamber.cxx:124 AliTRDtrackingChamber.cxx:125 AliTRDtrackingChamber.cxx:126 AliTRDtrackingChamber.cxx:127 AliTRDtrackingChamber.cxx:128 AliTRDtrackingChamber.cxx:129 AliTRDtrackingChamber.cxx:130 AliTRDtrackingChamber.cxx:131 AliTRDtrackingChamber.cxx:132 AliTRDtrackingChamber.cxx:133 AliTRDtrackingChamber.cxx:134 AliTRDtrackingChamber.cxx:135 AliTRDtrackingChamber.cxx:136 AliTRDtrackingChamber.cxx:137 AliTRDtrackingChamber.cxx:138 AliTRDtrackingChamber.cxx:139 AliTRDtrackingChamber.cxx:140 AliTRDtrackingChamber.cxx:141 AliTRDtrackingChamber.cxx:142 AliTRDtrackingChamber.cxx:143 AliTRDtrackingChamber.cxx:144 AliTRDtrackingChamber.cxx:145 AliTRDtrackingChamber.cxx:146 AliTRDtrackingChamber.cxx:147 AliTRDtrackingChamber.cxx:148 AliTRDtrackingChamber.cxx:149 AliTRDtrackingChamber.cxx:150 AliTRDtrackingChamber.cxx:151 AliTRDtrackingChamber.cxx:152 AliTRDtrackingChamber.cxx:153 AliTRDtrackingChamber.cxx:154 AliTRDtrackingChamber.cxx:155 AliTRDtrackingChamber.cxx:156 AliTRDtrackingChamber.cxx:157 AliTRDtrackingChamber.cxx:158 AliTRDtrackingChamber.cxx:159 AliTRDtrackingChamber.cxx:160 AliTRDtrackingChamber.cxx:161 AliTRDtrackingChamber.cxx:162 AliTRDtrackingChamber.cxx:163 AliTRDtrackingChamber.cxx:164 AliTRDtrackingChamber.cxx:165 AliTRDtrackingChamber.cxx:166 AliTRDtrackingChamber.cxx:167 AliTRDtrackingChamber.cxx:168 AliTRDtrackingChamber.cxx:169 AliTRDtrackingChamber.cxx:170 AliTRDtrackingChamber.cxx:171 AliTRDtrackingChamber.cxx:172 AliTRDtrackingChamber.cxx:173 AliTRDtrackingChamber.cxx:174 AliTRDtrackingChamber.cxx:175 AliTRDtrackingChamber.cxx:176 AliTRDtrackingChamber.cxx:177 AliTRDtrackingChamber.cxx:178 AliTRDtrackingChamber.cxx:179 AliTRDtrackingChamber.cxx:180 AliTRDtrackingChamber.cxx:181 AliTRDtrackingChamber.cxx:182 AliTRDtrackingChamber.cxx:183 AliTRDtrackingChamber.cxx:184 AliTRDtrackingChamber.cxx:185 AliTRDtrackingChamber.cxx:186 AliTRDtrackingChamber.cxx:187 AliTRDtrackingChamber.cxx:188 AliTRDtrackingChamber.cxx:189 AliTRDtrackingChamber.cxx:190 AliTRDtrackingChamber.cxx:191 AliTRDtrackingChamber.cxx:192 AliTRDtrackingChamber.cxx:193 AliTRDtrackingChamber.cxx:194 AliTRDtrackingChamber.cxx:195 AliTRDtrackingChamber.cxx:196 AliTRDtrackingChamber.cxx:197 AliTRDtrackingChamber.cxx:198 AliTRDtrackingChamber.cxx:199 AliTRDtrackingChamber.cxx:200 AliTRDtrackingChamber.cxx:201 AliTRDtrackingChamber.cxx:202 AliTRDtrackingChamber.cxx:203 AliTRDtrackingChamber.cxx:204 AliTRDtrackingChamber.cxx:205 AliTRDtrackingChamber.cxx:206 AliTRDtrackingChamber.cxx:207 AliTRDtrackingChamber.cxx:208 AliTRDtrackingChamber.cxx:209 AliTRDtrackingChamber.cxx:210 AliTRDtrackingChamber.cxx:211 AliTRDtrackingChamber.cxx:212 AliTRDtrackingChamber.cxx:213 AliTRDtrackingChamber.cxx:214 AliTRDtrackingChamber.cxx:215 AliTRDtrackingChamber.cxx:216 AliTRDtrackingChamber.cxx:217 AliTRDtrackingChamber.cxx:218 AliTRDtrackingChamber.cxx:219 AliTRDtrackingChamber.cxx:220 AliTRDtrackingChamber.cxx:221 AliTRDtrackingChamber.cxx:222 AliTRDtrackingChamber.cxx:223 AliTRDtrackingChamber.cxx:224 AliTRDtrackingChamber.cxx:225 AliTRDtrackingChamber.cxx:226 AliTRDtrackingChamber.cxx:227 AliTRDtrackingChamber.cxx:228 AliTRDtrackingChamber.cxx:229 AliTRDtrackingChamber.cxx:230 AliTRDtrackingChamber.cxx:231 AliTRDtrackingChamber.cxx:232 AliTRDtrackingChamber.cxx:233 AliTRDtrackingChamber.cxx:234 AliTRDtrackingChamber.cxx:235 AliTRDtrackingChamber.cxx:236 AliTRDtrackingChamber.cxx:237 AliTRDtrackingChamber.cxx:238 AliTRDtrackingChamber.cxx:239 AliTRDtrackingChamber.cxx:240 AliTRDtrackingChamber.cxx:241 AliTRDtrackingChamber.cxx:242 AliTRDtrackingChamber.cxx:243 AliTRDtrackingChamber.cxx:244 AliTRDtrackingChamber.cxx:245 AliTRDtrackingChamber.cxx:246 AliTRDtrackingChamber.cxx:247 AliTRDtrackingChamber.cxx:248 AliTRDtrackingChamber.cxx:249 AliTRDtrackingChamber.cxx:250 AliTRDtrackingChamber.cxx:251 AliTRDtrackingChamber.cxx:252 AliTRDtrackingChamber.cxx:253 AliTRDtrackingChamber.cxx:254 AliTRDtrackingChamber.cxx:255 AliTRDtrackingChamber.cxx:256 AliTRDtrackingChamber.cxx:257 AliTRDtrackingChamber.cxx:258 AliTRDtrackingChamber.cxx:259 AliTRDtrackingChamber.cxx:260 AliTRDtrackingChamber.cxx:261 AliTRDtrackingChamber.cxx:262 AliTRDtrackingChamber.cxx:263 AliTRDtrackingChamber.cxx:264 AliTRDtrackingChamber.cxx:265 AliTRDtrackingChamber.cxx:266 AliTRDtrackingChamber.cxx:267 AliTRDtrackingChamber.cxx:268 AliTRDtrackingChamber.cxx:269 AliTRDtrackingChamber.cxx:270 AliTRDtrackingChamber.cxx:271 AliTRDtrackingChamber.cxx:272 AliTRDtrackingChamber.cxx:273 AliTRDtrackingChamber.cxx:274 AliTRDtrackingChamber.cxx:275 AliTRDtrackingChamber.cxx:276 AliTRDtrackingChamber.cxx:277 AliTRDtrackingChamber.cxx:278 AliTRDtrackingChamber.cxx:279 AliTRDtrackingChamber.cxx:280 AliTRDtrackingChamber.cxx:281 AliTRDtrackingChamber.cxx:282 AliTRDtrackingChamber.cxx:283 AliTRDtrackingChamber.cxx:284 AliTRDtrackingChamber.cxx:285 AliTRDtrackingChamber.cxx:286 AliTRDtrackingChamber.cxx:287 AliTRDtrackingChamber.cxx:288 AliTRDtrackingChamber.cxx:289 AliTRDtrackingChamber.cxx:290 AliTRDtrackingChamber.cxx:291 AliTRDtrackingChamber.cxx:292 AliTRDtrackingChamber.cxx:293 AliTRDtrackingChamber.cxx:294 AliTRDtrackingChamber.cxx:295 AliTRDtrackingChamber.cxx:296 AliTRDtrackingChamber.cxx:297 AliTRDtrackingChamber.cxx:298 AliTRDtrackingChamber.cxx:299 AliTRDtrackingChamber.cxx:300 AliTRDtrackingChamber.cxx:301 AliTRDtrackingChamber.cxx:302 AliTRDtrackingChamber.cxx:303 AliTRDtrackingChamber.cxx:304 AliTRDtrackingChamber.cxx:305 AliTRDtrackingChamber.cxx:306 AliTRDtrackingChamber.cxx:307 AliTRDtrackingChamber.cxx:308 AliTRDtrackingChamber.cxx:309 AliTRDtrackingChamber.cxx:310 AliTRDtrackingChamber.cxx:311 AliTRDtrackingChamber.cxx:312 AliTRDtrackingChamber.cxx:313 AliTRDtrackingChamber.cxx:314 AliTRDtrackingChamber.cxx:315 AliTRDtrackingChamber.cxx:316 AliTRDtrackingChamber.cxx:317 AliTRDtrackingChamber.cxx:318 AliTRDtrackingChamber.cxx:319 AliTRDtrackingChamber.cxx:320 AliTRDtrackingChamber.cxx:321 AliTRDtrackingChamber.cxx:322 AliTRDtrackingChamber.cxx:323 AliTRDtrackingChamber.cxx:324 AliTRDtrackingChamber.cxx:325 AliTRDtrackingChamber.cxx:326 AliTRDtrackingChamber.cxx:327 AliTRDtrackingChamber.cxx:328 AliTRDtrackingChamber.cxx:329 AliTRDtrackingChamber.cxx:330 AliTRDtrackingChamber.cxx:331 AliTRDtrackingChamber.cxx:332 AliTRDtrackingChamber.cxx:333 AliTRDtrackingChamber.cxx:334 AliTRDtrackingChamber.cxx:335 AliTRDtrackingChamber.cxx:336 AliTRDtrackingChamber.cxx:337 AliTRDtrackingChamber.cxx:338 AliTRDtrackingChamber.cxx:339 AliTRDtrackingChamber.cxx:340 AliTRDtrackingChamber.cxx:341 AliTRDtrackingChamber.cxx:342 AliTRDtrackingChamber.cxx:343 AliTRDtrackingChamber.cxx:344 AliTRDtrackingChamber.cxx:345 AliTRDtrackingChamber.cxx:346 AliTRDtrackingChamber.cxx:347 AliTRDtrackingChamber.cxx:348 AliTRDtrackingChamber.cxx:349 AliTRDtrackingChamber.cxx:350 AliTRDtrackingChamber.cxx:351 AliTRDtrackingChamber.cxx:352 AliTRDtrackingChamber.cxx:353 AliTRDtrackingChamber.cxx:354 AliTRDtrackingChamber.cxx:355 AliTRDtrackingChamber.cxx:356 AliTRDtrackingChamber.cxx:357 AliTRDtrackingChamber.cxx:358 AliTRDtrackingChamber.cxx:359 AliTRDtrackingChamber.cxx:360 AliTRDtrackingChamber.cxx:361 AliTRDtrackingChamber.cxx:362 AliTRDtrackingChamber.cxx:363 AliTRDtrackingChamber.cxx:364 AliTRDtrackingChamber.cxx:365 AliTRDtrackingChamber.cxx:366 AliTRDtrackingChamber.cxx:367 AliTRDtrackingChamber.cxx:368 AliTRDtrackingChamber.cxx:369 AliTRDtrackingChamber.cxx:370 AliTRDtrackingChamber.cxx:371 AliTRDtrackingChamber.cxx:372 AliTRDtrackingChamber.cxx:373 AliTRDtrackingChamber.cxx:374 AliTRDtrackingChamber.cxx:375 AliTRDtrackingChamber.cxx:376 AliTRDtrackingChamber.cxx:377 AliTRDtrackingChamber.cxx:378 AliTRDtrackingChamber.cxx:379 AliTRDtrackingChamber.cxx:380 AliTRDtrackingChamber.cxx:381 AliTRDtrackingChamber.cxx:382 AliTRDtrackingChamber.cxx:383 AliTRDtrackingChamber.cxx:384 AliTRDtrackingChamber.cxx:385 AliTRDtrackingChamber.cxx:386 AliTRDtrackingChamber.cxx:387 AliTRDtrackingChamber.cxx:388 AliTRDtrackingChamber.cxx:389 AliTRDtrackingChamber.cxx:390 AliTRDtrackingChamber.cxx:391 AliTRDtrackingChamber.cxx:392 AliTRDtrackingChamber.cxx:393 AliTRDtrackingChamber.cxx:394 AliTRDtrackingChamber.cxx:395 AliTRDtrackingChamber.cxx:396 AliTRDtrackingChamber.cxx:397 AliTRDtrackingChamber.cxx:398 AliTRDtrackingChamber.cxx:399 AliTRDtrackingChamber.cxx:400 AliTRDtrackingChamber.cxx:401 AliTRDtrackingChamber.cxx:402 AliTRDtrackingChamber.cxx:403 AliTRDtrackingChamber.cxx:404 AliTRDtrackingChamber.cxx:405 AliTRDtrackingChamber.cxx:406 AliTRDtrackingChamber.cxx:407 AliTRDtrackingChamber.cxx:408 AliTRDtrackingChamber.cxx:409 AliTRDtrackingChamber.cxx:410 AliTRDtrackingChamber.cxx:411 AliTRDtrackingChamber.cxx:412 AliTRDtrackingChamber.cxx:413 AliTRDtrackingChamber.cxx:414 AliTRDtrackingChamber.cxx:415 AliTRDtrackingChamber.cxx:416 AliTRDtrackingChamber.cxx:417 AliTRDtrackingChamber.cxx:418 AliTRDtrackingChamber.cxx:419 AliTRDtrackingChamber.cxx:420 AliTRDtrackingChamber.cxx:421 AliTRDtrackingChamber.cxx:422 AliTRDtrackingChamber.cxx:423 AliTRDtrackingChamber.cxx:424 AliTRDtrackingChamber.cxx:425 AliTRDtrackingChamber.cxx:426 AliTRDtrackingChamber.cxx:427 AliTRDtrackingChamber.cxx:428 AliTRDtrackingChamber.cxx:429 AliTRDtrackingChamber.cxx:430 AliTRDtrackingChamber.cxx:431 AliTRDtrackingChamber.cxx:432 AliTRDtrackingChamber.cxx:433 AliTRDtrackingChamber.cxx:434 AliTRDtrackingChamber.cxx:435 AliTRDtrackingChamber.cxx:436 AliTRDtrackingChamber.cxx:437 AliTRDtrackingChamber.cxx:438 AliTRDtrackingChamber.cxx:439