]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/alice-macros/kine_tracks.C
Use typedefs from Reve::Track.
[u/mrichter/AliRoot.git] / EVE / alice-macros / kine_tracks.C
CommitLineData
1b337638 1// Import tracks from kinematics-tree / particle-stack.
2// Preliminary/minimal solution.
3
4Reve::TrackList* kine_tracks(Double_t min_pt=0.5, Double_t max_pt=100)
5{
6 AliRunLoader* rl = Alieve::Event::AssertRunLoader();
7 rl->LoadKinematics();
8 AliStack* stack = rl->Stack();
9 if (!stack) {
10 Error("kine_tracks.C", "can not get kinematics.");
11 return 0;
12 }
13
14 Reve::TrackList* cont = new Reve::TrackList("Kine Tracks");
15 cont->SetMainColor(Color_t(6));
16 Reve::TrackRnrStyle* rnrStyle = cont->GetRnrStyle();
17 rnrStyle->fColor = 8;
18 // !!! Watch the '-', apparently different sign convention then for ESD.
32aee3cf 19 rnrStyle->SetMagField( - gAlice->Field()->SolenoidField() );
1b337638 20
21 gReve->AddRenderElement(cont);
22
23 Int_t count = 0;
43d68fc4 24 Int_t N = stack->GetNtrack();
25 for (Int_t i=0; i<N; ++i)
26 {
27 if(stack->IsPhysicalPrimary(i))
28 {
29 TParticle* p = stack->Particle(i);
30 Double_t pT = p->Pt();
31 if (pT<min_pt || pT>max_pt) continue;
32
33 ++count;
34 Reve::Track* track = new Reve::Track(p, i, rnrStyle);
35
36 //PH The line below is replaced waiting for a fix in Root
37 //PH which permits to use variable siza arguments in CINT
38 //PH on some platforms (alphalinuxgcc, solariscc5, etc.)
39 //PH track->SetName(Form("%s [%d]", p->GetName(), i));
40 char form[1000];
41 sprintf(form,"%s [%d]", p->GetName(), i);
42 track->SetName(form);
43 track->SetRnrStyle(rnrStyle);
44 gReve->AddRenderElement(cont, track);
45 }
1b337638 46 }
47
43d68fc4 48 // set path marks
49 Alieve::KineTools kt;
50 rl->LoadTrackRefs();
51 kt.SetPathMarks(cont,stack, rl->TreeTR());
52 cont->SetEditPathMarks(kTRUE);
53
54
7be1e8cd 55 //PH const Text_t* tooltip = Form("pT ~ (%.2lf, %.2lf), N=%d", min_pt, max_pt, count);
56 char tooltip[1000];
57 sprintf(tooltip,"pT ~ (%.2lf, %.2lf), N=%d", min_pt, max_pt, count);
1b337638 58 cont->SetTitle(tooltip); // Not broadcasted automatically ...
59 cont->UpdateItems();
60
61 cont->MakeTracks();
62 cont->MakeMarkers();
63 gReve->Redraw3D();
64
65 return cont;
66}