4 #include "AliMCEvent.h"
6 #include "AliGenEventHeader.h"
7 #include "AliGenCocktailEventHeader.h"
8 #include "AliGenPythiaEventHeader.h"
11 #include "AliAnalysisHelperJetTasks.h"
14 ClassImp(AliAnalysisHelperJetTasks)
19 AliGenPythiaEventHeader* AliAnalysisHelperJetTasks::GetPythiaEventHeader(AliMCEvent *mcEvent){
21 AliGenEventHeader* genHeader = mcEvent->GenEventHeader();
22 AliGenPythiaEventHeader* pythiaGenHeader = dynamic_cast<AliGenPythiaEventHeader*>(genHeader);
25 AliGenCocktailEventHeader* genCocktailHeader = dynamic_cast<AliGenCocktailEventHeader*>(genHeader);
27 if (!genCocktailHeader) {
28 Printf("%s %d: Unknown header type (not Pythia or Cocktail)",(char*)__FILE__,__LINE__);
31 TList* headerList = genCocktailHeader->GetHeaders();
32 for (Int_t i=0; i<headerList->GetEntries(); i++) {
33 pythiaGenHeader = dynamic_cast<AliGenPythiaEventHeader*>(headerList->At(i));
38 Printf("%s %d: PythiaHeader not found!",(char*)__FILE__,__LINE__);
42 return pythiaGenHeader;
47 void AliAnalysisHelperJetTasks::PrintStack(AliMCEvent *mcEvent,Int_t iFirst,Int_t iLast,Int_t iMaxPrint){
49 AliStack *stack = mcEvent->Stack();
51 Printf("%s%d No Stack available",(char*)__FILE__,__LINE__);
55 static Int_t iCount = 0;
56 if(iCount>iMaxPrint)return;
57 Int_t nStack = stack->GetNtrack();
58 if(iLast == 0)iLast = nStack;
59 else if(iLast > nStack)iLast = nStack;
62 Printf("####################################################################");
63 for(Int_t np = iFirst;np<iLast;++np){
64 TParticle *p = stack->Particle(np);
65 Printf("Nr.%d --- Status %d ---- Mother1 %d Mother2 %d Daughter1 %d Daughter2 %d ",
66 np,p->GetStatusCode(),p->GetMother(0),p->GetMother(1),p->GetDaughter(0),p->GetDaughter(1));
67 Printf("Eta %3.3f Phi %3.3f ",p->Eta(),p->Phi());
69 Printf("---------------------------------------");