Re-organization of vertex constraints in the primary vertex determination:
[u/mrichter/AliRoot.git] / STEER / AliGRPRecoParam.h
1 #ifndef ALIGRPRECOPARAM_H
2 #define ALIGRPRECOPARAM_H
3 /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 ///////////////////////////////////////////////////////////////////////////////
8 //                                                                           //
9 // Class with global reconstruction parameters                               //
10 // (initially, parameters for AliVertexerTracks)                             //
11 // Origin: andrea.dainese@lnl.infn.it                                        //
12 //                                                                           //
13 ///////////////////////////////////////////////////////////////////////////////
14
15
16 #include "AliDetectorRecoParam.h"
17
18 class AliGRPRecoParam : public AliDetectorRecoParam
19 {
20  public: 
21   AliGRPRecoParam();
22   virtual ~AliGRPRecoParam();
23
24   static AliGRPRecoParam *GetLowFluxParam();// make reco parameters for low flux env.
25   static AliGRPRecoParam *GetHighFluxParam();// make reco parameters for high flux env. 
26   static AliGRPRecoParam *GetCosmicTestParam();// make reco parameters for cosmics env. 
27
28   void  SetMostProbablePt(Double_t pt=0.350) { fMostProbablePt=pt; return; }
29   Double_t GetMostProbablePt() const { return fMostProbablePt; }
30
31   void  SetVertexerTracksConstraintITS(Bool_t constr=kTRUE) { fVertexerTracksConstraintITS=constr; return; }
32   void  SetVertexerTracksConstraintTPC(Bool_t constr=kTRUE) { fVertexerTracksConstraintTPC=constr; return; }
33   void  SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t cuts[10]);
34   void  SetVertexerTracksCutsITS(Int_t ncuts,Double_t cuts[10])
35     { SetVertexerTracksCuts(0,ncuts,cuts); return; }
36   void  SetVertexerTracksCutsTPC(Int_t ncuts,Double_t cuts[10])
37     { SetVertexerTracksCuts(1,ncuts,cuts); return; }
38   Bool_t GetVertexerTracksConstraintITS() const { return fVertexerTracksConstraintITS; }
39   Bool_t GetVertexerTracksConstraintTPC() const { return fVertexerTracksConstraintTPC; }
40   Int_t GetVertexerTracksNCuts() const { return fVertexerTracksNCuts; }
41   void  GetVertexerTracksCuts(Int_t mode,Double_t *cuts) const;
42   void  GetVertexerTracksCutsITS(Double_t *cuts) const
43     { GetVertexerTracksCuts(0,cuts); return; }
44   void  GetVertexerTracksCutsTPC(Double_t *cuts) const
45     { GetVertexerTracksCuts(1,cuts); return; }
46
47   AliGRPRecoParam(const AliGRPRecoParam&);
48   AliGRPRecoParam& operator=(const AliGRPRecoParam&);
49
50  protected:
51   //
52
53   Double_t fMostProbablePt; // to be used for B=0 tracking
54   Bool_t   fVertexerTracksConstraintITS; // diamond constr for AliVertexerTracks
55   Bool_t   fVertexerTracksConstraintTPC; // diamond constr for AliVertexerTracks
56   Int_t    fVertexerTracksNCuts; // number of cuts for AliVertexerTracks
57   // cuts for AliVertexerTracks: ITS mode
58   Double_t fVertexerTracksITSdcacut; // general dca
59   Double_t fVertexerTracksITSdcacutIter0; // dca in iteration 0
60   Double_t fVertexerTracksITSmaxd0z0; // max d0z0
61   Double_t fVertexerTracksITSminCls; // min clusters
62   Double_t fVertexerTracksITSmintrks; // min tracks
63   Double_t fVertexerTracksITSnsigma; // n sigma for d0 cut
64   Double_t fVertexerTracksITSnindetfitter; // min det to try inversion
65   Double_t fVertexerTracksITSmaxtgl; // max tgl 
66   Double_t fVertexerTracksITSfidR; // fiducial radius
67   Double_t fVertexerTracksITSfidZ; // fiducial z
68
69   // cuts for AliVertexerTracks: TPC-only mode
70   Double_t fVertexerTracksTPCdcacut; // general dca
71   Double_t fVertexerTracksTPCdcacutIter0; // dca in iteration 0
72   Double_t fVertexerTracksTPCmaxd0z0; // max d0z0
73   Double_t fVertexerTracksTPCminCls; // min clusters
74   Double_t fVertexerTracksTPCmintrks; // min tracks
75   Double_t fVertexerTracksTPCnsigma; // n sigma for d0 cut
76   Double_t fVertexerTracksTPCnindetfitter; // min det to try inversion
77   Double_t fVertexerTracksTPCmaxtgl; // max tgl 
78   Double_t fVertexerTracksTPCfidR; // fiducial radius
79   Double_t fVertexerTracksTPCfidZ; // fiducial z
80
81   ClassDef(AliGRPRecoParam,3) // global reco parameters
82 };
83
84 #endif