AliRoot Core  v5-06-30 (35d6c57)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliTPCCalibCE.h
Go to the documentation of this file.
1 #ifndef ALITPCCALIBCE_H
2 #define ALITPCCALIBCE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
8 
9 #include <TVectorT.h>
10 #include <THnSparse.h>
11 
12 #include "AliTPCCalibRawBase.h"
13 class TH1S;
14 #include "TObjArray.h"
15 class TH2S;
16 class TH1F;
17 class TTreeSRedirector;
18 class AliTPCCalPad;
19 class AliTPCROC;
20 class AliTPCCalROC;
21 class AliTPCParam;
22 class AliRawReader;
23 class TGraph;
24 class TMap;
25 class TCollection;
26 
27 struct eventHeaderStruct;
28 
30 
31 public:
32  AliTPCCalibCE();
33  AliTPCCalibCE(const AliTPCCalibCE &sig);
34  AliTPCCalibCE(const TMap *config);
35  virtual ~AliTPCCalibCE();
36 
37  AliTPCCalibCE& operator = (const AliTPCCalibCE &source);
38 
39  virtual Int_t Update(const Int_t isector, const Int_t iRow, const Int_t iPad,
40  const Int_t iTimeBin, const Float_t signal);
41  virtual void ProcessBunch(const Int_t sector, const Int_t row, const Int_t pad,
42  const Int_t length, const UInt_t startTimeBin, const UShort_t* signal);
43 
44  virtual void Analyse();
45  void AnalyseTrack();
46 
47  //
48  AliTPCCalROC* GetCalRocT0 (Int_t sector, Bool_t force=kFALSE); // get calibration object - sector
49  AliTPCCalROC* GetCalRocT0Err(Int_t sector, Bool_t force=kFALSE); // get calibration object - sector
50  AliTPCCalROC* GetCalRocQ (Int_t sector, Bool_t force=kFALSE); // get calibration object - sector
51  AliTPCCalROC* GetCalRocRMS(Int_t sector, Bool_t force=kFALSE); // get calibration object - sector
52  AliTPCCalROC* GetCalRocOutliers(Int_t sector, Bool_t force=kFALSE); // get calibration object - sector
53 
54  const TObjArray* GetCalPadT0() const { return &fCalRocArrayT0; } // get calibration object
55  const TObjArray* GetCalPadT0Err() const { return &fCalRocArrayT0Err; } // get calibration object
56  const TObjArray* GetCalPadQ() const { return &fCalRocArrayQ; } // get calibration object
57  const TObjArray* GetCalPadRMS() const { return &fCalRocArrayRMS;} // get calibration object
58  const TObjArray* GetCalPadOutliers() const { return &fCalRocArrayOutliers;} // get calibration object
59 
60  TH2S* GetHistoQ (Int_t sector, Bool_t force=kFALSE); // get refernce histogram
61  TH2S* GetHistoT0 (Int_t sector, Bool_t force=kFALSE); // get refernce histogram
62  TH2S* GetHistoRMS(Int_t sector, Bool_t force=kFALSE); // get refernce histogram
63 
64  Float_t GetMeanT0rms() const {return fMeanT0rms;}
65  Float_t GetMeanQrms() const {return fMeanQrms;}
66  Float_t GetMeanRMSrms() const {return fMeanRMSrms;}
67 
68  Int_t GetPeakDetectionMinus() const {return fPeakDetMinus;}
69  Int_t GetPeakDetectionPlus() const {return fPeakDetPlus;}
70  Int_t GetPeakIntRangeMinus() const {return fPeakIntMinus;}
71  Int_t GetPeakIntRangePlus() const {return fPeakIntPlus;}
72  Float_t GetNnoiseThresholdMax() const {return fNoiseThresholdMax;}
73  Float_t GetNnoiseThresholdSum() const {return fNoiseThresholdSum;}
74 
75  TH1S* GetHistoTmean(Int_t sector, Bool_t force=kFALSE); // get refernce histogram
76 
77  //needed here to merge ClibCE objects
78  TObjArray* GetParamArrayPol1(Int_t sector, Bool_t force=kFALSE);
79  TObjArray* GetParamArrayPol2(Int_t sector, Bool_t force=kFALSE);
80 
81 // TObjArray* GetTMeanArrayEvent(){ return &fTMeanArrayEvent; }
82 // TObjArray* GetQMeanArrayEvent(){ return &fQMeanArrayEvent; }
83  TVectorF* GetTMeanEvents(Int_t sector, Bool_t force=kFALSE);
84  TVectorF* GetQMeanEvents(Int_t sector, Bool_t force=kFALSE);
85 
86  const TVectorD* GetEventTimes() const { return &fVEventTime; }
87  const TVectorD* GetEventIds() const { return &fVEventNumber; }
88 
89  //
90  void SetRangeRefQ (Int_t nBins, Float_t xMin, Float_t xMax){ fNbinsQ = nBins; fXminQ = xMin; fXmaxQ = xMax; } //Set range for Q reference histograms
91  void SetRangeRefT0 (Int_t nBins, Float_t xMin, Float_t xMax){ fNbinsT0 = nBins; fXminT0 = xMin; fXmaxT0 = xMax; } //Set range for T0 reference histograms
92  void SetRangeRefRMS(Int_t nBins, Float_t xMin, Float_t xMax){ fNbinsRMS = nBins; fXminRMS = xMin; fXmaxRMS = xMax; } //Set range for T0 reference histograms
93  //
94  void SetRangePeakDetection(Int_t minus, Int_t plus) { fPeakDetMinus=minus; fPeakDetPlus=plus;}
95  void SetRangePeakIntegral(Int_t minus, Int_t plus) { fPeakIntMinus=minus; fPeakIntPlus=plus;}
98  //
99  void SetEventInfo(UInt_t runNumber,UInt_t timestamp, UInt_t eventId){ fRunNumber=runNumber; fTimeStamp=timestamp; fEventId=eventId;}
100  //
101  void SetPedestalDatabase(AliTPCCalPad * const pedestalTPC, AliTPCCalPad * const padNoiseTPC) {fPedestalTPC = pedestalTPC; fPadNoiseTPC = padNoiseTPC;}
102  void SetIsZeroSuppressed(Bool_t zs=kTRUE) { fIsZeroSuppressed=zs; }
103  void SetSecRejectRatio(Float_t ratio) { fSecRejectRatio=ratio; }
104 
105  void SetProcessOld(Bool_t process=kTRUE) {fProcessOld=process;}
106  void SetProcessNew(Bool_t process=kTRUE) {fProcessNew=process; if (process&&!fHnDrift) CreateDVhist(); }
107  //Getters
108  Int_t GetNeventsProcessed() const { return fNevents; }
109 
110  Bool_t GetIsZeroSuppressed() const { return fIsZeroSuppressed; }
111 
112  Float_t GetSecRejectRatio() const { return fSecRejectRatio; }
113 
114  const TVectorF *GetTime0Side(Int_t side=0) const {return (side==0)?&fVTime0SideA:&fVTime0SideC;}
115  Float_t GetPeakIntegralMinus() const {return fPeakIntMinus;}
116  Float_t GetPeakIntegralPlus() const {return fPeakIntPlus;}
117 
118 
119  void Merge(AliTPCCalibCE * const ce);
120  virtual Long64_t Merge(TCollection * const list);
121 
122  TGraph *MakeGraphTimeCE(Int_t sector, Int_t xVariable=0, Int_t fitType=0, Int_t fitParameter=0);
123 
124  //
125  // New functions using also the laser tracks
126  //
127  Bool_t IsEdgePad(Int_t sector, Int_t row, Int_t pad) const;
128 
129  void FindLocalMaxima(TObjArray * const arrObj, Double_t timestamp, Int_t burst);
130  Int_t FindLaserTrackID(Int_t sector,Int_t row, const Double_t *peakpos,Double_t &mindist, const Double_t *peakposloc, Int_t &itrackMin2);
131 
132  const THnSparseI *GetHnDrift() const {return fHnDrift;}
133  const TObjArray& GetArrHnDrift() const {return fArrHnDrift;}
134  const TVectorD& GetTimeBursts() const {return fTimeBursts;}
135  const TObjArray *GetArrFitGraphs() const {return fArrFitGraphs;}
136 
137  virtual void DumpToFile(const Char_t *filename, const Char_t *dir="", Bool_t append=kFALSE);
138 
139  static AliTPCCalibCE *ReadFromFile(const Char_t *filename);
140 
141 protected:
142  virtual void EndEvent();
143  virtual void ResetEvent();
144 
145 private:
146  // reference histogram ranges
147  Int_t fNbinsT0;
148  Float_t fXminT0;
149  Float_t fXmaxT0;
150  Int_t fNbinsQ;
151  Float_t fXminQ;
152  Float_t fXmaxQ;
153  Int_t fNbinsRMS;
154  Float_t fXminRMS;
155  Float_t fXmaxRMS;
157  Int_t fPeakDetPlus;
159  Int_t fPeakIntPlus;
162 
164 
165  Int_t fLastSector;
166 
167  Float_t fSecRejectRatio;
168  // This is neede if we do not process a laser event
169 
171 
176 
182 
186 
187  Float_t fMeanT0rms;
188  Float_t fMeanQrms;
189  Float_t fMeanRMSrms;
190 
192 
197  TVectorD fVEventTime;
198  TVectorD fVEventNumber;
199  TVectorF fVTime0SideA;
200  TVectorF fVTime0SideC;
201  Double_t fEventId;
202  UInt_t fOldRunNumber;
203 
208 
211  Int_t fCurrentRow;
212  Float_t fMaxPadSignal;
213  Int_t fMaxTimeBin;
214  Float_t fPadSignal[1024];
215  Float_t fPadPedestal;
216  Float_t fPadNoise;
217 
218  TVectorD fVTime0Offset;
220  TVectorD fVMeanQ;
221  TVectorD fVMeanQCounter;
222 
224 
225  // new part of the algorithm
226  Bool_t fProcessOld;
227  Bool_t fProcessNew;
228  Bool_t fAnalyseNew;
229  //In the DA this needs to be switched off, in the Preprocessor on...
230  enum {kHnBinsDV=5};
231  THnSparseI *fHnDrift;
233  TVectorD fTimeBursts;
234  UInt_t fBinsLastAna[100];
235  UShort_t fPeaks[14];
236  UShort_t fPeakWidths[14];
238  UInt_t fEventInBunch;
239 
240 
241  //
242  void FindPedestal(Float_t part=.6);
243  void UpdateCETimeRef(); //Get the time reference of the last valid measurement in sector
244  void FindCESignal(TVectorD &param, Float_t &qSum, const TVectorF maxima);
245  void FindLocalMaxima(TVectorF &maxima);
246  Bool_t IsPeak(Int_t pos, Int_t tminus, Int_t tplus) const;
247 
248  TH2S* GetHisto(Int_t sector, TObjArray *arr,
249  Int_t nbinsY, Float_t ymin, Float_t ymax,
250  const Char_t *type, Bool_t force);
251  TH1S* GetHisto(Int_t sector, TObjArray *arr,
252  const Char_t *type, Bool_t force);
253 
254  AliTPCCalROC* GetCalRoc(Int_t sector, TObjArray* arr, Bool_t force) const;
255 
256  TVectorF* GetVectSector(Int_t sector, TObjArray *arr, UInt_t size, Bool_t force=kFALSE) const;
257  TVectorF* GetPadTimesEvent(Int_t sector, Bool_t force=kFALSE);
258 
259  TObjArray* GetParamArray(Int_t sector, TObjArray *arr, Bool_t force=kFALSE) const;
260 
261  void ResetPad();
262  void ProcessPad();
263 
264  // new part of the algorithm
265  void CreateDVhist();
266 
267  void FindLaserLayers();
268  Bool_t IsPeakInRange(UShort_t timebin, Int_t roc) const;
269 
271  void ResetMeasured(TObjArray * const arr);
272 
273  void AddCEtoIdeal(TObjArray *arr);
274 
275  void CalculateDV(TObjArray * const arrIdeal, TObjArray * const arrMeasured, Int_t burst);
276  Double_t SetBurstHnDrift();
277  //debug
278  TVectorF* GetPadQEvent(Int_t sector, Bool_t force=kFALSE);
279  TVectorF* GetPadRMSEvent(Int_t sector, Bool_t force=kFALSE);
280  TVectorF* GetPadPedestalEvent(Int_t sector, Bool_t force=kFALSE);
281 
283  ClassDef(AliTPCCalibCE,10) //Implementation of the TPC Central Electrode calibration
285 };
286 
287 //Inline functions
288 //_____________________________________________________________________
289 inline Bool_t AliTPCCalibCE::IsPeakInRange(UShort_t timebin, Int_t roc) const
290 {
292 
293  Int_t side=(roc/18)%2;
294  Int_t add=7*side;
295 // return kTRUE;
296  if (fPeaks[13]<2) return kTRUE; //not determined yet
297  for (Int_t i=add; i<add+7; ++i){
298  if (TMath::Abs((Short_t)timebin-(Short_t)fPeaks[i])<(Short_t)fPeakWidths[i]) return kTRUE;
299  }
300  return kFALSE;
301 }
302 
303 #endif
TObjArray fPadTimesArrayEvent
! Pad Times for the event, before mean Time0 corrections
TObjArray fCalRocArrayOutliers
Array of AliTPCCalROC class for signal outliers.
Int_t GetPeakIntRangePlus() const
Definition: AliTPCCalibCE.h:71
TH2S * GetHistoQ(Int_t sector, Bool_t force=kFALSE)
Double_t fEventId
! Event Id of the current event
void AddCEtoIdeal(TObjArray *arr)
TObjArray fPadRMSArrayEvent
! Signal width for the event, only needed for debugging streamer
TVectorD fVTime0Offset
! Time0 Offset for each sector;
const TObjArray * GetCalPadRMS() const
Definition: AliTPCCalibCE.h:57
Int_t GetPeakDetectionPlus() const
Definition: AliTPCCalibCE.h:69
TVectorF * GetQMeanEvents(Int_t sector, Bool_t force=kFALSE)
TObjArray fCalRocArrayT0
Array of AliTPCCalROC class for Time0 calibration.
TObjArray fTMeanArrayEvent
Store mean arrival time for each sector event by event.
AliTPCCalPad * fPedestalTPC
! Pedestal Information whole TPC
Bool_t fAnalyseNew
! Whether to analyse the new part of the algorithm.
AliTPCCalROC * fPadNoiseROC
! Pad noise Information for current ROC
Int_t fMaxTimeBin
! time bin with maximum value
Int_t fPeakIntMinus
Peak integral range for COG determination. Bins used before max bin.
#define TObjArray
void SetRangeRefQ(Int_t nBins, Float_t xMin, Float_t xMax)
Definition: AliTPCCalibCE.h:90
Int_t fNevents
Number of processed events.
Int_t GetPeakDetectionMinus() const
Definition: AliTPCCalibCE.h:68
TVectorF * GetPadRMSEvent(Int_t sector, Bool_t force=kFALSE)
void SetIsZeroSuppressed(Bool_t zs=kTRUE)
TH2S * GetHistoRMS(Int_t sector, Bool_t force=kFALSE)
TVectorF fVTime0SideA
Mean Time0 for side A for all events.
AliTPCCalPad * fPadNoiseTPC
! Pad noise Information whole TPC
UInt_t fBinsLastAna[100]
number of bin in the THnSparse during the last analysis
TObjArray fQMeanArrayEvent
Store mean arrival Charge for each sector event by event.
UShort_t fPeaks[14]
! Peak position: 4 laser layers and CE
Int_t fCurrentSector
! current sector processed
Manager and of geomety classes for set: TPC.
Definition: AliTPCParam.h:18
AliTPCCalROC * GetCalRoc(Int_t sector, TObjArray *arr, Bool_t force) const
Float_t GetNnoiseThresholdMax() const
Definition: AliTPCCalibCE.h:72
Int_t fLastSector
! Last sector processed
TObjArray fCalRocArrayQ
Array of AliTPCCalROC class for Charge calibration.
TObjArray fHistoTmean
! Calibration histograms of the mean CE position for all sectors
const TVectorD * GetEventIds() const
Definition: AliTPCCalibCE.h:87
Float_t fNoiseThresholdSum
Analysis Treshold for signal finding: Sum>fNoiseThresholdSum*PadNoise.
Float_t fNoiseThresholdMax
Analysis Treshold for signal finding: Max>fNoiseThresholdMax*PadNoise.
TVectorF * GetPadTimesEvent(Int_t sector, Bool_t force=kFALSE)
TVectorD fVTime0OffsetCounter
! Time0 Offset counter for each sector;
Int_t fPeakDetMinus
Consecutive timebins on rising edge to be regarded as a signal.
const TObjArray * GetCalPadT0() const
Definition: AliTPCCalibCE.h:54
TObjArray * GetParamArrayPol2(Int_t sector, Bool_t force=kFALSE)
const TObjArray * GetCalPadT0Err() const
Definition: AliTPCCalibCE.h:55
void ResetMeasured(TObjArray *const arr)
UInt_t fEventInBunch
! event in current bunch
AliTPCCalROC * GetCalRocRMS(Int_t sector, Bool_t force=kFALSE)
virtual void DumpToFile(const Char_t *filename, const Char_t *dir="", Bool_t append=kFALSE)
Float_t fXmaxQ
xmax of T0 reference histogram
TObjArray fParamArrayEventPol2
Store mean arrival time parameters for each sector event by event from global parabola fit...
Float_t fSecRejectRatio
! Needed percentage of signals in one chamber. Below it will be rejected
Bool_t fIsZeroSuppressed
If data is Zero Suppressed -> Don't subtrakt pedestals!
virtual void Analyse()
void SetRangePeakIntegral(Int_t minus, Int_t plus)
Definition: AliTPCCalibCE.h:95
Int_t fCurrentRow
! current row processed
const TVectorD & GetTimeBursts() const
TObjArray fCalRocArrayRMS
Array of AliTPCCalROC class for signal width calibration.
virtual Int_t Update(const Int_t isector, const Int_t iRow, const Int_t iPad, const Int_t iTimeBin, const Float_t signal)
void SetRangeRefT0(Int_t nBins, Float_t xMin, Float_t xMax)
Definition: AliTPCCalibCE.h:91
Base class for the calibration algorithms using raw data as input.
Float_t fXminRMS
xmin of T0 reference histogram
Bool_t fProcessNew
Whether to use the new algorithm.
TObjArray fArrHnDrift
array of sparse histograms for each burst
void FindLaserLayers()
const TVectorD * GetEventTimes() const
Definition: AliTPCCalibCE.h:86
TH2S * GetHisto(Int_t sector, TObjArray *arr, Int_t nbinsY, Float_t ymin, Float_t ymax, const Char_t *type, Bool_t force)
virtual void ResetEvent()
Int_t fCurrentChannel
! current channel processed
void CalculateDV(TObjArray *const arrIdeal, TObjArray *const arrMeasured, Int_t burst)
Bool_t fProcessOld
Whether to use the old algorithm.
Float_t fXmaxRMS
xmax of T0 reference histogram
TObjArray fPadPedestalArrayEvent
! Signal width for the event, only needed for debugging streamer
TObjArray * GetParamArray(Int_t sector, TObjArray *arr, Bool_t force=kFALSE) const
TObjArray * SetupMeasured()
TObjArray fParamArrayEventPol1
Store mean arrival time parameters for each sector event by event from global plane fit...
TVectorF * GetPadPedestalEvent(Int_t sector, Bool_t force=kFALSE)
void Merge(AliTPCCalibCE *const ce)
Float_t GetMeanQrms() const
Definition: AliTPCCalibCE.h:65
TVectorD fVEventNumber
Eventnumbers of the events.
UInt_t fOldRunNumber
! Old Run Number
void SetNnoiseThresholdMax(Float_t n)
Definition: AliTPCCalibCE.h:96
void UpdateCETimeRef()
Bool_t IsPeakInRange(UShort_t timebin, Int_t roc) const
TVectorD fTimeBursts
time stamps of bursts
AliTPCCalROC * GetCalRocQ(Int_t sector, Bool_t force=kFALSE)
Geometry class for a single ROC.
Definition: AliTPCROC.h:14
Float_t GetMeanT0rms() const
Definition: AliTPCCalibCE.h:64
Float_t fMeanT0rms
mean of the rms of all pad T0 fits, used as error estimation of T0 results
Int_t GetNeventsProcessed() const
TVectorF * GetPadQEvent(Int_t sector, Bool_t force=kFALSE)
TVectorF fVTime0SideC
Mean Time0 for side C for all events.
TObjArray fHistoT0Array
Calibration histograms for Time0 distribution.
Float_t GetNnoiseThresholdSum() const
Definition: AliTPCCalibCE.h:73
AliTPCParam * fParam
! TPC information
Bool_t IsEdgePad(Int_t sector, Int_t row, Int_t pad) const
Float_t GetMeanRMSrms() const
Definition: AliTPCCalibCE.h:66
Int_t fPeakDetPlus
Consecutive timebins on falling edge to be regarded as a signal.
AliTPCCalROC * GetCalRocOutliers(Int_t sector, Bool_t force=kFALSE)
virtual void ProcessBunch(const Int_t sector, const Int_t row, const Int_t pad, const Int_t length, const UInt_t startTimeBin, const UShort_t *signal)
TVectorF * GetVectSector(Int_t sector, TObjArray *arr, UInt_t size, Bool_t force=kFALSE) const
AliTPCCalibCE & operator=(const AliTPCCalibCE &source)
Float_t fXmaxT0
xmax of T0 reference histogram
TPC calibration base class for one ROC.
Definition: AliTPCCalROC.h:19
void FindCESignal(TVectorD &param, Float_t &qSum, const TVectorF maxima)
AliTPCCalROC * fPedestalROC
! Pedestal Information for current ROC
void SetProcessNew(Bool_t process=kTRUE)
const TObjArray & GetArrHnDrift() const
const TObjArray * GetArrFitGraphs() const
Int_t GetPeakIntRangeMinus() const
Definition: AliTPCCalibCE.h:70
const TVectorF * GetTime0Side(Int_t side=0) const
Float_t fPadNoise
! Noise Value of current pad
void FindPedestal(Float_t part=.6)
UInt_t fTimeStamp
! time stamp from event header
Int_t FindLaserTrackID(Int_t sector, Int_t row, const Double_t *peakpos, Double_t &mindist, const Double_t *peakposloc, Int_t &itrackMin2)
Float_t fPadSignal[1024]
! signal of current Pad
virtual void EndEvent()
Float_t fCurrentCETimeRef
! Time refernce of the current sector
TVectorF * GetTMeanEvents(Int_t sector, Bool_t force=kFALSE)
void SetProcessOld(Bool_t process=kTRUE)
void SetNnoiseThresholdSum(Float_t n)
Definition: AliTPCCalibCE.h:97
AliTPCCalROC * GetCalRocT0Err(Int_t sector, Bool_t force=kFALSE)
Bool_t GetIsZeroSuppressed() const
TObjArray * GetParamArrayPol1(Int_t sector, Bool_t force=kFALSE)
TObjArray * fArrFitGraphs
Fit resut graphs for each parameter.
void SetRangePeakDetection(Int_t minus, Int_t plus)
Definition: AliTPCCalibCE.h:94
void SetEventInfo(UInt_t runNumber, UInt_t timestamp, UInt_t eventId)
Definition: AliTPCCalibCE.h:99
void SetPedestalDatabase(AliTPCCalPad *const pedestalTPC, AliTPCCalPad *const padNoiseTPC)
TObjArray fHistoQArray
Calibration histograms for Charge distribution.
Int_t fNbinsT0
Number of bins for T0 reference histogram.
Float_t fXminQ
xmin of T0 reference histogram
TObjArray fCalRocArrayT0Err
Array of AliTPCCalROC class for the error (rms) of Time0 calibration.
Float_t fPadPedestal
! Pedestal Value of current pad
UShort_t fPeakWidths[14]
! Peak window widths
const TObjArray * GetCalPadQ() const
Definition: AliTPCCalibCE.h:56
TVectorD fVEventTime
Timestamps of the events.
AliTPCCalROC * GetCalRocT0(Int_t sector, Bool_t force=kFALSE)
Int_t fPeakIntPlus
Peak integral range for COG determination. Bins used after max bin.
Float_t fMeanQrms
mean of the rms of all pad Q fits, used as error estimation of Q results
TH1S * GetHistoTmean(Int_t sector, Bool_t force=kFALSE)
Float_t fMaxPadSignal
! maximum bin of current pad
Float_t fMeanRMSrms
mean of the rms of all pad TMS fits, used as error estimation of RMS results
Bool_t IsPeak(Int_t pos, Int_t tminus, Int_t tplus) const
Float_t GetPeakIntegralMinus() const
Float_t GetSecRejectRatio() const
Implementation of the TPC Central Electrode calibration.
Definition: AliTPCCalibCE.h:29
void FindLocalMaxima(TObjArray *const arrObj, Double_t timestamp, Int_t burst)
TObjArray fHistoRMSArray
Calibration histograms for signal width distribution.
void SetSecRejectRatio(Float_t ratio)
virtual ~AliTPCCalibCE()
void SetRangeRefRMS(Int_t nBins, Float_t xMin, Float_t xMax)
Definition: AliTPCCalibCE.h:92
Int_t fNbinsQ
Number of bins for T0 reference histogram.
Double_t SetBurstHnDrift()
TVectorD fVMeanQ
! Mean Q for each sector;
static AliTPCCalibCE * ReadFromFile(const Char_t *filename)
TObjArray fPadQArrayEvent
! Charge for the event, only needed for debugging streamer
const TObjArray * GetCalPadOutliers() const
Definition: AliTPCCalibCE.h:58
UInt_t fRunNumber
current run number from event header
Int_t fNbinsRMS
Number of bins for T0 reference histogram.
TGraph * MakeGraphTimeCE(Int_t sector, Int_t xVariable=0, Int_t fitType=0, Int_t fitParameter=0)
Float_t fXminT0
xmin of T0 reference histogram
const THnSparseI * GetHnDrift() const
THnSparseI * fHnDrift
! Histogram digits for each pad and timebin for several timestamps
TVectorD fVMeanQCounter
! Mean Q counter for each sector;
Float_t GetPeakIntegralPlus() const
TH2S * GetHistoT0(Int_t sector, Bool_t force=kFALSE)