]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/ESD/AliESDEvent.h
including task to run in PWGGA train
[u/mrichter/AliRoot.git] / STEER / ESD / AliESDEvent.h
index 436b2ac8ee24e70b5043034c8382bf1fe89a66e7..ad1935a599b4786d7f9c296e4b7ef6995b21dfda 100644 (file)
@@ -42,6 +42,9 @@
 #include "AliTOFHeader.h"
 
 #include "AliESDVZERO.h"
+#ifdef MFT_UPGRADE
+//#include "AliESDMFT.h"
+#endif
 
 class AliESDfriend;
 class AliESDHLTtrack;
@@ -53,6 +56,7 @@ class AliESDv0;
 class AliMultiplicity;
 class AliRawDataErrorLog;
 class AliESDRun;
+class AliESDTrdTrigger;
 class AliESDTrdTrack;
 class AliESDTrdTracklet;
 class AliESDMuonTrack;
@@ -63,6 +67,7 @@ class AliEventplane;
 class TRefArray;
 class AliESDACORDE;
 class AliESDHLTDecision;
+class AliESDCosmicTrack;
 
 class TList;
 class TString;
@@ -89,6 +94,7 @@ public:
                       kTracks,
                       kMuonTracks,
                       kPmdTracks,
+                      kTrdTrigger,
                       kTrdTracks,
                       kTrdTracklets,
                       kV0s,
@@ -100,7 +106,11 @@ public:
                       kErrorLogs,
                        kESDACORDE,
                       kTOFHeader,
+                       kCosmicTracks,
                       kESDListN
+                  #ifdef MFT_UPGRADE
+       //           , kESDMFT
+                  #endif
   };
 
   AliESDEvent();
@@ -136,13 +146,16 @@ public:
   void     SetEMCALMatrix(TGeoHMatrix*matrix, Int_t i) {if(fESDRun) fESDRun->SetEMCALMatrix(matrix,i);}
   const TGeoHMatrix* GetEMCALMatrix(Int_t i) const {return fESDRun?fESDRun->GetEMCALMatrix(i):0x0;}
   void     SetCaloTriggerType(const Int_t* type) {if (fESDRun) fESDRun->SetCaloTriggerType(type);}
-  Int_t*   GetCaloTriggerType() const {return fESDRun?fESDRun->GetCaloTriggerType():0x0;};
+  Int_t*   GetCaloTriggerType() const {return fESDRun?fESDRun->GetCaloTriggerType():0x0;}
+  virtual const Float_t* GetVZEROEqFactors() const {return fESDRun?fESDRun->GetVZEROEqFactors():0x0;}
+  virtual Float_t        GetVZEROEqMultiplicity(Int_t i) const;
        
   //
   void        SetCurrentL3(Float_t cur)           const  {if(fESDRun) fESDRun->SetCurrentL3(cur);}
   void        SetCurrentDip(Float_t cur)          const  {if(fESDRun) fESDRun->SetCurrentDip(cur);}
   void        SetBeamEnergy(Float_t be)           const  {if(fESDRun) fESDRun->SetBeamEnergy(be);}
   void        SetBeamType(const char* bt)         const  {if(fESDRun) fESDRun->SetBeamType(bt);}
+  void        SetBeamParticle(Int_t az, Int_t ibeam)      {if(fESDRun) fESDRun->SetBeamParticle(az,ibeam);}
   void        SetUniformBMap(Bool_t val=kTRUE)    const  {if(fESDRun) fESDRun->SetBit(AliESDRun::kUniformBMap,val);}
   void        SetBInfoStored(Bool_t val=kTRUE)    const  {if(fESDRun) fESDRun->SetBit(AliESDRun::kBInfoStored,val);}
   //
@@ -150,10 +163,14 @@ public:
   Float_t     GetCurrentDip()                     const  {return fESDRun?fESDRun->GetCurrentDip():0;}
   Float_t     GetBeamEnergy()                     const  {return fESDRun?fESDRun->GetBeamEnergy():0;}
   const char* GetBeamType()                       const  {return fESDRun?fESDRun->GetBeamType():0;}
+  Int_t       GetBeamParticle(Int_t ibeam)        const  {return fESDRun?fESDRun->GetBeamParticle(ibeam):0;}
+  Int_t       GetBeamParticleA(Int_t ibeam)       const  {return fESDRun?fESDRun->GetBeamParticleA(ibeam):0;}
+  Int_t       GetBeamParticleZ(Int_t ibeam)       const  {return fESDRun?fESDRun->GetBeamParticleZ(ibeam):0;}
   Bool_t      IsUniformBMap()                     const  {return fESDRun?fESDRun->TestBit(AliESDRun::kUniformBMap):kFALSE;}
   //
   Bool_t      InitMagneticField()                 const  {return fESDRun?fESDRun->InitMagneticField():kFALSE;} 
   void      SetT0spread(Float_t *t)               const  {if(fESDRun) fESDRun->SetT0spread(t);} 
+  void      SetVZEROEqFactors(Float_t factors[64]) const {if(fESDRun) fESDRun->SetVZEROEqFactors(factors);}
   // HEADER
   AliESDHeader* GetHeader() const {return fHeader;}
 
@@ -187,7 +204,7 @@ public:
   AliESDZDC*    GetESDZDC()  const {return fESDZDC;}
   AliESDZDC*    GetZDCData() const {return fESDZDC;}
 
-  void SetZDCData(AliESDZDC * obj);
+  void SetZDCData(const AliESDZDC * obj);
 
   // Delegated methods for fESDZDC
   Double_t GetZDCN1Energy() const {return fESDZDC?fESDZDC->GetZDCN1Energy():0;}
@@ -212,7 +229,7 @@ public:
 
   // TZERO CKB: put this in the header?
   const AliESDTZERO*    GetESDTZERO() const {return fESDTZERO;}
-  void SetTZEROData(AliESDTZERO * obj);
+  void SetTZEROData(const AliESDTZERO * obj);
  // delegetated methods for fESDTZERO
 
   Double32_t GetT0zVertex() const {return fESDTZERO?fESDTZERO->GetT0zVertex():0;}
@@ -233,8 +250,14 @@ public:
 
   // VZERO 
   AliESDVZERO *GetVZEROData() const { return fESDVZERO; }
-  void SetVZEROData(AliESDVZERO * obj);
-
+  void SetVZEROData(const AliESDVZERO * obj);
+       
+  #ifdef MFT_UPGRADE
+  // MFT 
+//  AliESDMFT *GetMFTData() const { return fESDMFT; }
+//  void SetMFTData(AliESDMFT * obj);
+  #endif
+       
  // ACORDE
   AliESDACORDE *GetACORDEData() const { return fESDACORDE;}
   void SetACORDEData(AliESDACORDE * obj);
@@ -299,7 +322,10 @@ public:
   virtual Bool_t IsPileupFromSPDInMultBins() const;
 
   AliESDtrack *GetTrack(Int_t i) const {
-    return (AliESDtrack *)(fTracks?fTracks->UncheckedAt(i):0x0);
+    if (!fTracks) return 0;
+    AliESDtrack* track = (AliESDtrack*) fTracks->UncheckedAt(i);
+    track->SetESDEvent(this);
+    return track;
   }
   Int_t  AddTrack(const AliESDtrack *t);
 
@@ -345,6 +371,12 @@ public:
   }
 
   
+  void SetTrdTrigger(const AliESDTrdTrigger *t);
+
+  AliESDTrdTrigger* GetTrdTrigger() const {
+    return (AliESDTrdTrigger*)(fTrdTrigger);
+  }
+
   void AddTrdTrack(const AliESDTrdTrack *t);
 
   AliESDTrdTracklet* GetTrdTracklet(Int_t idx) const {
@@ -384,6 +416,13 @@ public:
          else
                  return fPHOSTrigger;
   }
+
+  AliESDCosmicTrack *GetCosmicTrack(Int_t i) const {
+    return fCosmicTracks ? (AliESDCosmicTrack*) fCosmicTracks->UncheckedAt(i) : 0;
+  }
+  const TClonesArray * GetCosmicTracks() const{ return fCosmicTracks;}
+
+  void  AddCosmicTrack(const AliESDCosmicTrack *t);
        
   AliRawDataErrorLog *GetErrorLog(Int_t i) const {
     return (AliRawDataErrorLog *)(fErrorLogs?fErrorLogs->UncheckedAt(i):0x0);
@@ -411,7 +450,8 @@ public:
   Int_t GetNumberOfV0s()      const {return fV0s?fV0s->GetEntriesFast():0;}
   Int_t GetNumberOfCascades() const {return fCascades?fCascades->GetEntriesFast():0;}
   Int_t GetNumberOfKinks() const {return fKinks?fKinks->GetEntriesFast():0;}
-  
+
+  Int_t GetNumberOfCosmicTracks() const {return fCosmicTracks ? fCosmicTracks->GetEntriesFast():0;}  
   Int_t GetEMCALClusters(TRefArray *clusters) const;
   Int_t GetPHOSClusters(TRefArray *clusters) const;
   Int_t GetNumberOfCaloClusters() const {return fCaloClusters?fCaloClusters->GetEntriesFast():0;}
@@ -444,6 +484,10 @@ public:
   virtual Int_t        EventIndexForPHOSCell(Int_t)    const {return 0;}
   virtual Int_t        EventIndexForEMCALCell(Int_t)   const {return 0;} 
   
+  void SetDetectorStatus(ULong_t detMask) {fDetectorStatus|=detMask;}
+  void ResetDetectorStatus(ULong_t detMask) {fDetectorStatus&=~detMask;}
+  ULong_t GetDetectorStatus() const {return fDetectorStatus;}
+  Bool_t IsDetectorOn(ULong_t detMask) const {return (fDetectorStatus&detMask)>0;}
 
 protected:
   AliESDEvent(const AliESDEvent&);
@@ -464,6 +508,7 @@ protected:
   AliESDCaloTrigger* fPHOSTrigger;     //! PHOS Trigger information
   AliESDCaloTrigger* fEMCALTrigger;    //! PHOS Trigger information
   AliESDACORDE    *fESDACORDE;        //! ACORDE ESD object caontaining bit pattern
+  AliESDTrdTrigger *fTrdTrigger;      //! TRD trigger information
 
   TClonesArray *fSPDPileupVertices;//! Pileup primary vertices reconstructed by SPD 
   TClonesArray *fTrkPileupVertices;//! Pileup primary vertices reconstructed using the tracks 
@@ -478,6 +523,7 @@ protected:
   TClonesArray *fCaloClusters;     //! Calorimeter clusters for PHOS/EMCAL
   AliESDCaloCells *fEMCALCells;     //! EMCAL cell info
   AliESDCaloCells *fPHOSCells;     //! PHOS cell info
+  TClonesArray *fCosmicTracks;     //! Tracks created by cosmics finder
   TClonesArray *fErrorLogs;        //! Raw-data reading error messages
  
 
@@ -495,7 +541,10 @@ protected:
                              //  and T0spread as written in OCDB
   AliCentrality *fCentrality; //! Centrality for AA collision
   AliEventplane *fEventplane; //! Event plane for AA collision
-  ClassDef(AliESDEvent,14)  //ESDEvent class 
+
+  ULong_t fDetectorStatus; // set detector event status bit for good event selection
+
+  ClassDef(AliESDEvent,17)  //ESDEvent class 
 };
 #endif