]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDCalibraFillHisto.h
New MFT analysis tools
[u/mrichter/AliRoot.git] / TRD / AliTRDCalibraFillHisto.h
index a6b2d727999a7d764a595d4f183e75967e0cff7c..7319aa174949d89021d820b145572d68606e24df 100644 (file)
@@ -31,6 +31,8 @@ class TTreeSRedirector;
 class AliLog;
 class AliRawReader;
 
+class AliESDtrack;
+
 class AliTRDCalibraMode;
 class AliTRDCalibraVector;
 class AliTRDCalibraVdriftLinearFit;
@@ -65,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);
@@ -100,6 +102,8 @@ class AliTRDCalibraFillHisto : public TObject {
          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     SetTakeSnapshot(Bool_t takesnapshot)                 { fTakeSnapshot = takesnapshot;   }
          void     SetFirstRunGain(Int_t firstRunGain)                       { fFirstRunGain = firstRunGain;   }
          void     SetVersionGainUsed(Int_t versionGainUsed)                 { fVersionGainUsed = versionGainUsed;   }
          void     SetSubVersionGainUsed(Int_t subVersionGainUsed)           { fSubVersionGainUsed = subVersionGainUsed;   }
@@ -145,6 +149,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);
@@ -157,6 +164,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);
@@ -168,6 +176,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;         }
@@ -201,7 +210,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   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
@@ -211,7 +221,11 @@ 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
+         Bool_t   fTakeSnapshot;           // Take from snapshot
          Int_t    fFirstRunGain;           // FirstRunGain 
          Int_t    fVersionGainUsed;        // VersionGainUsed 
          Int_t    fSubVersionGainUsed;     // SubVersionGainUsed
@@ -251,6 +265,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
@@ -301,7 +316,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
@@ -335,7 +350,7 @@ AliTRDCalibraVector *GetCalibraVector() const                                { r
   AliTRDCalibraFillHisto();
   virtual ~AliTRDCalibraFillHisto(); 
     
-  ClassDef(AliTRDCalibraFillHisto,4)                         // TRD Calibration class
+  ClassDef(AliTRDCalibraFillHisto,8)                         // TRD Calibration class
 
 };