/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
+/////////////////////////////////////////////////////////////////////////////////////////
+// //
+// Implementation of the TPC pulser calibration //
+// //
+/////////////////////////////////////////////////////////////////////////////////////////
+
#include <TVectorT.h>
class TObjArray;
class TH2S;
class AliTPCParam;
class AliRawReader;
class AliTPCRawStream;
+class AliTPCRawStreamFast;
+class AliTPCAltroMapping;
+
struct eventHeaderStruct;
class AliTPCCalibPulser : public TObject {
AliTPCCalibPulser(const AliTPCCalibPulser &sig);
virtual ~AliTPCCalibPulser();
+ void Reset();
+
AliTPCCalibPulser& operator = (const AliTPCCalibPulser &source);
+ Bool_t ProcessEventFast(AliTPCRawStreamFast *rawStreamFast);
+ Bool_t ProcessEventFast(AliRawReader *rawReader);
+
Bool_t ProcessEvent(AliTPCRawStream *rawStream);
Bool_t ProcessEvent(AliRawReader *rawReader);
Int_t Update(const Int_t isector, const Int_t iRow, const Int_t iPad,
const Int_t iTimeBin, const Float_t signal);
void Analyse();
+ //
+ AliTPCAltroMapping **GetAltroMapping() { return fMapping; };
+ void SetAltroMapping(AliTPCAltroMapping **mapp) { fMapping = mapp; };
//
AliTPCCalROC* GetCalRocT0 (Int_t sector, Bool_t force=kFALSE); // get calibration object - sector
AliTPCCalROC* GetCalRocQ (Int_t sector, Bool_t force=kFALSE); // get calibration object - sector
AliTPCCalROC* GetCalRocRMS(Int_t sector, Bool_t force=kFALSE); // get calibration object - sector
AliTPCCalROC* GetCalRocOutliers(Int_t sector, Bool_t force=kFALSE); // get calibration object - sector
- const TObjArray* GetCalPadT0() { return &fCalRocArrayT0; } // get calibration object
- const TObjArray* GetCalPadQ() { return &fCalRocArrayQ; } // get calibration object
- const TObjArray* GetCalPadRMS(){ return &fCalRocArrayRMS;} // get calibration object
- const TObjArray* GetCalPadOutliers(){ return &fCalRocArrayOutliers;} // get calibration object
+ const TObjArray* GetCalPadT0() const { return &fCalRocArrayT0; } // get calibration object
+ const TObjArray* GetCalPadQ() const { return &fCalRocArrayQ; } // get calibration object
+ const TObjArray* GetCalPadRMS() const{ return &fCalRocArrayRMS;} // get calibration object
+ const TObjArray* GetCalPadOutliers() const { return &fCalRocArrayOutliers;} // get calibration object
TH2S* GetHistoQ (Int_t sector, Bool_t force=kFALSE); // get refernce histogram
TH2S* GetHistoT0 (Int_t sector, Bool_t force=kFALSE); // get refernce histogram
void SetDebugLevel(Short_t debug=1){ fDebugLevel = debug;}
void SetPedestalDatabase(AliTPCCalPad *pedestalTPC, AliTPCCalPad *padNoiseTPC) {fPedestalTPC = pedestalTPC; fPadNoiseTPC = padNoiseTPC;}
+ void SetOutliers(AliTPCCalPad *outliers) {fOutliers = outliers;}
Int_t GetFirstTimeBin() const { return fFirstTimeBin; }
Int_t GetLastTimeBin() const { return fLastTimeBin; }
Bool_t fOldRCUformat; //! Should we use the old RCU format for data reading
- AliTPCROC *fROC; //! ROC information
+ AliTPCROC *fROC; //! ROC information
+ AliTPCAltroMapping **fMapping; //! Altro Mapping object
AliTPCParam *fParam; //! TPC information
AliTPCCalPad *fPedestalTPC; //! Pedestal Information
AliTPCCalPad *fPadNoiseTPC; //! Pad noise Information whole TPC
+ AliTPCCalPad *fOutliers; //! Outlier information. Those will not be used for calculating the T0
AliTPCCalROC *fPedestalROC; //! Pedestal Information for current ROC
AliTPCCalROC *fPadNoiseROC; //! Pad noise Information for current ROC
// Bool_t fBpedestal; //! are we running with pedestal substraction
TVectorF fVTime0OffsetCounter; //! Time0 Offset from preprocessing for each sector;
//debugging
- Int_t fEvent;
+// Int_t fEvent; // Number of events processed
TTreeSRedirector *fDebugStreamer; //! debug streamer
- Short_t fDebugLevel;
+ Short_t fDebugLevel; // debug Level
//! debugging
void FindPedestal(Float_t part=.6);
Char_t *type, Bool_t force);
- AliTPCCalROC* GetCalRoc(Int_t sector, TObjArray* arr, Bool_t force);
+ AliTPCCalROC* GetCalRoc(Int_t sector, TObjArray* arr, Bool_t force) const;
TVectorF* GetPadTimesEvent(Int_t sector, Bool_t force=kFALSE);
TVectorF* GetPadPedestalEvent(Int_t sector, Bool_t force=kFALSE);
-public:
-
-
ClassDef(AliTPCCalibPulser,1) //Implementation of the TPC pulser calibration
};