]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSOnlineSDDBase.h
First version of the SDD DA calibration classes. AliITSOnlineSDDBase - for measuremen...
[u/mrichter/AliRoot.git] / ITS / AliITSOnlineSDDBase.h
CommitLineData
348f80b7 1#ifndef ALIITSONLINESDDBASE_H
2#define ALIITSONLINESDDBASE_H
3
4///////////////////////////////////////////////////////////////////
5// //
6// Class used for SDD baseline and noise analysis //
7// Origin: F.Prino, Torino, prino@to.infn.it //
8// //
9///////////////////////////////////////////////////////////////////
10#include"AliITSOnlineSDD.h"
11#include<TMath.h>
12
13class TH2F;
14class TGraph;
15class AliITSOnlineSDDBase : public AliITSOnlineSDD {
16
17 public:
18 AliITSOnlineSDDBase();
19 AliITSOnlineSDDBase(Int_t mod, Int_t sid);
20 virtual ~AliITSOnlineSDDBase();
21 void Reset();
22 void AddEvent(TH2F* hrawd);
23 void ValidateAnodes();
24
25 void SetMinBaseline(Float_t bas=10.){fMinBaseline=bas;}
26 void SetMaxBaseline(Float_t bas=150.){fMaxBaseline=bas;}
27 void SetMinRawNoise(Float_t ns=0.001){fMinRawNoise=ns;}
28 void SetMaxRawNoise(Float_t ns=9.){fMaxRawNoise=ns;}
29 void SetNSigmaNoise(Float_t ns=4.){fNSigmaNoise=ns;}
30
31 Bool_t IsAnodeGood(Int_t iAnode)const{ return fGoodAnode[iAnode];}
32 Float_t GetAnodeBaseline(Int_t iAnode) const{
33 if(fNEvents>0) return fSumBaseline[iAnode]/fNEvents;
34 else return 0;
35 }
36 Float_t GetAnodeRawNoise(Int_t iAnode) const{
37 if(fNEvents>0) return TMath::Sqrt(fSumRawNoise[iAnode]/fNEvents-TMath::Power(GetAnodeBaseline(iAnode),2));
38
39 else return 0;
40 }
41
42 Float_t CalcMeanRawNoise();
43 Float_t GetAnodeCommonMode(Int_t iAnode) const{
44 if(fNEvents>0) return fSumCMN[iAnode]/fNEvents;
45 else return 0;
46 }
47 Int_t GetNEvents() const {return fNEvents;}
48 void WriteToFXS();
49
50 protected:
51
52 private:
53 Int_t fNEvents;
54 Bool_t fGoodAnode[fgkNAnodes];
55 Float_t fSumBaseline[fgkNAnodes];
56 Float_t fSumRawNoise[fgkNAnodes];
57 Float_t fSumCMN[fgkNAnodes];
58 Float_t fMinBaseline;
59 Float_t fMaxBaseline;
60 Float_t fMinRawNoise;
61 Float_t fMaxRawNoise;
62 Float_t fNSigmaNoise;
63
64 ClassDef(AliITSOnlineSDDBase,1);
65};
66#endif