]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDCalibraFillHisto.h
Compare method fixed (Plamen)
[u/mrichter/AliRoot.git] / TRD / AliTRDCalibraFillHisto.h
index 830e210a5ab07a8fcdf6b612ef20d72eb5e2f381..6560b361d7a02bc186a5742d73823c1cc39a1ea7 100644 (file)
@@ -44,8 +44,6 @@ class AliTRDcluster;
 class AliTRDtrackV1;
 class AliTRDtrack;
 class AliTRDseedV1;
-class AliTRDmcm;
-class AliTRDmcmTracklet;
 class AliTRDgeometry;
 class AliTRDCalDet;
 class AliTRDCalROC;
@@ -77,10 +75,6 @@ class AliTRDCalibraFillHisto : public TObject {
          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);
-
   // Is Pad on
           Bool_t   IsPadOn(Int_t detector, Int_t row, Int_t col) const;
 
@@ -91,15 +85,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 +106,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 +128,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 +147,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 +171,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 +187,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 +223,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
@@ -255,26 +269,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;