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;
20 //_____________________________________________________________________________
21 class AliESDfriend : public AliVfriendEvent {
24 AliESDfriend(const AliESDfriend &);
25 AliESDfriend& operator=(const AliESDfriend& esd);
26 virtual ~AliESDfriend();
28 Int_t GetNumberOfTracks() const {return fTracks.GetEntriesFast();}
29 AliESDfriendTrack *GetTrack(Int_t i) const {
30 return (AliESDfriendTrack *)fTracks.At(i);
32 Int_t GetEntriesInTracks() const {return fTracks.GetEntries();}
33 void AddTrack(const AliESDfriendTrack *t) {
34 new(fTracks[fTracks.GetEntriesFast()]) AliESDfriendTrack(*t);
37 void AddTrackAt(const AliESDfriendTrack *t, Int_t i) {
38 new(fTracks[i]) AliESDfriendTrack(*t);
41 void SetVZEROfriend(AliESDVZEROfriend * obj);
42 AliESDVZEROfriend *GetVZEROfriend(){ return fESDVZEROfriend; }
43 void SetTZEROfriend(AliESDTZEROfriend * obj);
44 AliESDTZEROfriend *GetTZEROfriend(){ return fESDTZEROfriend; }
45 void SetADfriend(AliESDADfriend * obj);
46 AliESDADfriend *GetADfriend(){ return fESDADfriend; }
53 // bit manipulation for filtering
54 void SetSkipBit(Bool_t skip){SetBit(23,skip);}
55 Bool_t TestSkipBit() const { return TestBit(23); }
57 //TPC cluster occupancy
58 Int_t GetNclustersTPC(UInt_t sector) const {return (sector<72)?fNclustersTPC[sector]:0;}
59 Int_t GetNclustersTPCused(UInt_t sector) const {return (sector<72)?fNclustersTPCused[sector]:0;}
60 void SetNclustersTPC(UInt_t sector, Int_t occupancy) {if (sector<72) fNclustersTPC[sector]=occupancy;}
61 void SetNclustersTPCused(UInt_t sector, Int_t occupancy) {if (sector<72) fNclustersTPCused[sector]=occupancy;}
64 TClonesArray fTracks; // ESD friend tracks
65 AliESDVZEROfriend *fESDVZEROfriend; // VZERO object containing complete raw data
66 AliESDTZEROfriend *fESDTZEROfriend; // TZERO calibration object
67 AliESDADfriend *fESDADfriend; // AD object containing complete raw data
69 Int_t fNclustersTPC[72]; //cluster occupancy per sector per sector
70 Int_t fNclustersTPCused[72]; //number of clusters used in tracking per sector
72 ClassDef(AliESDfriend,5) // ESD friend