]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/ESD/AliESDfriendTrack.h
Updates in event mixing code for low-pt code
[u/mrichter/AliRoot.git] / STEER / ESD / AliESDfriendTrack.h
CommitLineData
1d99986f 1#ifndef ALIESDFRIENDTRACK_H
2#define ALIESDFRIENDTRACK_H
3
4//-------------------------------------------------------------------------
5// Class AliESDfriendTrack
6// This class contains ESD track additions
7// Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
8//-------------------------------------------------------------------------
9
5637918c 10#include <TClonesArray.h>
ded25cc6 11#include <AliExternalTrackParam.h>
1f516476 12#include "AliVfriendTrack.h"
08f45a9c 13#include "AliTrackPointArray.h"
1d99986f 14
15e85efa 15class AliKalmanTrack;
00dce61a 16class TObjArrray;
aa883ad7 17class AliTPCseed;
08f45a9c 18
4a08929f 19
1d99986f 20//_____________________________________________________________________________
0e757649 21class AliESDfriendTrack : public AliVfriendTrack {
1d99986f 22public:
15e85efa 23 enum {
24 kMaxITScluster=12,
25 kMaxTPCcluster=160,
26 kMaxTRDcluster=180
27 };
1d99986f 28 AliESDfriendTrack();
7454372c 29 AliESDfriendTrack(const AliESDfriendTrack &t);
1d99986f 30 virtual ~AliESDfriendTrack();
31
15e85efa 32 void Set1P(Float_t p) {f1P=p;}
33 void SetTrackPointArray(AliTrackPointArray *points) {
34 fPoints=points;
35 }
36 Float_t Get1P() const {return f1P;}
37 Int_t *GetITSindices() {return fITSindex;}
38 Int_t *GetTPCindices() {return fTPCindex;}
39 Int_t *GetTRDindices() {return fTRDindex;}
1d99986f 40 const AliTrackPointArray *GetTrackPointArray() const {return fPoints;}
41
15e85efa 42 void SetITStrack(AliKalmanTrack *t) {fITStrack=t;}
43 void SetTRDtrack(AliKalmanTrack *t) {fTRDtrack=t;}
44 AliKalmanTrack *GetTRDtrack() {return fTRDtrack;}
45 AliKalmanTrack *GetITStrack() {return fITStrack;}
00dce61a 46 void AddCalibObject(TObject * calibObject);
a453390d 47 TObject * GetCalibObject(Int_t index) const;
6a33e0e9 48
ded25cc6 49 //
50 // parameters backup
51 void SetTPCOut(const AliExternalTrackParam &param);
52 void SetITSOut(const AliExternalTrackParam &param);
53 void SetTRDIn(const AliExternalTrackParam &param);
54 //
5637918c 55
c5060262 56 const AliExternalTrackParam * GetTPCOut() const {return fTPCOut;}
57 const AliExternalTrackParam * GetITSOut() const {return fITSOut;}
58 const AliExternalTrackParam * GetTRDIn() const {return fTRDIn;}
7454372c 59
03e1e359 60 //used in calibration
61 Int_t GetTrackParamTPCOut( AliExternalTrackParam &p ) const {
62 if(!GetTPCOut()) return -1;
63 p=*GetTPCOut();
64 return 0;}
65
66 Int_t GetTrackParamITSOut( AliExternalTrackParam &p ) const {
67 if(!GetITSOut()) return -1;
68 p=*GetITSOut();
69 return 0;}
70
6d3a7bbf 71 void SetITSIndices(Int_t* indices, Int_t n);
72 void SetTPCIndices(Int_t* indices, Int_t n);
73 void SetTRDIndices(Int_t* indices, Int_t n);
74
75 Int_t GetMaxITScluster() {return fnMaxITScluster;}
76 Int_t GetMaxTPCcluster() {return fnMaxTPCcluster;}
77 Int_t GetMaxTRDcluster() {return fnMaxTRDcluster;}
5637918c 78
3e341ccb 79 // bit manipulation for filtering
80 void SetSkipBit(Bool_t skip){SetBit(23,skip);}
48ec9ee6 81 Bool_t TestSkipBit() const {return TestBit(23);}
ddfbc51a 82
1f516476 83 // VfriendTrack interface
6a33e0e9 84
85 Int_t GetTPCseed( AliTPCseed &) const;
86
1d99986f 87protected:
15e85efa 88 Float_t f1P; // 1/P (1/(GeV/c))
6d3a7bbf 89 Int_t fnMaxITScluster; // Max number of ITS clusters
90 Int_t fnMaxTPCcluster; // Max number of TPC clusters
91 Int_t fnMaxTRDcluster; // Max number of TRD clusters
92 Int_t* fITSindex; //[fnMaxITScluster] indices of the ITS clusters
93 Int_t* fTPCindex; //[fnMaxTPCcluster] indices of the TPC clusters
94 Int_t* fTRDindex; //[fnMaxTRDcluster] indices of the TRD clusters
95
15e85efa 96 AliTrackPointArray *fPoints;//Array of track space points in the global frame
00dce61a 97 TObjArray *fCalibContainer; //Array of objects for calibration
15e85efa 98 AliKalmanTrack *fITStrack; //! pointer to the ITS track (debug purposes)
99 AliKalmanTrack *fTRDtrack; //! pointer to the TRD track (debug purposes)
ded25cc6 100 //
101 //
102 AliExternalTrackParam * fTPCOut; // tpc outer parameters
103 AliExternalTrackParam * fITSOut; // its outer parameters
104 AliExternalTrackParam * fTRDIn; // trd inner parameters
ddfbc51a 105
7454372c 106private:
42cdc768 107 AliESDfriendTrack &operator=(const AliESDfriendTrack & /* t */) {return *this;}
7454372c 108
411824cb 109 ClassDef(AliESDfriendTrack,8) //ESD friend track
1d99986f 110};
111
112#endif
113
114