#include <TH1.h>
#include <TTree.h>
#include <TClonesArray.h>
#include <AliITSVertexer3DTapan.h>
#include <AliITSRecPoint.h>
#include <AliITSgeomTGeo.h>
#include <AliESDVertex.h>
ClassImp(AliITSVertexer3DTapan)
void AliITSVertexer3DTapan::LoadClusters(TTree *cTree) {
TClonesArray dummy("AliITSRecPoint",10000), *clusters=&dummy;
TBranch *branch=cTree->GetBranch("ITSRecPoints");
branch->SetAddress(&clusters);
Int_t nentr=cTree->GetEntries(),nc1=0,nc2=0;
for (Int_t i=0; i<nentr; i++) {
if (!cTree->GetEvent(i)) continue;
Int_t lay,lad,det; AliITSgeomTGeo::GetModuleId(i,lay,lad,det);
if (lay>2) break;
Int_t ncl=clusters->GetEntriesFast();
Float_t hPhi=0.;
while (ncl--) {
AliITSRecPoint *c=(AliITSRecPoint*)clusters->UncheckedAt(ncl);
Float_t pos[3];
c->GetGlobalXYZ(pos);
if (lay==1) {
fX1[nc1] = pos[0]; fY1[nc1] = pos[1]; fZ1[nc1] = pos[2];
CalculatePhi(fX1[nc1], fY1[nc1], hPhi);
fPhi1[nc1]= hPhi;
nc1++;
} else {
fX2[nc2] = pos[0]; fY2[nc2] = pos[1]; fZ2[nc2] = pos[2];
CalculatePhi(fX2[nc2], fY2[nc2], hPhi);
fPhi2[nc2]= hPhi;
nc2++;
}
}
}
ficlu1 = nc1; ficlu2 = nc2;
AliInfo(Form("Number of clusters: %d (first layer) and %d (second layer)",ficlu1,ficlu2));
}
AliESDVertex *AliITSVertexer3DTapan::FindVertexForCurrentEvent(TTree *cTree) {
LoadClusters(cTree);
Double_t pos[3], postemp[3];
Double_t sigpos[3]={0.,0.,0.};
Int_t ncontr, ncontrtemp;
Float_t cuts[3];
Int_t vtxstatus=0;
pos[0] = 0.; pos[1] = 0.; pos[2] = 0.;
cuts[0]=1.; cuts[1]=1.; cuts[2]=20.;
CalculateVertex3d1(pos, cuts, ncontr);
if(ncontr==0) {
pos[0] = 9999.; pos[1] = 9999.; pos[2] = 9999.;
vtxstatus = -1;
}
AliInfo(Form("1st step: %d %f %f %f st=%d",ncontr,pos[0],pos[1],pos[2],vtxstatus));
if(vtxstatus == 0) {
ncontrtemp = ncontr; postemp[0] = pos[0]; postemp[1] = pos[1]; postemp[2] = pos[2];
cuts[0]=0.3; cuts[1]=0.3; cuts[2]=1.;
CalculateVertex3d1(pos, cuts, ncontr);
if(ncontr==0) {
ncontr = ncontrtemp; pos[0] = postemp[0]; pos[1] = postemp[1]; pos[2] = postemp[2];
vtxstatus = 2;
}
AliInfo(Form("2nd step: %d %f %f %f st=%d",ncontr,pos[0],pos[1],pos[2],vtxstatus));
}
if(vtxstatus == 0) {
ncontrtemp = ncontr; postemp[0] = pos[0]; postemp[1] = pos[1]; postemp[2] = pos[2];
cuts[0]=0.25; cuts[1]=0.25; cuts[2]=1.0;
CalculateVertex3d2(pos, cuts, ncontr, sigpos);
if(ncontr==0) {
ncontr = ncontrtemp; pos[0] = postemp[0]; pos[1] = postemp[1]; pos[2] = postemp[2];
vtxstatus = 3;
}
AliInfo(Form("3rd step: %d %f %f %f st=%d",ncontr,pos[0],pos[1],pos[2],vtxstatus));
}
if(vtxstatus == 0) {
ncontrtemp = ncontr; postemp[0] = pos[0]; postemp[1] = pos[1]; postemp[2] = pos[2];
cuts[0]=0.1; cuts[1]=0.1; cuts[2]=0.2;
CalculateVertex3d2(pos, cuts, ncontr, sigpos);
if(ncontr==0) {
ncontr = ncontrtemp; pos[0] = postemp[0]; pos[1] = postemp[1]; pos[2] = postemp[2];
vtxstatus = 4;
}
AliInfo(Form("4th step: %d %f %f %f st=%d",ncontr,pos[0],pos[1],pos[2],vtxstatus));
}
AliInfo(Form("Final step: %d %f %f %f st=%d",ncontr,pos[0],pos[1],pos[2],vtxstatus));
Double_t covma[6]={0.,0.,0.,0.,0.,0.};
covma[0]=sigpos[0];
covma[2]=sigpos[1];
covma[5]=sigpos[2];
return new AliESDVertex(pos,covma,(Double_t)vtxstatus,ncontr,"AliITSVertexer3DTapan");
}
void AliITSVertexer3DTapan::CalculateVertex3d1(Double_t pos[3], Float_t cuts[3], Int_t &ncontr) {
Double_t p1[4], p2[4], p3[4], p4[4];
Double_t pa[3], pb[3];
Double_t hphi1, hphi2, hphi3, hphi4;
ncontr = 0;
Float_t phicut = 1.0;
Double_t distance; Float_t distancecut = 1.0;
Int_t ibin=20; Float_t ilow=-1.; Float_t ihigh=1.;
Int_t ibinz=400; Float_t ilowz=-20.; Float_t ihighz=20.;
TH1F *hx = new TH1F("hx","", ibin, ilow, ihigh);
TH1F *hy = new TH1F("hy","", ibin, ilow, ihigh);
TH1F *hz = new TH1F("hz","", ibinz,ilowz,ihighz);
for (Int_t ip1=0; ip1<ficlu1; ip1++) {
p1[0] = fX1[ip1]; p1[1] = fY1[ip1]; p1[2] = fZ1[ip1];
p3[0] = fX1[ip1+1]; p3[1] = fY1[ip1+1]; p3[2] = fZ1[ip1+1];
hphi1 = fPhi1[ip1]; hphi3 = fPhi1[ip1+1];
for (Int_t ip2=0; ip2<ficlu2; ip2++) {
p2[0] = fX2[ip2]; p2[1] = fY2[ip2]; p2[2] = fZ2[ip2];
p4[0] = fX2[ip2+1]; p4[1] = fY2[ip2+1]; p4[2] = fZ2[ip2+1];
hphi2 = fPhi2[ip2]; hphi4 = fPhi2[ip2+1];
if(TMath::Abs(hphi1-hphi2)<phicut && TMath::Abs(hphi3-hphi4)<phicut){
CalculateLine(p1, p2, p3, p4, pa, pb);
if (pa[0]>pos[0]-cuts[0] && pa[0]<pos[0]+cuts[0] && pa[1]>pos[1]-cuts[1] && pa[1]<pos[1]+cuts[1] && pa[2]>pos[2]-cuts[2] && pa[2]<pos[2]+cuts[2]){
distance = (TMath::Sqrt(pow((pa[0]-pb[0]),2) + pow((pa[1]-pb[1]),2) + pow((pa[2]-pb[2]),2)));
if(distance<distancecut){
hx->Fill(pa[0]); hy->Fill(pa[1]); hz->Fill(pa[2]);
hx->Fill(pb[0]); hy->Fill(pb[1]); hz->Fill(pb[2]);
ncontr++;
}
}
}
if(TMath::Abs(hphi1-hphi4)<phicut && TMath::Abs(hphi3-hphi2)<phicut) {
CalculateLine(p1, p4, p3, p2, pa, pb);
if (pa[0]>pos[0]-cuts[0] && pa[0]<pos[0]+cuts[0] && pa[1]>pos[1]-cuts[1] && pa[1]<pos[1]+cuts[1]){
distance = (TMath::Sqrt(pow((pa[0]-pb[0]),2) + pow((pa[1]-pb[1]),2) + pow((pa[2]-pb[2]),2)));
if(distance<distancecut){
hx->Fill(pa[0]); hy->Fill(pa[1]); hz->Fill(pa[2]);
hx->Fill(pb[0]); hy->Fill(pb[1]); hz->Fill(pb[2]);
ncontr++;
}
}
}
}
}
Int_t maxbinx = hx->GetMaximumBin();
Int_t maxbiny = hy->GetMaximumBin();
Int_t maxbinz = hz->GetMaximumBin();
pos[0] = ilow + ((ihigh-ilow)/ibin)*maxbinx;
pos[1] = ilow + ((ihigh-ilow)/ibin)*maxbiny;
pos[2] = ilowz + ((ihighz-ilowz)/ibinz)*maxbinz;
hx->Delete();
hy->Delete();
hz->Delete();
}
void AliITSVertexer3DTapan::CalculateVertex3d2(Double_t pos[3], Float_t cuts[3], Int_t &ncontr, Double_t sigpos[3]) {
Double_t p1[4], p2[4], p3[4], p4[4];
Double_t pa[3], pb[3];
Double_t hphi1, hphi2, hphi3, hphi4;
ncontr = 0;
Float_t phicut = 0.3;
Double_t distance; Float_t distancecut = 1.0;
Double_t vertx =0.; Double_t verty =0.; Double_t vertz =0.;
Double_t vertx2 =0.; Double_t verty2 =0.; Double_t vertz2 =0.;
for (Int_t ip1=0; ip1<ficlu1; ip1++) {
p1[0] = fX1[ip1]; p1[1] = fY1[ip1]; p1[2] = fZ1[ip1];
p3[0] = fX1[ip1+1]; p3[1] = fY1[ip1+1]; p3[2] = fZ1[ip1+1];
hphi1 = fPhi1[ip1]; hphi3 = fPhi1[ip1+1];
for (Int_t ip2=0; ip2<ficlu2; ip2++) {
p2[0] = fX2[ip2]; p2[1] = fY2[ip2]; p2[2] = fZ2[ip2];
p4[0] = fX2[ip2+1]; p4[1] = fY2[ip2+1]; p4[2] = fZ2[ip2+1];
hphi2 = fPhi2[ip2]; hphi4 = fPhi2[ip2+1];
if(TMath::Abs(hphi1-hphi2)<phicut && TMath::Abs(hphi3-hphi4)<phicut){
CalculateLine(p1, p2, p3, p4, pa, pb);
if (pa[0]>pos[0]-cuts[0] && pa[0]<pos[0]+cuts[0] && pa[1]>pos[1]-cuts[1] && pa[1]<pos[1]+cuts[1] && pa[2]>pos[2]-cuts[2] && pa[2]<pos[2]+cuts[2]){
distance = (TMath::Sqrt(pow((pa[0]-pb[0]),2) + pow((pa[1]-pb[1]),2) + pow((pa[2]-pb[2]),2)));
if(distance<distancecut){
ncontr++;
vertx = vertx + pa[0]; verty = verty + pa[1]; vertz = vertz + pa[2];
vertx2 = vertx2 + pa[0]*pa[0]; verty2 = verty2 + pa[1]*pa[1]; vertz2 = vertz2 + pa[2]*pa[2];
ncontr++;
vertx = vertx + pb[0]; verty = verty + pb[1]; vertz = vertz + pb[2];
vertx2 = vertx2 + pb[0]*pb[0]; verty2 = verty2 + pb[1]*pb[1]; vertz2 = vertz2 + pb[2]*pb[2];
}
}
}
if(TMath::Abs(hphi1-hphi4)<phicut && TMath::Abs(hphi3-hphi2)<phicut) {
CalculateLine(p1, p4, p3, p2, pa, pb);
if (pa[0]>pos[0]-cuts[0] && pa[0]<pos[0]+cuts[0] && pa[1]>pos[1]-cuts[1] && pa[1]<pos[1]+cuts[1] && pa[2]>pos[2]-cuts[2] && pa[2]<pos[2]+cuts[2]){
distance = (TMath::Sqrt(pow((pa[0]-pb[0]),2) + pow((pa[1]-pb[1]),2) + pow((pa[2]-pb[2]),2)));
if(distance<distancecut){
ncontr++;
vertx = vertx + pa[0]; verty = verty + pa[1]; vertz = vertz + pa[2];
vertx2 = vertx2 + pa[0]*pa[0]; verty2 = verty2 + pa[1]*pa[1]; vertz2 = vertz2 + pa[2]*pa[2];
ncontr++;
vertx = vertx + pb[0]; verty = verty + pb[1]; vertz = vertz + pb[2];
vertx2 = vertx2 + pb[0]*pb[0]; verty2 = verty2 + pb[1]*pb[1]; vertz2 = vertz2 + pb[2]*pb[2];
}
}
}
}
}
if(ncontr>0){
pos[0] = vertx/ncontr; pos[1] = verty/ncontr; pos[2] = vertz/ncontr;
vertx2 = vertx2/ncontr; verty2 = verty2/ncontr; vertz2 = vertz2/ncontr;
sigpos[0] = TMath::Sqrt(vertx2 - pos[0]*pos[0]);
sigpos[1] = TMath::Sqrt(verty2 - pos[1]*pos[1]);
sigpos[2] = TMath::Sqrt(vertz2 - pos[2]*pos[2]);
}
ncontr = ncontr/2;
}
void AliITSVertexer3DTapan::CalculatePhi(Float_t fx, Float_t fy, Float_t & phi)
{
Float_t ybyx, phi1;
const Float_t kradian = 180./3.141592654;
if(fx==0.)
{
if(fy>0.) phi = 90.;
if(fy<0.) phi = 270.;
}
if(fx != 0.)
{
ybyx = fy/fx;
if(ybyx < 0) ybyx = - ybyx;
phi1 = TMath::ATan(ybyx)*kradian;
if(fx > 0 && fy > 0) phi = phi1;
if(fx < 0 && fy > 0) phi = 180 - phi1;
if(fx < 0 && fy < 0) phi = 180 + phi1;
if(fx > 0 && fy < 0) phi = 360 - phi1;
}
phi = phi/kradian;
}
void AliITSVertexer3DTapan::CalculateLine(Double_t p1[4], Double_t p2[4], Double_t p3[4], Double_t p4[4], Double_t pa[3], Double_t pb[3]) const{
Double_t p13x, p13y, p13z;
Double_t p21x, p21y, p21z;
Double_t p43x, p43y, p43z;
Double_t d1343, d4321, d1321, d4343, d2121;
Double_t numer, denom;
Double_t mua, mub;
mua = 0.; mub = 0.;
p13x = p1[0] - p3[0];
p13y = p1[1] - p3[1];
p13z = p1[2] - p3[2];
p21x = p2[0] - p1[0];
p21y = p2[1] - p1[1];
p21z = p2[2] - p1[2];
p43x = p4[0] - p3[0];
p43y = p4[1] - p3[1];
p43z = p4[2] - p3[2];
d1343 = p13x * p43x + p13y * p43y + p13z * p43z;
d4321 = p43x * p21x + p43y * p21y + p43z * p21z;
d1321 = p13x * p21x + p13y * p21y + p13z * p21z;
d4343 = p43x * p43x + p43y * p43y + p43z * p43z;
d2121 = p21x * p21x + p21y * p21y + p21z * p21z;
denom = d2121 * d4343 - d4321 * d4321;
numer = d1343 * d4321 - d1321 * d4343;
if(denom>0) mua = numer / denom;
if(d4343>0) mub = (d1343 + d4321 * (mua)) / d4343;
pa[0] = p1[0] + mua * p21x;
pa[1] = p1[1] + mua * p21y;
pa[2] = p1[2] + mua * p21z;
pb[0] = p3[0] + mub * p43x;
pb[1] = p3[1] + mub * p43y;
pb[2] = p3[2] + mub * p43z;
}
AliITSVertexer3DTapan.cxx:1 AliITSVertexer3DTapan.cxx:2 AliITSVertexer3DTapan.cxx:3 AliITSVertexer3DTapan.cxx:4 AliITSVertexer3DTapan.cxx:5 AliITSVertexer3DTapan.cxx:6 AliITSVertexer3DTapan.cxx:7 AliITSVertexer3DTapan.cxx:8 AliITSVertexer3DTapan.cxx:9 AliITSVertexer3DTapan.cxx:10 AliITSVertexer3DTapan.cxx:11 AliITSVertexer3DTapan.cxx:12 AliITSVertexer3DTapan.cxx:13 AliITSVertexer3DTapan.cxx:14 AliITSVertexer3DTapan.cxx:15 AliITSVertexer3DTapan.cxx:16 AliITSVertexer3DTapan.cxx:17 AliITSVertexer3DTapan.cxx:18 AliITSVertexer3DTapan.cxx:19 AliITSVertexer3DTapan.cxx:20 AliITSVertexer3DTapan.cxx:21 AliITSVertexer3DTapan.cxx:22 AliITSVertexer3DTapan.cxx:23 AliITSVertexer3DTapan.cxx:24 AliITSVertexer3DTapan.cxx:25 AliITSVertexer3DTapan.cxx:26 AliITSVertexer3DTapan.cxx:27 AliITSVertexer3DTapan.cxx:28 AliITSVertexer3DTapan.cxx:29 AliITSVertexer3DTapan.cxx:30 AliITSVertexer3DTapan.cxx:31 AliITSVertexer3DTapan.cxx:32 AliITSVertexer3DTapan.cxx:33 AliITSVertexer3DTapan.cxx:34 AliITSVertexer3DTapan.cxx:35 AliITSVertexer3DTapan.cxx:36 AliITSVertexer3DTapan.cxx:37 AliITSVertexer3DTapan.cxx:38 AliITSVertexer3DTapan.cxx:39 AliITSVertexer3DTapan.cxx:40 AliITSVertexer3DTapan.cxx:41 AliITSVertexer3DTapan.cxx:42 AliITSVertexer3DTapan.cxx:43 AliITSVertexer3DTapan.cxx:44 AliITSVertexer3DTapan.cxx:45 AliITSVertexer3DTapan.cxx:46 AliITSVertexer3DTapan.cxx:47 AliITSVertexer3DTapan.cxx:48 AliITSVertexer3DTapan.cxx:49 AliITSVertexer3DTapan.cxx:50 AliITSVertexer3DTapan.cxx:51 AliITSVertexer3DTapan.cxx:52 AliITSVertexer3DTapan.cxx:53 AliITSVertexer3DTapan.cxx:54 AliITSVertexer3DTapan.cxx:55 AliITSVertexer3DTapan.cxx:56 AliITSVertexer3DTapan.cxx:57 AliITSVertexer3DTapan.cxx:58 AliITSVertexer3DTapan.cxx:59 AliITSVertexer3DTapan.cxx:60 AliITSVertexer3DTapan.cxx:61 AliITSVertexer3DTapan.cxx:62 AliITSVertexer3DTapan.cxx:63 AliITSVertexer3DTapan.cxx:64 AliITSVertexer3DTapan.cxx:65 AliITSVertexer3DTapan.cxx:66 AliITSVertexer3DTapan.cxx:67 AliITSVertexer3DTapan.cxx:68 AliITSVertexer3DTapan.cxx:69 AliITSVertexer3DTapan.cxx:70 AliITSVertexer3DTapan.cxx:71 AliITSVertexer3DTapan.cxx:72 AliITSVertexer3DTapan.cxx:73 AliITSVertexer3DTapan.cxx:74 AliITSVertexer3DTapan.cxx:75 AliITSVertexer3DTapan.cxx:76 AliITSVertexer3DTapan.cxx:77 AliITSVertexer3DTapan.cxx:78 AliITSVertexer3DTapan.cxx:79 AliITSVertexer3DTapan.cxx:80 AliITSVertexer3DTapan.cxx:81 AliITSVertexer3DTapan.cxx:82 AliITSVertexer3DTapan.cxx:83 AliITSVertexer3DTapan.cxx:84 AliITSVertexer3DTapan.cxx:85 AliITSVertexer3DTapan.cxx:86 AliITSVertexer3DTapan.cxx:87 AliITSVertexer3DTapan.cxx:88 AliITSVertexer3DTapan.cxx:89 AliITSVertexer3DTapan.cxx:90 AliITSVertexer3DTapan.cxx:91 AliITSVertexer3DTapan.cxx:92 AliITSVertexer3DTapan.cxx:93 AliITSVertexer3DTapan.cxx:94 AliITSVertexer3DTapan.cxx:95 AliITSVertexer3DTapan.cxx:96 AliITSVertexer3DTapan.cxx:97 AliITSVertexer3DTapan.cxx:98 AliITSVertexer3DTapan.cxx:99 AliITSVertexer3DTapan.cxx:100 AliITSVertexer3DTapan.cxx:101 AliITSVertexer3DTapan.cxx:102 AliITSVertexer3DTapan.cxx:103 AliITSVertexer3DTapan.cxx:104 AliITSVertexer3DTapan.cxx:105 AliITSVertexer3DTapan.cxx:106 AliITSVertexer3DTapan.cxx:107 AliITSVertexer3DTapan.cxx:108 AliITSVertexer3DTapan.cxx:109 AliITSVertexer3DTapan.cxx:110 AliITSVertexer3DTapan.cxx:111 AliITSVertexer3DTapan.cxx:112 AliITSVertexer3DTapan.cxx:113 AliITSVertexer3DTapan.cxx:114 AliITSVertexer3DTapan.cxx:115 AliITSVertexer3DTapan.cxx:116 AliITSVertexer3DTapan.cxx:117 AliITSVertexer3DTapan.cxx:118 AliITSVertexer3DTapan.cxx:119 AliITSVertexer3DTapan.cxx:120 AliITSVertexer3DTapan.cxx:121 AliITSVertexer3DTapan.cxx:122 AliITSVertexer3DTapan.cxx:123 AliITSVertexer3DTapan.cxx:124 AliITSVertexer3DTapan.cxx:125 AliITSVertexer3DTapan.cxx:126 AliITSVertexer3DTapan.cxx:127 AliITSVertexer3DTapan.cxx:128 AliITSVertexer3DTapan.cxx:129 AliITSVertexer3DTapan.cxx:130 AliITSVertexer3DTapan.cxx:131 AliITSVertexer3DTapan.cxx:132 AliITSVertexer3DTapan.cxx:133 AliITSVertexer3DTapan.cxx:134 AliITSVertexer3DTapan.cxx:135 AliITSVertexer3DTapan.cxx:136 AliITSVertexer3DTapan.cxx:137 AliITSVertexer3DTapan.cxx:138 AliITSVertexer3DTapan.cxx:139 AliITSVertexer3DTapan.cxx:140 AliITSVertexer3DTapan.cxx:141 AliITSVertexer3DTapan.cxx:142 AliITSVertexer3DTapan.cxx:143 AliITSVertexer3DTapan.cxx:144 AliITSVertexer3DTapan.cxx:145 AliITSVertexer3DTapan.cxx:146 AliITSVertexer3DTapan.cxx:147 AliITSVertexer3DTapan.cxx:148 AliITSVertexer3DTapan.cxx:149 AliITSVertexer3DTapan.cxx:150 AliITSVertexer3DTapan.cxx:151 AliITSVertexer3DTapan.cxx:152 AliITSVertexer3DTapan.cxx:153 AliITSVertexer3DTapan.cxx:154 AliITSVertexer3DTapan.cxx:155 AliITSVertexer3DTapan.cxx:156 AliITSVertexer3DTapan.cxx:157 AliITSVertexer3DTapan.cxx:158 AliITSVertexer3DTapan.cxx:159 AliITSVertexer3DTapan.cxx:160 AliITSVertexer3DTapan.cxx:161 AliITSVertexer3DTapan.cxx:162 AliITSVertexer3DTapan.cxx:163 AliITSVertexer3DTapan.cxx:164 AliITSVertexer3DTapan.cxx:165 AliITSVertexer3DTapan.cxx:166 AliITSVertexer3DTapan.cxx:167 AliITSVertexer3DTapan.cxx:168 AliITSVertexer3DTapan.cxx:169 AliITSVertexer3DTapan.cxx:170 AliITSVertexer3DTapan.cxx:171 AliITSVertexer3DTapan.cxx:172 AliITSVertexer3DTapan.cxx:173 AliITSVertexer3DTapan.cxx:174 AliITSVertexer3DTapan.cxx:175 AliITSVertexer3DTapan.cxx:176 AliITSVertexer3DTapan.cxx:177 AliITSVertexer3DTapan.cxx:178 AliITSVertexer3DTapan.cxx:179 AliITSVertexer3DTapan.cxx:180 AliITSVertexer3DTapan.cxx:181 AliITSVertexer3DTapan.cxx:182 AliITSVertexer3DTapan.cxx:183 AliITSVertexer3DTapan.cxx:184 AliITSVertexer3DTapan.cxx:185 AliITSVertexer3DTapan.cxx:186 AliITSVertexer3DTapan.cxx:187 AliITSVertexer3DTapan.cxx:188 AliITSVertexer3DTapan.cxx:189 AliITSVertexer3DTapan.cxx:190 AliITSVertexer3DTapan.cxx:191 AliITSVertexer3DTapan.cxx:192 AliITSVertexer3DTapan.cxx:193 AliITSVertexer3DTapan.cxx:194 AliITSVertexer3DTapan.cxx:195 AliITSVertexer3DTapan.cxx:196 AliITSVertexer3DTapan.cxx:197 AliITSVertexer3DTapan.cxx:198 AliITSVertexer3DTapan.cxx:199 AliITSVertexer3DTapan.cxx:200 AliITSVertexer3DTapan.cxx:201 AliITSVertexer3DTapan.cxx:202 AliITSVertexer3DTapan.cxx:203 AliITSVertexer3DTapan.cxx:204 AliITSVertexer3DTapan.cxx:205 AliITSVertexer3DTapan.cxx:206 AliITSVertexer3DTapan.cxx:207 AliITSVertexer3DTapan.cxx:208 AliITSVertexer3DTapan.cxx:209 AliITSVertexer3DTapan.cxx:210 AliITSVertexer3DTapan.cxx:211 AliITSVertexer3DTapan.cxx:212 AliITSVertexer3DTapan.cxx:213 AliITSVertexer3DTapan.cxx:214 AliITSVertexer3DTapan.cxx:215 AliITSVertexer3DTapan.cxx:216 AliITSVertexer3DTapan.cxx:217 AliITSVertexer3DTapan.cxx:218 AliITSVertexer3DTapan.cxx:219 AliITSVertexer3DTapan.cxx:220 AliITSVertexer3DTapan.cxx:221 AliITSVertexer3DTapan.cxx:222 AliITSVertexer3DTapan.cxx:223 AliITSVertexer3DTapan.cxx:224 AliITSVertexer3DTapan.cxx:225 AliITSVertexer3DTapan.cxx:226 AliITSVertexer3DTapan.cxx:227 AliITSVertexer3DTapan.cxx:228 AliITSVertexer3DTapan.cxx:229 AliITSVertexer3DTapan.cxx:230 AliITSVertexer3DTapan.cxx:231 AliITSVertexer3DTapan.cxx:232 AliITSVertexer3DTapan.cxx:233 AliITSVertexer3DTapan.cxx:234 AliITSVertexer3DTapan.cxx:235 AliITSVertexer3DTapan.cxx:236 AliITSVertexer3DTapan.cxx:237 AliITSVertexer3DTapan.cxx:238 AliITSVertexer3DTapan.cxx:239 AliITSVertexer3DTapan.cxx:240 AliITSVertexer3DTapan.cxx:241 AliITSVertexer3DTapan.cxx:242 AliITSVertexer3DTapan.cxx:243 AliITSVertexer3DTapan.cxx:244 AliITSVertexer3DTapan.cxx:245 AliITSVertexer3DTapan.cxx:246 AliITSVertexer3DTapan.cxx:247 AliITSVertexer3DTapan.cxx:248 AliITSVertexer3DTapan.cxx:249 AliITSVertexer3DTapan.cxx:250 AliITSVertexer3DTapan.cxx:251 AliITSVertexer3DTapan.cxx:252 AliITSVertexer3DTapan.cxx:253 AliITSVertexer3DTapan.cxx:254 AliITSVertexer3DTapan.cxx:255 AliITSVertexer3DTapan.cxx:256 AliITSVertexer3DTapan.cxx:257 AliITSVertexer3DTapan.cxx:258 AliITSVertexer3DTapan.cxx:259 AliITSVertexer3DTapan.cxx:260 AliITSVertexer3DTapan.cxx:261 AliITSVertexer3DTapan.cxx:262 AliITSVertexer3DTapan.cxx:263 AliITSVertexer3DTapan.cxx:264 AliITSVertexer3DTapan.cxx:265 AliITSVertexer3DTapan.cxx:266 AliITSVertexer3DTapan.cxx:267 AliITSVertexer3DTapan.cxx:268 AliITSVertexer3DTapan.cxx:269 AliITSVertexer3DTapan.cxx:270 AliITSVertexer3DTapan.cxx:271 AliITSVertexer3DTapan.cxx:272 AliITSVertexer3DTapan.cxx:273 AliITSVertexer3DTapan.cxx:274 AliITSVertexer3DTapan.cxx:275 AliITSVertexer3DTapan.cxx:276 AliITSVertexer3DTapan.cxx:277 AliITSVertexer3DTapan.cxx:278 AliITSVertexer3DTapan.cxx:279 AliITSVertexer3DTapan.cxx:280 AliITSVertexer3DTapan.cxx:281 AliITSVertexer3DTapan.cxx:282 AliITSVertexer3DTapan.cxx:283 AliITSVertexer3DTapan.cxx:284 AliITSVertexer3DTapan.cxx:285 AliITSVertexer3DTapan.cxx:286 AliITSVertexer3DTapan.cxx:287 AliITSVertexer3DTapan.cxx:288 AliITSVertexer3DTapan.cxx:289 AliITSVertexer3DTapan.cxx:290 AliITSVertexer3DTapan.cxx:291 AliITSVertexer3DTapan.cxx:292 AliITSVertexer3DTapan.cxx:293 AliITSVertexer3DTapan.cxx:294 AliITSVertexer3DTapan.cxx:295 AliITSVertexer3DTapan.cxx:296 AliITSVertexer3DTapan.cxx:297 AliITSVertexer3DTapan.cxx:298 AliITSVertexer3DTapan.cxx:299 AliITSVertexer3DTapan.cxx:300 AliITSVertexer3DTapan.cxx:301 AliITSVertexer3DTapan.cxx:302 AliITSVertexer3DTapan.cxx:303 AliITSVertexer3DTapan.cxx:304 AliITSVertexer3DTapan.cxx:305 AliITSVertexer3DTapan.cxx:306 AliITSVertexer3DTapan.cxx:307 AliITSVertexer3DTapan.cxx:308 AliITSVertexer3DTapan.cxx:309 AliITSVertexer3DTapan.cxx:310 AliITSVertexer3DTapan.cxx:311 AliITSVertexer3DTapan.cxx:312 AliITSVertexer3DTapan.cxx:313 AliITSVertexer3DTapan.cxx:314 AliITSVertexer3DTapan.cxx:315 AliITSVertexer3DTapan.cxx:316 AliITSVertexer3DTapan.cxx:317 AliITSVertexer3DTapan.cxx:318 AliITSVertexer3DTapan.cxx:319 AliITSVertexer3DTapan.cxx:320 AliITSVertexer3DTapan.cxx:321 AliITSVertexer3DTapan.cxx:322 AliITSVertexer3DTapan.cxx:323 AliITSVertexer3DTapan.cxx:324 AliITSVertexer3DTapan.cxx:325 AliITSVertexer3DTapan.cxx:326 AliITSVertexer3DTapan.cxx:327 AliITSVertexer3DTapan.cxx:328 AliITSVertexer3DTapan.cxx:329 AliITSVertexer3DTapan.cxx:330 AliITSVertexer3DTapan.cxx:331 AliITSVertexer3DTapan.cxx:332 AliITSVertexer3DTapan.cxx:333 AliITSVertexer3DTapan.cxx:334 AliITSVertexer3DTapan.cxx:335 AliITSVertexer3DTapan.cxx:336 AliITSVertexer3DTapan.cxx:337 AliITSVertexer3DTapan.cxx:338 AliITSVertexer3DTapan.cxx:339 AliITSVertexer3DTapan.cxx:340 AliITSVertexer3DTapan.cxx:341 AliITSVertexer3DTapan.cxx:342 AliITSVertexer3DTapan.cxx:343 AliITSVertexer3DTapan.cxx:344 AliITSVertexer3DTapan.cxx:345 AliITSVertexer3DTapan.cxx:346 AliITSVertexer3DTapan.cxx:347 AliITSVertexer3DTapan.cxx:348 AliITSVertexer3DTapan.cxx:349 AliITSVertexer3DTapan.cxx:350 AliITSVertexer3DTapan.cxx:351 AliITSVertexer3DTapan.cxx:352 AliITSVertexer3DTapan.cxx:353 AliITSVertexer3DTapan.cxx:354 AliITSVertexer3DTapan.cxx:355 AliITSVertexer3DTapan.cxx:356 AliITSVertexer3DTapan.cxx:357 AliITSVertexer3DTapan.cxx:358 AliITSVertexer3DTapan.cxx:359 AliITSVertexer3DTapan.cxx:360 AliITSVertexer3DTapan.cxx:361 AliITSVertexer3DTapan.cxx:362 AliITSVertexer3DTapan.cxx:363 AliITSVertexer3DTapan.cxx:364 AliITSVertexer3DTapan.cxx:365 AliITSVertexer3DTapan.cxx:366 AliITSVertexer3DTapan.cxx:367 AliITSVertexer3DTapan.cxx:368 AliITSVertexer3DTapan.cxx:369 AliITSVertexer3DTapan.cxx:370 AliITSVertexer3DTapan.cxx:371 AliITSVertexer3DTapan.cxx:372 AliITSVertexer3DTapan.cxx:373 AliITSVertexer3DTapan.cxx:374 AliITSVertexer3DTapan.cxx:375 AliITSVertexer3DTapan.cxx:376 AliITSVertexer3DTapan.cxx:377 AliITSVertexer3DTapan.cxx:378