]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenCocktailAfterBurner.cxx
TuneA settings removed from kPyJets
[u/mrichter/AliRoot.git] / EVGEN / AliGenCocktailAfterBurner.cxx
index a254cdc9433e95d833f1e4c8d7db8687aea4d8d2..230ac78edcfa4b73a4f64d01f7e699d0a22fa3a3 100644 (file)
@@ -45,7 +45,8 @@
 #include "AliMC.h"
 #include "AliRun.h"
 
-
+using std::cout;
+using std::endl;
 ClassImp(AliGenCocktailAfterBurner)
 /*********************************************************************/ 
 /*********************************************************************/ 
@@ -98,7 +99,7 @@ AliGenCocktailAfterBurner::~AliGenCocktailAfterBurner()
 /*********************************************************************/ 
 
 void AliGenCocktailAfterBurner::
-AddAfterBurner(AliGenerator *AfterBurner, char* Name, Float_t RateExp)
+AddAfterBurner(AliGenerator *AfterBurner, const char* Name, Float_t RateExp)
 {
 //
 //  Forward parameters to the new AfterBurner
@@ -116,11 +117,12 @@ AddAfterBurner(AliGenerator *AfterBurner, char* Name, Float_t RateExp)
        AfterBurner->SetPhiRange(fPhiMin*180/TMath::Pi(),fPhiMax*180/TMath::Pi());
     if (TestBit(kThetaRange) && !(AfterBurner->TestBit(kThetaRange)) && !(AfterBurner->TestBit(kEtaRange)))
        AfterBurner->SetThetaRange(fThetaMin*180/TMath::Pi(),fThetaMax*180/TMath::Pi());
-    if (TestBit(kVertexRange) && !(AfterBurner->TestBit(kVertexRange))) {
+    if (!(AfterBurner->TestBit(kVertexRange))) {
        AfterBurner->SetOrigin(fOrigin[0], fOrigin[1], fOrigin[2]);
        AfterBurner->SetSigma(fOsigma[0], fOsigma[1], fOsigma[2]);
        AfterBurner->SetVertexSmear(fVertexSmear);
        AfterBurner->SetVertexSource(kContainer);
+       AfterBurner->SetTimeOrigin(fTimeOrigin);
     }
     AfterBurner->SetTrackingFlag(fTrackIt);
     //AfterBurner->SetContainer(this);
@@ -212,6 +214,8 @@ void AliGenCocktailAfterBurner::Generate()
        cout << "Number of events per run" <<  numberOfEvents << endl;
        TArrayF eventVertex;
        eventVertex.Set(3 * (numberOfEvents + fNBgEvents));
+       TArrayF eventTime;
+       eventTime.Set(numberOfEvents + fNBgEvents);
        fCurrentEvent=0;
       //Create stacks
        fInternalStacks      = new TObjArray(numberOfEvents + fNBgEvents); //Create array of internal stacks
@@ -225,6 +229,7 @@ void AliGenCocktailAfterBurner::Generate()
           fInternalStacks->Add(stack);
           Vertex();
           for (Int_t j = 0; j < 3; j++) eventVertex[3 * i +  j] = fVertex[j];
+          eventTime[i] = fTime;
           fHeaders[i] = new AliGenCocktailEventHeader();
           fCollisionGeometries[i] = 0;
        }
@@ -261,11 +266,13 @@ void AliGenCocktailAfterBurner::Generate()
            // Set the vertex for the generator
            Int_t ioff = 3 * i;
            fCurrentGenerator->SetVertex(eventVertex.At(ioff), eventVertex.At(ioff + 1), eventVertex.At(ioff + 2));
+           fCurrentGenerator->SetTime(eventTime.At(i));
            fHeader = fHeaders[i];
-           // Set the vertex for the cocktail
+           // Set the vertex and time for the cocktail
            TArrayF v(3);
            for (Int_t j=0; j<3; j++) v[j] = eventVertex.At(ioff + j);
            fHeader->SetPrimaryVertex(v);
+           fHeader->SetInteractionTime(eventTime.At(i));
            // Generate event
            fCurrentGenerator->Generate();
            //
@@ -379,6 +386,7 @@ void AliGenCocktailAfterBurner::SetTracks(Int_t stackno)
     Int_t ntr;
     Float_t weight;
     TVector3 pol;
+    Int_t is;
     
     TParticle * p;
     Int_t n = instack->GetNtrack();
@@ -408,8 +416,9 @@ void AliGenCocktailAfterBurner::SetTracks(Int_t stackno)
       polz = pol.Z();
       mech = AliGenCocktailAfterBurner::IntToMCProcess(p->GetUniqueID());
       weight = p->GetWeight();
+      is = p->GetStatusCode();
 
-      gAlice->GetMCApp()->PushTrack(done, parent, pdg, px, py, pz, e, vx, vy, vz, tof,polx, poly, polz, mech, ntr, weight);
+      gAlice->GetMCApp()->PushTrack(done, parent, pdg, px, py, pz, e, vx, vy, vz, tof,polx, poly, polz, mech, ntr, weight, is);
 
       SetHighWaterMark(ntr) ;