Separating well and badly reconstructed pileup vertices. Adding statistics of associa...
[u/mrichter/AliRoot.git] / ITS / AliITSClusterParam.h
1 #ifndef ALIITSCLUSTERPARAM_H
2 #define ALIITSCLUSTERPARAM_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ////////////////////////////////////////////////////
9 //                                                //
10 //  ITS cluster error and shape parameterization  //
11 //  andrea.dainese@lnl.infn.it                    //
12 ////////////////////////////////////////////////////
13
14
15 #include <TObject.h>
16 //#include "AliITSRecPoint.h"
17
18 class AliITSRecPoint;
19
20 //_____________________________________________________________________________
21 class AliITSClusterParam : public TObject {
22  public:
23   static AliITSClusterParam* Instance();
24   virtual           ~AliITSClusterParam(){;}
25   virtual void  Print(Option_t* option = "") const;
26   void SetInstance(AliITSClusterParam *param){fgInstance = param;}
27   static void GetNTeor(Int_t layer,const AliITSRecPoint* cl,
28                        Float_t tgl,Float_t tgphitr,
29                        Float_t &ny,Float_t &nz);
30   static Int_t GetError(Int_t layer,const AliITSRecPoint*cl,
31                         Float_t tgl,Float_t tgphitr,Float_t expQ,
32                         Float_t &erry,Float_t &errz,Float_t &covyz,
33                         Bool_t addMisalErr=kTRUE);
34   static Int_t GetError(Int_t layer,const AliITSRecPoint*cl,
35                         Float_t tgl,Float_t tgphitr,Float_t expQ,
36                         Float_t &erry,Float_t &errz,
37                         Bool_t addMisalErr=kTRUE) {
38                                   Float_t covyz;
39     return GetError(layer,cl,tgl,tgphitr,expQ,erry,errz,covyz,addMisalErr);
40   }
41
42   //void FitData(TTree * tree);
43   //
44  private:
45   AliITSClusterParam(){}
46   AliITSClusterParam(const AliITSClusterParam &source); // copy constructor. Not to be used!
47   AliITSClusterParam& operator=(const AliITSClusterParam &source); // = operator. Not to be used!
48   static AliITSClusterParam*   fgInstance; //! Instance of this class (singleton implementation)
49   static Int_t GetErrorOrigRecPoint(const AliITSRecPoint*cl,
50                                     Float_t &erry,Float_t &errz,Float_t &covyz);
51   static Int_t GetErrorParamMI(Int_t layer,const AliITSRecPoint*cl,
52                                Float_t tgl,Float_t tgphitr,Float_t expQ,
53                                Float_t &erry,Float_t &errz);
54   static Int_t GetErrorParamAngle(Int_t layer,const AliITSRecPoint*cl,
55                                   Float_t tgl,Float_t tgphitr,
56                                   Float_t &erry,Float_t &errz);
57   static Int_t GetErrorParamAngleOld(Int_t layer,const AliITSRecPoint*cl,
58                                   Float_t tgl,Float_t tgphitr,
59                                   Float_t &erry,Float_t &errz);
60
61   ClassDef(AliITSClusterParam,1)    //  ITS cluster parametrization class
62 };
63
64 #endif