AliRoot Core  edcc906 (edcc906)
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;}
107  void SetROCblackData(Int_t rocblackDataDown=-1, Int_t rocblackDataUp=-1) {fROCblackDataDown=rocblackDataDown; fROCblackDataUp=rocblackDataUp;}
108  //Getters
109  Int_t GetNeventsProcessed() const { return fNevents; }
110 
111  Bool_t GetIsZeroSuppressed() const { return fIsZeroSuppressed; }
112 
113  Float_t GetSecRejectRatio() const { return fSecRejectRatio; }
114 
115  const TVectorF *GetTime0Side(Int_t side=0) const {return (side==0)?&fVTime0SideA:&fVTime0SideC;}
116  Float_t GetPeakIntegralMinus() const {return fPeakIntMinus;}
117  Float_t GetPeakIntegralPlus() const {return fPeakIntPlus;}
118 
119 
120  void Merge(AliTPCCalibCE * const ce);
121  virtual Long64_t Merge(TCollection * const list);
122 
123  TGraph *MakeGraphTimeCE(Int_t sector, Int_t xVariable=0, Int_t fitType=0, Int_t fitParameter=0);
124 
125  //
126  // New functions using also the laser tracks
127  //
128  Bool_t IsEdgePad(Int_t sector, Int_t row, Int_t pad) const;
129 
130  void FindLocalMaxima(TObjArray * const arrObj, Double_t timestamp, Int_t burst);
131  Int_t FindLaserTrackID(Int_t sector,Int_t row, const Double_t *peakpos,Double_t &mindist, const Double_t *peakposloc, Int_t &itrackMin2);
132 
133  const THnSparseI *GetHnDrift() const {return fHnDrift;}
134  const TObjArray& GetArrHnDrift() const {return fArrHnDrift;}
135  const TVectorD& GetTimeBursts() const {return fTimeBursts;}
136  const TObjArray *GetArrFitGraphs() const {return fArrFitGraphs;}
137 
138  virtual void DumpToFile(const Char_t *filename, const Char_t *dir="", Bool_t append=kFALSE);
139 
140  static AliTPCCalibCE *ReadFromFile(const Char_t *filename);
141 
142 protected:
143  virtual void EndEvent();
144  virtual void ResetEvent();
145 
146 private:
147  // reference histogram ranges
148  Int_t fNbinsT0;
149  Float_t fXminT0;
150  Float_t fXmaxT0;
151  Int_t fNbinsQ;
152  Float_t fXminQ;
153  Float_t fXmaxQ;
154  Int_t fNbinsRMS;
155  Float_t fXminRMS;
156  Float_t fXmaxRMS;
158  Int_t fPeakDetPlus;
160  Int_t fPeakIntPlus;
165 
167 
168  Int_t fLastSector;
169 
170  Float_t fSecRejectRatio;
171  // This is neede if we do not process a laser event
172 
174 
179 
185 
189 
190  Float_t fMeanT0rms;
191  Float_t fMeanQrms;
192  Float_t fMeanRMSrms;
193 
195 
202  TVectorF fVTime0SideA;
203  TVectorF fVTime0SideC;
204  Double_t fEventId;
205  UInt_t fOldRunNumber;
206 
211 
214  Int_t fCurrentRow;
215  Float_t fMaxPadSignal;
216  Int_t fMaxTimeBin;
217  Float_t fPadSignal[1024];
218  Float_t fPadPedestal;
219  Float_t fPadNoise;
220 
225 
227 
228  // new part of the algorithm
229  Bool_t fProcessOld;
230  Bool_t fProcessNew;
231  Bool_t fAnalyseNew;
232  //In the DA this needs to be switched off, in the Preprocessor on...
233  enum {kHnBinsDV=5};
234  THnSparseI *fHnDrift;
237  UInt_t fBinsLastAna[100];
238  UShort_t fPeaks[14];
239  UShort_t fPeakWidths[14];
241  UInt_t fEventInBunch;
242 
243 
244  //
245  void FindPedestal(Float_t part=.6);
246  void UpdateCETimeRef(); //Get the time reference of the last valid measurement in sector
247  void FindCESignal(TVectorD &param, Float_t &qSum, const TVectorF maxima);
248  void FindLocalMaxima(TVectorF &maxima);
249  Bool_t IsPeak(Int_t pos, Int_t tminus, Int_t tplus) const;
250 
251  TH2S* GetHisto(Int_t sector, TObjArray *arr,
252  Int_t nbinsY, Float_t ymin, Float_t ymax,
253  const Char_t *type, Bool_t force);
254  TH1S* GetHisto(Int_t sector, TObjArray *arr,
255  const Char_t *type, Bool_t force);
256 
257  AliTPCCalROC* GetCalRoc(Int_t sector, TObjArray* arr, Bool_t force) const;
258 
259  TVectorF* GetVectSector(Int_t sector, TObjArray *arr, UInt_t size, Bool_t force=kFALSE) const;
260  TVectorF* GetPadTimesEvent(Int_t sector, Bool_t force=kFALSE);
261 
262  TObjArray* GetParamArray(Int_t sector, TObjArray *arr, Bool_t force=kFALSE) const;
263 
264  void ResetPad();
265  void ProcessPad();
266 
267  // new part of the algorithm
268  void CreateDVhist();
269 
270  void FindLaserLayers();
271  Bool_t IsPeakInRange(UShort_t timebin, Int_t roc) const;
272 
274  void ResetMeasured(TObjArray * const arr);
275 
276  void AddCEtoIdeal(TObjArray *arr);
277 
278  void CalculateDV(TObjArray * const arrIdeal, TObjArray * const arrMeasured, Int_t burst);
279  Double_t SetBurstHnDrift();
280  //debug
281  TVectorF* GetPadQEvent(Int_t sector, Bool_t force=kFALSE);
282  TVectorF* GetPadRMSEvent(Int_t sector, Bool_t force=kFALSE);
283  TVectorF* GetPadPedestalEvent(Int_t sector, Bool_t force=kFALSE);
284 
286  ClassDef(AliTPCCalibCE,11) //Implementation of the TPC Central Electrode calibration
288 };
289 
290 //Inline functions
291 //_____________________________________________________________________
292 inline Bool_t AliTPCCalibCE::IsPeakInRange(UShort_t timebin, Int_t roc) const
293 {
295 
296  Int_t side=(roc/18)%2;
297  Int_t add=7*side;
298 // return kTRUE;
299  if (fPeaks[13]<2) return kTRUE; //not determined yet
300  for (Int_t i=add; i<add+7; ++i){
301  if (TMath::Abs((Short_t)timebin-(Short_t)fPeaks[i])<(Short_t)fPeakWidths[i]) return kTRUE;
302  }
303  return kFALSE;
304 }
305 
306 #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;
Int_t fROCblackDataDown
Lower edge of ROC rabge to be processed in case of black event. if -1; online drif velocity algorithm...
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&#39;t subtrakt pedestals!
virtual void Analyse()
void SetRangePeakIntegral(Int_t minus, Int_t plus)
Definition: AliTPCCalibCE.h:95
Int_t fCurrentRow
! current row processed
Int_t fROCblackDataUp
Upper edge of ROC range to be processed in case of black event. if -1; online drif velocity algorithm...
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:20
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
Int_t nBins
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
void SetROCblackData(Int_t rocblackDataDown=-1, Int_t rocblackDataUp=-1)
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)
static Int_t runNumber
Definition: pdc06_config.C:126
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.
class TVectorT< Double_t > TVectorD
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)
TH1 * process(TFile *file, const char *name, const char *opt)
Definition: MakeLego.C:8
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)