]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - THijing/AliGenHijing.cxx
Last change reverted.
[u/mrichter/AliRoot.git] / THijing / AliGenHijing.cxx
index ac40008c32885244d54e7286348c37ad7a913f96..54998cfd6cdb89cd676eb85ba2b1e52e3e2bbc9b 100644 (file)
@@ -31,8 +31,9 @@
 
 #include "AliGenHijing.h"
 #include "AliGenHijingEventHeader.h"
-#include "AliRun.h"
 #include "AliHijingRndm.h"
+#include "AliLog.h"
+#include "AliRun.h"
 
 ClassImp(AliGenHijing)
 
@@ -49,13 +50,12 @@ AliGenHijing::AliGenHijing()
      fEvaluate(0),
      fSelectAll(0),
      fFlavor(0),
-     fEnergyCMS(5500.),
      fKineBias(0.),
      fTrials(0),
      fXsection(0.),
      fHijing(0),
-     fPtHardMin(0.),
-     fPtHardMax(1.e4),
+     fPtHardMin(2.0),
+     fPtHardMax(-1),
      fSpectators(1),
      fDsigmaDb(0),
      fDnDb(0),
@@ -73,10 +73,12 @@ AliGenHijing::AliGenHijing()
      fTargetSpecp(0),
      fLHC(kFALSE),
      fRandomPz(kFALSE),
-     fNoHeavyQuarks(kFALSE)
+     fNoHeavyQuarks(kFALSE),
+     fEventTime(0.)
 {
-// Constructor
-    AliHijingRndm::SetHijingRandom(GetRandom());
+  // Constructor
+  fEnergyCMS = 5500.;
+  AliHijingRndm::SetHijingRandom(GetRandom());
 }
 
 AliGenHijing::AliGenHijing(Int_t npart)
@@ -92,13 +94,12 @@ AliGenHijing::AliGenHijing(Int_t npart)
      fEvaluate(0),
      fSelectAll(0),
      fFlavor(0),
-     fEnergyCMS(5500.),
      fKineBias(0.),
      fTrials(0),
      fXsection(0.),
      fHijing(0),
-     fPtHardMin(0.),
-     fPtHardMax(1.e4),
+     fPtHardMin(2.0),
+     fPtHardMax(-1),
      fSpectators(1),
      fDsigmaDb(0),
      fDnDb(0),
@@ -116,10 +117,12 @@ AliGenHijing::AliGenHijing(Int_t npart)
      fTargetSpecp(0),
      fLHC(kFALSE),
      fRandomPz(kFALSE),
-     fNoHeavyQuarks(kFALSE)
+     fNoHeavyQuarks(kFALSE),
+     fEventTime(0.)
 {
 // Default PbPb collisions at 5. 5 TeV
 //
+    fEnergyCMS = 5500.;
     fName = "Hijing";
     fTitle= "Particle Generator using HIJING";
 //
@@ -152,6 +155,8 @@ void AliGenHijing::Init()
     fHijing->SetIHPR2(6,  fShadowing);
     fHijing->SetIHPR2(12, fDecaysOff);    
     fHijing->SetIHPR2(21, fKeep);
+    fHijing->SetHIPR1(8,  fPtHardMin);         
+    fHijing->SetHIPR1(9,  fPtHardMax);         
     fHijing->SetHIPR1(10, fPtMinJet);  
     fHijing->SetHIPR1(50, fSimpleJet);
 //
@@ -230,6 +235,7 @@ void AliGenHijing::Generate()
   fTrials = 0;
   
   for (j = 0;j < 3; j++) origin0[j] = fOrigin[j];
+
   if(fVertexSmear == kPerEvent) {
       Vertex();
       for (j=0; j < 3; j++) origin0[j] = fVertex[j];
@@ -237,6 +243,7 @@ void AliGenHijing::Generate()
 
 
   Float_t sign = (fRandomPz && (Rndm() < 0.5))? -1. : 1.;
+
   while(1)
   {
 //    Generate one event
@@ -257,7 +264,6 @@ void AliGenHijing::Generate()
       
       
       Int_t np = fParticles.GetEntriesFast();
-      printf("\n **************************************************%d\n",np);
       Int_t nc = 0;
       if (np == 0 ) continue;
       Int_t i;
@@ -311,7 +317,7 @@ void AliGenHijing::Generate()
 //
 
       for (i = 0; i<np; i++) {
-         TParticle *  iparticle = (TParticle *) fParticles.At(i);
+         iparticle = (TParticle *) fParticles.At(i);
 // Is this a final state particle ?
          if (!Stable(iparticle)) continue;
       
@@ -355,7 +361,7 @@ void AliGenHijing::Generate()
 // Write particles to stack
 
       for (i = 0; i<np; i++) {
-         TParticle *  iparticle = (TParticle *) fParticles.At(i);
+         iparticle = (TParticle *) fParticles.At(i);
          Bool_t  hasMother   = (iparticle->GetFirstMother()     >=0);
          Bool_t  hasDaughter = (iparticle->GetFirstDaughter()   >=0);
          if (pSelected[i]) {
@@ -367,9 +373,16 @@ void AliGenHijing::Generate()
              origin[0] = origin0[0]+iparticle->Vx()/10;
              origin[1] = origin0[1]+iparticle->Vy()/10;
              origin[2] = origin0[2]+iparticle->Vz()/10;
-             tof = kconv * iparticle->T() + sign * origin0[2] / 3.e10;
-             if (fPileUpTimeWindow > 0.) tof += tInt;
+             fEventTime = 0.;
              
+             if (TestBit(kVertexRange)) {
+                 fEventTime = sign * origin0[2] / 2.99792458e10;
+                 tof = kconv * iparticle->T() + fEventTime;
+             } else {
+                 tof = kconv * iparticle->T();
+                 fEventTime = tInt;
+                 if (fPileUpTimeWindow > 0.) tof += tInt;
+             }
              imo = -1;
              TParticle* mother = 0;
              if (hasMother) {
@@ -387,12 +400,12 @@ void AliGenHijing::Generate()
       delete[] newPos;
       delete[] pSelected;
       
-      printf("\n I've put %i particles on the stack \n",nc);
+      AliInfo(Form("\n I've put %i particles on the stack \n",nc));
       if (nc > 0) {
          jev += nc;
          if (jev >= fNpart || fNpart == -1) {
              fKineBias = Float_t(fNpart)/Float_t(fTrials);
-             printf("\n Trials: %i %i %i\n",fTrials, fNpart, jev);
+             AliInfo(Form("\n Trials: %i %i %i\n",fTrials, fNpart, jev));
              break;
          }
       }
@@ -555,6 +568,7 @@ void AliGenHijing::MakeHeader()
     ((AliGenHijingEventHeader*) header)->SetSpectators(fProjectileSpecn, fProjectileSpecp,
                                                       fTargetSpecn,fTargetSpecp);
     ((AliGenHijingEventHeader*) header)->SetReactionPlaneAngle(fHijing->GetHINT1(20));
+//    printf("Impact Parameter %13.3f \n", fHijing->GetHINT1(19));
     
 
 
@@ -585,6 +599,7 @@ void AliGenHijing::MakeHeader()
     ((AliGenHijingEventHeader*) header)->SetTrials(fTrials);
 // Event Vertex
     header->SetPrimaryVertex(fVertex);
+    header->SetInteractionTime(fEventTime);
     AddHeader(header);
     fCollisionGeometry = (AliGenHijingEventHeader*)  header;
 }