1 #ifndef ALIITSONLINESDDCMN_H
2 #define ALIITSONLINESDDCMN_H
4 ///////////////////////////////////////////////////////////////////
6 // Class used for SDD noise corrected for common mode analysis //
7 // Origin: F.Prino, Torino, prino@to.infn.it //
9 ///////////////////////////////////////////////////////////////////
10 #include "AliITSOnlineSDD.h"
14 class AliITSOnlineSDDCMN : public AliITSOnlineSDD {
18 AliITSOnlineSDDCMN(Int_t mod, Int_t sid);
19 virtual ~AliITSOnlineSDDCMN();
21 void AddEvent(TH2F* hrawd);
22 void ValidateAnodes();
25 void SetMinNoise(Float_t ns=0.001){fMinCorrNoise=ns;}
26 void SetMaxNoise(Float_t ns=9.){fMaxCorrNoise=ns;}
27 void SetNSigmaNoise(Float_t ns=4.){fNSigmaNoise=ns;}
29 Bool_t IsAnodeGood(Int_t iAnode)const{ return fGoodAnode[iAnode];}
30 Float_t GetAnodeBaseline(Int_t iAnode) const{ return fBaseline[iAnode];}
31 Float_t GetAnodeRawNoise(Int_t iAnode) const{ return fRawNoise[iAnode];}
32 Float_t GetAnodeCommonMode(Int_t iAnode) const{ return fCMN[iAnode];}
33 Float_t GetAnodeCorrNoise(Int_t iAnode) const{
34 if(fNEvents>0) return fSumCorrNoise[iAnode]/fNEvents;
38 Float_t CalcMeanNoise() const;
39 Int_t GetNEvents() const {return fNEvents;}
45 Int_t fNEvents; // number of events
46 Bool_t fGoodAnode[fgkNAnodes]; // anode quality: good(1) - bad (0)
47 Float_t fBaseline[fgkNAnodes]; // array of anode baselines
48 Float_t fRawNoise[fgkNAnodes]; // array of anode raw noise
49 Float_t fSumCorrNoise[fgkNAnodes]; // corrected noise summed over events
50 Float_t fCMN[fgkNAnodes]; // common mode noise coeff.
51 Float_t fMinCorrNoise; // Cut value for minimum corrected noise
52 Float_t fMaxCorrNoise; // Cut value for maximum corrected noise
53 Float_t fNSigmaNoise; // Cut value for corrected noise (n*sigma)
55 ClassDef(AliITSOnlineSDDCMN,1);