]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSQASDDDataMakerSim.cxx
In Open() and GotoEvent() try the ESD operations first, fallback to run-loader.
[u/mrichter/AliRoot.git] / ITS / AliITSQASDDDataMakerSim.cxx
index 274d02fdb2f0d0c44ac0501bc7f4b53acece90df..b523d66aa594688734ef2cbde77a91985593ac24 100644 (file)
@@ -13,6 +13,8 @@
  * provided "as is" without express or implied warranty.                  *\r
  **************************************************************************/\r
 \r
+/* $Id$ */\r
+\r
 //  *************************************************************\r
 //  Checks the quality assurance \r
 //  by comparing with reference data\r
@@ -49,12 +51,10 @@ ClassImp(AliITSQASDDDataMakerSim)
 AliITSQASDDDataMakerSim::AliITSQASDDDataMakerSim(AliITSQADataMakerSim *aliITSQADataMakerSim) :\r
 TObject(),\r
 fAliITSQADataMakerSim(aliITSQADataMakerSim),\r
-fSDDhDigits(0),\r
-fSDDhSDigits(0),\r
-fSDDhHits(0),\r
-fDigitsOffset(0),\r
-fSDigitsOffset(0),\r
-fHitsOffset(0)\r
+fSDDhTask(0),\r
+fGenOffsetH(0),\r
+fGenOffsetS(0),\r
+fGenOffsetD(0)\r
 {\r
   //ctor used to discriminate OnLine-Offline analysis   \r
 }\r
@@ -63,12 +63,10 @@ fHitsOffset(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
-fDigitsOffset(qadm.fDigitsOffset),\r
-fSDigitsOffset(qadm.fSDigitsOffset),\r
-fHitsOffset(qadm.fHitsOffset)\r
+fSDDhTask(qadm.fSDDhTask),\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
@@ -102,38 +100,37 @@ void AliITSQASDDDataMakerSim::EndOfDetectorCycle(AliQA::TASKINDEX_t /*task*/, TO
 //____________________________________________________________________________ \r
 void AliITSQASDDDataMakerSim::InitDigits()\r
 { \r
-  // Initialization for DIGIT data - SDD -\r
-  fDigitsOffset = (fAliITSQADataMakerSim->fDigitsQAList)->GetEntries();\r
-  //fSDDhDigits must be incremented by one unit every time a histogram is ADDED to the QA List\r
-  //printf("AliITSQASDDDataMakerSim::InitDigits called \n");\r
+  // Initialization for DIGIT data - SDD -  \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,1+fDigitsOffset);\r
-  fSDDhDigits ++;\r
+  fAliITSQADataMakerSim->Add2DigitsList(h0,fGenOffsetD);\r
+  fSDDhTask ++;\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,2+fDigitsOffset);\r
-  fSDDhDigits ++;\r
+  fAliITSQADataMakerSim->Add2DigitsList(h1,1+fGenOffsetD);\r
+  fSDDhTask ++;\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,3+fDigitsOffset);\r
-  fSDDhDigits ++;\r
+  fAliITSQADataMakerSim->Add2DigitsList(h2,2+fGenOffsetD);\r
+  fSDDhTask ++;\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,4+fDigitsOffset);\r
-  fSDDhDigits ++;\r
-  AliDebug(1,Form("%d SDD Digits histograms booked\n",fSDDhDigits));\r
+  fAliITSQADataMakerSim->Add2DigitsList(h3,3+fGenOffsetD);\r
+  fSDDhTask ++;\r
+  AliDebug(1,Form("%d SDD Digits histograms booked\n",fSDDhTask));\r
 }\r
 \r
 //____________________________________________________________________________\r
 void AliITSQASDDDataMakerSim::MakeDigits(TTree * digits)\r
 { \r
   // Fill QA for DIGIT - SDD -\r
-  //printf("AliITSQASDDDataMakerSim::MakeDigits called \n");\r
+  //  printf("AliITSQASDDDataMakerSim::MakeDigits called \n");\r
   AliITS *fITS  = (AliITS*)gAlice->GetModule("ITS");\r
   fITS->SetTreeAddress();\r
   TClonesArray *iITSdigits  = fITS->DigitsAddress(1);\r
@@ -141,15 +138,15 @@ void AliITSQASDDDataMakerSim::MakeDigits(TTree * digits)
     Int_t nmod=i+240;\r
     digits->GetEvent(nmod);\r
     Int_t ndigits = iITSdigits->GetEntries();\r
-    fAliITSQADataMakerSim->GetDigitsData(1+fDigitsOffset)->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(2+fDigitsOffset)->Fill(iz);\r
-      fAliITSQADataMakerSim->GetDigitsData(3+fDigitsOffset)->Fill(ix);\r
-      fAliITSQADataMakerSim->GetDigitsData(4+fDigitsOffset)->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
@@ -158,38 +155,37 @@ void AliITSQASDDDataMakerSim::MakeDigits(TTree * digits)
 void AliITSQASDDDataMakerSim::InitSDigits()\r
 { \r
   // Initialization for SDIGIT data - SDD -\r
-  fSDigitsOffset = (fAliITSQADataMakerSim->fSDigitsQAList)->GetEntries();\r
-  //printf("AliITSQASDDDataMakerSim::InitSDigits called \n");\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,1+fSDigitsOffset);\r
-  fSDDhSDigits ++;\r
+  fAliITSQADataMakerSim->Add2SDigitsList(h0,fGenOffsetS);\r
+  fSDDhTask ++;\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,2+fSDigitsOffset);\r
-  fSDDhSDigits ++;\r
+  fAliITSQADataMakerSim->Add2SDigitsList(h1,1+fGenOffsetS);\r
+  fSDDhTask ++;\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,3+fSDigitsOffset);\r
-  fSDDhSDigits ++;\r
+  fAliITSQADataMakerSim->Add2SDigitsList(h2,2+fGenOffsetS);\r
+  fSDDhTask ++;\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,4+fSDigitsOffset);\r
-  fSDDhSDigits ++;\r
+  fAliITSQADataMakerSim->Add2SDigitsList(h3,3+fGenOffsetS);\r
+  fSDDhTask ++;\r
 \r
-  AliDebug(1,Form("%d SDD SDigits histograms booked\n",fSDDhSDigits));\r
+  AliDebug(1,Form("%d SDD SDigits histograms booked\n",fSDDhTask));\r
 }\r
 \r
 //____________________________________________________________________________\r
 void AliITSQASDDDataMakerSim::MakeSDigits(TTree * sdigits)\r
 { \r
   // Fill QA for SDIGIT - SDD -\r
-  //printf("AliITSQASDDDataMakerSim::MakeSDigits called \n");\r
+  //  printf("AliITSQASDDDataMakerSim::MakeSDigits called \n");\r
   AliITSsegmentationSDD* seg = new AliITSsegmentationSDD();\r
   Int_t nan=seg->Npz();\r
   Int_t ntb=seg->Npx();\r
@@ -211,16 +207,16 @@ void AliITSQASDDDataMakerSim::MakeSDigits(TTree * sdigits)
     brchSDigits->SetAddress( &sdig );\r
     brchSDigits->GetEvent(nmod);\r
     Int_t nsdig=sdig->GetEntries();\r
-    fAliITSQADataMakerSim->GetSDigitsData(1+fSDigitsOffset)->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(2+fSDigitsOffset)->Fill(ia);\r
-      fAliITSQADataMakerSim->GetSDigitsData(3+fSDigitsOffset)->Fill(it);\r
-      fAliITSQADataMakerSim->GetSDigitsData(4+fSDigitsOffset)->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
@@ -230,31 +226,31 @@ void AliITSQASDDDataMakerSim::MakeSDigits(TTree * sdigits)
 void AliITSQASDDDataMakerSim::InitHits()\r
 { \r
   // Initialization for HITS data - SDD -\r
-  fHitsOffset = (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,1+fHitsOffset);\r
-  fSDDhHits ++;\r
+  fAliITSQADataMakerSim->Add2HitsList(h0,fGenOffsetH);\r
+  fSDDhTask ++;\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,2+fHitsOffset);\r
-  fSDDhHits ++;\r
+  fAliITSQADataMakerSim->Add2HitsList(h1,1+fGenOffsetH);\r
+  fSDDhTask ++;\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,3+fHitsOffset);\r
-  fSDDhHits ++;\r
+  fAliITSQADataMakerSim->Add2HitsList(h2,2+fGenOffsetH);\r
+  fSDDhTask ++;\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->GetYaxis()->SetTitle("# HITS");\r
-  fAliITSQADataMakerSim->Add2HitsList(h3,4+fHitsOffset);\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
+  fSDDhTask ++;\r
+  //printf("%d SDD Hits histograms booked\n",fSDDhTask);\r
+  AliDebug(1,Form("%d SDD Hits histograms booked\n",fSDDhTask));\r
 }\r
 \r
 //____________________________________________________________________________\r
@@ -265,8 +261,10 @@ void AliITSQASDDDataMakerSim::MakeHits(TTree * hits)
   AliITS *fITS  = (AliITS*)gAlice->GetModule("ITS");\r
   fITS->SetTreeAddress();\r
   Int_t nmodules;\r
-  fITS->InitModules(-1,nmodules);\r
-  //fITS->FillModules(0,0,nmodules," "," ");\r
+  if(!(fITS->InitModules(-1,nmodules))){\r
+    AliError("ITS geometry not available - nothing done");\r
+    return;\r
+  }\r
  \r
   fITS->FillModules(hits,0);\r
 \r
@@ -278,17 +276,17 @@ void AliITSQASDDDataMakerSim::MakeHits(TTree * hits)
     //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(1 + fHitsOffset)->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(2 + fHitsOffset)->Fill(dyloc);\r
+      fAliITSQADataMakerSim->GetHitsData(1+fGenOffsetH)->Fill(dyloc);\r
       Float_t edep=hit->GetIonization()*1000000;\r
       if(dyloc>200.){ \r
-       fAliITSQADataMakerSim->GetHitsData(4 + fHitsOffset)->Fill(edep);\r
-       fAliITSQADataMakerSim->GetHitsData(3 + fHitsOffset)->Fill(dyloc);\r
+       fAliITSQADataMakerSim->GetHitsData(2+fGenOffsetH)->Fill(edep);\r
+       fAliITSQADataMakerSim->GetHitsData(3+fGenOffsetH)->Fill(dyloc);\r
       }\r
     }\r
   }\r