]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/alice-macros/esd_spd_tracklets.C
- Compute parameter covariances including absorber dispersion effects
[u/mrichter/AliRoot.git] / EVE / alice-macros / esd_spd_tracklets.C
1 // To use when per-line id is supported
2 class TrackletId : public TObject
3 {
4 public:
5   // label, phi, theta
6   // virtual void Print(const Option_t* opt="") {}
7 };
8
9 Reve::StraightLineSet* esd_spd_tracklets(Float_t rad=8)
10 {
11   AliESDEvent         * esd = Alieve::Event::AssertESD();
12   AliESDVertex   * pv  = esd->GetPrimaryVertex();
13   AliMultiplicity* mul = esd->GetMultiplicity();
14
15   Double_t pvx[3], pve[3];
16   pv->GetXYZ(pvx);
17   pv->GetSigmaXYZ(pve);
18
19   Reve::StraightLineSet* ls = new Reve::StraightLineSet();
20
21   for (Int_t i=0; i<mul->GetNumberOfTracklets(); ++i)
22   {
23     using namespace TMath;
24     Float_t dr[3];
25     Float_t phi = PiOver2() - mul->GetPhi(i); // strange people
26     dr[0] = rad*Cos(phi);
27     dr[1] = rad*Sin(phi);
28     dr[2] = rad/Tan(mul->GetTheta(i));
29     ls->AddLine(pvx[0], pvx[1], pvx[2],
30                 pvx[0]+dr[0], pvx[1]+dr[1], pvx[2]+dr[2]);
31   }
32
33   gReve->AddRenderElement(ls);
34   gReve->Redraw3D();
35
36   return ls;
37 }