]>
Commit | Line | Data |
---|---|---|
52c19022 | 1 | #ifndef ALITRDTRACKGTU_H |
2 | #define ALITRDTRACKGTU_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id: AliTRDtrackGTU.h 27496 2008-07-22 08:35:45Z cblume $ */ | |
7 | ||
8 | //--------------------------------------------------------------- | |
9 | // | |
10 | // TRD track as calculated in the GTU (for L1 contribution) | |
11 | // | |
12 | //--------------------------------------------------------------- | |
13 | ||
14 | #include "TClonesArray.h" | |
15 | ||
16 | #include "AliTRDtrackletGTU.h" | |
4d6aee34 | 17 | class AliESDTrdTrack; |
52c19022 | 18 | |
19 | class AliTRDtrackGTU : public TObject { | |
20 | public: | |
21 | AliTRDtrackGTU(); | |
dd09a2e2 | 22 | AliTRDtrackGTU(const AliTRDtrackGTU &rhs); |
23 | AliTRDtrackGTU& operator=(const AliTRDtrackGTU &rhs); | |
d9a2bdff | 24 | AliTRDtrackGTU& operator=(const AliESDTrdTrack &rhs); |
52c19022 | 25 | ~AliTRDtrackGTU(); |
26 | ||
27 | // ----- Track properties | |
d2c8b010 | 28 | Int_t GetPtInt() const { return AliTRDgtuParam::GetPt(fTrackletMask, (Int_t) this->GetA(), 0, 0, 0, 0); } |
29 | Float_t GetPt() const { return (Float_t) this->GetPtInt() / 128.; } | |
52c19022 | 30 | Int_t GetPID() const { return fPID; } |
31 | Int_t GetSector() const { return fSector; } | |
32 | Int_t GetStack() const { return fStack; } | |
80f93426 | 33 | Int_t GetLabel() const { return fLabel; } |
52c19022 | 34 | |
35 | AliESDTrdTrack* CreateTrdTrack() const; | |
36 | ||
37 | // ----- compositing tracklets | |
38 | Int_t GetNTracklets() const; | |
39 | Int_t GetTrackletMask() const { return fTrackletMask; } | |
40 | Bool_t IsTrackletInLayer(Int_t layer) const; | |
5f006bd7 | 41 | Int_t GetTrackletIndex(Int_t layer) { return IsTrackletInLayer(layer) ? ((AliTRDtrackletGTU*) (*fTracklets)[layer])->GetIndex() : -1; } |
44eafcf2 | 42 | AliTRDtrackletGTU* GetTracklet(Int_t layer) const; |
52c19022 | 43 | |
44 | // ----- Quantities used internally for the calculation | |
45 | Float_t GetA() const { return fA; } | |
46 | Float_t GetB() const { return fB; } | |
47 | Float_t GetC() const { return fC; } | |
48 | Int_t GetZChannel() const { return fZChannel; } | |
49 | Int_t GetZSubChannel(); | |
d2c8b010 | 50 | Int_t GetRefLayer() const { return AliTRDgtuParam::GetRefLayer(fRefLayerIdx); } |
52c19022 | 51 | Int_t GetRefLayerIdx() const { return fRefLayerIdx; } |
52 | Int_t GetYapprox(); | |
53 | ||
54 | ||
4d6aee34 | 55 | void AddTracklet(const AliTRDtrackletGTU * const tracklet, Int_t layer); |
52c19022 | 56 | |
57 | void SetStack(Int_t stack) { fStack = stack; } | |
58 | void SetSector(Int_t sector) { fSector = sector; } | |
52c19022 | 59 | void SetPID(Int_t pid) { fPID = pid; } |
60 | ||
61 | void SetZChannel(Int_t zch) { fZChannel = zch; } | |
62 | void SetRefLayerIdx(Int_t reflayer) { fRefLayerIdx = reflayer; } | |
63 | // void SetInnerIntPoint(Float_t *x); | |
64 | // void SetOuterIntPoint(Float_t *x); | |
65 | void SetFitParams(Float_t a, Float_t b, Float_t c); | |
66 | ||
4cc89512 | 67 | Bool_t CookLabel(); |
68 | ||
52c19022 | 69 | protected: |
70 | ||
4cc89512 | 71 | Int_t fStack; // TRD stack to which this track belongs |
72 | Int_t fSector; // sector in which the track was found | |
52c19022 | 73 | |
4cc89512 | 74 | Int_t fPID; // PID calculated from tracklet PID |
75 | ||
76 | TClonesArray *fTracklets; // array holding the tracklets composing this track | |
77 | Int_t fTrackletMask; // mask in which layers tracklets have been assigned | |
78 | Int_t fNTracklets; // number of tracklets in this track | |
52c19022 | 79 | |
4cc89512 | 80 | Int_t fRefLayerIdx; // index of the reference layer in which this track was found |
81 | Int_t fZChannel; // z-channel unit in which this track was found | |
82 | Int_t fZSubChannel; // z-subchannel of the assigned tracklets | |
52c19022 | 83 | |
4cc89512 | 84 | Float_t fA; // fit parameter of y' = a + b*x + c*z |
85 | Float_t fB; // fit parameter of y' = a + b*x + c*z | |
86 | Float_t fC; // fit parameter of y' = a + b*x + c*z | |
52c19022 | 87 | |
4cc89512 | 88 | Int_t fLabel; // MC label |
52c19022 | 89 | |
52c19022 | 90 | ClassDef(AliTRDtrackGTU, 1); |
91 | }; | |
92 | ||
93 | #endif |