]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ZDC/AliZDCQADataMaker.cxx
Not needed.
[u/mrichter/AliRoot.git] / ZDC / AliZDCQADataMaker.cxx
index 766d6b625cb9a82d397c3ad6c47d99ea2ec796ef..2d028a5b1f6d8c5c9a71ae8bed0ec2af55918cdb 100644 (file)
@@ -35,14 +35,20 @@ ClassImp(AliZDCQADataMaker)
            
 //____________________________________________________________________________ 
   AliZDCQADataMaker::AliZDCQADataMaker() : 
-  AliQADataMaker(AliQA::GetDetName(AliQA::kZDC), "ZDC Quality Assurance Data Maker")
+      AliQADataMaker(AliQA::GetDetName(AliQA::kZDC), "ZDC Quality Assurance Data Maker"),
+      fHits("AliZDCHit", 1000),
+      fDigits("AliZDCDigit", 1000)
+
 {
   // ctor
 }
 
 //____________________________________________________________________________ 
 AliZDCQADataMaker::AliZDCQADataMaker(const AliZDCQADataMaker& qadm) :
-  AliQADataMaker() 
+  AliQADataMaker(), 
+    fHits("AliZDCHit", 1000),
+    fDigits("AliZDCDigit", 1000) 
 {
   //copy ctor 
   SetName((const char*)qadm.GetName()); 
@@ -263,27 +269,23 @@ void AliZDCQADataMakerRec::InitESDs()
   Add2ESDsList(hESDPMCZPAlg, 25);
 }
   
+
 //____________________________________________________________________________
-void AliZDCQADataMaker::MakeHits(TClonesArray * data)
+void AliZDCQADataMakerSim::MakeHits(TClonesArray */*data*/)
 {
   //filling QA histos for Hits
   //
-  TClonesArray * hits = dynamic_cast<TClonesArray *>(data); 
-  if(!hits){
-    AliError("Wrong type of hits container"); 
-  } 
-  else {
-    TIter next(hits); 
-    AliZDCHit * hit; 
-    while((hit = dynamic_cast<AliZDCHit *>(next()))){
-      if(hit->GetVolume(0)==1) GetHitsData(0)->Fill(hit->GetXImpact(),hit->GetYImpact());
-      else if(hit->GetVolume(0)==2) GetHitsData(1)->Fill(hit->GetXImpact(), hit->GetYImpact());
-      else if(hit->GetVolume(0)==4) GetHitsData(2)->Fill(hit->GetXImpact(), hit->GetYImpact());
-      else if(hit->GetVolume(0)==5) GetHitsData(3)->Fill(hit->GetXImpact(), hit->GetYImpact());
-    }
-  } 
+  TIter next(&fHits); 
+  AliZDCHit * hit; 
+  while((hit = dynamic_cast<AliZDCHit *>(next()))){
+    if(hit->GetVolume(0)==1) GetHitsData(0)->Fill(hit->GetXImpact(),hit->GetYImpact());
+    else if(hit->GetVolume(0)==2) GetHitsData(1)->Fill(hit->GetXImpact(), hit->GetYImpact());
+    else if(hit->GetVolume(0)==4) GetHitsData(2)->Fill(hit->GetXImpact(), hit->GetYImpact());
+    else if(hit->GetVolume(0)==5) GetHitsData(3)->Fill(hit->GetXImpact(), hit->GetYImpact());
+  }
 
 }
+
 //___________________________________________________________________________
 void AliZDCQADataMakerSim::MakeHits(TTree * hitTree)
 {
@@ -300,23 +302,28 @@ void AliZDCQADataMakerSim::MakeHits(TTree * hitTree)
     return;
   }
   else{
-    //
-    TClonesArray * hits = new TClonesArray("AliZDCHit", 1000);
-    //
     Int_t ntracks = (Int_t) hitTree->GetEntries();
+    //printf("\n\t *** no.track %d\n",ntracks);
     if (ntracks<=0) return;
     //
     for(Int_t itrack=0; itrack<ntracks; itrack++){
-      branch->SetAddress(&hits) ;
+      fHits = new TClonesArray("AliZDCHit", 1000);
+      //
+      branch->SetAddress(&fHits) ;
       branch->GetEntry(itrack);
       //
-      MakeHits(hits); 
+      //printf("\t *** track %d",itrack);
+      //hits->Print("");
+      //printf("\n");
+      //
+      MakeHits(fHits); 
+      fHits->Clear();
     }    
   }
 }
 
 //____________________________________________________________________________
-void AliZDCQADataMakerSim::MakeDigits(TClonesArray * digits)
+void AliZDCQADataMakerSim::MakeDigits(TClonesArray * /*digits*/)
 {
   // makes data from Digits
   //
@@ -328,6 +335,60 @@ void AliZDCQADataMakerSim::MakeDigits(TClonesArray * digits)
   Float_t ADCSum_ZNC_lg=0., ADCSum_ZNA_lg=0., ADCSum_ZPC_lg=0., ADCSum_ZPA_lg=0.;
   Float_t ADCSumQ_ZNC_lg=0., ADCSumQ_ZNA_lg=0., ADCSumQ_ZPC_lg=0., ADCSumQ_ZPA_lg=0.;
   //
+  while((digit = dynamic_cast<AliZDCDigit *>(next()))){
+    if(digit->GetSector(0)==1){
+      ADCSum_ZNC += digit->GetADCValue(0);
+      ADCSum_ZNC_lg += digit->GetADCValue(1);
+      //
+      if(digit->GetSector(1)!=0){
+        ADCSumQ_ZNC += digit->GetADCValue(0);
+        ADCSumQ_ZNC_lg+= digit->GetADCValue(1);
+      }
+      else{
+        GetDigitsData(8)->Fill(digit->GetADCValue(0));
+        GetDigitsData(20)->Fill(digit->GetADCValue(1));
+      }
+    }
+    else if(digit->GetSector(0)==2){
+      ADCSum_ZPC += digit->GetADCValue(0);
+      ADCSum_ZPC_lg += digit->GetADCValue(1);
+      //
+      if(digit->GetSector(1)!=0){
+        ADCSumQ_ZPC += digit->GetADCValue(0);
+        ADCSumQ_ZPC_lg+= digit->GetADCValue(1);
+      }
+      else{
+        GetDigitsData(9)->Fill(digit->GetADCValue(0));
+        GetDigitsData(21)->Fill(digit->GetADCValue(1));
+      }
+    }
+    else if(digit->GetSector(0)==4){
+      ADCSum_ZNA += digit->GetADCValue(0);
+      ADCSum_ZNA_lg += digit->GetADCValue(1);
+      //
+      if(digit->GetSector(1)!=0){
+        ADCSumQ_ZNA += digit->GetADCValue(0);
+        ADCSumQ_ZNA_lg+= digit->GetADCValue(1);
+      }
+      else{
+        GetDigitsData(10)->Fill(digit->GetADCValue(0));
+        GetDigitsData(22)->Fill(digit->GetADCValue(1));
+      }
+    }
+    else if(digit->GetSector(0)==5){
+      ADCSum_ZPA += digit->GetADCValue(0);
+      ADCSum_ZPA_lg += digit->GetADCValue(1);
+      //
+      if(digit->GetSector(1)!=0){
+        ADCSumQ_ZPA += digit->GetADCValue(0);
+        ADCSumQ_ZPA_lg+= digit->GetADCValue(1);
+      }
+      else{
+        GetDigitsData(11)->Fill(digit->GetADCValue(0));
+        GetDigitsData(23)->Fill(digit->GetADCValue(1));
+      }
+    }
+  }
   //
   GetDigitsData(0)->Fill(ADCSum_ZNC);
   GetDigitsData(1)->Fill(ADCSum_ZPC);
@@ -354,16 +415,15 @@ void AliZDCQADataMakerSim::MakeDigits(TClonesArray * digits)
 void AliZDCQADataMakerSim::MakeDigits(TTree *digitTree )
 {
    // makes data from Digit Tree
-   TClonesArray * digits = new TClonesArray("AliZDCDigit", 1000); 
-   //
    TBranch * branch = digitTree->GetBranch("ZDC");
    if(!branch){
       AliError("ZDC branch in Digit Tree not found"); 
       return;
    } 
-   branch->SetAddress(&digits) ;
-   branch->GetEntry(0) ; 
-   MakeDigits(digits) ; 
+   branch->SetAddress(&fDigits);
+   branch->GetEntry(0); 
+   MakeDigits(fDigits); 
+   fDigits->Clear();
 }
 
 //____________________________________________________________________________