]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSOnlineSDDBase.h
Add plotting macros
[u/mrichter/AliRoot.git] / ITS / AliITSOnlineSDDBase.h
index 9657568a904f059132fef47413ba703ba631b087..a3158299a67c2998a4625dc452c21b0c1816773d 100644 (file)
@@ -24,7 +24,7 @@ class AliITSOnlineSDDBase : public AliITSOnlineSDD {
 
   void SetMinBaseline(Float_t bas=10.){fMinBaseline=bas;}
   void SetMaxBaseline(Float_t bas=150.){fMaxBaseline=bas;}
-  void SetMinRawNoise(Float_t ns=0.001){fMinRawNoise=ns;}
+  void SetMinRawNoise(Float_t ns=0.5){fMinRawNoise=ns;}
   void SetMaxRawNoise(Float_t ns=9.){fMaxRawNoise=ns;}
   void SetNSigmaNoise(Float_t ns=4.){fNSigmaNoise=ns;}
   void SetGoldenBaselineValue(Float_t val=20.){fGoldenBaseline=val;}
@@ -40,12 +40,13 @@ class AliITSOnlineSDDBase : public AliITSOnlineSDD {
   }
   void GetMinAndMaxBaseline(Float_t &basMin, Float_t &basMax) const;
   Float_t GetMinimumBaseline() const;
-  Float_t GetAnodeRawNoise(Int_t iAnode) const{
-    if(fNEvents>0) return TMath::Sqrt(fSumRawNoise[iAnode]/fNEvents-TMath::Power(GetAnodeBaseline(iAnode),2));
-    
-    else return 0;
-  }
+  Float_t GetAnodeRawNoise(Int_t iAnode) const;
 
+  Int_t CountGoodAnodes() const{
+    Int_t nGdAn=0;
+    for(Int_t ian=0;ian<fgkNAnodes;ian++) if(fGoodAnode[ian]) nGdAn++;  
+    return nGdAn;
+  }
   Float_t CalcMeanRawNoise() const;
   Float_t GetAnodeCommonMode(Int_t iAnode) const{
     if(fNEvents>0) return fSumCMN[iAnode]/fNEvents;
@@ -75,4 +76,13 @@ class AliITSOnlineSDDBase : public AliITSOnlineSDD {
 
   ClassDef(AliITSOnlineSDDBase,2);
 };
+
+inline Float_t AliITSOnlineSDDBase::GetAnodeRawNoise(Int_t iAnode) const{
+  // compute raw noise for given anode
+  Float_t noise2=0.;
+  if(fNEvents>0) noise2=fSumRawNoise[iAnode]/fNEvents-fSumBaseline[iAnode]*fSumBaseline[iAnode]/fNEvents/fNEvents;
+  if(noise2>0.) return TMath::Sqrt(noise2);
+  else return 0;
+}
+
 #endif