24a824c336700cf3e29a8fb91143d6f8fb54172d
[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
30   AliTRDCalTrkAttach();
31   virtual ~AliTRDCalTrkAttach();
32
33   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;
34   void      GetNsgmDy(Int_t &n0, Int_t &n1) const {n0 = fNsgmDy[0]; n1 = fNsgmDy[1];}
35   void      GetLikeMinRelDecrease(Float_t &p0, Float_t &p1) const {p0 = fLikeMinRelDecrease[0]; p1 = fLikeMinRelDecrease[1];}
36   Float_t   GetRClikeLimit() const { return fRClikeLimit;}
37   Float_t   GetScaleCov() const { return fScaleCov;}
38   Bool_t    LoadReferences(const Char_t *file);
39   void      SetNsgmDy(Int_t ns0, Int_t ns1) {fNsgmDy[0] = ns0; fNsgmDy[0] = ns1;}
40   void      SetLikeMinRelDecrease(Float_t p0, Float_t p1) {fLikeMinRelDecrease[0]=p0;fLikeMinRelDecrease[1]=p1;}
41   void      SetRClikeLimit(Float_t rc) { fRClikeLimit = rc;}
42   void      SetScaleCov(Float_t sc) { fScaleCov = sc;}
43
44 private:
45   Int_t     fNsgmDy[2];             //
46   Float_t   fLikeMinRelDecrease[2]; //
47   Float_t   fRClikeLimit;           //
48   Float_t   fScaleCov;              //
49   TObjArray *fLike;                 // array with likelihoods
50     
51   AliTRDCalTrkAttach(const AliTRDCalTrkAttach& ref);
52   AliTRDCalTrkAttach    &operator=(const AliTRDCalTrkAttach &rhs);
53
54   ClassDef(AliTRDCalTrkAttach, 1)    //  Storage for AttachClusters() calibration
55 };
56
57 #endif
58
59