]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDCalibraFillHisto.h
- prepare train for merging with TPC.
[u/mrichter/AliRoot.git] / TRD / AliTRDCalibraFillHisto.h
index 87a7673081c220efe605c3c54cf38c8c51045893..e0f51648e5f9c4d8a136e3a5a7e5c7c28a58c15b 100644 (file)
@@ -39,13 +39,11 @@ class AliRawReader;
 class AliTRDCalibraMode;
 class AliTRDCalibraVector;
 class AliTRDCalibraVdriftLinearFit;
-class AliTRDrawStreamTB;
+class AliTRDrawStreamBase;
 class AliTRDcluster;
 class AliTRDtrackV1;
 class AliTRDtrack;
 class AliTRDseedV1;
-class AliTRDmcm;
-class AliTRDmcmTracklet;
 class AliTRDgeometry;
 class AliTRDCalDet;
 class AliTRDCalROC;
@@ -73,14 +71,10 @@ class AliTRDCalibraFillHisto : public TObject {
          Bool_t  UpdateHistogramsV1(AliTRDtrackV1 *t);
  
   // Process events DAQ
-         Int_t   ProcessEventDAQ(AliTRDrawStreamTB *rawStream, Bool_t nocheck = kFALSE);
+         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(AliTRDrawStreamTB *rawStream, Bool_t nocheck = kFALSE);
-         Int_t   ProcessEventDAQV1(AliRawReader *rawReader, Bool_t nocheck = kFALSE);
-         Int_t   ProcessEventDAQV1(eventHeaderStruct *event, Bool_t nocheck = kFALSE);
-
   // Is Pad on
           Bool_t   IsPadOn(Int_t detector, Int_t row, Int_t col) const;
 
@@ -91,12 +85,17 @@ 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;            }
@@ -130,11 +129,18 @@ class AliTRDCalibraFillHisto : public TObject {
   // How to fill the 2D
           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;         }
@@ -142,6 +148,11 @@ 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;         }
@@ -162,6 +173,9 @@ 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 
@@ -175,6 +189,11 @@ AliTRDCalibraVector *GetCalibraVector() const                                { r
   // How to fill the 2D
           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
 
@@ -207,6 +226,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
@@ -252,26 +272,21 @@ AliTRDCalibraVector *GetCalibraVector() const                                { r
   // 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(Int_t detector, Int_t row, Int_t col);
+         void     CheckGoodTrackletV1(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;