]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/alice-macros/print_kine_from_label.C
b4686198f7a3246ae6c03ae22f68613f34937f8c
[u/mrichter/AliRoot.git] / EVE / alice-macros / print_kine_from_label.C
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          *
7  * full copyright notice.                                                 *
8  **************************************************************************/
9
10 #if !defined(__CINT__) || defined(__MAKECINT__)
11 #include <TParticle.h>
12
13 #include <STEER/STEER/AliRunLoader.h>
14 #include <STEER/STEERBase/AliStack.h>
15 #include <EVE/EveBase/AliEveEventManager.h>
16 #endif
17
18 void print_kine_from_label(Int_t label)
19 {
20   AliRunLoader* rl = AliEveEventManager::AssertRunLoader();
21   rl->LoadKinematics();
22   AliStack* stack = rl->Stack();
23
24   printf("Number primaries %d, all particles %d, label %d\n",
25          stack->GetNprimary(), stack->GetNtrack(), label);
26   if (label < 0 || label >= stack->GetNtrack()) {
27     printf("  Label exceeds available range.\n");
28     return;
29   }
30
31   TParticle* part = stack->Particle(label);
32   if(part != 0) {
33     part->Print();
34     while(part->GetMother(0) >= 0) {
35       part = stack->Particle(part->GetMother(0));
36       part->Print();
37     }
38   }
39 }