]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/UPGRADE/AliITStrackU.h
Added version tailored for pp (AliTrackletTaskMultipp) with additional
[u/mrichter/AliRoot.git] / ITS / UPGRADE / AliITStrackU.h
CommitLineData
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
17class AliESDtrack;
18
19class 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