+
+//______________________________________________________________________
+TH1F* AliITSOnlineSDDCMN::GetBaselineAnodeHisto() const {
+ //
+ TString hisnam;
+ hisnam.Form("hbase%02dc%02ds%d",fDDL,fCarlos,fSide);
+ TH1F* h=new TH1F(hisnam.Data(),"",256,-0.5,255.5);
+ for(Int_t ian=0;ian<fgkNAnodes;ian++){
+ h->SetBinContent(ian+1,GetAnodeBaseline(ian));
+ }
+ return h;
+}
+//______________________________________________________________________
+TH1F* AliITSOnlineSDDCMN::GetRawNoiseAnodeHisto() const {
+ //
+ TString hisnam;
+ hisnam.Form("hnois%02dc%02ds%d",fDDL,fCarlos,fSide);
+ TH1F* h=new TH1F(hisnam.Data(),"",256,-0.5,255.5);
+ for(Int_t ian=0;ian<fgkNAnodes;ian++){
+ h->SetBinContent(ian+1,GetAnodeRawNoise(ian));
+ }
+ return h;
+}
+//______________________________________________________________________
+TH1F* AliITSOnlineSDDCMN::GetCorrNoiseAnodeHisto() const {
+ //
+ TString hisnam;
+ hisnam.Form("hcorn%02dc%02ds%d",fDDL,fCarlos,fSide);
+ TH1F* h=new TH1F(hisnam.Data(),"",256,-0.5,255.5);
+ for(Int_t ian=0;ian<fgkNAnodes;ian++){
+ h->SetBinContent(ian+1,GetAnodeCorrNoise(ian));
+ }
+ return h;
+}
+//______________________________________________________________________
+TH1F* AliITSOnlineSDDCMN::GetCMNCoefAnodeHisto() const {
+//
+ TString hisnam;
+ hisnam.Form("hcmn%02dc%02ds%d",fDDL,fCarlos,fSide);
+ TH1F* h=new TH1F(hisnam.Data(),"",256,-0.5,255.5);
+ for(Int_t ian=0;ian<fgkNAnodes;ian++){
+ h->SetBinContent(ian+1,GetAnodeCommonMode(ian));
+ }
+ return h;
+}
+//______________________________________________________________________
+TH1F* AliITSOnlineSDDCMN::GetStatusAnodeHisto() const {
+//
+ TString hisnam;
+ hisnam.Form("hgood%02dc%02ds%d",fDDL,fCarlos,fSide);
+ TH1F* h=new TH1F(hisnam.Data(),"",256,-0.5,255.5);
+ for(Int_t ian=0;ian<fgkNAnodes;ian++){
+ h->SetBinContent(ian+1,float(IsAnodeGood(ian)));
+ }
+ return h;
+}
+//______________________________________________________________________
+TH1F* AliITSOnlineSDDCMN::GetBaselineHisto() const {
+ //
+ TString hisnam;
+ hisnam.Form("hdbd%02dc%02ds%d",fDDL,fCarlos,fSide);
+ TH1F* h=new TH1F(hisnam.Data(),"",100,0.,150.);
+ for(Int_t ian=0;ian<fgkNAnodes;ian++){
+ h->Fill(GetAnodeBaseline(ian));
+ }
+ return h;
+}
+//______________________________________________________________________
+TH1F* AliITSOnlineSDDCMN::GetRawNoiseHisto() const {
+ //
+ TString hisnam;
+ hisnam.Form("hdnd%02dc%02ds%d",fDDL,fCarlos,fSide);
+ TH1F* h=new TH1F(hisnam.Data(),"",100,0.,8.);
+ for(Int_t ian=0;ian<fgkNAnodes;ian++){
+ h->Fill(GetAnodeRawNoise(ian));
+ }
+ return h;
+}
+//______________________________________________________________________
+TH1F* AliITSOnlineSDDCMN::GetCorrNoiseHisto() const {
+ //
+ TString hisnam;
+ hisnam.Form("hdcd%02dc%02ds%d",fDDL,fCarlos,fSide);
+ TH1F* h=new TH1F(hisnam.Data(),"",100,0.,8.);
+ for(Int_t ian=0;ian<fgkNAnodes;ian++){
+ h->Fill(GetAnodeCorrNoise(ian));
+ }
+ return h;
+}
+//______________________________________________________________________
+Bool_t AliITSOnlineSDDCMN::WriteToROOT(TFile *fil){
+ //
+ if(fil==0){
+ AliWarning("Invalid pointer to ROOT file");
+ return kFALSE;
+ }
+ TString hisnam;
+ fil->cd();
+ hisnam.Form("hgood%02dc%02ds%d",fDDL,fCarlos,fSide);
+ TH1F hgood(hisnam.Data(),"",256,-0.5,255.5);
+ hisnam.Form("hbase%02dc%02ds%d",fDDL,fCarlos,fSide);
+ TH1F hbase(hisnam.Data(),"",256,-0.5,255.5);
+ hisnam.Form("hnois%02dc%02ds%d",fDDL,fCarlos,fSide);
+ TH1F hnois(hisnam.Data(),"",256,-0.5,255.5);
+ hisnam.Form("hcmn%02dc%02ds%d",fDDL,fCarlos,fSide);
+ TH1F hcmn(hisnam.Data(),"",256,-0.5,255.5);
+ hisnam.Form("hcorn%02dc%02ds%d",fDDL,fCarlos,fSide);
+ TH1F hcorn(hisnam.Data(),"",256,-0.5,255.5);
+ for(Int_t ian=0;ian<fgkNAnodes;ian++){
+ hgood.SetBinContent(ian+1,float(IsAnodeGood(ian)));
+ hbase.SetBinContent(ian+1,GetAnodeBaseline(ian));
+ hnois.SetBinContent(ian+1,GetAnodeRawNoise(ian));
+ hcmn.SetBinContent(ian+1,GetAnodeCommonMode(ian));
+ hcorn.SetBinContent(ian+1,GetAnodeCorrNoise(ian));
+ }
+ hgood.Write();
+ hbase.Write();
+ hnois.Write();
+ hcmn.Write();
+ hcorn.Write();
+ return kTRUE;
+}