2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
4 /**************************************************************************
5 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
7 * full copyright notice. *
8 **************************************************************************/
10 void trackcount_init()
12 TEveUtil::LoadMacro("alieve_init.C");
15 TEveUtil::LoadMacro("primary_vertex.C");
16 TEveUtil::LoadMacro("esd_tracks.C");
17 TEveUtil::LoadMacro("its_clusters.C+");
18 TEveUtil::LoadMacro("tpc_clusters.C+");
20 TEveTrackCounter* g_trkcnt = new TEveTrackCounter("Primary Counter");
21 gEve->AddGlobalElement(g_trkcnt);
23 gEvent->AddNewEventCommand("on_new_event();");
26 gEve->Redraw3D(kTRUE);
31 TEvePointSet* itsc = its_clusters();
32 itsc->SetMarkerColor(5);
34 TEvePointSet* tpcc = tpc_clusters();
35 tpcc->SetMarkerColor(4);
39 TEveElementList* cont = esd_tracks_vertex_cut();
40 TGListTree* lt = gEve->GetListTree();
41 TGListTreeItem* ti = cont->FindListTreeItem(lt);
44 // Here we expect five TEveTrackList containers.
45 // First two have reasonable primaries (sigma-to-prim-vertex < 5).
46 // Other three are almost certainly secondaries.
48 TEveTrackCounter* g_trkcnt = TEveTrackCounter::fgInstance;
50 g_trkcnt->SetEventId(gEvent->GetEventId());
51 TEveElement::List_i i = cont->BeginChildren();
52 while (i != cont->EndChildren()) {
53 TEveTrackList* l = dynamic_cast<TEveTrackList*>(*i);
56 g_trkcnt->RegisterTracks(l, (count <= 2));
63 TParticle* id(Int_t label=0, Bool_t showParents=kTRUE)
65 AliRunLoader* rl = AliEveEventManager::AssertRunLoader();
67 AliStack* stack = rl->Stack();
69 printf("Number primaries %d, all particles %d, label %d\n",
70 stack->GetNprimary(), stack->GetNtrack(), label);
71 if (label < 0 || label >= stack->GetNtrack()) {
72 printf(" Label exceeds available range.\n");
76 TParticle* part = stack->Particle(label);
80 while(part->GetMother(0) >= 0) {
81 part = stack->Particle(part->GetMother(0));
87 return stack->Particle(label);