class AliTRDtrackV1;
class AliTRDtrack;
class AliTRDseedV1;
-class AliTRDmcm;
-class AliTRDmcmTracklet;
class AliTRDgeometry;
class AliTRDCalDet;
class AliTRDCalROC;
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;
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 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; }
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; }
// 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
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
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
// 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 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();