]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSQASDDDataMakerRec.cxx
AliITSUSeed::GetClusterIndex will return cl. index in old format
[u/mrichter/AliRoot.git] / ITS / AliITSQASDDDataMakerRec.cxx
index 9fe16c4cb81d42741a5c95e825d10538f3dfab19..f4083c4418a68058c9ec919d9b6c1e62c4806645 100644 (file)
@@ -32,6 +32,7 @@
 #include <TBranch.h>
 #include <TTree.h>
 #include <TMath.h>
+#include <TPaveText.h>
 //#include <TObjArray.h>
 
 // --- Standard library ---
@@ -49,6 +50,7 @@
 #include "AliCDBManager.h"
 #include "AliCDBEntry.h"
 #include "AliITSCalibrationSDD.h"
+#include "AliITSQADataMakerRec.h"
 
 class TGaxis;
 class TF1;
@@ -64,8 +66,8 @@ class AliRunLoader;
 class AliITSLoader;
 class AliITSDetTypeRec;
 
-
-
+using std::endl;
+using std::cout;
 ClassImp(AliITSQASDDDataMakerRec)
 
 //____________________________________________________________________________ 
@@ -209,6 +211,7 @@ void AliITSQASDDDataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObj
       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) {
@@ -261,6 +264,7 @@ void AliITSQASDDDataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObj
            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
@@ -294,6 +298,8 @@ void AliITSQASDDDataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObj
        //
        // 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);
          
@@ -416,32 +422,58 @@ Int_t AliITSQASDDDataMakerRec::InitRaws()
   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");
@@ -496,7 +528,7 @@ Int_t AliITSQASDDDataMakerRec::InitRaws()
   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);
@@ -571,7 +603,7 @@ Int_t AliITSQASDDDataMakerRec::InitRaws()
   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;
 
@@ -874,25 +906,25 @@ Int_t AliITSQASDDDataMakerRec::InitRecPoints()
   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
@@ -905,17 +937,33 @@ Int_t AliITSQASDDDataMakerRec::InitRecPoints()
   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--------------------------//
@@ -1013,12 +1061,12 @@ Int_t AliITSQASDDDataMakerRec::InitRecPoints()
        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.);
@@ -1042,7 +1090,7 @@ Int_t AliITSQASDDDataMakerRec::InitRecPoints()
   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);
@@ -1110,7 +1158,7 @@ Int_t AliITSQASDDDataMakerRec::InitRecPoints()
 
   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
 
 
 
@@ -1342,6 +1390,10 @@ void AliITSQASDDDataMakerRec::CreateTheCalibration()
              ((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;
@@ -1401,5 +1453,5 @@ void AliITSQASDDDataMakerRec::ResetDetector(AliQAv1::TASKINDEX_t task)
 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);
 }