+ Double_t vtx[3];
+ fCurrentVertex->GetXYZ(vtx);
+ Float_t vtxf[3];
+ for(Int_t i=0;i<3;i++)vtxf[i]=vtx[i];
+ multReco.SetHistOn(kFALSE);
+ multReco.Reconstruct(itsClusterTree,vtxf,vtxf);
+ Int_t notracks=multReco.GetNTracklets();
+ Float_t *tht = new Float_t [notracks];
+ Float_t *phi = new Float_t [notracks];
+ Float_t *dtht = new Float_t [notracks];
+ Float_t *dphi = new Float_t [notracks];
+ Int_t *labels = new Int_t[notracks];
+ Int_t *labelsL2 = new Int_t[notracks];
+ for(Int_t i=0;i<multReco.GetNTracklets();i++){
+ tht[i] = multReco.GetTracklet(i)[0];
+ phi[i] = multReco.GetTracklet(i)[1];
+ dtht[i] = multReco.GetTracklet(i)[3];
+ dphi[i] = multReco.GetTracklet(i)[2];
+ labels[i] = static_cast<Int_t>(multReco.GetTracklet(i)[4]);
+ labelsL2[i] = static_cast<Int_t>(multReco.GetTracklet(i)[5]);
+ }
+ Int_t nosingleclus=multReco.GetNSingleClusters();
+ Float_t *ths = new Float_t [nosingleclus];
+ Float_t *phs = new Float_t [nosingleclus];
+ Int_t *labelss = new Int_t [nosingleclus];
+ for(Int_t i=0;i<nosingleclus;i++){
+ ths[i] = multReco.GetCluster(i)[0];
+ phs[i] = multReco.GetCluster(i)[1];
+ labelss[i] = (Int_t)multReco.GetCluster(i)[2];
+ }
+ Short_t nfcL1 = multReco.GetNFiredChips(0);
+ Short_t nfcL2 = multReco.GetNFiredChips(1);
+ fMult = new AliMultiplicity(notracks,tht,phi,dtht,dphi,labels,labelsL2,nosingleclus,ths,phs,labelss,nfcL1,nfcL2,fastOrFiredMap);
+ fMult->SetFiredChipMap(firedChipMap);
+ AliITSRecPointContainer* rcont = AliITSRecPointContainer::Instance();
+ fMult->SetITSClusters(0,rcont->GetNClustersInLayer(1,itsClusterTree));
+ for(Int_t kk=2;kk<=6;kk++){
+ fMult->SetITSClusters(kk-1,rcont->GetNClustersInLayerFast(kk));
+ }
+ delete [] tht;
+ delete [] phi;
+ delete [] dtht;
+ delete [] dphi;
+ delete [] ths;
+ delete [] phs;
+ delete [] labels;
+ delete [] labelsL2;
+ delete [] labelss;