ROOT logo
#ifndef ALITRDCALTRKATTACH_H
#define ALITRDCALTRKATTACH_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

//////////////////////////////////////////////////////////////////
//
// Container for calibration parameters for AliTRDseedV1::AttachClusters()
// For calibration procedure check AliTRDtrackleOflHelper::CalibrateAttach()
//
// Author Alex Bercuci <A.Bercuci@gsi.de>
//
//////////////////////////////////////////////////////////////////

#ifndef ROOT_TNamed
#include <TNamed.h>
#endif
class TObjArray;
class AliTRDCalTrkAttach : public TNamed
{
public:
  enum ETRDCalTrkAttachCalib {
    kResPos = 0    // relative position residual location
   ,kResAng        // angular residual location
   ,kSigma         // relative error location
   ,kNclMean       // mean no. of clusters/tracklet location
   ,kNcalib        // no. of calib objects
  };
  enum ETRDCalTrkAttachParam {
    kNcharge = 2
  };

  AliTRDCalTrkAttach();
  virtual ~AliTRDCalTrkAttach();

  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;
  void      Draw(Option_t* option = "0y");
  void      GetNsgmDy(Int_t &n0, Int_t &n1) const {n0 = fNsgmDy[0]; n1 = fNsgmDy[1];}
  void      GetLikeMinRelDecrease(Float_t &p0, Float_t &p1) const {p0 = fLikeMinRelDecrease[0]; p1 = fLikeMinRelDecrease[1];}
  Float_t   GetRClikeLimit() const { return fRClikeLimit;}
  Float_t   GetScaleCov() const { return fScaleCov;}
  Bool_t    LoadReferences(const Char_t *file);
  void      SetNsgmDy(Int_t ns0, Int_t ns1) {fNsgmDy[0] = ns0; fNsgmDy[0] = ns1;}
  void      SetLikeMinRelDecrease(Float_t p0, Float_t p1) {fLikeMinRelDecrease[0]=p0;fLikeMinRelDecrease[1]=p1;}
  void      SetRClikeLimit(Float_t rc) { fRClikeLimit = rc;}
  void      SetScaleCov(Float_t sc) { fScaleCov = sc;}

private:
  void      Help();

  Int_t     fNsgmDy[2];             //
  Float_t   fLikeMinRelDecrease[2]; //
  Float_t   fRClikeLimit;           //
  Float_t   fScaleCov;              //
  TObjArray *fLike;                 // array with likelihoods
    
  AliTRDCalTrkAttach(const AliTRDCalTrkAttach& ref);
  AliTRDCalTrkAttach    &operator=(const AliTRDCalTrkAttach &rhs);

  ClassDef(AliTRDCalTrkAttach, 1)    //  Storage for AttachClusters() calibration
};

#endif


 AliTRDCalTrkAttach.h:1
 AliTRDCalTrkAttach.h:2
 AliTRDCalTrkAttach.h:3
 AliTRDCalTrkAttach.h:4
 AliTRDCalTrkAttach.h:5
 AliTRDCalTrkAttach.h:6
 AliTRDCalTrkAttach.h:7
 AliTRDCalTrkAttach.h:8
 AliTRDCalTrkAttach.h:9
 AliTRDCalTrkAttach.h:10
 AliTRDCalTrkAttach.h:11
 AliTRDCalTrkAttach.h:12
 AliTRDCalTrkAttach.h:13
 AliTRDCalTrkAttach.h:14
 AliTRDCalTrkAttach.h:15
 AliTRDCalTrkAttach.h:16
 AliTRDCalTrkAttach.h:17
 AliTRDCalTrkAttach.h:18
 AliTRDCalTrkAttach.h:19
 AliTRDCalTrkAttach.h:20
 AliTRDCalTrkAttach.h:21
 AliTRDCalTrkAttach.h:22
 AliTRDCalTrkAttach.h:23
 AliTRDCalTrkAttach.h:24
 AliTRDCalTrkAttach.h:25
 AliTRDCalTrkAttach.h:26
 AliTRDCalTrkAttach.h:27
 AliTRDCalTrkAttach.h:28
 AliTRDCalTrkAttach.h:29
 AliTRDCalTrkAttach.h:30
 AliTRDCalTrkAttach.h:31
 AliTRDCalTrkAttach.h:32
 AliTRDCalTrkAttach.h:33
 AliTRDCalTrkAttach.h:34
 AliTRDCalTrkAttach.h:35
 AliTRDCalTrkAttach.h:36
 AliTRDCalTrkAttach.h:37
 AliTRDCalTrkAttach.h:38
 AliTRDCalTrkAttach.h:39
 AliTRDCalTrkAttach.h:40
 AliTRDCalTrkAttach.h:41
 AliTRDCalTrkAttach.h:42
 AliTRDCalTrkAttach.h:43
 AliTRDCalTrkAttach.h:44
 AliTRDCalTrkAttach.h:45
 AliTRDCalTrkAttach.h:46
 AliTRDCalTrkAttach.h:47
 AliTRDCalTrkAttach.h:48
 AliTRDCalTrkAttach.h:49
 AliTRDCalTrkAttach.h:50
 AliTRDCalTrkAttach.h:51
 AliTRDCalTrkAttach.h:52
 AliTRDCalTrkAttach.h:53
 AliTRDCalTrkAttach.h:54
 AliTRDCalTrkAttach.h:55
 AliTRDCalTrkAttach.h:56
 AliTRDCalTrkAttach.h:57
 AliTRDCalTrkAttach.h:58
 AliTRDCalTrkAttach.h:59
 AliTRDCalTrkAttach.h:60
 AliTRDCalTrkAttach.h:61
 AliTRDCalTrkAttach.h:62
 AliTRDCalTrkAttach.h:63
 AliTRDCalTrkAttach.h:64
 AliTRDCalTrkAttach.h:65