]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenGeVSim.cxx
New code for Flow physics (S.Radomski)
[u/mrichter/AliRoot.git] / EVGEN / AliGenGeVSim.cxx
index 5a8beb0d712ea32fa89778e236b238cdecda0b59..6f49ce9030ae3f6a1632996b70dfa1e4596e40b5 100644 (file)
@@ -66,6 +66,7 @@
 
 #include "AliGenGeVSim.h"
 #include "AliGeVSimParticle.h"
 
 #include "AliGenGeVSim.h"
 #include "AliGeVSimParticle.h"
+#include "AliGenGeVSimEventHeader.h"
 
 
 ClassImp(AliGenGeVSim);
 
 
 ClassImp(AliGenGeVSim);
@@ -110,7 +111,7 @@ AliGenGeVSim::AliGenGeVSim(Float_t psi, Bool_t isMultTotal) : AliGenerator(-1) {
   if (psi < 0 || psi > 360 ) 
     Error ("AliGenGeVSim", "Reaction plane angle ( %d )out of range [0..360]", psi);
 
   if (psi < 0 || psi > 360 ) 
     Error ("AliGenGeVSim", "Reaction plane angle ( %d )out of range [0..360]", psi);
 
-  fPsi = psi * 2 * TMath::Pi() / 360. ;
+  fPsi = psi * TMath::Pi() / 180. ;
   fIsMultTotal = isMultTotal;
 
   // initialization 
   fIsMultTotal = isMultTotal;
 
   // initialization 
@@ -380,11 +381,14 @@ void AliGenGeVSim::DetermineReactionPlane() {
   
   form = 0;
   form = (TF1 *)gROOT->GetFunction("gevsimPsi");
   
   form = 0;
   form = (TF1 *)gROOT->GetFunction("gevsimPsi");
-  if (form) fPsi = form->Eval(gAlice->GetEvNumber());
+  if (form) fPsi = form->Eval(gAlice->GetEvNumber()) * TMath::Pi() / 180;
   
   form = 0;
   form = (TF1 *)gROOT->GetFunction("gevsimPsiRndm");
   
   form = 0;
   form = (TF1 *)gROOT->GetFunction("gevsimPsiRndm");
-  if (form) fPsi = form->GetRandom();
+  if (form) fPsi = form->GetRandom() * TMath::Pi() / 180;
+
+  
+  cout << "Psi = " << fPsi << "\t" << (Int_t)(fPsi*180./TMath::Pi()) << endl;
   
   fPhiFormula->SetParameter(0, fPsi);
 }
   
   fPhiFormula->SetParameter(0, fPsi);
 }
@@ -534,7 +538,7 @@ void AliGenGeVSim::SetFormula(Int_t pdg) {
       fPtYHist = (TH2D*)gROOT->FindObject(buff);
     }
 
       fPtYHist = (TH2D*)gROOT->FindObject(buff);
     }
 
-    if (!fPtYHist) Error(where, msg[3], pdg);
+    if (!fPtYHist) Error(where, msg[4], pdg);
   }
 
 }
   }
 
 }
@@ -791,6 +795,17 @@ void AliGenGeVSim::Generate() {
     }
   }
 
     }
   }
 
+  // prepare and store header
+
+  AliGenGeVSimEventHeader *header = new AliGenGeVSimEventHeader("GeVSim header");
+  TArrayF eventVertex(3,orgin);
+
+  header->SetPrimaryVertex(eventVertex);
+  header->SetEventPlane(fPsi);
+  header->SetEllipticFlow(fPhiFormula->GetParameter(2));
+
+  gAlice->SetGenEventHeader(header);
+
   delete v;
 }
 
   delete v;
 }