]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDCalibraFillHisto.h
- use mass/z for Light Nuclei in all TPC response functions
[u/mrichter/AliRoot.git] / TRD / AliTRDCalibraFillHisto.h
index 9a4453836ebd26850a56cd312527fae695e1d4f2..3d130433568e843fa877d5ac57be328eb4e9a891 100644 (file)
@@ -31,9 +31,12 @@ class TTreeSRedirector;
 class AliLog;
 class AliRawReader;
 
+class AliESDtrack;
+
 class AliTRDCalibraMode;
 class AliTRDCalibraVector;
 class AliTRDCalibraVdriftLinearFit;
+class AliTRDCalibraExbAltFit;
 class AliTRDcluster;
 class AliTRDtrackV1;
 class AliTRDseedV1;
@@ -64,7 +67,7 @@ class AliTRDCalibraFillHisto : public TObject {
   // Functions for initialising and filling with AliTRDtrackV1
           Bool_t  Init2Dhistos(Int_t nboftimebin = -1);
          Bool_t  InitCalDet();
-         Bool_t  UpdateHistogramsV1(const AliTRDtrackV1 *t);
+         Bool_t  UpdateHistogramsV1(const AliTRDtrackV1 *t,const AliESDtrack *esdtrack = NULL);
  
   // Process events DAQ
          Int_t   ProcessEventDAQ(AliRawReader *rawReader);
@@ -98,6 +101,8 @@ class AliTRDCalibraFillHisto : public TObject {
           void     SetVector2d(Bool_t vector2d = kTRUE)                      { fVector2d        = vector2d;          }
          void     SetLinearFitterOn(Bool_t linearfitteron = kTRUE)          { fLinearFitterOn      = linearfitteron;}
          void     SetLinearFitterDebugOn(Bool_t debug = kTRUE)              { fLinearFitterDebugOn = debug;         }
+          void     SetExbAltFitOn(Bool_t fiton = kTRUE)                      { fExbAltFitOn      = fiton;}
+         void     SetScaleWithTPCSignal(Bool_t scaleWithTPCSignal = kTRUE)  { fScaleWithTPCSignal = scaleWithTPCSignal;}
          void     SetFirstRunGain(Int_t firstRunGain)                       { fFirstRunGain = firstRunGain;   }
          void     SetVersionGainUsed(Int_t versionGainUsed)                 { fVersionGainUsed = versionGainUsed;   }
          void     SetSubVersionGainUsed(Int_t subVersionGainUsed)           { fSubVersionGainUsed = subVersionGainUsed;   }
@@ -131,7 +136,8 @@ class AliTRDCalibraFillHisto : public TObject {
   TProfile2D      *GetPRF2d() const                                          { return fPRF2d;                  } 
   TObjArray        GetLinearFitterArray() const                              { return fLinearFitterArray;      }
   TLinearFitter   *GetLinearFitter(Int_t detector, Bool_t force=kFALSE);
-  AliTRDCalibraVdriftLinearFit *GetVdriftLinearFit() const                   { return fLinearVdriftFit;        }
+  AliTRDCalibraVdriftLinearFit *GetVdriftLinearFit() const                   { return fLinearVdriftFit; }
+  AliTRDCalibraExbAltFit *GetExbAltFit() const                               { return fExbAltFit; }
   
  
   // How to fill the 2D
@@ -142,6 +148,9 @@ class AliTRDCalibraFillHisto : public TObject {
          void     SetNormalizeNbOfCluster(Bool_t normalizeNbOfCluster)      { fNormalizeNbOfCluster = normalizeNbOfCluster; }
          void     SetMaxCluster(Float_t maxCluster)                         { fMaxCluster = maxCluster; }
          void     SetNbMaxCluster(Short_t nbMaxCluster)                     { fNbMaxCluster = nbMaxCluster; }
+         void     SetCutWithVdriftCalib(Bool_t cutWithVdriftCalib)          { fCutWithVdriftCalib = cutWithVdriftCalib; }
+         void     SetMinNbTRDtracklets(Int_t minNbTRDtracklets)             { fMinNbTRDtracklets = minNbTRDtracklets; }
+         void     SetMinTRDMomentum(Float_t minTRDMomentum)                 { fMinTRDMomentum = minTRDMomentum; }
          void     SetNz(Int_t i, Short_t nz);
           void     SetNrphi(Int_t i, Short_t nrphi);
           void     SetAllTogether(Int_t i);
@@ -154,6 +163,7 @@ class AliTRDCalibraFillHisto : public TObject {
          void     SetThresholdClustersDAQ(Float_t thresholdClustersDAQ)     { fThresholdClustersDAQ = thresholdClustersDAQ;                         }
          void     SetNumberRowDAQ(Short_t numberRowDAQ)                     { fNumberRowDAQ         = numberRowDAQ;         }
          void     SetNumberColDAQ(Short_t numberColDAQ)                     { fNumberColDAQ         = numberColDAQ;         }
+         void     SetRangeHistoCharge(Float_t rangeHistoCharge)             { fRangeHistoCharge     = rangeHistoCharge;     }
          void     SetNumberBinCharge(Short_t numberBinCharge)               { fNumberBinCharge      = numberBinCharge;      }
           void     SetNumberBinPRF(Short_t numberBinPRF)                     { fNumberBinPRF         = numberBinPRF;         }
          void     SetNumberGroupsPRF(Short_t numberGroupsPRF);
@@ -165,6 +175,7 @@ class AliTRDCalibraFillHisto : public TObject {
          Bool_t   GetNormalizeNbOfCluster() const                           { return fNormalizeNbOfCluster;   }
          Float_t  GetMaxCluster() const                                     { return fMaxCluster;             }
          Short_t  GetNbMaxCluster() const                                   { return fNbMaxCluster;           }
+         Bool_t   GetCutWithVdriftCalib() const                             { return fCutWithVdriftCalib;     }
          Float_t  GetProcent() const                                        { return fProcent;                }
           Short_t  GetDifference() const                                     { return fDifference;             }
           Short_t  GetNumberClusters() const                                 { return fNumberClusters;         }
@@ -198,6 +209,8 @@ AliTRDCalibraVector *GetCalibraVector() const                                { r
           Bool_t   fVector2d;               // Chose to fill vectors
          Bool_t   fLinearFitterOn;         // Method with linear fit for drift velocity
          Bool_t   fLinearFitterDebugOn;    // Method with linear fit for drift velocity
+          Bool_t   fExbAltFitOn;            // Enable parabolic fit for exb
+         Bool_t   fScaleWithTPCSignal;     // Scale the gain with TPC signal (If use then ask at least 70 TPC clusters)
 
   // How to fill the 2D
           Float_t  fRelativeScale;          // Scale of the deposited charge
@@ -207,6 +220,9 @@ AliTRDCalibraVector *GetCalibraVector() const                                { r
          Bool_t   fNormalizeNbOfCluster;   // Normalize with the number of cluster for the gain
          Float_t  fMaxCluster;             // Max amplitude of one cluster
          Short_t  fNbMaxCluster;           // Number of tb at the end
+         Bool_t   fCutWithVdriftCalib;     // CutWithVdriftCalib for the gain and PH
+         Int_t    fMinNbTRDtracklets;      // Min number of TRD tracklets
+         Float_t  fMinTRDMomentum;         // Min TRD momentum
   // Back correction
          Int_t    fFirstRunGain;           // FirstRunGain 
          Int_t    fVersionGainUsed;        // VersionGainUsed 
@@ -247,6 +263,7 @@ AliTRDCalibraVector *GetCalibraVector() const                                { r
           Int_t    fNumberUsedPh[2];        // How many tracks have been really used for the drift velocity (0, strict; 1 with fDifference)
          Int_t    fTimeMax;                // Number of time bins
           Float_t  fSf;                     // Sampling frequence
+         Float_t  fRangeHistoCharge;       // Range of the histo for the charge
          Short_t  fNumberBinCharge;        // Number of bins for the gain factor
          Short_t  fNumberBinPRF;           // Number of bin for the PRF
          Short_t  fNgroupprf;              // Number of groups in tnp bins for PRF /2.0
@@ -275,6 +292,7 @@ AliTRDCalibraVector *GetCalibraVector() const                                { r
          TH2I            *fCH2d;                         // 2D deposited charge
          TObjArray       fLinearFitterArray;             // TObjArray of Linear Fitters for the detectors 
          AliTRDCalibraVdriftLinearFit *fLinearVdriftFit; // Info Linear Fit
+          AliTRDCalibraExbAltFit *fExbAltFit; // ExB parabolic fit (alternative to vdrift linear fit)
          
  // Current calib object: to correct for the database used
          AliTRDCalDet *fCalDetGain;                      // Current calib object gain
@@ -296,7 +314,7 @@ AliTRDCalibraVector *GetCalibraVector() const                                { r
          Bool_t   FindP1TrackPHtrackletV1(const AliTRDseedV1 *tracklet, Int_t nbclusters);
          Bool_t   HandlePRFtrackletV1(const AliTRDseedV1 *tracklet, Int_t nbclusters);
          void     ResetfVariablestracklet();
-         void     StoreInfoCHPHtrack(const AliTRDcluster *cl,const Double_t dqdl,const Int_t *group,const Int_t row,const Int_t col,const AliTRDcluster *cls=0x0);
+         Float_t  StoreInfoCHPHtrack(const AliTRDcluster *cl,const Double_t dqdl,const Int_t *group,const Int_t row,const Int_t col,const AliTRDcluster *cls=0x0);
          void     FillCH2d(Int_t x, Float_t y);
 
   // Calibration on DAQ
@@ -330,7 +348,7 @@ AliTRDCalibraVector *GetCalibraVector() const                                { r
   AliTRDCalibraFillHisto();
   virtual ~AliTRDCalibraFillHisto(); 
     
-  ClassDef(AliTRDCalibraFillHisto,4)                         // TRD Calibration class
+  ClassDef(AliTRDCalibraFillHisto,7)                         // TRD Calibration class
 
 };