LCOV - code coverage report
Current view: top level - TPC/TPCbase - AliTPCRecoParam.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 61 137 44.5 %
Date: 2016-06-14 17:26:59 Functions: 62 141 44.0 %

          Line data    Source code
       1             : #ifndef ALITPCRECOPARAM_H
       2             : #define ALITPCRECOPARAM_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /// \class AliTPCRecoParam
       7             : /// \brief Class with TPC reconstruction parameters
       8             : 
       9             : 
      10             : #include "AliDetectorRecoParam.h"
      11             : #include "TVectorF.h"
      12             : #include "TVectorD.h"
      13             : 
      14             : class AliTPCRecoParam : public AliDetectorRecoParam
      15             : {
      16             :  public:
      17             :   enum {                       // methods used for correction maps time dependence
      18             :     kCorrMapInterpolation         // interpolate between 2 nearest timebins maps
      19             :     ,kCorrMapNoScaling            // no scaling, use just the single map matching to timestamp
      20             :     ,kCorrMapGlobalScalingLumi // scale current map by ratio of inst_lumi/<lumi_timebin>
      21             :   };
      22             :  public:
      23             :   AliTPCRecoParam();
      24             :   AliTPCRecoParam(const AliTPCRecoParam& src);
      25             :   AliTPCRecoParam& operator=(const AliTPCRecoParam& src);
      26             :   virtual ~AliTPCRecoParam();
      27             :   virtual void Print(const Option_t* option="") const;
      28             :   static   Bool_t  GetUseTimeCalibration();
      29             :   static   void    SetUseTimeCalibration(Bool_t useTimeCalibration);
      30             : 
      31           0 :   void     SetUseHLTClusters(Int_t useHLTClusters){fUseHLTClusters=useHLTClusters;}
      32           4 :   Int_t    GetUseHLTClusters() const {return fUseHLTClusters;}
      33           0 :   void     SetUseHLTPreSeeding(Int_t useHLTPreSeeding){fUseHLTPreSeeding=useHLTPreSeeding;}
      34          16 :   Int_t    GetUseHLTPreSeeding() const {return fUseHLTPreSeeding;}
      35           0 :   void     SetClusterSharing(Bool_t sharing){fBClusterSharing=sharing;}
      36      168920 :   Bool_t   GetClusterSharing() const {return fBClusterSharing;}
      37      252910 :   Double_t GetCtgRange() const     { return fCtgRange;}
      38      552992 :   Double_t GetMaxSnpTracker() const{ return fMaxSnpTracker;}
      39      141480 :   Double_t GetMaxSnpTrack() const  { return fMaxSnpTrack;}
      40         544 :   Bool_t   GetUseOuterDetectors() const { return fUseOuterDetectors;}
      41           0 :   void     SetUseOuterDetectors(Bool_t flag)  { fUseOuterDetectors=flag;}
      42           0 :   void     SetMaxChi2TPCTRD(Double_t maxChi2){fMaxChi2TPCTRD=maxChi2;}
      43         268 :   Double_t GetMaxChi2TPCTRD() const {return fMaxChi2TPCTRD;}
      44           0 :   void     SetMaxChi2TPCITS(Double_t maxChi2){fMaxChi2TPCITS=maxChi2;}
      45         276 :   Double_t GetMaxChi2TPCITS() const {return fMaxChi2TPCITS;}
      46         272 :   Double_t GetCutSharedClusters(Int_t index)const { return fCutSharedClusters[index];}
      47           0 :   void  SetCutSharedClusters(Int_t index, Float_t value){ fCutSharedClusters[index]=value;}
      48      332396 :   Int_t GetClusterMaxRange(Int_t index)const { return fClusterMaxRange[index];}
      49           0 :   void     SetClusterMaxRange(Int_t index, Int_t value){ fClusterMaxRange[index]=value;}
      50             :   //
      51          16 :   Int_t    GetAccountDistortions()               const {return fAccountDistortions;}
      52           0 :   void     SetAccountDistortions(Int_t v)              {fAccountDistortions = v;}
      53     3643168 :   Bool_t   GetUseCorrectionMap()                 const {return fUseCorrectionMap;}
      54           0 :   void     SetUseCorrectionMap(Bool_t v=kTRUE)         {fUseCorrectionMap = v;}
      55             :   //
      56             :   // Outlier filtering configuration
      57             :   //
      58          16 :   Int_t   GetUseOulierClusterFilter() const { return fUseOulierClusterFilter;}  // swith to use outlier cluster filter
      59           0 :   void    SetUseOulierClusterFilter(Int_t value){ fUseOulierClusterFilter=value;}  // swith to use outlier cluster filter
      60             :   //
      61           0 :   Bool_t   DumpSignal()     const  { return fDumpSignal;}
      62           0 :   void     SetTimeInterval(Int_t first, Int_t last) { fFirstBin=first, fLastBin =last;}
      63      848572 :   Int_t    GetFirstBin() const     { return fFirstBin;}
      64      848596 :   Int_t    GetLastBin() const      { return fLastBin;}
      65           0 :   void     SetTimeBinRange(Int_t first, Int_t last){ fFirstBin = first; fLastBin = last;}
      66       93596 :   Bool_t   GetCalcPedestal()       const  { return fBCalcPedestal;}
      67       15824 :   Bool_t   GetDoUnfold()           const  { return fBDoUnfold;}
      68           0 :   void     SetDoUnfold(Bool_t unfold)     { fBDoUnfold = unfold;}
      69           0 :   Float_t  GetDumpAmplitudeMin()   const  { return fDumpAmplitudeMin;}
      70      157028 :   Float_t  GetMaxNoise()           const  { return fMaxNoise;}
      71             :   //
      72       91458 :   Int_t    GetUseOnePadCluster()   const  { return fUseOnePadCluster;}
      73           0 :   Bool_t   GetUseHLTOnePadCluster()const  { return fUseHLTOnePadCluster;}
      74       91458 :   Float_t  GetMinMaxCutAbs()       const  { return fMinMaxCutAbs; }
      75       91458 :   Float_t  GetMinLeftRightCutAbs() const  { return fMinLeftRightCutAbs;}  // minimal amplitude left right - PRF
      76       91458 :   Float_t  GetMinUpDownCutAbs()    const  { return fMinUpDownCutAbs;}  // minimal amplitude up-down - TRF
      77       91458 :   Float_t  GetMinMaxCutSigma()       const  { return fMinMaxCutSigma; }
      78       91458 :   Float_t  GetMinLeftRightCutSigma() const  { return fMinLeftRightCutSigma;}  // minimal amplitude left right - PRF
      79       91458 :   Float_t  GetMinUpDownCutSigma()    const  { return fMinUpDownCutSigma;}  // minimal amplitude up-down - TRF
      80             :   //
      81           0 :   void SetUseOnePadCluster(Int_t use)      {   fUseOnePadCluster = use;}
      82           0 :   void SetUseHLTOnePadCluster(Bool_t use)  {   fUseHLTOnePadCluster = use;}
      83           0 :   void SetMinMaxCutAbs(Float_t th)         {   fMinMaxCutAbs=th; }
      84           0 :   void SetMinLeftRightCutAbs(Float_t th)   {   fMinLeftRightCutAbs=th;}  // minimal amplitude left right - PRF
      85           0 :   void SetMinUpDownCutAbs(Float_t th)      {   fMinUpDownCutAbs=th;}  // minimal amplitude up-down - TRF
      86           0 :   void SetMinMaxCutSigma(Float_t th)       {   fMinMaxCutSigma=th; }
      87           0 :   void SetMinLeftRightCutSigma(Float_t th) {   fMinLeftRightCutSigma=th;}  // minimal amplitude left right - PRF
      88           0 :   void SetMinUpDownCutSigma(Float_t th)    {   fMinUpDownCutSigma=th;}  // minimal amplitude up-down - TRF
      89           0 :   void  SetUseTotCharge(Bool_t flag) {fUseTotCharge = flag;}
      90           0 :   void  SetCtgRange(Double_t ctgRange) {fCtgRange = ctgRange;}
      91           0 :   void  SetUseMultiplicityCorrectionDedx(Bool_t flag) {fUseMultiplicityCorrectionDedx = flag;}
      92             : 
      93           0 :   void  SetUseAlignmentTime(Bool_t flag) {fUseAlignmentTime = flag;}
      94           0 :   void  SetNeighborRowsDedx(Int_t nRows) {fNeighborRowsDedx = nRows;}
      95           0 :   void SetCorrectionHVandPTMode(Int_t value){ fGainCorrectionHVandPTMode =value;}
      96           0 :   void SetSkipTimeBins(Double_t value) {fSkipTimeBins=value;}
      97             :   //
      98          16 :   Int_t    GetLastSeedRowSec()       const  { return fLastSeedRowSec;}
      99          16 :   Int_t    GetSeedGapPrim()        const  { return fSeedGapPrim;}
     100          16 :   Int_t    GetSeedGapSec()         const  { return fSeedGapSec;}
     101           0 :   void     SetDoKinks(Bool_t on)   { fBKinkFinder=on; }
     102          16 :   Bool_t   GetDoKinks() const      { return fBKinkFinder;}
     103         128 :   Double_t GetKinkAngleCutChi2(Int_t index) const {return fKinkAngleCutChi2[index];}
     104           0 :   void     SetKinkAngleCutChi2(Int_t index,Double_t value) {fKinkAngleCutChi2[index]=value;}
     105           0 :   void     SetSeedGapPrim(Int_t seedGapPrim)         { fSeedGapPrim = seedGapPrim;}
     106           0 :   void     SetSeedGapSec(Int_t seedGapSec)          { fSeedGapSec  = seedGapSec;}
     107         596 :   Float_t  GetMaxC()    const      { return fMaxC;}
     108          16 :   Bool_t   GetSpecialSeeding() const { return fBSpecialSeeding;}
     109             :   //
     110             :   //
     111             : 
     112             :   //
     113             :   // Correction setup
     114             :   //
     115           0 :   void  SetUseFieldCorrection(Int_t flag){fUseFieldCorrection=flag;}
     116           0 :   void  SetUseComposedCorrection(Bool_t flag){fUseComposedCorrection=flag;}
     117           0 :   void  SetUseRPHICorrection(Int_t flag){fUseRPHICorrection=flag;}
     118           0 :   void  SetUseRadialCorrection(Int_t flag){fUseRadialCorrection=flag;}
     119           0 :   void  SetUseQuadrantAlignment(Int_t flag){fUseQuadrantAlignment=flag;}
     120           0 :   void  SetUseSectorAlignment(Int_t flag){fUseSectorAlignment=flag;}
     121           0 :   void  SetUseDriftCorrectionTime(Int_t flag){fUseDriftCorrectionTime=flag;}
     122           0 :   void  SetUseDriftCorrectionGY(Int_t flag){fUseDriftCorrectionGY=flag;}
     123           0 :   void  SetUseGainCorrectionTime(Int_t flag){fUseGainCorrectionTime=flag;}
     124           0 :   void  SetUseExBCorrection(Int_t flag){fUseExBCorrection=flag;}
     125           0 :   void  SetUseTOFCorrection(Bool_t flag) {fUseTOFCorrection = flag;}
     126           0 :   void  SetUseIonTailCorrection(Int_t flag) {fUseIonTailCorrection = flag;}
     127           0 :   void  SetCrosstalkCorrection(Float_t crosstalkCorrection) {fCrosstalkCorrection= crosstalkCorrection; }
     128           0 :   void  SetCrosstalkCorrectionMissingCharge(Float_t crosstalkCorrection) {fCrosstalkCorrectionMissingCharge= crosstalkCorrection; }
     129             :   //
     130           0 :   Int_t  GetCorrMapTimeDepMethod()      const {return fCorrMapTimeDepMethod;}
     131           0 :   void   SetCorrMapTimeDepMethod(int m)       {fCorrMapTimeDepMethod = m;}
     132           0 :   Int_t  GetUseLumiType()               const {return fUseLumiType;}
     133           0 :   void   SetUseLumiType(int tp)               {fUseLumiType  =tp;}
     134             :   //
     135      259792 :   Int_t GetUseFieldCorrection() const {return fUseFieldCorrection;}
     136      259792 :   Int_t GetUseComposedCorrection() const {return fUseComposedCorrection;}
     137           0 :   Int_t GetUseRPHICorrection() const {return fUseRPHICorrection;}
     138           0 :   Int_t GetUseRadialCorrection() const {return fUseRadialCorrection;}
     139           0 :   Int_t GetUseQuadrantAlignment() const {return fUseQuadrantAlignment;}
     140      129896 :   Int_t GetUseSectorAlignment() const {return fUseSectorAlignment;}
     141          12 :   Int_t GetUseDriftCorrectionTime() const {return fUseDriftCorrectionTime;}
     142           8 :   Int_t GetUseDriftCorrectionGY() const {return fUseDriftCorrectionGY;}
     143           0 :   Int_t GetUseGainCorrectionTime() const {return fUseGainCorrectionTime;}
     144    10408600 :   Int_t GetUseExBCorrection() const {return fUseExBCorrection;}
     145      259792 :   Bool_t GetUseTOFCorrection() {return fUseTOFCorrection;}
     146          32 :   Int_t GetUseIonTailCorrection() const {return fUseIonTailCorrection;}
     147          48 :   Double_t GetCrosstalkCorrection() const {return fCrosstalkCorrection;}
     148           0 :  Double_t GetCrosstalkCorrectionMissingCharge() const {return fCrosstalkCorrectionMissingCharge;}
     149             : 
     150          16 :   Bool_t GetUseMultiplicityCorrectionDedx() const {return fUseMultiplicityCorrectionDedx;}
     151      265872 :   Int_t  GetGainCorrectionHVandPTMode() const  { return   fGainCorrectionHVandPTMode;}
     152        9720 :   Double_t  GetSkipTimeBins() const {return fSkipTimeBins;}
     153             : 
     154           0 :   Bool_t GetUseAlignmentTime() const {return fUseAlignmentTime;}
     155             :   //
     156        1080 :   Bool_t   GetUseTotCharge() const {return fUseTotCharge;}          // switch use total or max charge
     157           0 :   Float_t  GetMinFraction() const {return fMinFraction;}           // truncated mean - lower threshold
     158           0 :   Float_t  GetMaxFraction() const {return fMaxFaction;}            // truncated mean - upper threshold
     159        9720 :   Int_t    GetNeighborRowsDedx() const {return fNeighborRowsDedx;}
     160             : 
     161             :   //
     162           0 :   void     SetSystematicError(Double_t *systematic){ for (Int_t i=0; i<5;i++) fSystematicErrors[i]=systematic[i];}
     163           0 :   void     SetSystematicErrorCluster(Double_t *systematic){ for (Int_t i=0; i<2;i++) fSystematicErrorCluster[i]=systematic[i];}
     164      209276 :   Double_t GetUseDistortionFractionAsErrorY() const {return fDistortionFractionAsErrorYZ[0];}
     165      209276 :   Double_t GetUseDistortionFractionAsErrorZ() const {return fDistortionFractionAsErrorYZ[1];}
     166      209276 :   Double_t GetUseDistDispFractionAsErrorY() const {return fDistDispFractionAsErrorYZ[0];}
     167      209276 :   Double_t GetUseDistDispFractionAsErrorZ() const {return fDistDispFractionAsErrorYZ[1];}
     168           0 :   void     SetUseDistortionFractionAsErrorY(double v) {fDistortionFractionAsErrorYZ[0] = v;}
     169           0 :   void     SetUseDistortionFractionAsErrorZ(double v) {fDistortionFractionAsErrorYZ[1] = v;}
     170           0 :   void     SetUseDistDispFractionAsErrorY(double v) {fDistDispFractionAsErrorYZ[0] = v;}
     171           0 :   void     SetUseDistDispFractionAsErrorZ(double v) {fDistDispFractionAsErrorYZ[1] = v;}
     172             : 
     173          28 :   void     SetBadPadMaxDistXYZ(double x,double y,double z)  {fBadPadMaxDistXYZ[0]=x;fBadPadMaxDistXYZ[1]=y;fBadPadMaxDistXYZ[2]=z;}
     174          28 :   void     SetBadPadMaxErrYZ(double y,double z)             {fBadPadMaxErrYZ[0]=y;fBadPadMaxErrYZ[1]=z;}
     175             : 
     176           0 :   const Double_t* GetBadPadMaxDistXYZ() const {return fBadPadMaxDistXYZ;}
     177           0 :   const Double_t* GetBadPadMaxErrYZ()   const {return fBadPadMaxErrYZ;}
     178             : 
     179        1356 :   const Double_t * GetSystematicError() const { return fSystematicErrors;}
     180      209276 :   const Double_t * GetSystematicErrorClusterInner() const { return fSystematicErrorClusterInner;}
     181      418568 :   const Double_t * GetSystematicErrorCluster() const { return fSystematicErrorCluster;}
     182             : 
     183       76684 :   const TVectorF* GetSystErrClInnerRegZ()       const {return fSystErrClInnerRegZ;}
     184           0 :   const TVectorF* GetSystErrClInnerRegZSigInv() const {return fSystErrClInnerRegZSigInv;}
     185           0 :   void SetSystErrClInnerRegZ(TVectorF* zc)         {fSystErrClInnerRegZ = zc;}
     186           0 :   void SetSystErrClInnerRegZSigInv(TVectorF* zs)   {fSystErrClInnerRegZSigInv = zs;}
     187             :   
     188           0 :   void    SetUseSystematicCorrelation(Bool_t useCorrelation)  {fUseSystematicCorrelation=useCorrelation;}
     189        1356 :   Bool_t  GetUseSystematicCorrelation() const { return fUseSystematicCorrelation;}
     190             : 
     191             :   static   AliTPCRecoParam *GetLowFluxParam();        // make reco parameters for low  flux env.
     192             :   static   AliTPCRecoParam *GetHighFluxParam();       // make reco parameters for high flux env.
     193             :   static   AliTPCRecoParam *GetHLTParam(); // special setting for HLT
     194             :   static   AliTPCRecoParam *GetLaserTestParam(Bool_t bPedestal);  // special setting for laser
     195             :   static   AliTPCRecoParam *GetCosmicTestParam(Bool_t bPedestal); // special setting for cosmic
     196             :   //
     197      627828 :   static  const Double_t * GetSystematicErrorClusterCustom() { return (fgSystErrClustCustom) ? fgSystErrClustCustom->GetMatrixArray():0;}
     198           9 :   static  const Double_t * GetPrimaryDCACut()                { return (fgPrimaryDCACut)? fgPrimaryDCACut->GetMatrixArray():0; }
     199           0 :   static  void  SetSystematicErrorClusterCustom( TVectorD *vec ) { fgSystErrClustCustom=vec;}
     200           0 :   static  void SetPrimaryDCACut( TVectorD *dcacut )              { fgPrimaryDCACut=dcacut;}
     201             : 
     202             :   //
     203             :  protected:
     204             : 
     205             :   Int_t    fUseHLTClusters;  ///< allows usage of HLT clusters instead of RAW data
     206             :   Int_t    fUseHLTPreSeeding; ///< Usage of HLT pre-seeding
     207             :   Bool_t   fBClusterSharing; ///< allows or disable cluster sharing during tracking
     208             :   Double_t fCtgRange;        ///< +-fCtgRange is the ctg(Theta) window used for clusterization and tracking (MI)
     209             :   Double_t fMaxSnpTracker;   ///< max sin of local angle  - for TPC tracker
     210             :   Double_t fMaxSnpTrack;     ///< max sin of local angle  - for track
     211             :   Bool_t   fUseOuterDetectors; ///< switch - to use the outer detectors
     212             :   Double_t fMaxChi2TPCTRD;     ///< maximal allowed chi2 between the TRD in and TPC out to be accepted for refit
     213             :   Double_t fMaxChi2TPCITS;     ///< maximal allowed chi2 between the ITS in and TPC out to be accepted for backpropagation
     214             :   //
     215             :   // Outlier filtering configuration
     216             :   //
     217             :   Int_t   fUseOulierClusterFilter;  ///< swith to use outlier cluster filter
     218             : 
     219             :   Double_t fCutSharedClusters[2]; ///< cut value - maximal amount  of shared clusters
     220             :   Int_t fClusterMaxRange[2];   ///< neighborhood  - to define local maxima for cluster
     221             :   //
     222             :   //   clusterer parameters
     223             :   //
     224             :   Bool_t   fDumpSignal;      ///< Dump Signal information flag
     225             :   Int_t    fFirstBin;        ///< first time bin used by cluster finder
     226             :   Int_t    fLastBin;         ///< last time bin  used by cluster finder
     227             :   Bool_t   fBCalcPedestal;   ///< calculate Pedestal
     228             :   Bool_t   fBDoUnfold;       ///< do unfolding of clusters
     229             :   Float_t  fDumpAmplitudeMin; ///< minimal amplitude of signal to be dumped
     230             :   Float_t  fMaxNoise;        ///< maximal noise sigma on pad to be used in cluster finder
     231             :   Int_t    fUseOnePadCluster; ///< flag - use one pad cluster -0 not use >0 use
     232             :   Bool_t   fUseHLTOnePadCluster; ///< flag - use one HLT pad cluster for tracking
     233             :   Float_t  fMinMaxCutAbs;    ///< minimal amplitude at cluster maxima
     234             :   Float_t  fMinLeftRightCutAbs;  ///< minimal amplitude left right - PRF
     235             :   Float_t  fMinUpDownCutAbs;  ///< minimal amplitude up-down - TRF
     236             :   Float_t  fMinMaxCutSigma;    ///< minimal amplitude at cluster maxima
     237             :   Float_t  fMinLeftRightCutSigma;  ///< minimal amplitude left right - PRF
     238             :   Float_t  fMinUpDownCutSigma;  ///< minimal amplitude up-down - TRF
     239             :   //
     240             :   //
     241             :   Float_t  fMaxC;            ///< maximal curvature for tracking
     242             :   Bool_t   fBSpecialSeeding; ///< special seeding with big inclination angles allowed (for Cosmic and laser)
     243             :   Bool_t   fBKinkFinder;       ///< do kink finder reconstruction
     244             :   Double_t fKinkAngleCutChi2[2];   ///< angular cut for kinks
     245             :   Int_t    fLastSeedRowSec;     ///< Most Inner Row to make seeding for secondaries
     246             :   Int_t    fSeedGapPrim;   ///< seeding gap for primary tracks
     247             :   Int_t    fSeedGapSec;   ///< seeding gap for secondary tracks
     248             : 
     249             :   //
     250             :   // Correction switches
     251             :   //
     252             :   Int_t fUseFieldCorrection;     ///< use field correction
     253             :   Bool_t fUseComposedCorrection; ///< flag to use composed correction
     254             :   Int_t fUseRPHICorrection;      ///< use rphi correction
     255             :   Int_t fUseRadialCorrection;    ///< use radial correction
     256             :   Int_t fUseQuadrantAlignment;   ///< use quadrant alignment
     257             :   Int_t fUseSectorAlignment;     ///< use sector alignment
     258             :   Int_t fUseDriftCorrectionTime; ///< use drift correction time
     259             :   Int_t fUseDriftCorrectionGY;   ///< use drif correction global y
     260             :   Int_t fUseGainCorrectionTime;  ///< use gain correction time
     261             :   Int_t fUseExBCorrection;       ///< use ExB correction
     262             :   Bool_t fUseMultiplicityCorrectionDedx; ///< use Dedx multiplicity correction
     263             :   Bool_t fUseAlignmentTime;              ///< use time dependent alignment correction
     264             :   Int_t fUseIonTailCorrection;   ///< use ion tail correction
     265             :   Double_t fCrosstalkCorrection;   ///< crosstalk correction factor (fro each signal substracted by (mean signal in wite patch)xfCrosstalkCorrection) - Effect important only after removing oc capacitors in 2012
     266             :   Double_t fCrosstalkCorrectionMissingCharge;   ///< crosstalk correction factor - missing charge factor (from each signal substracted by (mean signal in wite patch)xfCrosstalkCorrection) - Effect important only after removing  capacitors in 2012
     267             :  //
     268             :   // dEdx switches
     269             :   //
     270             :   Bool_t   fUseTotCharge;          ///< switch use total or max charge
     271             :   Float_t fMinFraction;           ///< truncated mean - lower threshold
     272             :   Float_t fMaxFaction;            ///< truncated mean - upper threshold
     273             :   Int_t   fNeighborRowsDedx;      ///< number of neighboring rows to identify cluster below thres in dEdx calculation 0 -> switch off
     274             :   Int_t   fGainCorrectionHVandPTMode; ///< switch for the usage of GainCorrectionHVandPT (see AliTPCcalibDB::GetGainCorrectionHVandPT
     275             :   Int_t   fAccountDistortions;        ///< account for distortions in tracking
     276             :   Double_t fSkipTimeBins;        ///< number of time bins to be skiiped (corrupted signal druing gating opening)
     277             : 
     278             :   Bool_t fUseTOFCorrection;  ///< switch - kTRUE use TOF correction kFALSE - do not use
     279             :   //
     280             :   Bool_t fUseCorrectionMap;  ///< flag to use parameterized correction map (AliTPCChebCorr)
     281             :   Int_t  fCorrMapTimeDepMethod; ///< method used for correction time dependence
     282             :   Int_t  fUseLumiType;          ///< luminosity graph to be used for different lumi scalings
     283             :   //  misscalibration
     284             :   //
     285             :   TVectorF* fSystErrClInnerRegZ;        //< center of region in Z to apply extra systematic error
     286             :   TVectorF* fSystErrClInnerRegZSigInv;  //< inverse sigma forgaussian dumping aroung this center Z to apply extra syst error  
     287             :   Double_t fSystematicErrors[5];  ///< systematic errors in the track parameters - to be added to TPC covariance matrix
     288             :   Double_t fSystematicErrorClusterInner[2];  ///< systematic error of the cluster - used to downscale the information
     289             : 
     290             :   Double_t fSystematicErrorCluster[2];        ///< systematic error of the cluster - used e.g in OpenGG run to provide better cluster to track association efficiency
     291             :   Double_t fDistortionFractionAsErrorYZ[2];   ///< use fraction of distortion as additional error
     292             :   Double_t fDistDispFractionAsErrorYZ[2];   ///< use fraction of distortion dispersion as additional error
     293             :   Double_t fBadPadMaxDistXYZ[3];            ///< pad considered bad if abs distortion exceeds this value
     294             :   Double_t fBadPadMaxErrYZ[2];              ///< pad considered bad if syst.error on cluster exceeds this value
     295             :   Bool_t fUseSystematicCorrelation;         ///< switch to use the correlation for the sys
     296             : 
     297             :   static TVectorD* fgSystErrClustCustom;  //< custom systematic errors for the TPC clusters overriding persistent data member
     298             :   static TVectorD* fgPrimaryDCACut;       //< only primaries passing DCAYZ cut are reconstructed
     299             : 
     300             : public:
     301             :   static Bool_t fgUseTimeCalibration; ///< flag usage the time dependent calibration
     302             :                                       // to be switched off for pass 0 reconstruction
     303             :                                       // Use static function, other option will be to use
     304             :                                       // additional specific storage ?
     305             :   /// \cond CLASSIMP
     306          56 :   ClassDef(AliTPCRecoParam, 29)
     307             :   /// \endcond
     308             : };
     309             : 
     310             : 
     311             : #endif

Generated by: LCOV version 1.11