]>
Commit | Line | Data |
---|---|---|
0b255a22 | 1 | #ifndef ALIITSTRACKU_H |
2 | #define ALIITSTRACKU_H | |
3 | /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | //////////////////////////////////////////////////////// | |
6 | // Stand alone track class UPGRADE // | |
7 | // Authors: A.Mastroserio // | |
8 | // C.Terrevoli // | |
9 | // annalisa.mastroserio@cern.ch // | |
10 | // cristina.terrevoli@ba.infn.it // | |
11 | //////////////////////////////////////////////////////// | |
12 | ||
4211bbc5 | 13 | #include "AliITStrackV2.h" |
14 | #include "AliCluster.h" | |
0b255a22 | 15 | |
4211bbc5 | 16 | |
17 | class AliESDtrack; | |
18 | ||
19 | class AliITStrackU : public AliITStrackV2 { | |
0b255a22 | 20 | |
21 | ||
22 | public: | |
23 | ||
24 | AliITStrackU(); | |
665c0bc7 | 25 | AliITStrackU(Int_t nlay); |
4211bbc5 | 26 | AliITStrackU(AliESDtrack& t,Bool_t c=kFALSE); |
27 | AliITStrackU(const AliITStrackU& t, Bool_t trackMI=kFALSE); | |
0b255a22 | 28 | AliITStrackU(Double_t alpha, Double_t radius, |
4211bbc5 | 29 | Double_t Ycoor, Double_t Zcoor, Double_t phi, |
30 | Double_t tanlambda, Double_t curv, Int_t lab, Int_t nlay); | |
31 | Bool_t UpdateMI(const AliCluster *c, Double_t chi2, Int_t i); | |
32 | Int_t* ClIndex() {return fClIndex;} | |
33 | Float_t GetSigmaY(Int_t i) const {return fSigmaY[i];} | |
34 | Float_t GetSigmaZ(Int_t i) const {return fSigmaZ[i];} | |
35 | Float_t GetSigmaYZ(Int_t i) const {return fSigmaYZ[i];} | |
36 | void SetSigmaY(Int_t i, Float_t s) {fSigmaY[i]=s;} | |
37 | void SetSigmaZ(Int_t i, Float_t s) {fSigmaZ[i]=s;} | |
38 | void SetSigmaYZ(Int_t i, Float_t s) {fSigmaYZ[i]=s;} | |
39 | ||
40 | Float_t GetExpQ() const {return fExpQ;} | |
41 | void SetExpQ(Float_t f) {fExpQ=f;} | |
42 | ||
43 | ||
44 | Int_t GetClIndex(Int_t i) const {return fClIndex[i];} | |
45 | void SetClIndex(Int_t i, Int_t c) {fClIndex[i]=c;} | |
46 | Float_t GetNormChi2(Int_t i) const {return fNormChi2[i];} | |
47 | void SetNormChi2(Int_t i, Float_t n) {fNormChi2[i]=n;} | |
48 | Float_t GetNormQ(Int_t i) const {return fNormQ[i];} | |
49 | void SetNormQ(Int_t i, Float_t q) {fNormQ[i]=q;} | |
50 | Float_t GetNy(Int_t i) const {return fNy[i];} | |
51 | void SetNy(Int_t i, Float_t f) {fNy[i]=f;} | |
52 | Float_t GetNz(Int_t i) const {return fNz[i];} | |
53 | void SetNz(Int_t i, Float_t f) {fNz[i]=f;} | |
54 | Double_t GetPredictedChi2MI(Double_t cy, Double_t cz, Double_t cerry, Double_t cerrz, Double_t covyz=0.) const; | |
0b255a22 | 55 | |
56 | Int_t GetClusterIndexU(Int_t i) const {return fSain[i];} | |
57 | Int_t GetClusterMark(Int_t layer,Int_t i) const {return fCluMark[layer][i];} | |
58 | Int_t GetNumberOfClustersU() const {return fNU;} | |
59 | Int_t GetNumberOfMarked(Int_t lay) const {return fNM[lay];} | |
60 | static Int_t GetMaxNumberOfClusters() {return kMaxNumberOfClusters;} | |
61 | Int_t GetMaxNMarkedPerLayer() const {return kMaxNumberOfClustersL;} | |
62 | void AddClusterU(Int_t layer, Int_t clnumb); | |
63 | void AddClusterV2(Int_t layer,Int_t clnumb); | |
64 | void AddClusterMark(Int_t layer, Int_t clnumb); | |
65 | ||
66 | enum {kMaxNumberOfClustersL = 4};// Max. n. of clusters/layer | |
67 | enum {kMaxNumberOfClusters = 15};// Max. number of clusters | |
68 | ||
69 | protected: | |
70 | ||
71 | void Init(Double_t alpha, Double_t radius, | |
72 | Double_t Ycoor, Double_t Zcoor, Double_t phi, | |
4211bbc5 | 73 | Double_t tanlambda, Double_t curv, Int_t lab/*,Int_t nlay*/); |
0b255a22 | 74 | void SetNumberOfClustersU(Int_t n){fNU = n;} |
75 | void SetNumberOfMarked(Int_t lay,Int_t n) {fNM[lay] = n;} | |
76 | void ResetIndexU(){for(Int_t k=0; k<kMaxNumberOfClusters; k++) fSain[k]=0;} | |
77 | void ResetMarked(); | |
78 | ||
79 | static const Int_t fgMaxNLayer = 8; //max number of layers in ITSUpgrade | |
665c0bc7 | 80 | Int_t fNLayers; // number of layers |
665c0bc7 | 81 | UInt_t fSain[kMaxNumberOfClusters]; // cluster index (Stand Alone Upgrade) |
4211bbc5 | 82 | Int_t fNU; // number of clusters Stand Alone Upgrade |
0b255a22 | 83 | |
84 | Int_t fCluMark[fgMaxNLayer][kMaxNumberOfClustersL]; //indices for cluster used | |
85 | Int_t fNM[fgMaxNLayer]; //number of marked clusters | |
4211bbc5 | 86 | |
0ac80088 | 87 | Float_t fDy[fgMaxNLayer]; //dy in layer |
88 | Float_t fDz[fgMaxNLayer]; //dz in layer | |
89 | Float_t fSigmaY[fgMaxNLayer]; //sigma y | |
90 | Float_t fSigmaZ[fgMaxNLayer]; //sigma z | |
91 | Float_t fSigmaYZ[fgMaxNLayer]; //covariance of y and z | |
4211bbc5 | 92 | |
93 | Float_t fNy[fgMaxNLayer]; //expected size of cluster | |
94 | Float_t fNz[fgMaxNLayer]; //expected size of cluster | |
95 | Float_t fNormQ[fgMaxNLayer]; // normalized Q | |
96 | Float_t fExpQ; // expected Q | |
97 | ||
98 | Float_t fNormChi2[fgMaxNLayer]; // normalized chi2 | |
99 | Int_t fClIndex[fgMaxNLayer]; //cluster Index | |
100 | ||
101 | ||
102 | ClassDef(AliITStrackU,2) | |
103 | }; | |
0b255a22 | 104 | |
105 | #endif | |
106 | ||
107 | ||
108 |