- //
- // sign gold tracks
- //
- for (Int_t ip=0;ip<np;ip++){
- Float_t ybest=1000,zbest=1000,qbest=0;
- //
- // select gold clusters
- if ( (cnegative[ip]==1) && cpositive[negativepair[10*ip]]==1){
- Float_t yp=pos[ip].GetY()*fYpitchSSD;
- Int_t j = negativepair[10*ip];
- ratio = (pos[ip].GetQ()-neg[j].GetQ())/(pos[ip].GetQ()+neg[j].GetQ());
- //
- Float_t yn=neg[j].GetY()*fYpitchSSD;
- Float_t zt=(2*fHlSSD*tanp + yp - yn)/(tann+tanp);
- Float_t yt=yn + tann*zt;
- zt-=fHlSSD; yt-=fHwSSD;
- ybest=yt; zbest=zt;
- qbest=0.5*(pos[ip].GetQ()+neg[j].GetQ());
-
- //cout<<yt<<" "<<zt<<" "<<qbest<<endl;
-
- {
- Double_t loc[3]={ybest,0.,zbest},trk[3]={0.,0.,0.};
- mT2L->MasterToLocal(loc,trk);
- lp[0]=trk[1];
- lp[1]=trk[2];
- }
- lp[2]=0.0025*0.0025; //SigmaY2
- lp[3]=0.110*0.110; //SigmaZ2
-
- lp[4]=qbest; //Q
- for (Int_t ilab=0;ilab<10;ilab++) milab[ilab]=-2;
- for (Int_t ilab=0;ilab<3;ilab++){
- milab[ilab] = pos[ip].GetLabel(ilab);
- milab[ilab+3] = neg[j].GetLabel(ilab);
- }
- //
- CheckLabels2(milab);
- milab[3]=(((ip<<10) + j)<<10) + idet; // pos|neg|det
- Int_t info[3] = {pos[ip].GetNd(),neg[j].GetNd(),fNlayer[fModule]};
- AliITSRecPoint * cl2;
-
- if(clusters){ // Note clusters != 0 when method is called for rawdata