bug #61669: Request to have the interaction time in AliGenEventHeader
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Feb 2010 10:03:59 +0000 (10:03 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Feb 2010 10:03:59 +0000 (10:03 +0000)
EVGEN/AliGenPileup.cxx
PYTHIA6/AliGenPythia.cxx
STEER/AliGenEventHeader.cxx
STEER/AliGenEventHeader.h
THijing/AliGenHijing.cxx
THijing/AliGenHijing.h

index 10461d8..6d0925b 100644 (file)
@@ -244,6 +244,7 @@ void AliGenPileup::Generate()
 
       // Store the interaction header in the container of the headers
       ((AliGenEventHeader*) fHeader->GetHeaders()->Last())->SetPrimaryVertex(eventVertex);
+      ((AliGenEventHeader*) fHeader->GetHeaders()->Last())->SetInteractionTime(vTime);
     }
   }
   delete [] nIntBC;
index b3dae11..bb86ff9 100644 (file)
@@ -1210,7 +1210,7 @@ void AliGenPythia::MakeHeader()
 //
 // Event Vertex 
     fHeader->SetPrimaryVertex(fVertex);
-    
+    fHeader->SetInteractionTime(fEventTime);
 //
 // Number of primaries
     fHeader->SetNProduced(fNprimaries);
index 1ff582f..db9c6c1 100644 (file)
@@ -30,7 +30,8 @@ ClassImp(AliGenEventHeader)
 //_______________________________________________________________________
 AliGenEventHeader::AliGenEventHeader():
   fNProduced(-1),
-  fVertex(3)
+  fVertex(3),
+  fInteractionTime(0.)
 {
   //
   // Constructor
@@ -41,7 +42,8 @@ AliGenEventHeader::AliGenEventHeader():
 AliGenEventHeader::AliGenEventHeader(const char * name):
   TNamed(name, "Event Header"),
   fNProduced(-1),
-  fVertex(3)
+  fVertex(3),
+  fInteractionTime(0.)
 {
   //
   // Constructor
index c40ef93..6b060da 100644 (file)
@@ -23,17 +23,21 @@ class AliGenEventHeader : public TNamed
   AliGenEventHeader();
   virtual ~AliGenEventHeader() {}
   // Getters
-  virtual Int_t           NProduced()  const   {return fNProduced;}
+  virtual Int_t           NProduced()  const       {return fNProduced;}
   virtual void            PrimaryVertex(TArrayF &o) const;
-  
+  virtual Float_t         InteractionTime() const  {return fInteractionTime;}
   // Setters
   virtual void   SetNProduced(Int_t nprod)         {fNProduced=nprod;}
   virtual void   SetPrimaryVertex(const TArrayF &o);
-  
+  virtual void   SetInteractionTime(Float_t t)     {fInteractionTime = t;}
+        
+         
 protected:
   Int_t     fNProduced;                 // Number stable or undecayed particles
   TArrayF   fVertex;                    // Primary Vertex Position
-  ClassDef(AliGenEventHeader,2)         // Event header for primary event
+  Float_t   fInteractionTime;           // Time of the interaction
+  
+  ClassDef(AliGenEventHeader, 3)        // Event header for primary event
 };
 
 #endif
index 1f82522..b98a039 100644 (file)
@@ -73,7 +73,8 @@ AliGenHijing::AliGenHijing()
      fTargetSpecp(0),
      fLHC(kFALSE),
      fRandomPz(kFALSE),
-     fNoHeavyQuarks(kFALSE)
+     fNoHeavyQuarks(kFALSE),
+     fEventTime(0.)
 {
   // Constructor
   fEnergyCMS = 5500.;
@@ -116,7 +117,8 @@ AliGenHijing::AliGenHijing(Int_t npart)
      fTargetSpecp(0),
      fLHC(kFALSE),
      fRandomPz(kFALSE),
-     fNoHeavyQuarks(kFALSE)
+     fNoHeavyQuarks(kFALSE),
+     fEventTime(0.)
 {
 // Default PbPb collisions at 5. 5 TeV
 //
@@ -369,10 +371,14 @@ void AliGenHijing::Generate()
              origin[0] = origin0[0]+iparticle->Vx()/10;
              origin[1] = origin0[1]+iparticle->Vy()/10;
              origin[2] = origin0[2]+iparticle->Vz()/10;
+             fEventTime = 0.;
+             
              if (TestBit(kVertexRange)) {
-                 tof = kconv * iparticle->T() + sign * origin0[2] / 2.99792458e10;
+                 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;
@@ -591,6 +597,7 @@ void AliGenHijing::MakeHeader()
     ((AliGenHijingEventHeader*) header)->SetTrials(fTrials);
 // Event Vertex
     header->SetPrimaryVertex(fVertex);
+    header->SetInteractionTime(fEventTime);
     AddHeader(header);
     fCollisionGeometry = (AliGenHijingEventHeader*)  header;
 }
index 1945bfd..fca7318 100644 (file)
@@ -121,6 +121,7 @@ class AliGenHijing : public AliGenMC
     Int_t       fLHC;            // Assume LHC as lab frame
     Bool_t      fRandomPz;       // Randomise sign of pz  event by event
     Bool_t      fNoHeavyQuarks;  // If true no heavy quarks are produced
+    Float_t     fEventTime;      // The event time
     
  private:
     AliGenHijing(const AliGenHijing &Hijing);