4 //-------------------------------------------------------------------------
6 // This class contains ESD additions
7 // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
8 //-------------------------------------------------------------------------
11 #include <TClonesArray.h>
13 #include "AliESDfriendTrack.h"
14 #include "AliVfriendEvent.h"
16 class AliESDVZEROfriend;
17 class AliESDTZEROfriend;
19 //_____________________________________________________________________________
20 class AliESDfriend : public AliVfriendEvent {
23 AliESDfriend(const AliESDfriend &);
24 AliESDfriend& operator=(const AliESDfriend& esd);
25 virtual ~AliESDfriend();
27 Int_t GetNumberOfTracks() const {return fTracks.GetEntriesFast();}
28 AliESDfriendTrack *GetTrack(Int_t i) const {
29 return (AliESDfriendTrack *)fTracks.At(i);
31 Int_t GetEntriesInTracks() const {return fTracks.GetEntries();}
32 void AddTrack(const AliESDfriendTrack *t) {
33 new(fTracks[fTracks.GetEntriesFast()]) AliESDfriendTrack(*t);
36 void AddTrackAt(const AliESDfriendTrack *t, Int_t i) {
37 new(fTracks[i]) AliESDfriendTrack(*t);
40 void SetVZEROfriend(AliESDVZEROfriend * obj);
41 AliESDVZEROfriend *GetVZEROfriend(){ return fESDVZEROfriend; }
42 void SetTZEROfriend(AliESDTZEROfriend * obj);
43 AliESDTZEROfriend *GetTZEROfriend(){ return fESDTZEROfriend; }
50 // bit manipulation for filtering
51 void SetSkipBit(Bool_t skip){SetBit(23,skip);}
52 Bool_t TestSkipBit() const { return TestBit(23); }
54 //TPC cluster occupancy
55 Int_t GetNclustersTPC(UInt_t sector) const {return (sector<72)?fNclustersTPC[sector]:0;}
56 Int_t GetNclustersTPCused(UInt_t sector) const {return (sector<72)?fNclustersTPCused[sector]:0;}
57 void SetNclustersTPC(UInt_t sector, Int_t occupancy) {if (sector<72) fNclustersTPC[sector]=occupancy;}
58 void SetNclustersTPCused(UInt_t sector, Int_t occupancy) {if (sector<72) fNclustersTPCused[sector]=occupancy;}
61 TClonesArray fTracks; // ESD friend tracks
62 AliESDVZEROfriend *fESDVZEROfriend; // VZERO object containing complete raw data
63 AliESDTZEROfriend *fESDTZEROfriend; // TZERO calibration object
65 Int_t fNclustersTPC[72]; //cluster occupancy per sector per sector
66 Int_t fNclustersTPCused[72]; //number of clusters used in tracking per sector
68 ClassDef(AliESDfriend,5) // ESD friend