Updates according to
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 25 Oct 2010 10:16:26 +0000 (10:16 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 25 Oct 2010 10:16:26 +0000 (10:16 +0000)
http://savannah.cern.ch/bugs/?74124

ANALYSIS/AliAnalysisTaskESDfilter.cxx
STEER/AliAODHeader.cxx
STEER/AliAODHeader.h

index 65d0fc8..fd9f195 100644 (file)
@@ -21,6 +21,7 @@
 #include <TArrayI.h>\r
 #include <TRandom.h>\r
 #include <TParticle.h>\r
+#include <TFile.h>\r
 \r
 #include "AliAnalysisTaskESDfilter.h"\r
 #include "AliAnalysisManager.h"\r
@@ -160,6 +161,12 @@ void AliAnalysisTaskESDfilter::ConvertESDtoAOD() {
     \r
     header->SetRunNumber(esd->GetRunNumber());\r
     header->SetOfflineTrigger(fInputHandler->IsEventSelected()); // propagate the decision of the physics selection\r
+    TTree* tree = fInputHandler->GetTree();\r
+    if (tree) {\r
+       TFile* file = tree->GetCurrentFile();\r
+       if (file) header->SetESDFileName(file->GetName());\r
+    }\r
+    \r
     if (old) {\r
        header->SetBunchCrossNumber(0);\r
        header->SetOrbitNumber(0);\r
@@ -172,13 +179,16 @@ void AliAnalysisTaskESDfilter::ConvertESDtoAOD() {
        header->SetOrbitNumber(esd->GetOrbitNumber());\r
        header->SetPeriodNumber(esd->GetPeriodNumber());\r
        header->SetEventType(esd->GetEventType());\r
-       header->SetCentrality(-999.);        // FIXME\r
+       header->SetCentrality(-999.);\r
+       header->SetEventNumberESDFile(esd->GetHeader()->GetEventNumberInFile());\r
     }\r
     // Trigger\r
     header->SetFiredTriggerClasses(esd->GetFiredTriggerClasses());\r
     header->SetTriggerMask(esd->GetTriggerMask()); \r
     header->SetTriggerCluster(esd->GetTriggerCluster());\r
-    \r
+    header->SetL0TriggerInputs(esd->GetHeader()->GetL0TriggerInputs());    \r
+    header->SetL1TriggerInputs(esd->GetHeader()->GetL1TriggerInputs());    \r
+    header->SetL2TriggerInputs(esd->GetHeader()->GetL2TriggerInputs());    \r
 \r
     header->SetMagneticField(esd->GetMagneticField());\r
     header->SetMuonMagFieldScale(esd->GetCurrentDip()/6000.);\r
index 5fd291a..22f8fcd 100644 (file)
@@ -53,7 +53,12 @@ AliAODHeader::AliAODHeader() :
   fTriggerCluster(0), 
   fDiamondZ(0.), 
   fDiamondSig2Z(0.),
-  fOfflineTrigger(0)
+  fOfflineTrigger(0),
+  fESDFileName(""),
+  fEventNumberESDFile(-1),
+  fL0TriggerInputs(0),
+  fL1TriggerInputs(0),
+  fL2TriggerInputs(0)
 {
   // default constructor
 
@@ -97,7 +102,12 @@ AliAODHeader::AliAODHeader(Int_t nRun,
   fTriggerCluster(0), 
   fDiamondZ(0.), 
   fDiamondSig2Z(0.),
-  fOfflineTrigger(0)
+  fOfflineTrigger(0),
+  fESDFileName(""),
+  fEventNumberESDFile(-1),
+  fL0TriggerInputs(0),
+  fL1TriggerInputs(0),
+  fL2TriggerInputs(0)
 {
   // constructor
 
@@ -158,7 +168,12 @@ AliAODHeader::AliAODHeader(Int_t nRun,
   fTriggerCluster(trigClus),
   fDiamondZ(0.), 
   fDiamondSig2Z(0.),
-  fOfflineTrigger(0)
+  fOfflineTrigger(0),
+  fESDFileName(""),
+  fEventNumberESDFile(-1),
+  fL0TriggerInputs(0),
+  fL1TriggerInputs(0),
+  fL2TriggerInputs(0)
 {
   // constructor
 
@@ -207,7 +222,12 @@ AliAODHeader::AliAODHeader(const AliAODHeader& hdr) :
   fTriggerCluster(hdr.fTriggerCluster), 
   fDiamondZ(hdr.fDiamondZ), 
   fDiamondSig2Z(hdr.fDiamondSig2Z),
-  fOfflineTrigger(hdr.fOfflineTrigger)
+  fOfflineTrigger(hdr.fOfflineTrigger),
+  fESDFileName(hdr.fESDFileName),
+  fEventNumberESDFile(hdr.fEventNumberESDFile),
+  fL0TriggerInputs(hdr.fL0TriggerInputs),
+  fL1TriggerInputs(hdr.fL1TriggerInputs),
+  fL2TriggerInputs(hdr.fL2TriggerInputs)
 {
   // Copy constructor.
   
@@ -266,7 +286,11 @@ AliAODHeader& AliAODHeader::operator=(const AliAODHeader& hdr)
     fDiamondZ         = hdr.fDiamondZ;
     fDiamondSig2Z     = hdr.fDiamondSig2Z;
     fOfflineTrigger   = hdr.fOfflineTrigger;
-
+    fESDFileName      = hdr.fESDFileName;
+    fEventNumberESDFile = hdr.fEventNumberESDFile;
+    fL0TriggerInputs    = hdr.fL0TriggerInputs;
+    fL1TriggerInputs    = hdr.fL1TriggerInputs;
+    fL2TriggerInputs    = hdr.fL2TriggerInputs;
 
     SetName(hdr.fName);
     SetTitle(hdr.fTitle);
index 44a5e98..322efab 100644 (file)
@@ -12,6 +12,7 @@
 
 #include "AliVHeader.h"
 #include "AliAODVertex.h"
+#include <TString.h>
 
 class TGeoHMatrix;
 class TString;
@@ -47,8 +48,9 @@ class AliAODHeader : public AliVHeader {
   virtual ~AliAODHeader();
   AliAODHeader(const AliAODHeader& evt); 
   AliAODHeader& operator=(const AliAODHeader& evt);
-  
-  Int_t     GetRunNumber()          const { return fRunNumber; }
+
+  Int_t     GetRunNumber()          const { return fRunNumber;}
+  Int_t     GetEventNumberESDFile() const { return fEventNumberESDFile;}
   UShort_t  GetBunchCrossNumber()   const { return fBunchCrossNumber; }
   UInt_t    GetOrbitNumber()        const { return fOrbitNumber; }
   UInt_t    GetPeriodNumber()       const { return fPeriodNumber; }
@@ -83,8 +85,13 @@ class AliAODHeader : public AliVHeader {
   void GetDiamondCovXY(Float_t cov[3]) const {
     for(Int_t i=0;i<3;i++) cov[i]=fDiamondCovXY[i]; return;
   }
+  UInt_t   GetL0TriggerInputs() const {return fL0TriggerInputs;}  
+  UInt_t   GetL1TriggerInputs() const {return fL1TriggerInputs;} 
+  UShort_t GetL2TriggerInputs() const {return fL2TriggerInputs;} 
+
   
   void SetRunNumber(Int_t nRun)                { fRunNumber = nRun; }
+  void SetEventNumberESDFile(Int_t n)          { fEventNumberESDFile=n; }
   void SetBunchCrossNumber(UShort_t nBx)       { fBunchCrossNumber = nBx; }
   void SetOrbitNumber(UInt_t nOr)              { fOrbitNumber = nOr; }
   void SetPeriodNumber(UInt_t nPer)            { fPeriodNumber = nPer; }
@@ -118,7 +125,10 @@ class AliAODHeader : public AliVHeader {
   void SetDiamondZ(Float_t z, Float_t sig2z){
     fDiamondZ=z; fDiamondSig2Z=sig2z;
   }
-
+  void SetL0TriggerInputs(UInt_t n)   {fL0TriggerInputs=n;}
+  void SetL1TriggerInputs(UInt_t n)   {fL1TriggerInputs=n;}
+  void SetL2TriggerInputs(UShort_t n) {fL2TriggerInputs=n;}
+  void SetESDFileName(TString name)   {fESDFileName = name;}
   void Print(Option_t* option = "") const;
 
   void    SetPHOSMatrix(TGeoHMatrix*matrix, Int_t i) {
@@ -137,7 +147,7 @@ class AliAODHeader : public AliVHeader {
   
   UInt_t GetOfflineTrigger() { return fOfflineTrigger; }
   void SetOfflineTrigger(UInt_t trigger) { fOfflineTrigger = trigger; }
-  
+  TString GetESDFileName()   {return fESDFileName;}
   enum {kNPHOSMatrix = 5};
   enum {kNEMCALMatrix = 12};
   
@@ -173,8 +183,12 @@ class AliAODHeader : public AliVHeader {
   TGeoHMatrix*    fPHOSMatrix[kNPHOSMatrix];   //PHOS module position and orientation matrices
   TGeoHMatrix*    fEMCALMatrix[kNEMCALMatrix]; //EMCAL supermodule position and orientation matrices
   UInt_t      fOfflineTrigger;      // fired offline triggers for this event
-
-  ClassDef(AliAODHeader,12);
+  TString     fESDFileName;         // ESD file name to which this event belongs
+  Int_t       fEventNumberESDFile;  // Event number in ESD file
+  UInt_t      fL0TriggerInputs;     // L0 Trigger Inputs (mask)
+  UInt_t      fL1TriggerInputs;     // L1 Trigger Inputs (mask)
+  UShort_t    fL2TriggerInputs;     // L2 Trigger Inputs (mask)
+  ClassDef(AliAODHeader, 13);
 };
 
 #endif