X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSOnlineSDDTP.h;h=0fef276578f0c3c397004dc92758acdb4dae6cd2;hb=bf27d64a0f4d49bc005c0fc4ad812e1f92578c67;hp=3b5af13f1272c2c3e6658c706d04cbcc4411b2bc;hpb=750296dd2d7012658946035d73105f5b42604e7c;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSOnlineSDDTP.h b/ITS/AliITSOnlineSDDTP.h index 3b5af13f127..0fef276578f 100644 --- a/ITS/AliITSOnlineSDDTP.h +++ b/ITS/AliITSOnlineSDDTP.h @@ -11,12 +11,13 @@ #include "AliITSOnlineSDD.h" +class TH1F; class TH2F; class AliITSOnlineSDDTP : public AliITSOnlineSDD { public: AliITSOnlineSDDTP(); - AliITSOnlineSDDTP(Int_t mod, Int_t sid,Float_t xDAC); + AliITSOnlineSDDTP(Int_t nddl, Int_t ncarlos, Int_t sid, Float_t xDAC); virtual ~AliITSOnlineSDDTP(); void Reset(); void AddEvent(TH2F* hrawd); @@ -28,6 +29,8 @@ class AliITSOnlineSDDTP : public AliITSOnlineSDD { Bool_t IsModuleGood()const; Bool_t IsAnodeGood(Int_t iAnode)const{ return fGoodAnode[iAnode];} Float_t GetAnodeBaseline(Int_t iAnode) const{ return fBaseline[iAnode];} + Int_t GetAnodeEqualizedBaseline(Int_t iAnode) const{ return fEqBaseline[iAnode];} + Int_t GetAnodeBaselineOffset(Int_t iAnode) const{ return fOffsetBaseline[iAnode];} Float_t GetAnodeRawNoise(Int_t iAnode) const{ return fRawNoise[iAnode];} Float_t GetAnodeCommonMode(Int_t iAnode) const{ return fCMN[iAnode];} Float_t GetAnodeCorrNoise(Int_t iAnode) const{return fCorrNoise[iAnode];} @@ -40,17 +43,28 @@ class AliITSOnlineSDDTP : public AliITSOnlineSDD { if(fNEvents[iAnode]>0) return fSumTPPeak[iAnode]/fNEvents[iAnode]/fDAC; else return 0; } - void StatGain(Float_t &mean, Float_t &rms); + void StatGain(Float_t &mean, Float_t &rms) const; void WriteToASCII(); Bool_t WriteToROOT(TFile *fil); + TH1F* GetBaselineAnodeHisto() const; + TH1F* GetRawNoiseAnodeHisto() const; + TH1F* GetCorrNoiseAnodeHisto() const; + TH1F* GetCMNCoefAnodeHisto() const; + TH1F* GetGainAnodeHisto() const; + TH1F* GetStatusAnodeHisto() const; + protected: private: Int_t fNEvents[fgkNAnodes]; // number of TP events for given anode Float_t fDAC; // Pascal Test Pulse amplitude (DAC units) + Int_t fLowThreshold; // low threshold for zero supp. + Int_t fHighThreshold; // high threshold for zero supp. Bool_t fGoodAnode[fgkNAnodes]; // array of anode quality (1 good, 0 bad) Float_t fBaseline[fgkNAnodes]; // array of anode baselines + Int_t fEqBaseline[fgkNAnodes]; // array of anode baselines after equalization + Int_t fOffsetBaseline[fgkNAnodes]; // array of offsets for baseline equal. Float_t fRawNoise[fgkNAnodes]; // array of anode raw noise Float_t fCMN[fgkNAnodes]; // common mode noise coeff. Float_t fCorrNoise[fgkNAnodes]; // array of anode corrected noise @@ -58,6 +72,6 @@ class AliITSOnlineSDDTP : public AliITSOnlineSDD { Float_t fTPPos[fgkNAnodes]; // test pulse position Float_t fNSigmaGain; // Cut value for gain (n*sigma) Float_t fNSigmaNoise; // Threshold for TP signal identification - ClassDef(AliITSOnlineSDDTP,3); + ClassDef(AliITSOnlineSDDTP,4); }; #endif