- common struct corrected
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 29 Oct 2010 19:58:46 +0000 (19:58 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 29 Oct 2010 19:58:46 +0000 (19:58 +0000)
- save impact parameter in header

TUHKMgen/AliGenUHKM.cxx
TUHKMgen/TUHKMgen.h
TUHKMgen/UHKM/HYJET_COMMONS.h
TUHKMgen/UHKM/InitialStateHydjet.cxx
TUHKMgen/UHKM/InitialStateHydjet.h

index 34bbdf8..324bab7 100755 (executable)
@@ -452,14 +452,21 @@ void AliGenUHKM::Generate()
 
   // Builds the event header, to be called after each event
   AliGenEventHeader* header = new AliGenHijingEventHeader("UHKM");
+  Double_t b       = 0.;
+  Double_t npart   = 0; 
+  Double_t nbin    = 0;
+  fUHKMgen->GetCentrality(b, npart, nbin);
+  printf("********** %13.3f %13.3f %13.3f \n", b, npart, nbin);
+  
+
 
   ((AliGenHijingEventHeader*) header)->SetNProduced(fNprimaries);
   ((AliGenHijingEventHeader*) header)->SetPrimaryVertex(eventVertex);
-  ((AliGenHijingEventHeader*) header)->SetImpactParameter(0.0);
+  ((AliGenHijingEventHeader*) header)->SetImpactParameter(b);
   ((AliGenHijingEventHeader*) header)->SetTotalEnergy(0.0);
   ((AliGenHijingEventHeader*) header)->SetHardScatters(0);
-  ((AliGenHijingEventHeader*) header)->SetParticipants(0, 0);
-  ((AliGenHijingEventHeader*) header)->SetCollisions(0, 0, 0, 0);
+  ((AliGenHijingEventHeader*) header)->SetParticipants(npart, 0);
+  ((AliGenHijingEventHeader*) header)->SetCollisions(nbin, 0, 0, 0);
   ((AliGenHijingEventHeader*) header)->SetSpectators(0, 0, 0, 0);
   ((AliGenHijingEventHeader*) header)->SetReactionPlaneAngle(0);//evrot);
 
index 25efeb9..a6a457c 100755 (executable)
@@ -34,7 +34,8 @@ class TUHKMgen : public TGenerator {
   virtual TObjArray* ImportParticles(const Option_t* option="prim");
   // this function makes available the PDG info in our database 
   virtual DatabasePDG* PDGInfo() const {return fInitialState->PDGInfo();}
-
+  virtual void GetCentrality(Double_t& b, Double_t & npart, Double_t & nbin)
+      {fInitialState->GetCentrality(b, npart, nbin);}
   // Setters
   // set reasonable default parameters suited for central Au+Au collisions at RHIC(200GeV)
   void SetAllParametersRHIC();
index aeec7b8..e76f6a0 100644 (file)
@@ -97,13 +97,13 @@ extern "C" {
   //  common /hyfpar/ bgen,nbcol,npart,npyt,nhyd,npart0        
   typedef struct // for HYFPAR common block
   {
-    Double_t bgen;        // impact parameter 
-    Int_t nbcol;          // number of binary collisions
-    Double_t npart;       // n participants
-    Double_t npart0;      // n participants
-    Int_t npyt;           // number of pythia particles
-    Int_t nhyd;           // number of hydjet particles
-  }HYFPARCommon;
+    Double_t   bgen;           // impact parameter 
+    Double_t   nbcol;          // number of binary collisions
+    Double_t   npart;          // n participants
+    Double_t   npart0;         // n participants   
+    Int_t   npyt;              // number of pythia particles
+    Int_t   nhyd;              // number of hydjet particles
+  } HYFPARCommon;
   
 #define HYFPAR COMMON_BLOCK(HYFPAR,hyfpar)
   COMMON_BLOCK_DEF(HYFPARCommon, HYFPAR);
index eb4efcf..59eb5c8 100644 (file)
@@ -68,7 +68,13 @@ void InitialStateHydjet::Initialize(List_t &source, ParticleAllocator & allocato
 
   // run a HYDJET event
   hyevnt_(); 
-   
+
+  fBgen  =  HYFPAR.bgen * HYIPAR.RA;
+  fNpart =  HYFPAR.npart;
+  fNcoll =  HYFPAR.nbcol;
+
+  
+      
   if(fParams.fNhsel != 0) {   
     //get number of particles in jets
     Int_t numbJetPart = HYPART.njp;
@@ -128,7 +134,7 @@ void InitialStateHydjet::Initialize(List_t &source, ParticleAllocator & allocato
     coeffR1 = TMath::Power(coeffR1, 0.333333);
 
     double veff=fVolEff;
-
+    
     //------------------------------------
     //cycle on particles types
     for(Int_t i = 0; i < fParams.fNPartTypes; ++i) {
index bfae21d..073b039 100644 (file)
@@ -102,14 +102,13 @@ struct InitialParamsHydjet_t {
 
   Double_t fMuTh[1000];                    //Chemical potentials at thermal freezeout of hadron species
 
-
 };
 
 
 class InitialStateHydjet : public InitialState {
  public:
    
-  InitialStateHydjet() : fParams(), fVolEff(0){};
+  InitialStateHydjet() : fParams(), fVolEff(0), fBgen(0), fNpart(0), fNcoll(0) {};
   ~InitialStateHydjet() {};
   
   void SetVolEff(Double_t value) {fVolEff = value;}
@@ -122,12 +121,20 @@ class InitialStateHydjet : public InitialState {
   virtual void Initialize(List_t &source, ParticleAllocator &allocator);
   virtual Bool_t ReadParams();
   virtual Bool_t MultIni();
+  virtual void GetCentrality(Double_t& b, Double_t & npart, Double_t & nbin)
+      {b = fBgen; npart = fNpart; nbin = fNcoll;}
+  
   Bool_t IniOfThFreezeoutParameters();
   
   InitialParamsHydjet_t fParams;             // the list of initial state parameters
   
   private:
-   Double_t fVolEff;                           // the effective volume
+   Double_t fVolEff;                     // the effective volume
+   // Collision geometry
+   Double_t    fBgen;                       // Generated impact parameter
+   Double_t    fNpart;                      // Number of participants
+   Double_t    fNcoll;                      // Number of collisions 
+      
    Double_t F2(Double_t x, Double_t y);
    
    Double_t SimpsonIntegrator(Double_t a, Double_t b, Double_t phi);