#include <TBranch.h>
#include <TTree.h>
#include <TMath.h>
+#include <TPaveText.h>
//#include <TObjArray.h>
// --- Standard library ---
#include "AliCDBManager.h"
#include "AliCDBEntry.h"
#include "AliITSCalibrationSDD.h"
+#include "AliITSQADataMakerRec.h"
class TGaxis;
class TF1;
class AliITSLoader;
class AliITSDetTypeRec;
-
-
+using std::endl;
+using std::cout;
ClassImp(AliITSQASDDDataMakerRec)
//____________________________________________________________________________
int nEvent = GetNumberOfEvents(AliQAv1::kRAWS,trCl);
// printf("fNevent %d \n",nEvent);
TH1* h10 = (TH1*)harr[10+offsRW];
+ if(nEvent==0) if(h10) nEvent=h10->GetBinContent(1);
if (h10) h10->SetBinContent(1,nEvent);
//
if(nEvent!=0) {
for(Int_t jj=1; jj<htmp->GetNbinsY()+1;jj++) {
if( hcal->GetBinContent(ii,jj) != 0. ) htmp->SetBinContent(ii,jj,1);
else if( hcal->GetBinContent(ii,jj) == 0. ) htmp->SetBinContent(ii,jj,0);
+ //MM printf("x=%i \t y=%i => \t %f \n",ii,jj,hcal->GetBinContent(ii,jj));
}//end x axis
}//end y axis
}//end for inumb
//
// printf("fNeventRP %d \n",nEventRP);
TH1* htmp27 = (TH1*)harr[27+offsRP];
+ if(nEventRP==0) if(htmp27) nEventRP=htmp27->GetBinContent(1);
+
if (htmp27) {
htmp27->SetBinContent(1,nEventRP);
fSDDhRawsTask = 0;
if(fkOnline){AliInfo("Book Online Histograms for SDD\n");}
else {AliInfo("Book Offline Histograms for SDD\n ");}
- TH1F *h0 = new TH1F("SDDModPattern","HW Modules pattern",fgknSDDmodules,239.5,499.5); //0
+
+ TPaveText *PaveText0=new TPaveText(0.3,0.88,0.9,0.99,"NDC");
+ PaveText0->AddText("");
+ PaveText0->SetFillColor(kMagenta+2);
+ PaveText0->SetTextColor(kWhite);
+ PaveText0->SetBorderSize(1);
+ PaveText0->SetLineWidth(1);
+
+ TH1F *h0 = new TH1F("SDDModPattern","HW Modules pattern",fgknSDDmodules,239.5,499.5); //0
h0->GetXaxis()->SetTitle("Module Number");
h0->GetYaxis()->SetTitle("Counts");
h0->SetOption("bar1");
h0->SetBarOffset(0.01);
h0->SetBarWidth(0.95);
h0->SetFillColor(45);
+ h0->GetListOfFunctions()->Add(PaveText0);
+
rv = fAliITSQADataMakerRec->Add2RawsList(h0,0+offsRW, expert, !image, !saveCorr);
fSDDhRawsTask++;
-
+
+ TPaveText *PaveText1=new TPaveText(0.3,0.88,0.9,0.99,"NDC");
+ PaveText1->AddText("");
+ PaveText1->SetFillColor(kMagenta+2);
+ PaveText1->SetTextColor(kWhite);
+ PaveText1->SetBorderSize(1);
+ PaveText1->SetLineWidth(1);
+
//zPhi distribution using ladder and modules numbers
TH2F *hphil3 = new TH2F("SDDphizL3","SDD #varphiz Layer3 ",12,0.5,6.5,14,0.5,14.5);//1
hphil3->GetXaxis()->SetTitle("z[Module Number L3 ]");
hphil3->GetYaxis()->SetTitle("#varphi[ Ladder Number L3]");
hphil3->SetStats(0);
+ hphil3->GetListOfFunctions()->Add(PaveText1);
rv = fAliITSQADataMakerRec->Add2RawsList(hphil3,1+offsRW, !expert, image, !saveCorr);
fSDDhRawsTask++;
-
+
+ TPaveText *PaveText2=new TPaveText(0.3,0.88,0.9,0.99,"NDC");
+ PaveText2->AddText("");
+ PaveText2->SetFillColor(kMagenta+2);
+ PaveText2->SetTextColor(kWhite);
+ PaveText2->SetBorderSize(1);
+ PaveText2->SetLineWidth(1);
+
TH2F *hphil4 = new TH2F("SDDphizL4","SDD #varphiz Layer4 ",16,0.5,8.5,22,0.5,22.5); //2
hphil4->GetXaxis()->SetTitle("z[Module Number L4]");
hphil4->GetYaxis()->SetTitle("#varphi[Ladder Number L4]");
hphil4->SetStats(0);
+ hphil4->GetListOfFunctions()->Add(PaveText2);
rv = fAliITSQADataMakerRec->Add2RawsList(hphil4,2+offsRW, !expert, image, !saveCorr);
fSDDhRawsTask++;
-
- //normalized histograms
+
+ //normalized histograms
TH1F *h0norm = new TH1F("SDDModPatternNORM","NORM HW Modules pattern",fgknSDDmodules,239.5,499.5); //3
h0norm->GetXaxis()->SetTitle("Module Number");
h0norm->GetYaxis()->SetTitle("Counts");
rv = fAliITSQADataMakerRec->Add2RawsList(hcalibl4,9+offsRW, !expert, image, !saveCorr);
fSDDhRawsTask++;
- TH1F *hsummarydata = new TH1F("SDDRawDataCheck","SDDRawDataCheck",46,-0.5,45.5);//10 summary of raw data checks
+ TH1F *hsummarydata = new TH1F("SDDRawDataCheck","SDDRawDataCheck",46,-0.5,45.5);//10 summary of raw data checks Non expert and image
hsummarydata->GetXaxis()->SetLabelSize(0.02);
hsummarydata->GetXaxis()->SetTickLength(0.01);
hsummarydata->GetXaxis()->SetNdivisions(110);
hsummarydata->GetXaxis()->SetBinLabel(46,"dr_overthl4");
hsummarydata->GetXaxis()->LabelsOption("v");
- rv = fAliITSQADataMakerRec->Add2RawsList(hsummarydata,10+offsRW, expert, !image, !saveCorr);
+ rv = fAliITSQADataMakerRec->Add2RawsList(hsummarydata,10+offsRW, !expert, image, !saveCorr);
fSDDhRawsTask++;
fOnlineOffsetRaws = fSDDhRawsTask;
TH2F *h2 = new TH2F("SDDGlobalCoordDistribYX","YX Global Coord Distrib",56,-28,28,56,-28,28);//position number 2
h2->GetYaxis()->SetTitle("Y[cm]");
h2->GetXaxis()->SetTitle("X[cm]");
- rv = fAliITSQADataMakerRec->Add2RecPointsList(h2,2+offsRP, !expert, image);// NON expert image
+ rv = fAliITSQADataMakerRec->Add2RecPointsList(h2,2+offsRP, expert, image);// NON expert image
fSDDhRecPointsTask++;
TH2F *h3 = new TH2F("SDDGlobalCoordDistribRZ","RZ Global Coord Distrib",128,-32,32,56,12,26);//position number 3
h3->GetYaxis()->SetTitle("R[cm]");
h3->GetXaxis()->SetTitle("Z[cm]");
- rv = fAliITSQADataMakerRec->Add2RecPointsList(h3,3+offsRP, !expert, image);// NON expert image
+ rv = fAliITSQADataMakerRec->Add2RecPointsList(h3,3+offsRP, expert, image);// NON expert image
fSDDhRecPointsTask++;
TH2F *h4 = new TH2F("SDDGlobalCoordDistribL3PHIZ","#varphi Z Global Coord Distrib L3",96,-23,23,112,-TMath::Pi(),TMath::Pi());//position number 4
h4->GetYaxis()->SetTitle("#phi[rad]");
h4->GetXaxis()->SetTitle("Z[cm]");
- rv = fAliITSQADataMakerRec->Add2RecPointsList(h4,4+offsRP, !expert, image);//NON expert image
+ rv = fAliITSQADataMakerRec->Add2RecPointsList(h4,4+offsRP, expert, image);//NON expert image
fSDDhRecPointsTask++;
TH2F *h5 = new TH2F("SDDGlobalCoordDistribL4PHIZ","#varphi Z Global Coord Distrib L4",128,-31,31,176,-TMath::Pi(),TMath::Pi());//position number 5
h5->GetYaxis()->SetTitle("#phi[rad]");
h5->GetXaxis()->SetTitle("Z[cm]");
- rv = fAliITSQADataMakerRec->Add2RecPointsList(h5,5+offsRP, !expert, image);//NON expert image
+ rv = fAliITSQADataMakerRec->Add2RecPointsList(h5,5+offsRP, expert, image);//NON expert image
fSDDhRecPointsTask++;
TH1F *h6 = new TH1F("SDDModPatternRP","Modules pattern RP",fgknSDDmodules,239.5,499.5); //position number 6
rv = fAliITSQADataMakerRec->Add2RecPointsList(h6,6 +offsRP, expert, !image);// expert NO image
fSDDhRecPointsTask++;
-
+ TPaveText *PaveText7=new TPaveText(0.3,0.88,0.9,0.99,"NDC");
+ PaveText7->AddText("");
+ PaveText7->SetFillColor(kMagenta+2);
+ PaveText7->SetTextColor(kWhite);
+ PaveText7->SetBorderSize(1);
+ PaveText7->SetLineWidth(1);
+
+
TH2F *h7 = new TH2F("SDDModPatternL3RP","Modules pattern L3 RP",12,0.5,6.5,14,0.5,14.5); //position number 7
h7->GetXaxis()->SetTitle("z[#Module L3 ]");
h7->GetYaxis()->SetTitle("#varphi[#Ladder L3]");
- rv = fAliITSQADataMakerRec->Add2RecPointsList(h7,7 +offsRP, expert, !image);// expert NO image
+ h7->GetListOfFunctions()->Add(PaveText7);
+ rv = fAliITSQADataMakerRec->Add2RecPointsList(h7,7 +offsRP, !expert, image);// expert NO image
fSDDhRecPointsTask++;
- TH2F *h8 = new TH2F("SDDModPatternL4RP","Modules pattern L4 RP",16,0.5,8.5,22,0.5,22.5); //position number 8
+ TPaveText *PaveText8=new TPaveText(0.3,0.88,0.9,0.99,"NDC");
+ PaveText8->AddText("");
+ PaveText8->SetFillColor(kMagenta+2);
+ PaveText8->SetTextColor(kWhite);
+ PaveText8->SetBorderSize(1);
+ PaveText8->SetLineWidth(1);
+
+ TH2F *h8 = new TH2F("SDDModPatternL4RP","Modules pattern L4 RP",16,0.5,8.5,22,0.5,22.5); //position number 8
h8->GetXaxis()->SetTitle("[#Module L3 ]");
h8->GetYaxis()->SetTitle("#varphi[#Ladder L4]");
- rv = fAliITSQADataMakerRec->Add2RecPointsList(h8,8 +offsRP, expert, !image);// expert NO image
+ h8->GetListOfFunctions()->Add(PaveText8);
+ rv = fAliITSQADataMakerRec->Add2RecPointsList(h8,8 +offsRP, !expert, image);// expert NO image
fSDDhRecPointsTask++;
//------------------------norm--------------------------//
fSDDhRecPointsTask++;
hMax = 0.3;
- TH1F *R2RL3 = new TH1F("SDDL3_Rec2Raw","L3 RecPoints to Raws ratio",150,0.,hMax);
- rv = fAliITSQADataMakerRec->Add2RecPointsList(R2RL3,fSDDhRecPointsTask+offsRP, expert, !image); // 23
+ TH1F *r2RL3 = new TH1F("SDDL3_Rec2Raw","L3 RecPoints to Raws ratio",150,0.,hMax);
+ rv = fAliITSQADataMakerRec->Add2RecPointsList(r2RL3,fSDDhRecPointsTask+offsRP, expert, !image); // 23
fSDDhRecPointsTask++;
- TH1F *R2RL4 = new TH1F("SDDL4_Rec2Raw","L4 RecPoints to Raws ratio",150,0.,hMax);
- rv = fAliITSQADataMakerRec->Add2RecPointsList(R2RL4,fSDDhRecPointsTask+offsRP, expert, !image); // 24
+ TH1F *r2RL4 = new TH1F("SDDL4_Rec2Raw","L4 RecPoints to Raws ratio",150,0.,hMax);
+ rv = fAliITSQADataMakerRec->Add2RecPointsList(r2RL4,fSDDhRecPointsTask+offsRP, expert, !image); // 24
fSDDhRecPointsTask++;
TH1F *dedxL3 = new TH1F("SDDL3_dedx","L3 dE/dX",100,0.,1.);
hsummarydatarp->SetStats(0);
hsummarydatarp->SetMaximum(272);
- hsummarydatarp->SetOption("text bar1 hist");
+ hsummarydatarp->SetOption("text bar1");
hsummarydatarp->SetBarOffset(0.05);
hsummarydatarp->SetBarWidth(0.95);
hsummarydatarp->SetFillColor(32);
hsummarydatarp->GetXaxis()->LabelsOption("v");
- rv = fAliITSQADataMakerRec->Add2RecPointsList(hsummarydatarp,fSDDhRecPointsTask+offsRP, expert, !image);// expert NO image
+ rv = fAliITSQADataMakerRec->Add2RecPointsList(hsummarydatarp,fSDDhRecPointsTask+offsRP, !expert, image);// No expert image
((TH1F*)(fHistoCalibration->At(0)))->SetBinContent(imod+1,fillmodhisto1);
((TH2F*)(fHistoCalibration->At(1)))->SetBinContent(index,lad,fillmodhisto2side0);
((TH2F*)(fHistoCalibration->At(1)))->SetBinContent(index+1,lad,fillmodhisto2side1);
+ /*
+ printf("cal 0 x=%i \t y=%i => \t %i bad= %d \n",index,lad,fillmodhisto2side0,badmodhisto2side0);
+ printf("cal 1 x=%i \t y=%i => \t %i bad= %d \n",index+1,lad,fillmodhisto2side1,badmodhisto2side1);
+ */
}//end layer 3
else if(lay==4){
badmodhisto1=badmodhisto3side0+badmodhisto3side1;
Int_t AliITSQASDDDataMakerRec::GetNumberOfEvents(AliQAv1::TASKINDEX_t task, Int_t trigCl)
{
//return the number of the processed events for a given task and trigger class (-1 for all)
- return fAliITSQADataMakerRec->GetEvCountCycle(task, trigCl);
+ return fAliITSQADataMakerRec->GetEvCountTotal(task, trigCl);
}