ROOT logo
#ifndef ALITRACKFIXTENDERSUPPLY_H
#define ALITRACKFIXTENDERSUPPLY_H

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

////////////////////////////////////////////////////////////////////////
//                                                                    //
//  Apply on-the-fly fix to tracks                                    //
//                                                                    //
//  19/06/2012: RS: Add 1/pt shift from AODB to TPC and TPC-ITS       //
//                  Optionally correct also track coordinate          //
//                                                                    //
////////////////////////////////////////////////////////////////////////

#include <TString.h>
#include "AliTenderSupply.h"


class AliESDVertex;
class AliExternalTrackParam;
class AliOADBContainer;
class AliESDtrack;
class AliOADBTrackFix;

class AliTrackFixTenderSupply: public AliTenderSupply {
  
public:
  //
  AliTrackFixTenderSupply();
  AliTrackFixTenderSupply(const char *name, const AliTender *tender=NULL);
  virtual ~AliTrackFixTenderSupply();
  virtual  void ProcessEvent();
  virtual  void Init() {}
  //
  Double_t GetSideAFraction(const AliESDtrack* track) const;
  void     CorrectTrackPtInv(AliExternalTrackParam* trc, int mode, double sideAfraction, double phi) const;
  Bool_t   GetRunCorrections(int run);
  Bool_t   LoadOADBObjects();
  //
  void     SetOADBObjPath(const char* path)        { fOADBObjPath = path; }
  void     SetOADBObjName(const char* name)        { fOADBObjName = name; }
  TString& GetOADBObjPath()                 const  { return (TString&)fOADBObjPath; }
  TString& GetOADBObjName()                 const  { return (TString&)fOADBObjName; }
  //
  void     SetDebugLevel(Int_t l=1)                {fDebug = l;}
  Int_t    GetDebugLevel()                  const  {return fDebug;}
  //
private:
  
  AliTrackFixTenderSupply(const AliTrackFixTenderSupply&c);
  AliTrackFixTenderSupply& operator= (const AliTrackFixTenderSupply&c);
  //
  Int_t             fDebug;                  // Debug level
  Double_t          fBz;                     // mag field from ESD
  AliOADBTrackFix*  fParams;                 // parameters for current run
  TString           fOADBObjPath;            // path of file with parameters to use, starting from OADB dir
  TString           fOADBObjName;            // name of the corrections object in the OADB container
  AliOADBContainer* fOADBCont;               // OADB container with parameters collection
  //
  ClassDef(AliTrackFixTenderSupply, 1);  // track fixing tender task 
};


#endif

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