]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSQASDDDataMakerSim.cxx
A new class AliPHOSModuleMisalignment is added to read survey data
[u/mrichter/AliRoot.git] / ITS / AliITSQASDDDataMakerSim.cxx
index 1de0249737d23a45dee8458c093e53e3c790ba53..dd55e08a30dc8bff63d34cd4e3e8d774bc0f5d55 100644 (file)
@@ -51,10 +51,12 @@ ClassImp(AliITSQASDDDataMakerSim)
 AliITSQASDDDataMakerSim::AliITSQASDDDataMakerSim(AliITSQADataMakerSim *aliITSQADataMakerSim) :\r
 TObject(),\r
 fAliITSQADataMakerSim(aliITSQADataMakerSim),\r
-fSDDhDigits(0),\r
-fSDDhSDigits(0),\r
-fSDDhHits(0),\r
-fGenOffset(0)\r
+fSDDhHTask(0),\r
+fSDDhSTask(0),\r
+fSDDhDTask(0),\r
+fGenOffsetH(0),\r
+fGenOffsetS(0),\r
+fGenOffsetD(0)\r
 {\r
   //ctor used to discriminate OnLine-Offline analysis   \r
 }\r
@@ -63,10 +65,12 @@ fGenOffset(0)
 AliITSQASDDDataMakerSim::AliITSQASDDDataMakerSim(const AliITSQASDDDataMakerSim& qadm) :\r
 TObject(),\r
 fAliITSQADataMakerSim(qadm.fAliITSQADataMakerSim),\r
-fSDDhDigits(qadm.fSDDhDigits),\r
-fSDDhSDigits(qadm.fSDDhSDigits),\r
-fSDDhHits(qadm.fSDDhHits),\r
-fGenOffset(qadm.fGenOffset)\r
+fSDDhHTask(qadm.fSDDhHTask),\r
+fSDDhSTask(qadm.fSDDhSTask),\r
+fSDDhDTask(qadm.fSDDhDTask),\r
+fGenOffsetH(qadm.fGenOffsetH),\r
+fGenOffsetS(qadm.fGenOffsetS),\r
+fGenOffsetD(qadm.fGenOffsetD)\r
 {\r
   //copy ctor \r
   fAliITSQADataMakerSim->SetName((const char*)qadm.fAliITSQADataMakerSim->GetName()) ; \r
@@ -101,36 +105,36 @@ void AliITSQASDDDataMakerSim::EndOfDetectorCycle(AliQA::TASKINDEX_t /*task*/, TO
 void AliITSQASDDDataMakerSim::InitDigits()\r
 { \r
   // Initialization for DIGIT data - SDD -  \r
-  fGenOffset = (fAliITSQADataMakerSim->fDigitsQAList)->GetEntries();\r
-  //fSDDhDigits must be incremented by one unit every time a histogram is ADDED to the QA List\r
+  fGenOffsetD = (fAliITSQADataMakerSim->fDigitsQAList)->GetEntries();\r
+  //fSDDhTask must be incremented by one unit every time a histogram is ADDED to the QA List\r
   TH1F* h0=new TH1F("SDD DIGITS Module Pattern","SDD DIGITS Module Pattern",260,239.5,499.5);       //hmod\r
   h0->GetXaxis()->SetTitle("SDD Module Number");\r
   h0->GetYaxis()->SetTitle("# DIGITS");\r
-  fAliITSQADataMakerSim->Add2DigitsList(h0,fGenOffset);\r
-  fSDDhDigits ++;\r
+  fAliITSQADataMakerSim->Add2DigitsList(h0,fGenOffsetD);\r
+  fSDDhDTask ++;\r
   TH1F* h1=new TH1F("SDD Anode Distribution","DIGITS Anode Distribution",512,-0.5,511.5);      //hanocc\r
   h1->GetXaxis()->SetTitle("Anode Number");\r
   h1->GetYaxis()->SetTitle("# DIGITS");\r
-  fAliITSQADataMakerSim->Add2DigitsList(h1,1+fGenOffset);\r
-  fSDDhDigits ++;\r
+  fAliITSQADataMakerSim->Add2DigitsList(h1,1+fGenOffsetD);\r
+  fSDDhDTask ++;\r
   TH1F* h2=new TH1F("SDD Tbin Distribution","DIGITS Tbin Distribution",256,-0.5,255.5);      //htbocc\r
   h2->GetXaxis()->SetTitle("Tbin Number");\r
   h2->GetYaxis()->SetTitle("# DIGITS");\r
-  fAliITSQADataMakerSim->Add2DigitsList(h2,2+fGenOffset);\r
-  fSDDhDigits ++;\r
+  fAliITSQADataMakerSim->Add2DigitsList(h2,2+fGenOffsetD);\r
+  fSDDhDTask ++;\r
   TH1F* h3=new TH1F("SDD ADC Counts Distribution","DIGITS ADC Counts Distribution",200,0.,1024.);          //hsig\r
   h3->GetXaxis()->SetTitle("ADC Value");\r
   h3->GetYaxis()->SetTitle("# DIGITS");\r
-  fAliITSQADataMakerSim->Add2DigitsList(h3,3+fGenOffset);\r
-  fSDDhDigits ++;\r
-  AliDebug(1,Form("%d SDD Digits histograms booked\n",fSDDhDigits));\r
+  fAliITSQADataMakerSim->Add2DigitsList(h3,3+fGenOffsetD);\r
+  fSDDhDTask ++;\r
+  AliDebug(1,Form("%d SDD Digits histograms booked\n",fSDDhDTask));\r
 }\r
 \r
 //____________________________________________________________________________\r
 void AliITSQASDDDataMakerSim::MakeDigits(TTree * digits)\r
 { \r
+\r
   // Fill QA for DIGIT - SDD -\r
-  //  printf("AliITSQASDDDataMakerSim::MakeDigits called \n");\r
   AliITS *fITS  = (AliITS*)gAlice->GetModule("ITS");\r
   fITS->SetTreeAddress();\r
   TClonesArray *iITSdigits  = fITS->DigitsAddress(1);\r
@@ -138,15 +142,15 @@ void AliITSQASDDDataMakerSim::MakeDigits(TTree * digits)
     Int_t nmod=i+240;\r
     digits->GetEvent(nmod);\r
     Int_t ndigits = iITSdigits->GetEntries();\r
-    fAliITSQADataMakerSim->GetDigitsData(fGenOffset)->Fill(nmod,ndigits);\r
+    fAliITSQADataMakerSim->GetDigitsData(fGenOffsetD)->Fill(nmod,ndigits);\r
     for (Int_t idig=0; idig<ndigits; idig++) {\r
       AliITSdigit *dig=(AliITSdigit*)iITSdigits->UncheckedAt(idig);\r
       Int_t iz=dig->GetCoord1();  // cell number z\r
       Int_t ix=dig->GetCoord2();  // cell number x\r
       Int_t sig=dig->GetSignal();\r
-      fAliITSQADataMakerSim->GetDigitsData(1+fGenOffset)->Fill(iz);\r
-      fAliITSQADataMakerSim->GetDigitsData(2+fGenOffset)->Fill(ix);\r
-      fAliITSQADataMakerSim->GetDigitsData(3+fGenOffset)->Fill(sig);\r
+      fAliITSQADataMakerSim->GetDigitsData(1+fGenOffsetD)->Fill(iz);\r
+      fAliITSQADataMakerSim->GetDigitsData(2+fGenOffsetD)->Fill(ix);\r
+      fAliITSQADataMakerSim->GetDigitsData(3+fGenOffsetD)->Fill(sig);\r
     }\r
   }\r
 }\r
@@ -155,37 +159,37 @@ void AliITSQASDDDataMakerSim::MakeDigits(TTree * digits)
 void AliITSQASDDDataMakerSim::InitSDigits()\r
 { \r
   // Initialization for SDIGIT data - SDD -\r
-  fGenOffset = (fAliITSQADataMakerSim->fSDigitsQAList)->GetEntries();\r
-  //fSDDhSDigits must be incremented by one unit every time a histogram is ADDED to the QA List\r
+  fGenOffsetS = (fAliITSQADataMakerSim->fSDigitsQAList)->GetEntries();\r
+  //fSDDhTask must be incremented by one unit every time a histogram is ADDED to the QA List\r
   TH1F* h0=new TH1F("SDD SDIGITS Module Pattern","SDIGITS SDD Module Pattern",260,239.5,499.5);       //hmod\r
   h0->GetXaxis()->SetTitle("SDD Module Number");\r
   h0->GetYaxis()->SetTitle("# SDIGITS");\r
-  fAliITSQADataMakerSim->Add2SDigitsList(h0,fGenOffset);\r
-  fSDDhSDigits ++;\r
+  fAliITSQADataMakerSim->Add2SDigitsList(h0,fGenOffsetS);\r
+  fSDDhSTask ++;\r
   TH1F* h1=new TH1F("SDD Anode Distribution","SDIGITS Anode Distribution",512,-0.5,511.5);      //hanocc\r
   h1->GetXaxis()->SetTitle("Anode Number");\r
   h1->GetYaxis()->SetTitle("# SDIGITS");\r
-  fAliITSQADataMakerSim->Add2SDigitsList(h1,1+fGenOffset);\r
-  fSDDhSDigits ++;\r
+  fAliITSQADataMakerSim->Add2SDigitsList(h1,1+fGenOffsetS);\r
+  fSDDhSTask ++;\r
   TH1F* h2=new TH1F("SDD Tbin Distribution","SDIGITS Tbin Distribution",256,-0.5,255.5);      //htbocc\r
   h2->GetXaxis()->SetTitle("Tbin Number");\r
   h2->GetYaxis()->SetTitle("# SDIGITS");\r
-  fAliITSQADataMakerSim->Add2SDigitsList(h2,2+fGenOffset);\r
-  fSDDhSDigits ++;\r
+  fAliITSQADataMakerSim->Add2SDigitsList(h2,2+fGenOffsetS);\r
+  fSDDhSTask ++;\r
   TH1F* h3=new TH1F("SDD ADC Counts Distribution","SDIGITS ADC Counts Distribution",200,0.,1024.);          //hsig\r
   h3->GetXaxis()->SetTitle("ADC Value");\r
   h3->GetYaxis()->SetTitle("# SDIGITS");\r
-  fAliITSQADataMakerSim->Add2SDigitsList(h3,3+fGenOffset);\r
-  fSDDhSDigits ++;\r
+  fAliITSQADataMakerSim->Add2SDigitsList(h3,3+fGenOffsetS);\r
+  fSDDhSTask ++;\r
 \r
-  AliDebug(1,Form("%d SDD SDigits histograms booked\n",fSDDhSDigits));\r
+  AliDebug(1,Form("%d SDD SDigits histograms booked\n",fSDDhSTask));\r
 }\r
 \r
 //____________________________________________________________________________\r
 void AliITSQASDDDataMakerSim::MakeSDigits(TTree * sdigits)\r
 { \r
   // Fill QA for SDIGIT - SDD -\r
-  //  printf("AliITSQASDDDataMakerSim::MakeSDigits called \n");\r
+\r
   AliITSsegmentationSDD* seg = new AliITSsegmentationSDD();\r
   Int_t nan=seg->Npz();\r
   Int_t ntb=seg->Npx();\r
@@ -207,16 +211,16 @@ void AliITSQASDDDataMakerSim::MakeSDigits(TTree * sdigits)
     brchSDigits->SetAddress( &sdig );\r
     brchSDigits->GetEvent(nmod);\r
     Int_t nsdig=sdig->GetEntries();\r
-    fAliITSQADataMakerSim->GetSDigitsData(fGenOffset)->Fill(nmod,nsdig);\r
+    fAliITSQADataMakerSim->GetSDigitsData(fGenOffsetS)->Fill(nmod,nsdig);\r
     for(Int_t i=0;i<nsdig;i++){\r
       AliITSpListItem *cell=(AliITSpListItem*)sdig->At(i);\r
       Float_t sig=cell->GetSignal();\r
       Int_t idx=cell->GetIndex();\r
       Int_t ia,it;\r
       list->GetCell(idx,ia,it);\r
-      fAliITSQADataMakerSim->GetSDigitsData(1+fGenOffset)->Fill(ia);\r
-      fAliITSQADataMakerSim->GetSDigitsData(2+fGenOffset)->Fill(it);\r
-      fAliITSQADataMakerSim->GetSDigitsData(3+fGenOffset)->Fill(sig);\r
+      fAliITSQADataMakerSim->GetSDigitsData(1+fGenOffsetS)->Fill(ia);\r
+      fAliITSQADataMakerSim->GetSDigitsData(2+fGenOffsetS)->Fill(it);\r
+      fAliITSQADataMakerSim->GetSDigitsData(3+fGenOffsetS)->Fill(sig);\r
     }\r
     delete sdig;\r
   }\r
@@ -225,39 +229,39 @@ void AliITSQASDDDataMakerSim::MakeSDigits(TTree * sdigits)
 //____________________________________________________________________________ \r
 void AliITSQASDDDataMakerSim::InitHits()\r
 { \r
+\r
   // Initialization for HITS data - SDD -\r
-  fGenOffset = (fAliITSQADataMakerSim->fHitsQAList)->GetEntries();\r
-  //fSDDhHits must be incremented by one unit every time a histogram is ADDED to the QA List\r
+  fGenOffsetH = (fAliITSQADataMakerSim->fHitsQAList)->GetEntries();\r
+  //fSDDhTask must be incremented by one unit every time a histogram is ADDED to the QA List\r
   //printf("AliITSQASDDDataMakerSim::InitHits called \n");\r
   TH1F *h0=new TH1F("SDD HITS Module Pattern","SDD HITS Module Pattern",260,239.5,499.5);  \r
   h0->GetXaxis()->SetTitle("SDD Module Number");\r
   h0->GetYaxis()->SetTitle("# HITS");\r
-  fAliITSQADataMakerSim->Add2HitsList(h0,fGenOffset);\r
-  fSDDhHits ++;\r
+  fAliITSQADataMakerSim->Add2HitsList(h0,fGenOffsetH);\r
+  fSDDhHTask ++;\r
   TH1F *h1=new TH1F("SDD HIT lenght along local Y Coord","HIT lenght along local Y Coord",200,0.,350.);\r
   h1->GetXaxis()->SetTitle("HIT lenght (um)");\r
   h1->GetYaxis()->SetTitle("# HITS");\r
-  fAliITSQADataMakerSim->Add2HitsList(h1,1+fGenOffset);\r
-  fSDDhHits ++;\r
+  fAliITSQADataMakerSim->Add2HitsList(h1,1+fGenOffsetH);\r
+  fSDDhHTask ++;\r
   TH1F *h2=new TH1F("SDD HIT lenght along local Y Coord - Zoom","SDD HIT lenght along local Y Coord - Zoom",200,250.,350.);\r
   h2->GetXaxis()->SetTitle("HIT lenght (um)");\r
   h2->GetYaxis()->SetTitle("# HITS");\r
-  fAliITSQADataMakerSim->Add2HitsList(h2,2+fGenOffset);\r
-  fSDDhHits ++;\r
+  fAliITSQADataMakerSim->Add2HitsList(h2,2+fGenOffsetH);\r
+  fSDDhHTask ++;\r
   TH1F *h3=new TH1F("SDD Deposited Energy Distribution (loc Y > 200um)","SDD HITS Deposited Energy Distribution (loc Y > 200um)",200,0.,350.);\r
-  h3->GetXaxis()->SetTitle("ADC counts???");\r
+  h3->GetXaxis()->SetTitle("ADC counts ");\r
   h3->GetYaxis()->SetTitle("# HITS");\r
-  fAliITSQADataMakerSim->Add2HitsList(h3,3+fGenOffset);\r
-  fSDDhHits ++;\r
-  //printf("%d SDD Hits histograms booked\n",fSDDhHits);\r
-  AliDebug(1,Form("%d SDD Hits histograms booked\n",fSDDhHits));\r
+  fAliITSQADataMakerSim->Add2HitsList(h3,3+fGenOffsetH);\r
+  fSDDhHTask ++;\r
+  AliDebug(1,Form("%d SDD Hits histograms booked\n",fSDDhHTask));\r
 }\r
 \r
 //____________________________________________________________________________\r
 void AliITSQASDDDataMakerSim::MakeHits(TTree * hits)\r
 { \r
   // Fill QA for HITS - SDD -\r
-  //printf("AliITSQASDDDataMakerSim::MakeHits called \n");\r
+\r
   AliITS *fITS  = (AliITS*)gAlice->GetModule("ITS");\r
   fITS->SetTreeAddress();\r
   Int_t nmodules;\r
@@ -273,21 +277,64 @@ void AliITSQASDDDataMakerSim::MakeHits(TTree * hits)
     AliITSmodule *modu = fITS->GetModule(nmod);\r
     TObjArray *arrHits = modu->GetHits();\r
     Int_t nhits = arrHits->GetEntriesFast();\r
-    //printf("--w--AliITSQASDDDataMakerSim::MakeHits  nhits = %d\n",nhits);\r
+    ////printf("--w--AliITSQASDDDataMakerSim::MakeHits  nhits = %d\n",nhits);\r
     for (Int_t iHit=0;iHit<nhits;iHit++) {\r
       AliITShit *hit = (AliITShit*) arrHits->At(iHit);\r
-      fAliITSQADataMakerSim->GetHitsData(fGenOffset)->Fill(nmod);\r
+      fAliITSQADataMakerSim->GetHitsData(fGenOffsetH)->Fill(nmod);\r
       Double_t xl,yl,zl,xl0,yl0,zl0;\r
       Double_t tof,tof0;\r
       hit->GetPositionL(xl,yl,zl,tof);\r
       hit->GetPositionL0(xl0,yl0,zl0,tof0);\r
       Float_t dyloc=TMath::Abs(yl-yl0)*10000.;\r
-      fAliITSQADataMakerSim->GetHitsData(1+fGenOffset)->Fill(dyloc);\r
+      fAliITSQADataMakerSim->GetHitsData(1+fGenOffsetH)->Fill(dyloc);\r
       Float_t edep=hit->GetIonization()*1000000;\r
       if(dyloc>200.){ \r
-       fAliITSQADataMakerSim->GetHitsData(2+fGenOffset)->Fill(edep);\r
-       fAliITSQADataMakerSim->GetHitsData(3+fGenOffset)->Fill(dyloc);\r
+       fAliITSQADataMakerSim->GetHitsData(2+fGenOffsetH)->Fill(edep);\r
+       fAliITSQADataMakerSim->GetHitsData(3+fGenOffsetH)->Fill(dyloc);\r
       }\r
     }\r
   }\r
 }\r
+\r
+//_______________________________________________________________\r
+\r
+Int_t AliITSQASDDDataMakerSim::GetOffset(AliQA::TASKINDEX_t task){\r
+  // Returns histogram offset according to the specified task\r
+  Int_t offset=0;\r
+  if( task == AliQA::kHITS){\r
+    offset=fGenOffsetH;  \r
+  }\r
+  else if( task == AliQA::kSDIGITS) {\r
+    offset=fGenOffsetS;   \r
+  }\r
+  else if( task == AliQA::kDIGITS) {\r
+    offset=fGenOffsetD;   \r
+  }\r
+  else {\r
+    AliInfo("No task has been selected. TaskHisto set to zero.\n");\r
+  }\r
+\r
+  return offset;\r
+}\r
+\r
+\r
+//_______________________________________________________________\r
+\r
+Int_t AliITSQASDDDataMakerSim::GetTaskHisto(AliQA::TASKINDEX_t task) {\r
+  // Returns the number of booked histograms for the selected task\r
+  Int_t histotot=0;\r
+  if( task == AliQA::kHITS) {\r
+    histotot=fSDDhHTask ;  \r
+  }\r
+  else if( task == AliQA::kSDIGITS) {\r
+    histotot=fSDDhSTask;   \r
+  }\r
+  else if( task == AliQA::kDIGITS) {\r
+    histotot=fSDDhDTask ;   \r
+  }\r
+  else {\r
+    AliInfo("No task has been selected. TaskHisto set to zero.\n");\r
+  }\r
+  return histotot;\r
+\r
+}\r