]>
Commit | Line | Data |
---|---|---|
348f80b7 | 1 | #ifndef ALIITSONLINESDDTP_H |
2 | #define ALIITSONLINESDDTP_H | |
3 | ||
4 | ||
5 | /////////////////////////////////////////////////////////////////// | |
6 | // // | |
7 | // Class used for SDD Test Pulse analysis // | |
8 | // Origin: F.Prino, Torino, prino@to.infn.it // | |
9 | // // | |
10 | /////////////////////////////////////////////////////////////////// | |
11 | ||
0e5e647a | 12 | #include "AliITSOnlineSDD.h" |
348f80b7 | 13 | |
14 | class TH2F; | |
348f80b7 | 15 | class AliITSOnlineSDDTP : public AliITSOnlineSDD { |
16 | ||
17 | public: | |
18 | AliITSOnlineSDDTP(); | |
beb262b4 | 19 | AliITSOnlineSDDTP(Int_t mod, Int_t sid,Float_t xDAC); |
348f80b7 | 20 | virtual ~AliITSOnlineSDDTP(); |
21 | void Reset(); | |
22 | void AddEvent(TH2F* hrawd); | |
23 | void ValidateAnodes(); | |
24 | void ReadBaselines(); | |
25 | ||
26 | void SetNSigmaGain(Float_t sig=3.){fNSigmaGain=sig;} | |
3083967f | 27 | Bool_t IsModuleGood()const; |
348f80b7 | 28 | Bool_t IsAnodeGood(Int_t iAnode)const{ return fGoodAnode[iAnode];} |
3083967f | 29 | Float_t GetAnodeBaseline(Int_t iAnode) const{ return fBaseline[iAnode];} |
30 | Float_t GetAnodeRawNoise(Int_t iAnode) const{ return fRawNoise[iAnode];} | |
31 | Float_t GetAnodeCommonMode(Int_t iAnode) const{ return fCMN[iAnode];} | |
32 | Float_t GetAnodeCorrNoise(Int_t iAnode) const{return fCorrNoise[iAnode];} | |
348f80b7 | 33 | Int_t GetNEvents() const {return fNEvents;} |
34 | Float_t GetChannelGain(Int_t iAnode)const{ | |
beb262b4 | 35 | if(fNEvents>0) return fSumTPPeak[iAnode]/fNEvents/fDAC; |
348f80b7 | 36 | else return 0; |
37 | } | |
38 | void StatGain(Float_t &mean, Float_t &rms); | |
e44f571c | 39 | void WriteToASCII(); |
3083967f | 40 | Bool_t WriteToROOT(TFile *fil); |
348f80b7 | 41 | |
42 | protected: | |
43 | ||
44 | private: | |
beb262b4 | 45 | Int_t fNEvents; // number of events |
3083967f | 46 | Float_t fDAC; // Pascal Test Pulse amplitude (DAC units) |
47 | Bool_t fGoodAnode[fgkNAnodes]; // array of anode quality (1 good, 0 bad) | |
beb262b4 | 48 | Float_t fBaseline[fgkNAnodes]; // array of anode baselines |
3083967f | 49 | Float_t fRawNoise[fgkNAnodes]; // array of anode raw noise |
50 | Float_t fCMN[fgkNAnodes]; // common mode noise coeff. | |
51 | Float_t fCorrNoise[fgkNAnodes]; // array of anode corrected noise | |
beb262b4 | 52 | Float_t fSumTPPeak[fgkNAnodes]; // test pulse amplitude summed over events |
53 | Float_t fTPPos[fgkNAnodes]; // test pulse position | |
54 | Float_t fNSigmaGain; // Cut value for gain (n*sigma) | |
348f80b7 | 55 | |
3083967f | 56 | ClassDef(AliITSOnlineSDDTP,2); |
348f80b7 | 57 | }; |
58 | #endif |