1 #ifndef ALIITSURECOPARAM_H
2 #define ALIITSURECOPARAM_H
3 /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 /* $Id: AliITSURecoParam.h 57215 2012-06-17 14:47:08Z masera $ */
8 ///////////////////////////////////////////////////////////////////////////////
10 // Class with ITS reconstruction parameters //
12 ///////////////////////////////////////////////////////////////////////////////
15 #include "AliDetectorRecoParam.h"
17 class AliITSURecoParam : public AliDetectorRecoParam
21 AliITSURecoParam(Int_t nLr);
22 virtual ~AliITSURecoParam();
24 static AliITSURecoParam *GetLowFluxParam();// make reco parameters for low flux env.
25 static AliITSURecoParam *GetHighFluxParam();// make reco parameters for high flux env.
26 static AliITSURecoParam *GetCosmicTestParam();// special setting for cosmic
28 Double_t GetMaxDforV0dghtrForProlongation() const {return fMaxDforV0dghtrForProlongation;}
29 Double_t GetMaxDForProlongation() const {return fMaxDForProlongation;}
30 Double_t GetMaxDZForProlongation() const {return fMaxDZForProlongation;}
31 Double_t GetMinPtForProlongation() const {return fMinPtForProlongation;}
32 Double_t GetTanLorentzAngle(Int_t lr) const;
33 Double_t GetSigmaY2(Int_t lr) const;
34 Double_t GetSigmaZ2(Int_t lr) const;
35 Double_t GetMaxTr2ClChi2(Int_t lr) const;
37 Double_t GetNSigmaRoadY() const {return fNSigmaRoadY;}
38 Double_t GetNSigmaRoadZ() const {return fNSigmaRoadZ;}
40 Double_t GetTPCITSWallRMin() const {return fTPCITSWallRMin;}
41 Double_t GetTPCITSWallRMax() const {return fTPCITSWallRMax;}
42 Double_t GetTPCITSWallZSpanH() const {return fTPCITSWallZSpanH;}
43 Double_t GetTPCITSWallMaxStep() const {return fTPCITSWallMaxStep;}
45 void SetNLayers(Int_t n);
46 void SetTanLorentzAngle(Int_t lr, Double_t v);
47 void SetSigmaY2(Int_t lr, Double_t v);
48 void SetSigmaZ2(Int_t lr, Double_t v);
49 void SetMaxTr2ClChi2(Int_t lr, Double_t v);
51 void GetMaxDforV0dghtrForProlongation(Double_t v) {fMaxDforV0dghtrForProlongation = v;}
52 void SetMaxDForProlongation(Double_t v) {fMaxDForProlongation = v;}
53 void SetMaxDZForProlongation(Double_t v) {fMaxDZForProlongation = v;}
54 void SetMinPtForProlongation(Double_t v) {fMinPtForProlongation = v;}
55 void SetNSigmaRoadY(Double_t v) {fNSigmaRoadY=v;}
56 void SetNSigmaRoadZ(Double_t v) {fNSigmaRoadZ=v;}
58 void SetTPCITSWallRMin(double v) {fTPCITSWallRMin = v;}
59 void SetTPCITSWallRMax(double v) {fTPCITSWallRMax = v;}
60 void SetTPCITSWallZSpanH(double v) {fTPCITSWallZSpanH = v;}
61 void SetTPCITSWallMaxStep(double v) {fTPCITSWallMaxStep = v;}
63 virtual void Print(Option_t *opt="") const;
66 Int_t fNLayers; // number of layers
68 Double_t fMaxDforV0dghtrForProlongation; // max. rphi imp. par. cut for V0 daughter
69 Double_t fMaxDForProlongation; // max. rphi imp. par. cut
70 Double_t fMaxDZForProlongation; // max. 3D imp. par. cut
71 Double_t fMinPtForProlongation; // min. pt cut
72 Double_t fNSigmaRoadY; // N sigmas for road in Y
73 Double_t fNSigmaRoadZ; // N sigmas for road in Z
75 Double_t fTPCITSWallRMin; // minR
76 Double_t fTPCITSWallRMax; // maxR
77 Double_t fTPCITSWallZSpanH; // half Z span
78 Double_t fTPCITSWallMaxStep; // max tracking step
80 Double_t* fTanLorentzAngle; //[fNLayers] Optional Lorentz angle for each layer
81 Double_t* fSigmaY2; //[fNLayers] addition to road width^2
82 Double_t* fSigmaZ2; //[fNLayers] addition to road width^2
83 Double_t* fMaxTr2ClChi2; //[fNLayers] max track-to-cluster chi2
87 static const Double_t fgkMaxDforV0dghtrForProlongation; // default
88 static const Double_t fgkMaxDForProlongation; // default
89 static const Double_t fgkMaxDZForProlongation; // default
90 static const Double_t fgkMinPtForProlongation; // default
91 static const Double_t fgkNSigmaRoadY; // default
92 static const Double_t fgkNSigmaRoadZ; // default
94 static const Double_t fgkSigmaRoadY; // default
95 static const Double_t fgkSigmaRoadZ; // default
96 static const Double_t fgkMaxTr2ClChi2; // default
97 static const Double_t fgkTanLorentzAngle; // default
99 // hardwired params for TPC-ITS border layer
100 static const Double_t fgkTPCITSWallRMin; // minR
101 static const Double_t fgkTPCITSWallRMax; // maxR
102 static const Double_t fgkTPCITSWallZSpanH; // half Z span
103 static const Double_t fgkTPCITSWallMaxStep; // max tracking step
106 AliITSURecoParam(const AliITSURecoParam & param);
107 AliITSURecoParam & operator=(const AliITSURecoParam ¶m);
109 ClassDef(AliITSURecoParam,1) // ITS reco parameters
112 //_____________________________________________________________________________
113 inline Double_t AliITSURecoParam::GetTanLorentzAngle(Int_t lr) const
115 // get tg of Lorentz Angle for the layer
116 return (lr<fNLayers)&&fTanLorentzAngle ? fTanLorentzAngle[lr]:0;
119 //_____________________________________________________________________________
120 inline Double_t AliITSURecoParam::GetSigmaY2(Int_t lr) const
122 // get tg of Lorentz Angle for the layer
123 return (lr<fNLayers)&&fSigmaY2 ? fSigmaY2[lr]:fgkSigmaRoadY*fgkSigmaRoadY; //0;
126 //_____________________________________________________________________________
127 inline Double_t AliITSURecoParam::GetSigmaZ2(Int_t lr) const
129 // get tg of Lorentz Angle for the layer
130 return (lr<fNLayers)&&fSigmaZ2 ? fSigmaZ2[lr]:fgkSigmaRoadZ*fgkSigmaRoadZ;//0;
133 //_____________________________________________________________________________
134 inline Double_t AliITSURecoParam::GetMaxTr2ClChi2(Int_t lr) const
136 // get tg of Lorentz Angle for the layer
137 return (lr<fNLayers)&&fMaxTr2ClChi2 ? fMaxTr2ClChi2[lr]:fgkMaxTr2ClChi2; //0;