3 Reve::LoadMacro("alieve_init.C");
6 Reve::LoadMacro("primary_vertex.C");
7 Reve::LoadMacro("esd_tracks.C");
8 Reve::LoadMacro("its_clusters.C+");
9 Reve::LoadMacro("tpc_clusters.C+");
11 Reve::TrackCounter* g_trkcnt = new Reve::TrackCounter("Primary Counter");
12 gReve->AddGlobalRenderElement(g_trkcnt);
14 Alieve::gEvent->AddNewEventCommand("on_new_event();");
15 Alieve::gEvent->GotoEvent(0);
17 gReve->Redraw3D(kTRUE);
22 Reve::PointSet* itsc = its_clusters();
23 itsc->SetMarkerColor(5);
25 Reve::PointSet* tpcc = tpc_clusters();
26 tpcc->SetMarkerColor(4);
30 Reve::RenderElementList* cont = esd_tracks_vertex_cut();
31 TGListTree* lt = gReve->GetListTree();
32 TGListTreeItem* ti = cont->FindListTreeItem(lt);
35 // Here we expect five TrackList containers.
36 // First two have reasonable primaries (sigma-to-prim-vertex < 5).
37 // Other three are almost certainly secondaries.
39 Reve::TrackCounter* g_trkcnt = Reve::TrackCounter::fgInstance;
41 g_trkcnt->SetEventId(Alieve::gEvent->GetEventId());
42 Reve::RenderElement::List_i i = cont->BeginChildren();
43 while (i != cont->EndChildren()) {
44 Reve::TrackList* l = dynamic_cast<Reve::TrackList*>(*i);
47 g_trkcnt->RegisterTracks(l, (count <= 2));
54 TParticle* id(Int_t label=0, Bool_t showParents=kTRUE)
56 AliRunLoader* rl = Alieve::Event::AssertRunLoader();
58 AliStack* stack = rl->Stack();
60 printf("Number primaries %d, all particles %d, label %d\n",
61 stack->GetNprimary(), stack->GetNtrack(), label);
62 if (label < 0 || label >= stack->GetNtrack()) {
63 printf(" Label exceeds available range.\n");
67 TParticle* part = stack->Particle(label);
71 while(part->GetMother(0) >= 0) {
72 part = stack->Particle(part->GetMother(0));
78 return stack->Particle(label);