update TRD code for PbPb 2011
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDCalTrkAttach.h
1 #ifndef ALITRDCALTRKATTACH_H
2 #define ALITRDCALTRKATTACH_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //////////////////////////////////////////////////////////////////
7 //
8 // Container for calibration parameters for AliTRDseedV1::AttachClusters()
9 // For calibration procedure check AliTRDtrackleOflHelper::CalibrateAttach()
10 //
11 // Author Alex Bercuci <A.Bercuci@gsi.de>
12 //
13 //////////////////////////////////////////////////////////////////
14
15 #ifndef ROOT_TNamed
16 #include <TNamed.h>
17 #endif
18 class TObjArray;
19 class AliTRDCalTrkAttach : public TNamed
20 {
21 public:
22   enum ETRDCalTrkAttachCalib {
23     kResPos = 0    // relative position residual location
24    ,kResAng        // angular residual location
25    ,kSigma         // relative error location
26    ,kNclMean       // mean no. of clusters/tracklet location
27    ,kNcalib        // no. of calib objects
28   };
29   enum ETRDCalTrkAttachParam {
30     kNcharge = 2
31   };
32
33   AliTRDCalTrkAttach();
34   virtual ~AliTRDCalTrkAttach();
35
36   Double_t  CookLikelihood(Bool_t chg, Int_t ly, Float_t pt, Float_t phi, Int_t ncl, Double_t dy, Double_t dphi, Double_t sr) const;
37   void      GetNsgmDy(Int_t &n0, Int_t &n1) const {n0 = fNsgmDy[0]; n1 = fNsgmDy[1];}
38   void      GetLikeMinRelDecrease(Float_t &p0, Float_t &p1) const {p0 = fLikeMinRelDecrease[0]; p1 = fLikeMinRelDecrease[1];}
39   Float_t   GetRClikeLimit() const { return fRClikeLimit;}
40   Float_t   GetScaleCov() const { return fScaleCov;}
41   Bool_t    LoadReferences(const Char_t *file);
42   void      SetNsgmDy(Int_t ns0, Int_t ns1) {fNsgmDy[0] = ns0; fNsgmDy[0] = ns1;}
43   void      SetLikeMinRelDecrease(Float_t p0, Float_t p1) {fLikeMinRelDecrease[0]=p0;fLikeMinRelDecrease[1]=p1;}
44   void      SetRClikeLimit(Float_t rc) { fRClikeLimit = rc;}
45   void      SetScaleCov(Float_t sc) { fScaleCov = sc;}
46
47 private:
48   Int_t     fNsgmDy[2];             //
49   Float_t   fLikeMinRelDecrease[2]; //
50   Float_t   fRClikeLimit;           //
51   Float_t   fScaleCov;              //
52   TObjArray *fLike;                 // array with likelihoods
53     
54   AliTRDCalTrkAttach(const AliTRDCalTrkAttach& ref);
55   AliTRDCalTrkAttach    &operator=(const AliTRDCalTrkAttach &rhs);
56
57   ClassDef(AliTRDCalTrkAttach, 1)    //  Storage for AttachClusters() calibration
58 };
59
60 #endif
61
62