1 #ifndef ALITPCCALIBPULSER_H 2 #define ALITPCCALIBPULSER_H 11 #include <TObjArray.h> 22 struct eventHeaderStruct;
37 virtual Int_t
Update(
const Int_t isector,
const Int_t iRow,
const Int_t iPad,
38 const Int_t iTimeBin,
const Float_t signal);
51 TH2S*
GetHistoQ (Int_t sector, Bool_t force=kFALSE);
52 TH2S*
GetHistoT0 (Int_t sector, Bool_t force=kFALSE);
53 TH2S*
GetHistoRMS(Int_t sector, Bool_t force=kFALSE);
82 virtual Long64_t
Merge(TCollection *
const list);
153 Int_t nbinsY, Float_t ymin, Float_t ymax,
154 const Char_t *type, Bool_t force);
161 Bool_t
IsEdgePad(Int_t sector, Int_t row, Int_t pad);
169 TVectorF*
GetPadQEvent(Int_t sector, Bool_t force=kFALSE);
Float_t fXmaxRMS
xmax of T0 reference histogram
Bool_t GetIsZeroSupperssed() const
TObjArray * TestBinning()
Int_t fNbinsT0
Number of bins for T0 reference histogram.
AliTPCCalROC * GetCalRocRMS(Int_t sector, Bool_t force=kFALSE)
Bool_t fIsZeroSuppressed
if data is zero suppressed
Int_t fCurrentChannel
! current channel processed
AliTPCCalROC * GetCalRocOutliers(Int_t sector, Bool_t force=kFALSE)
void SetRangeRefRMS(Int_t nBins, Float_t xMin, Float_t xMax)
AliTPCCalROC * fPedestalROC
! Pedestal Information for current ROC
TH2F * fHMeanTimeSector
Timing distribution per sector.
Float_t fXmaxQ
xmax of T0 reference histogram
TVectorF * GetPadTimesEvent(Int_t sector, Bool_t force=kFALSE)
void SetRangeRefQ(Int_t nBins, Float_t xMin, Float_t xMax)
Float_t fPadPedestal
! Pedestal Value of current pad
TH2S * GetHisto(Int_t sector, TObjArray *arr, Int_t nbinsY, Float_t ymin, Float_t ymax, const Char_t *type, Bool_t force)
Manager and of geomety classes for set: TPC.
TObjArray fHistoQArray
Calibration histograms for Charge distribution.
Float_t GetMeanTimeSector(Int_t sector) const
Float_t fPadNoise
! Noise Value of current pad
Float_t fXminQ
xmin of T0 reference histogram
TObjArray fPadTimesArrayEvent
! Pad Times for the event, before mean Time0 corrections
TObjArray fPadPedestalArrayEvent
! Signal width for the event, only needed for debugging streamer
TH2S * GetHistoQ(Int_t sector, Bool_t force=kFALSE)
void SetIsZeroSuppressed(Bool_t zs=kTRUE)
AliTPCCalPad * fPadNoiseTPC
! Pad noise Information whole TPC
const TVectorF * GetMeanTimeSectorArray() const
Int_t fLastTimeBin
Last Time bin used for analysis.
Base class for the calibration algorithms using raw data as input.
AliTPCCalROC * fPadNoiseROC
! Pad noise Information for current ROC
void SetRangePeakIntegral(Int_t minus, Int_t plus)
AliTPCParam * fParam
! TPC information
const TObjArray * GetCalPadRMS() const
void SetDebugLevel(Short_t debug=1)
Float_t fMaxPadSignal
! maximum bin of current pad
Implementation of the TPC pulser calibration.
AliTPCCalPad * fPedestalTPC
! Pedestal Information
const TObjArray * GetCalPadOutliers() const
TObjArray fCalRocArrayT0
Array of AliTPCCalROC class for Time0 calibration.
TVectorF fPadSignal
! signal of current Pad
Int_t fFirstTimeBin
First Time bin used for analysis.
Float_t fXminRMS
xmin of T0 reference histogram
AliTPCCalROC * GetCalRocQ(Int_t sector, Bool_t force=kFALSE)
Int_t fCurrentRow
! current row processed
const TObjArray * GetCalPadT0() const
Geometry class for a single ROC.
AliTPCCalROC * GetCalRocT0(Int_t sector, Bool_t force=kFALSE)
Int_t fLastSector
! Last sector processed
virtual Int_t Update(const Int_t isector, const Int_t iRow, const Int_t iPad, const Int_t iTimeBin, const Float_t signal)
TH2S * GetHistoT0(Int_t sector, Bool_t force=kFALSE)
Int_t fPeakIntMinus
Peak integral range for COG determination. Bins used before max bin.
Float_t fXmaxT0
xmax of T0 reference histogram
TObjArray fPadRMSArrayEvent
! Signal width for the event, only needed for debugging streamer
void SetRangeRefT0(Int_t nBins, Float_t xMin, Float_t xMax)
TPC calibration base class for one ROC.
void Merge(AliTPCCalibPulser *const sig)
TVectorF * GetPadRMSEvent(Int_t sector, Bool_t force=kFALSE)
AliTPCCalROC * GetCalRoc(Int_t sector, TObjArray *arr, Bool_t force) const
TVectorF * GetPadPedestalEvent(Int_t sector, Bool_t force=kFALSE)
virtual ~AliTPCCalibPulser()
TVectorF * GetPadQEvent(Int_t sector, Bool_t force=kFALSE)
TH2S * GetHistoRMS(Int_t sector, Bool_t force=kFALSE)
Float_t GetPeakIntegralPlus() const
TVectorF fVTime0Offset
! Time0 Offset from preprocessing for each sector;
Int_t fNbinsRMS
Number of bins for T0 reference histogram.
TObjArray fCalRocArrayRMS
Array of AliTPCCalROC class for signal width calibration.
void SetPedestalDatabase(AliTPCCalPad *const pedestalTPC, AliTPCCalPad *const padNoiseTPC)
AliTPCCalibPulser & operator=(const AliTPCCalibPulser &source)
void FindPedestal(Float_t part=.6)
TObjArray fCalRocArrayQ
Array of AliTPCCalROC class for Charge calibration.
TVectorF fVTime0OffsetCounter
! Time0 Offset from preprocessing for each sector;
Int_t fPeakIntPlus
Peak integral range for COG determination. Bins used after max bin.
TObjArray fHistoT0Array
Calibration histograms for Time0 distribution.
Float_t GetPeakIntegralMinus() const
TVectorF fVMeanTimeSector
Mean time per sector from analysis of fHMeanTimeSector.
TVectorF * GetPadInfoEvent(Int_t sector, TObjArray *arr, Bool_t force=kFALSE)
Int_t fCurrentSector
! current sector processed
virtual void ResetEvent()
TObjArray fCalRocArrayOutliers
Array of AliTPCCalROC class for signal outliers.
Bool_t IsEdgePad(Int_t sector, Int_t row, Int_t pad)
Short_t GetDebugLevel() const
Int_t fNbinsQ
Number of bins for T0 reference histogram.
TObjArray fPadQArrayEvent
! Charge for the event, only needed for debugging streamer
void FindPulserSignal(TVectorD ¶m, Float_t &qSum)
const TObjArray * GetCalPadQ() const
Float_t fXminT0
xmin of T0 reference histogram
Int_t fDebugLevel
! debug level
AliTPCCalPad * fOutliers
! Outlier information. Those will not be used for calculating the T0
TObjArray fHistoRMSArray
Calibration histograms for signal width distribution.
Int_t fCurrentPad
! current pad processed
void SetRangeTime(Int_t firstTimeBin, Int_t lastTimeBin)
void SetOutliers(AliTPCCalPad *const outliers)
Int_t fMaxTimeBin
! time bin with maximum value