Event type and timestamp from the raw event header is now stored in the ESD (M.Ivanov)
authorcvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 31 Oct 2006 16:20:14 +0000 (16:20 +0000)
committercvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 31 Oct 2006 16:20:14 +0000 (16:20 +0000)
STEER/AliESD.cxx
STEER/AliESD.h
STEER/AliReconstruction.cxx
STEER/AliReconstruction.h

index b24e193..981edba 100644 (file)
@@ -31,6 +31,8 @@ ClassImp(AliESD)
 AliESD::AliESD():
   fEventNumber(0),
   fRunNumber(0),
+  fTimeStamp(0),
+  fEventType(0),
   fTriggerMask(0),
   fTriggerCluster(0),
   fRecoVersion(0),
@@ -72,6 +74,8 @@ AliESD::AliESD(const AliESD& esd):
   TObject(esd),
   fEventNumber(esd.fEventNumber),
   fRunNumber(esd.fRunNumber),
+  fTimeStamp(esd.fTimeStamp),
+  fEventType(esd.fEventType),
   fTriggerMask(esd.fTriggerMask),
   fTriggerCluster(esd.fTriggerCluster),
   fRecoVersion(esd.fRecoVersion),
@@ -118,6 +122,8 @@ AliESD & AliESD::operator=(const AliESD& source) {
 
   fEventNumber = source.fEventNumber;
   fRunNumber = source.fRunNumber;
+  fTimeStamp   = source.fTimeStamp;
+  fEventType   = source.fEventType;
   fTriggerMask = source.fTriggerMask;
   fTriggerCluster = source.fTriggerCluster;
   fRecoVersion = source.fRecoVersion;
@@ -183,6 +189,8 @@ void AliESD::Reset()
 {
   fEventNumber=0;
   fRunNumber=0;
+  fTimeStamp = 0;
+  fEventType = 0;
   fTriggerMask=0;
   fTriggerCluster=0;
   fRecoVersion=0;
index 7fc2198..baec649 100644 (file)
@@ -42,6 +42,8 @@ public:
 
   void SetEventNumber(Int_t n) {fEventNumber=n;}
   void SetRunNumber(Int_t n) {fRunNumber=n;}
+  void SetTimeStamp(UInt_t timeStamp){fTimeStamp = timeStamp;}
+  void SetEventType(UInt_t eventType){fEventType = eventType;}
   void SetTriggerMask(ULong64_t n) {fTriggerMask=n;}
   void SetTriggerCluster(UChar_t n) {fTriggerCluster = n;}
   void SetMagneticField(Float_t mf){fMagneticField = mf;}
@@ -135,6 +137,8 @@ public:
 
   Int_t  GetEventNumber() const {return fEventNumber;}
   Int_t  GetRunNumber() const {return fRunNumber;}
+  UInt_t    GetTimeStamp()  const { return fTimeStamp;}
+  UInt_t    GetEventType()  const { return fEventType;}
   ULong64_t GetTriggerMask() const {return fTriggerMask;}
   UChar_t  GetTriggerCluster() const {return fTriggerCluster;}
   
@@ -202,6 +206,8 @@ protected:
   // Event Identification
   Int_t        fEventNumber;     // Event Number
   Int_t        fRunNumber;       // Run Number
+  UInt_t       fTimeStamp;       // Time stamp
+  UInt_t       fEventType;       // Type of Event
   ULong64_t    fTriggerMask;     // Trigger Type (mask)
   UChar_t      fTriggerCluster;  // Trigger cluster (mask)
   Int_t        fRecoVersion;     // Version of reconstruction 
@@ -241,7 +247,7 @@ protected:
  
   AliESDFMD *  fESDFMD; // FMD object containing rough multiplicity
 
-  ClassDef(AliESD,14)  //ESD class 
+  ClassDef(AliESD,15)  //ESD class 
 };
 #endif 
 
index 356854f..d18e8bc 100644 (file)
 #include "AliRawReaderFile.h"
 #include "AliRawReaderDate.h"
 #include "AliRawReaderRoot.h"
+#include "AliRawEventHeaderBase.h"
 #include "AliESD.h"
 #include "AliESDfriend.h"
 #include "AliESDVertex.h"
@@ -733,6 +734,8 @@ Bool_t AliReconstruction::Run(const char* input,
        if (fStopOnError) {CleanUp(file, fileOld); return kFALSE;}
       }
     }
+    // fill Event header information from the RawEventHeader
+    if (fRawReader){FillRawEventHeaderESD(esd);}
 
     // combined PID
     AliESDpid::MakePID(esd);
@@ -1255,6 +1258,30 @@ Bool_t AliReconstruction::FillTriggerESD(AliESD*& esd)
   return kTRUE;
 }
 
+
+
+
+
+//_____________________________________________________________________________
+Bool_t AliReconstruction::FillRawEventHeaderESD(AliESD*& esd)
+{
+  // 
+  // Filling information from RawReader Header
+  // 
+
+  AliInfo("Filling information from RawReader Header");
+  esd->SetTimeStamp(0);
+  esd->SetEventType(0);
+  const AliRawEventHeaderBase * eventHeader = fRawReader->GetEventHeader();
+  if (eventHeader){
+    esd->SetTimeStamp((eventHeader->Get("Timestamp")));  
+    esd->SetEventType((eventHeader->Get("Type")));  
+  }
+
+  return kTRUE;
+}
+
+
 //_____________________________________________________________________________
 Bool_t AliReconstruction::IsSelected(TString detName, TString& detectors) const
 {
index 61f32fb..4128a3d 100644 (file)
@@ -111,6 +111,7 @@ private:
   Bool_t         RunTracking(AliESD*& esd);
   Bool_t         FillESD(AliESD*& esd, const TString& detectors);
   Bool_t         FillTriggerESD(AliESD*& esd);
+  Bool_t         FillRawEventHeaderESD(AliESD*& esd);
 
   Bool_t         IsSelected(TString detName, TString& detectors) const;
   Bool_t         InitRunLoader();