#include "AliVCluster.h"
#include "AliVCaloCells.h"
#include "TRefArray.h"
+class AliCentrality;
+class AliEventplane;
+class AliVVZERO;
+class AliVZDC;
class AliVEvent : public TObject {
enum EOfflineTriggerTypes {
kMB = BIT(0), // Minimum bias trigger, i.e. interaction trigger, offline SPD or V0 selection
// empty slot
+ kINT7 = BIT(1), // V0AND trigger, offline V0 selection
kMUON = BIT(2), // Muon trigger, offline SPD or V0 selection
kHighMult = BIT(3), // High-multiplicity trigger (threshold defined online), offline SPD or V0 selection
+ kEMC1 = BIT(4), // EMCAL trigger
+ kCINT5 = BIT(5), // Minimum bias trigger without SPD. i.e. interaction trigger, offline V0 selection
+ kCMUS5 = BIT(6), // Muon trigger, offline V0 selection
+ kMUSH7 = BIT(7), // Muon trigger: high pt, single muon, offline V0 selection, CINT7 suite
+ kMUL7 = BIT(8), // Muon trigger: like sign dimuon, offline V0 selection, CINT7 suite
+ kMUU7 = BIT(9), // Muon trigger, unlike sign dimuon, offline V0 selection, CINT7 suite
+ kEMC7 = BIT(10), // EMCAL trigger, CINT7 suite
+ kFastOnly = BIT(30), // The fast cluster fired. This bit is set in to addition another trigger bit, e.g. kMB
kUserDefined = BIT(31), // Set when custom trigger classes are set in AliPhysicsSelection, offline SPD or V0 selection
kAny = 0xffffffff // to accept any trigger
};
virtual Bool_t IsPileupFromSPDInMultBins() const {
return kFALSE;
}
-
- virtual Int_t EventIndex(Int_t itrack) const = 0;
- virtual Int_t EventIndexForCaloCluster(Int_t iclu) const= 0;
- virtual Int_t EventIndexForPHOSCell(Int_t icell) const= 0;
- virtual Int_t EventIndexForEMCALCell(Int_t icell) const= 0;
-
- //---------- end of new stuff
-
-
- /* to be considered to go in here be implemented
-
- void SetPrimaryVertex(const AliESDVertex *vertex) {
- *fPrimaryVertex = *vertex;
- fPrimaryVertex->SetName("PrimaryVertex");// error prone use class wide names?
- }
-
- void SetMultiplicity(const AliMultiplicity *mul) {
- *fSPDMult = *mul;
- // CKB
- // new (&fSPDMult) AliMultiplicity(*mul);
- }
- const AliMultiplicity *GetMultiplicity() const {return fSPDMult;}
-
-
- AliESDMuonTrack *GetMuonTrack(Int_t i) const {
- return (AliESDMuonTrack *)fMuonTracks->UncheckedAt(i);
- }
- void AddMuonTrack(const AliESDMuonTrack *t) {
- TClonesArray &fmu = *fMuonTracks;
- new(fmu[fMuonTracks->GetEntriesFast()]) AliESDMuonTrack(*t);
- }
-
- AliESDv0 *GetV0(Int_t i) const {
- return (AliESDv0*)fV0s->UncheckedAt(i);
- }
- Int_t AddV0(const AliESDv0 *v);
-
- AliESDcascade *GetCascade(Int_t i) const {
- return (AliESDcascade *)fCascades->UncheckedAt(i);
- }
- void AddCascade(const AliESDcascade *c) {
- TClonesArray &fc = *fCascades;
- new(fc[fCascades->GetEntriesFast()]) AliESDcascade(*c);
- }
-
- AliESDkink *GetKink(Int_t i) const {
- return (AliESDkink *)fKinks->UncheckedAt(i);
- }
- Int_t AddKink(const AliESDkink *c);
-
- AliESDCaloCluster *GetCaloCluster(Int_t i) const {
- return (AliESDCaloCluster *)fCaloClusters->UncheckedAt(i);
- }
- Int_t AddCaloCluster(const AliESDCaloCluster *c);
-
- Int_t GetNumberOfMuonTracks() const {return fMuonTracks->GetEntriesFast();}
- Int_t GetNumberOfV0s() const {return fV0s->GetEntriesFast();}
- Int_t GetNumberOfCascades() const {return fCascades->GetEntriesFast();}
- Int_t GetNumberOfKinks() const {return fKinks->GetEntriesFast();}
- Int_t GetNumberOfCaloClusters() const {return fCaloClusters->GetEntriesFast();}
-
- */
+ virtual AliCentrality* GetCentrality() = 0;
+ virtual AliEventplane* GetEventplane() = 0;
+ virtual Int_t EventIndex(Int_t itrack) const = 0;
+ virtual Int_t EventIndexForCaloCluster(Int_t iclu) const = 0;
+ virtual Int_t EventIndexForPHOSCell(Int_t icell) const = 0;
+ virtual Int_t EventIndexForEMCALCell(Int_t icell) const = 0;
+
+ virtual AliVVZERO *GetVZEROData() const = 0;
+ virtual AliVZDC *GetZDCData() const = 0;
ClassDef(AliVEvent,1) // base class for AliEvent data
};