]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliVEvent.h
changing offline trigger definitions once more:
[u/mrichter/AliRoot.git] / STEER / AliVEvent.h
index 860b06c5c3feaf44cc52e5cfbe45b749f0e19869..af580ef8a994369f958363e9448e2fcd110a1867 100644 (file)
 #include <TTree.h>
 #include "AliVHeader.h"
 #include "AliVParticle.h"
+#include "AliVVertex.h"
 
 class AliVEvent : public TObject {
 
 public:
+  enum EOfflineTriggerTypes { 
+      kMB           = BIT(0), // Minimum bias trigger, i.e. interaction trigger, offline SPD or V0 selection
+                              // empty slot
+      kMUON         = BIT(2), // Muon trigger, offline SPD or V0 selection
+      kHighMult     = BIT(3), // High-multiplicity trigger (threshold defined online), offline SPD or V0 selection
+      kUserDefined  = BIT(31), // Set when custom trigger classes are set in AliPhysicsSelection, offline SPD or V0 selection
+      kAny          = 0xffffffff // to accept any trigger
+  };
 
   AliVEvent() { }
   virtual ~AliVEvent() { } 
@@ -29,16 +38,16 @@ public:
 
   // Services
   virtual void AddObject(TObject* obj) = 0;
-  virtual TObject* FindListObject(const char *name) = 0;
+  virtual TObject* FindListObject(const char *name) const = 0;
   virtual TList* GetList() const = 0;
 
   virtual void CreateStdContent() = 0;
   virtual void GetStdContent() = 0;
 
-  virtual void ReadFromTree(TTree *tree) = 0;
-  virtual const void WriteToTree(TTree* tree) const = 0;
+  virtual void ReadFromTree(TTree *tree, Option_t* opt) = 0;
+  virtual void WriteToTree(TTree* tree) const = 0;
 
-  //virtual void Reset() = 0;
+  virtual void Reset() = 0;
   //virtual void ResetStdContent() = 0;
   virtual void SetStdNames() = 0;
 
@@ -57,6 +66,11 @@ public:
   virtual UInt_t   GetPeriodNumber() const = 0;
   virtual Double_t GetMagneticField() const = 0;
 
+  virtual Double_t GetDiamondX() const {return -999.;}
+  virtual Double_t GetDiamondY() const {return -999.;}
+  virtual void     GetDiamondCovXY(Float_t cov[3]) const
+             {cov[0]=-999.; return;}
+
   // Delegated methods for fHeader
   virtual void      SetOrbitNumber(UInt_t n) = 0;
   virtual void      SetBunchCrossNumber(UShort_t n) = 0;
@@ -74,13 +88,25 @@ public:
   virtual Double_t  GetZDCP1Energy() const = 0;
   virtual Double_t  GetZDCN2Energy() const = 0;
   virtual Double_t  GetZDCP2Energy() const = 0;
-  virtual Double_t  GetZDCEMEnergy() const = 0;
+  virtual Double_t  GetZDCEMEnergy(Int_t i) const = 0;
  
   // Tracks
   virtual AliVParticle *GetTrack(Int_t i) const = 0;
   //virtual Int_t        AddTrack(const AliVParticle *t) = 0;
   virtual Int_t        GetNumberOfTracks() const = 0;
-
+  virtual Int_t        GetNumberOfV0s() const = 0;
+  virtual Int_t        GetNumberOfCascades() const = 0;
+
+  // Primary vertex
+  virtual const AliVVertex   *GetPrimaryVertex() const {return 0x0;}
+  virtual Bool_t IsPileupFromSPD(Int_t /*minContributors*/, 
+                                Double_t /*minZdist*/, 
+                                Double_t /*nSigmaZdist*/, 
+                                Double_t /*nSigmaDiamXY*/, 
+                                Double_t /*nSigmaDiamZ*/)
+                                const{
+    return kFALSE;
+  }
   //---------- end of new stuff
 
 
@@ -90,7 +116,6 @@ public:
     *fPrimaryVertex = *vertex;
     fPrimaryVertex->SetName("PrimaryVertex");// error prone use class wide names?
   }
-  const AliESDVertex *GetPrimaryVertex() const {return fPrimaryVertex;}
 
   void SetMultiplicity(const AliMultiplicity *mul) {
     *fSPDMult = *mul;
@@ -139,7 +164,7 @@ public:
 
   */
 
-  ClassDef(AliVEvent,0)  // base class for AliEvent data
+  ClassDef(AliVEvent,1)  // base class for AliEvent data
 };
 #endif