]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliGRPRecoParam.h
Bug fix in copy constructor and assignment operator.
[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[12]);
34   void  SetVertexerTracksCutsITS(Int_t ncuts,Double_t cuts[12])
35     { SetVertexerTracksCuts(0,ncuts,cuts); return; }
36   void  SetVertexerTracksCutsTPC(Int_t ncuts,Double_t cuts[12])
37     { SetVertexerTracksCuts(1,ncuts,cuts); return; }
38   void  SetVertexerV0Cuts(Int_t ncuts,Double_t cuts[7]);
39   void  SetVertexerCascadeCuts(Int_t ncuts,Double_t cuts[8]);
40   Bool_t GetVertexerTracksConstraintITS() const { return fVertexerTracksConstraintITS; }
41   Bool_t GetVertexerTracksConstraintTPC() const { return fVertexerTracksConstraintTPC; }
42   Int_t GetVertexerTracksNCuts() const { return fVertexerTracksNCuts; }
43   Int_t GetVertexerV0NCuts() const { return fVertexerV0NCuts; }
44   Int_t GetVertexerCascadeNCuts() const { return fVertexerCascadeNCuts; }
45   void  GetVertexerTracksCuts(Int_t mode,Double_t *cuts) const;
46   void  GetVertexerTracksCutsITS(Double_t *cuts) const
47     { GetVertexerTracksCuts(0,cuts); return; }
48   void  GetVertexerTracksCutsTPC(Double_t *cuts) const
49     { GetVertexerTracksCuts(1,cuts); return; }
50   void  GetVertexerV0Cuts(Double_t *cuts) const;
51   void  GetVertexerCascadeCuts(Double_t *cuts) const;
52
53   AliGRPRecoParam(const AliGRPRecoParam&);
54   AliGRPRecoParam& operator=(const AliGRPRecoParam&);
55
56  protected:
57   //
58
59   Double_t fMostProbablePt; // to be used for B=0 tracking
60   Bool_t   fVertexerTracksConstraintITS; // diamond constr for AliVertexerTracks
61   Bool_t   fVertexerTracksConstraintTPC; // diamond constr for AliVertexerTracks
62   Int_t    fVertexerTracksNCuts;  // number of cuts for AliVertexerTracks
63
64   // cuts for AliVertexerTracks: ITS mode
65   Double_t fVertexerTracksITSdcacut; // general dca
66   Double_t fVertexerTracksITSdcacutIter0; // dca in iteration 0
67   Double_t fVertexerTracksITSmaxd0z0; // max d0z0
68   Double_t fVertexerTracksITSminCls; // min clusters
69   Double_t fVertexerTracksITSmintrks; // min tracks
70   Double_t fVertexerTracksITSnsigma; // n sigma for d0 cut
71   Double_t fVertexerTracksITSnindetfitter; // min det to try inversion
72   Double_t fVertexerTracksITSmaxtgl; // max tgl 
73   Double_t fVertexerTracksITSfidR; // fiducial radius
74   Double_t fVertexerTracksITSfidZ; // fiducial z
75   Double_t fVertexerTracksITSalgo; // finder algo
76   Double_t fVertexerTracksITSalgoIter0; // finder algo iteration 0
77
78   // cuts for AliVertexerTracks: TPC-only mode
79   Double_t fVertexerTracksTPCdcacut; // general dca
80   Double_t fVertexerTracksTPCdcacutIter0; // dca in iteration 0
81   Double_t fVertexerTracksTPCmaxd0z0; // max d0z0
82   Double_t fVertexerTracksTPCminCls; // min clusters
83   Double_t fVertexerTracksTPCmintrks; // min tracks
84   Double_t fVertexerTracksTPCnsigma; // n sigma for d0 cut
85   Double_t fVertexerTracksTPCnindetfitter; // min det to try inversion
86   Double_t fVertexerTracksTPCmaxtgl; // max tgl 
87   Double_t fVertexerTracksTPCfidR; // fiducial radius
88   Double_t fVertexerTracksTPCfidZ; // fiducial z
89   Double_t fVertexerTracksTPCalgo; // finder algo
90   Double_t fVertexerTracksTPCalgoIter0; // finder algo iteration 0
91
92   Int_t    fVertexerV0NCuts;      // number of cuts for AliV0vertexer
93
94   // cuts for AliV0vertexer:
95   Double_t fVertexerV0Chi2max; //max chi2
96   Double_t fVertexerV0DNmin;   //min imp parameter for the 1st daughter
97   Double_t fVertexerV0DPmin;   //min imp parameter for the 2nd daughter
98   Double_t fVertexerV0DCAmax;  //max DCA between the daughter tracks
99   Double_t fVertexerV0CPAmin;  //min cosine of V0's pointing angle
100   Double_t fVertexerV0Rmin;    //min radius of the fiducial volume
101   Double_t fVertexerV0Rmax;    //max radius of the fiducial volume
102
103   Int_t    fVertexerCascadeNCuts; // number of cuts for AliCascadeVertexer
104
105   // cuts for AliCascadeVertexer:
106   Double_t fVertexerCascadeChi2max;  //maximal allowed chi2 
107   Double_t fVertexerCascadeDV0min;   //min V0 impact parameter
108   Double_t fVertexerCascadeMassWin;  //"window" around the Lambda mass
109   Double_t fVertexerCascadeDBachMin; //min bachelor impact parameter
110   Double_t fVertexerCascadeDCAmax;   //max DCA between the V0 and the track 
111   Double_t fVertexerCascadeCPAmin;   //min cosine of the cascade pointing angle
112   Double_t fVertexerCascadeRmin;     //min radius of the fiducial volume
113   Double_t fVertexerCascadeRmax;     //max radius of the fiducial volume
114
115   ClassDef(AliGRPRecoParam,5) // global reco parameters
116 };
117
118 #endif