]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDCalibraFillHisto.h
Updating Run Types for TRIGGER pp.
[u/mrichter/AliRoot.git] / TRD / AliTRDCalibraFillHisto.h
index 830e210a5ab07a8fcdf6b612ef20d72eb5e2f381..ba1b32c47f1406b50df4b4d716537d3971146bf2 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef ALITRDCALIBRAFILLHISTO_H
-#define ALITRDCALIBRAFILLHISTOs_H
+#define ALITRDCALIBRAFILLHISTO_H
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
 #ifndef ROOT_TObject
 #  include <TObject.h>
 #endif
-#ifndef ROOT_TLinearFitter
-#  include <TLinearFitter.h> 
-#endif
 #ifndef ROOT_TProfile2D
 #  include <TProfile2D.h> 
 #endif
-#ifndef ROOT_TH2I
-#  include <TH2I.h> 
-#endif
+
 
 class TProfile2D;
 class TObjArray;
@@ -44,8 +39,6 @@ class AliTRDcluster;
 class AliTRDtrackV1;
 class AliTRDtrack;
 class AliTRDseedV1;
-class AliTRDmcm;
-class AliTRDmcmTracklet;
 class AliTRDgeometry;
 class AliTRDCalDet;
 class AliTRDCalROC;
@@ -68,18 +61,14 @@ class AliTRDCalibraFillHisto : public TObject {
   AliTRDCalibraFillHisto &operator=(const AliTRDCalibraFillHisto &) { return *this; }
 
   // Functions for initialising and filling with AliTRDtrackV1
-          Bool_t  Init2Dhistos();
-         Bool_t  UpdateHistograms(AliTRDtrack *t);
-         Bool_t  UpdateHistogramsV1(AliTRDtrackV1 *t);
+          Bool_t  Init2Dhistos(Int_t nboftimebin = -1);
+         Bool_t  UpdateHistograms(const AliTRDtrack *t);
+         Bool_t  UpdateHistogramsV1(const AliTRDtrackV1 *t);
  
   // Process events DAQ
          Int_t   ProcessEventDAQ(AliTRDrawStreamBase *rawStream, Bool_t nocheck = kFALSE);
          Int_t   ProcessEventDAQ(AliRawReader *rawReader, Bool_t nocheck = kFALSE);
-         Int_t   ProcessEventDAQ(eventHeaderStruct *event, Bool_t nocheck = kFALSE);
-
-         Int_t   ProcessEventDAQV1(AliTRDrawStreamBase *rawStream, Bool_t nocheck = kFALSE);
-         Int_t   ProcessEventDAQV1(AliRawReader *rawReader, Bool_t nocheck = kFALSE);
-         Int_t   ProcessEventDAQV1(eventHeaderStruct *event, Bool_t nocheck = kFALSE);
+         Int_t   ProcessEventDAQ(const eventHeaderStruct *event, Bool_t nocheck = kFALSE);
 
   // Is Pad on
           Bool_t   IsPadOn(Int_t detector, Int_t row, Int_t col) const;
@@ -91,15 +80,19 @@ class AliTRDCalibraFillHisto : public TObject {
          Double_t *StatH(TH2 *ch, Int_t i);
          Double_t *GetMeanMedianRMSNumberCH();
          Double_t *GetMeanMedianRMSNumberLinearFitter() const;
+ // LinearFitter
+         void     AnalyseLinearFitter();
        
         
   //
   // Set of Get the variables
   //
 
+         void     SetIsHLT(Bool_t isHLT = kTRUE)                            { fIsHLT = isHLT;                       }  
+         Bool_t   IsHLT() const                                             { return fIsHLT;                        }  
+
   // Choice to fill or not the 2D
-          void     SetMcmCorrectAngle(Bool_t mcmcorrectangle = kTRUE)        { fMcmCorrectAngle = mcmcorrectangle;   }
-          void     SetPH2dOn(Bool_t ph2don = kTRUE)                          { fPH2dOn          = ph2don;            }
+         void     SetPH2dOn(Bool_t ph2don = kTRUE)                          { fPH2dOn          = ph2don;            }
           void     SetCH2dOn(Bool_t ch2don = kTRUE)                          { fCH2dOn          = ch2don;            }
           void     SetPRF2dOn(Bool_t prf2don = kTRUE)                        { fPRF2dOn         = prf2don;           }
           void     SetHisto2d(Bool_t histo2d = kTRUE)                        { fHisto2d         = histo2d;           }
@@ -108,8 +101,7 @@ class AliTRDCalibraFillHisto : public TObject {
          void     SetLinearFitterDebugOn(Bool_t debug = kTRUE)              { fLinearFitterDebugOn = debug;         }
                  
   
-          Bool_t   GetMcmCorrectAngle() const                                { return fMcmCorrectAngle;        }
-          Bool_t   GetPH2dOn() const                                         { return fPH2dOn;                 }
+         Bool_t   GetPH2dOn() const                                         { return fPH2dOn;                 }
           Bool_t   GetCH2dOn() const                                         { return fCH2dOn;                 }
           Bool_t   GetPRF2dOn() const                                        { return fPRF2dOn;                }
           Bool_t   GetHisto2d() const                                        { return fHisto2d;                }
@@ -131,11 +123,17 @@ class AliTRDCalibraFillHisto : public TObject {
           void     SetRelativeScale(Float_t relativeScale);                      
           void     SetThresholdClusterPRF2(Float_t thresholdClusterPRF2)     { fThresholdClusterPRF2 = thresholdClusterPRF2; }
          void     SetLimitChargeIntegration(Bool_t limitChargeIntegration)  { fLimitChargeIntegration = limitChargeIntegration; }
+         void     SetFillWithZero(Bool_t fillWithZero)                      { fFillWithZero = fillWithZero;   }
+         void     SetNormalizeNbOfCluster(Bool_t normalizeNbOfCluster)      { fNormalizeNbOfCluster = normalizeNbOfCluster; }
+         void     SetMaxCluster(Float_t maxCluster)                         { fMaxCluster = maxCluster; }
+         void     SetNbMaxCluster(Short_t nbMaxCluster)                     { fNbMaxCluster = nbMaxCluster; }
          void     SetNz(Int_t i, Short_t nz);
           void     SetNrphi(Int_t i, Short_t nrphi);
-          void     SetProcent(Float_t procent)                               { fProcent              = procent;              }
+          void     SetAllTogether(Int_t i);
+         void     SetPerSuperModule(Int_t i);
+         void     SetProcent(Float_t procent)                               { fProcent              = procent;              }
           void     SetDifference(Short_t difference)                         { fDifference           = difference;           }
-          void     SetNumberClusters(Short_t numberClusters)                 { fNumberClusters       = numberClusters;       }
+          void     SetNumberClusters(Short_t numberClusters)                 { if(numberClusters >= 0) fNumberClusters       = numberClusters;       }
          void     SetNumberClustersf(Short_t numberClustersf)               { fNumberClustersf      = numberClustersf;      }
           void     SetNumberBinCharge(Short_t numberBinCharge)               { fNumberBinCharge      = numberBinCharge;      }
           void     SetNumberBinPRF(Short_t numberBinPRF)                     { fNumberBinPRF         = numberBinPRF;         }
@@ -144,6 +142,10 @@ class AliTRDCalibraFillHisto : public TObject {
           Float_t  GetRelativeScale() const                                  { return fRelativeScale;          }
           Float_t  GetThresholdClusterPRF2() const                           { return fThresholdClusterPRF2;   }
          Bool_t   GetLimitChargeIntegration() const                         { return fLimitChargeIntegration; }
+         Bool_t   GetFillWithZero() const                                   { return fFillWithZero;           }
+         Bool_t   GetNormalizeNbOfCluster() const                           { return fNormalizeNbOfCluster;   }
+         Float_t  GetMaxCluster() const                                     { return fMaxCluster;             }
+         Short_t  GetNbMaxCluster() const                                   { return fNbMaxCluster;           }
          Float_t  GetProcent() const                                        { return fProcent;                }
           Short_t  GetDifference() const                                     { return fDifference;             }
           Short_t  GetNumberClusters() const                                 { return fNumberClusters;         }
@@ -164,9 +166,11 @@ AliTRDCalibraVector *GetCalibraVector() const                                { r
   // Geometry
   AliTRDgeometry  *fGeo;                    //! The TRD geometry
 
+  // Is HLT
+          Bool_t   fIsHLT;                  // Now if HLT, the per detector
+
   // Choice to fill or not the 2D
-          Bool_t   fMcmCorrectAngle;        // Apply correction due to the mcmtrackletangle in the z direction (only) assuming  from vertex
-          Bool_t   fCH2dOn;                 // Chose to fill the 2D histos or vectors for the relative gain calibration 
+         Bool_t   fCH2dOn;                 // Chose to fill the 2D histos or vectors for the relative gain calibration 
           Bool_t   fPH2dOn;                 // Chose to fill the 2D histos or vectors for the drift velocity and T0
           Bool_t   fPRF2dOn;                // Chose to fill the 2D histos or vectors for the pad response function calibration
           Bool_t   fHisto2d;                // Chose to fill the 2D histos
@@ -178,6 +182,10 @@ AliTRDCalibraVector *GetCalibraVector() const                                { r
           Float_t  fRelativeScale;          // Scale of the deposited charge
           Float_t  fThresholdClusterPRF2;   // Threshold on cluster pad signals
           Bool_t   fLimitChargeIntegration; // Integration range for the gain calibration
+         Bool_t   fFillWithZero;           // Fill with zero or not the average pulse height
+         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
   // Calibration mode
          AliTRDCalibraMode *fCalibraMode;  // Calibration mode
 
@@ -210,6 +218,7 @@ AliTRDCalibraVector *GetCalibraVector() const                                { r
           Short_t       *fPHPlace;                   // Calibration group of PH
           Float_t       *fPHValue;                   // PH
          Bool_t         fGoodTracklet;              // Good tracklet
+         TLinearFitter *fLinearFitterTracklet;      // linear fitter tracklet  
   //Statistics
          Int_t         *fEntriesCH;                 // Number of entries CH
          Int_t         *fEntriesLinearFitter;       // Number of entries LinearFitter
@@ -244,37 +253,32 @@ AliTRDCalibraVector *GetCalibraVector() const                                { r
   // Calibration with AliTRDtrackV1
           void     FillTheInfoOfTheTrackPH();
           void     FillTheInfoOfTheTrackCH(Int_t nbclusters);
-         Bool_t   FindP1TrackPHtracklet(AliTRDtrack *t, Int_t index0, Int_t index1);
+         Bool_t   FindP1TrackPHtracklet(const AliTRDtrack *t, Int_t index0, Int_t index1);
          Bool_t   FindP1TrackPHtrackletV1(const AliTRDseedV1 *tracklet, Int_t nbclusters);
-         Bool_t   HandlePRFtracklet(AliTRDtrack *t, Int_t index0, Int_t index1);
+         Bool_t   HandlePRFtracklet(const AliTRDtrack *t, Int_t index0, Int_t index1);
          Bool_t   HandlePRFtrackletV1(const AliTRDseedV1 *tracklet, Int_t nbclusters);
          void     ResetfVariablestracklet();
-         void     StoreInfoCHPHtrack(AliTRDcluster *cl, Double_t dqdl, Int_t *group, Int_t row, Int_t col);
+         void     StoreInfoCHPHtrack(const AliTRDcluster *cl,const Double_t dqdl,const Int_t *group,const Int_t row,const Int_t col);
          void     FillCH2d(Int_t x, Float_t y);
 
   // Calibration on DAQ
 
          Int_t    FillDAQ(Double_t phvalue[16][144][36]);
-         Int_t    FillDAQ(AliTRDmcm *mcm);
-         Int_t    TestTracklet( Int_t idet, Int_t row, Int_t iSeed, AliTRDmcm *mcm);
          Bool_t   UpdateDAQ(Int_t det, Int_t /*row*/, Int_t /*col*/, Int_t timebin, Float_t signal, Int_t nbtimebins);
-         Int_t    UpdateHistogramcm(AliTRDmcmTracklet *trk);
-
-  // row col calibration groups stuff
+         
+ // row col calibration groups stuff
           Bool_t   LocalisationDetectorXbins(Int_t detector);
          Int_t    CalculateTotalNumberOfBins(Int_t i);
-         void     CheckGoodTracklet(Int_t detector, Int_t row, Int_t col);
+         void     CheckGoodTrackletV0(const Int_t detector,const Int_t row,const Int_t col);
+         void     CheckGoodTrackletV1(const AliTRDcluster *cl);
          Int_t    CalculateCalibrationGroup(Int_t i, Int_t row, Int_t col) const;
-  // LinearFitter
-         void     AnalyseLinearFitter();
          
   // Clear
           void     ClearHistos();
       
   // Some basic geometry function
-  virtual Int_t    GetPlane(Int_t d) const;
-  virtual Int_t    GetChamber(Int_t d) const;
+  virtual Int_t    GetLayer(Int_t d) const;
+  virtual Int_t    GetStack(Int_t d) const;
   virtual Int_t    GetSector(Int_t d) const;
          
           
@@ -293,5 +297,3 @@ AliTRDCalibraVector *GetCalibraVector() const                                { r
 };
   
 #endif
-
-