]>
Commit | Line | Data |
---|---|---|
d810d0de | 1 | // $Id$ |
2 | // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 | |
3 | ||
4 | /************************************************************************** | |
5 | * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. * | |
6 | * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for * | |
51346b82 | 7 | * full copyright notice. * |
d810d0de | 8 | **************************************************************************/ |
cb4245bb | 9 | |
57e8f8f1 | 10 | // Lines commented with //x should be reactivated when we |
11 | // move to a newer ROOT (after 5.25.2). | |
12 | // Corresponding lines that are now replacing them should be removed. | |
13 | // | |
14 | // The problem was the TEveTrackProjected did not support projection | |
15 | // of tracks with locked points -- and we do that for tracklets. | |
16 | // | |
17 | // Maybe it would be even better to have AliEveTracklet : public TEveLine | |
18 | // and support both in AliEveTrackCounter. | |
19 | // Or have trackelt counter -- as not all histograms collected for tracks | |
20 | // are relevant for tracklets. | |
cb4245bb | 21 | |
3a20f984 | 22 | TEveTrackList* esd_spd_tracklets(Float_t radius=8, Width_t line_width=3) |
c46fd838 | 23 | { |
57e8f8f1 | 24 | // radius - cylindrical radius to which the tracklets should be extrapolated |
c46fd838 | 25 | |
57e8f8f1 | 26 | AliESDEvent *esd = AliEveEventManager::AssertESD(); |
27 | AliESDVertex *pv = esd->GetPrimaryVertexSPD(); | |
28 | AliMultiplicity *mul = esd->GetMultiplicity(); | |
c46fd838 | 29 | |
3a20f984 | 30 | TEveTrackList *cont = new TEveTrackList("SPD Tracklets"); |
57e8f8f1 | 31 | cont->SetTitle(Form("N=%d", mul->GetNumberOfTracklets())); |
32 | cont->SetMainColor(7); | |
3a20f984 | 33 | cont->SetLineWidth(line_width); |
57e8f8f1 | 34 | |
3a20f984 | 35 | TEveTrackPropagator* prop = cont->GetPropagator(); |
36 | prop->SetMaxR(radius); | |
57e8f8f1 | 37 | gEve->AddElement(cont); |
c46fd838 | 38 | |
3a20f984 | 39 | for (Int_t i = 0; i < mul->GetNumberOfTracklets(); ++i) |
c46fd838 | 40 | { |
57e8f8f1 | 41 | Float_t theta = mul->GetTheta(i); |
42 | Float_t phi = mul->GetPhi(i); | |
57e8f8f1 | 43 | |
3a20f984 | 44 | AliEveTracklet* t = new AliEveTracklet(pv, theta, phi, prop); |
45 | t->SetAttLineAttMarker(cont); | |
46 | t->SetElementName(Form("Tracklet %d", i)); | |
47 | t->SetElementTitle(Form("id=%d: theta=%.3f, phi=%.3f", i, theta, phi)); | |
57e8f8f1 | 48 | |
3a20f984 | 49 | cont->AddElement(t); |
c46fd838 | 50 | } |
51 | ||
3a20f984 | 52 | cont->MakeTracks(); |
53 | ||
84aff7a4 | 54 | gEve->Redraw3D(); |
c46fd838 | 55 | |
57e8f8f1 | 56 | return cont; |
c46fd838 | 57 | } |