]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - VZERO/AliVZEROQADataMakerSim.cxx
Coverity fix
[u/mrichter/AliRoot.git] / VZERO / AliVZEROQADataMakerSim.cxx
index 20493f8103d52b048a7ad44c0f05cca490febdfe..95db64950965ff8fbdb1ba5ae4b030e673591ba6 100644 (file)
@@ -41,7 +41,7 @@ ClassImp(AliVZEROQADataMakerSim)
            
 //____________________________________________________________________________ 
   AliVZEROQADataMakerSim::AliVZEROQADataMakerSim() : 
-  AliQADataMakerSim(AliQA::GetDetName(AliQA::kVZERO), "VZERO Quality Assurance Data Maker")
+  AliQADataMakerSim(AliQAv1::GetDetName(AliQAv1::kVZERO), "VZERO Quality Assurance Data Maker")
 
 {
   // constructor
@@ -68,95 +68,73 @@ AliVZEROQADataMakerSim& AliVZEROQADataMakerSim::operator = (const AliVZEROQAData
   return *this;
 }
 //____________________________________________________________________________
-void AliVZEROQADataMakerSim::EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray * list)
+void AliVZEROQADataMakerSim::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list)
 {
   //Detector specific actions at end of cycle
   // do the QA checking
-  AliQAChecker::Instance()->Run(AliQA::kVZERO, task, list) ;
+  AliQAChecker::Instance()->Run(AliQAv1::kVZERO, task, list) ;
 }
 
  
 //____________________________________________________________________________ 
 void AliVZEROQADataMakerSim::InitHits()
 {
-  // create Hits histograms in Hits subdir
-  char  timename[10];
-  char  chargename[12];
-  TH1F  *fhHitTime[72];
-  TH1F  *fhHitCharge[72];
-  char  texte[25];
  
   // create Hits histograms in Hits subdir
-  TH1F * h0 = new TH1F("hHitMultiplicity", "Hits multiplicity distribution in VZERO", 300, 0., 299.) ; 
+  const Bool_t expert   = kTRUE ; 
+  const Bool_t image    = kTRUE ; 
+  
+  TH1I * h0 = new TH1I("hHitMultiplicity", "Hit multiplicity distribution in VZERO;# of Hits;Entries", 300, 0, 299) ; 
   h0->Sumw2() ;
-  Add2HitsList(h0, 0) ;  
+  Add2HitsList(h0, 0, !expert, image) ;  
+  
+  TH1I * h1 = new TH1I("hHitCellNumber", "Hit cell distribution in VZERO;# of Hits;Entries", 80, 0, 79) ; 
+  h1->Sumw2() ;
+  Add2HitsList(h1, 1, !expert, image) ;  
     
-  for (Int_t i=0; i<72; i++)
-    {
-       sprintf(timename,"hHitTime%d",i);
-       sprintf(texte,"Hit Time in VZERO cell %d",i);    
-       fhHitTime[i] = new TH1F(timename,texte,300,0.,149.);
-       
-       sprintf(chargename,"hHitCharge%d",i);
-       sprintf(texte,"Hit Charge in VZERO cell %d",i);
-       fhHitCharge[i]= new TH1F(chargename,texte,1024,0.,1023.);
-       
-       Add2HitsList( fhHitTime[i],i+1);
-       Add2HitsList( fhHitCharge[i],i+1+72);
-    }
-
 }
 
 //____________________________________________________________________________ 
 void AliVZEROQADataMakerSim::InitDigits()
 {
   // create Digits histograms in Digits subdir
-
+  const Bool_t expert   = kTRUE ; 
+  const Bool_t image    = kTRUE ; 
   
-  char TDCname[10];
-  char ADCname[12];
-  TH1F *fhDigTDC[64]; 
-  TH1F *fhDigADC[64]; 
-  char texte[30];
+  TH1I *fhDigTDC[64]; 
+  TH1I *fhDigADC[64]; 
 
   // create Digits histograms in Digits subdir
-  TH1I * h0 = new TH1I("hDigitMultiplicity", "Digits multiplicity distribution in VZERO", 100, 0., 99.) ; 
+  TH1I * h0 = new TH1I("hDigitMultiplicity", "Digits multiplicity distribution in VZERO;# of Digits;Entries", 100, 0, 99) ; 
   h0->Sumw2() ;
-  Add2DigitsList(h0, 0) ;
+  Add2DigitsList(h0, 0, !expert, image) ;
   
   for (Int_t i=0; i<64; i++)
     {
-       sprintf(TDCname, "hDigitTDC%d", i);
-       sprintf(texte,"Digit TDC in cell %d",i);    
-       fhDigTDC[i] = new TH1F(TDCname,texte,300,0.,149.);
+       fhDigTDC[i] = new TH1I(Form("hDigitTDC%d", i),Form("Digit TDC in cell %d; TDC value;Entries",i),300,0.,149.);
+       fhDigADC[i]= new TH1I(Form("hDigitADC%d", i),Form("Digit ADC in cell %d;ADC value;Entries",i),1024,0.,1023.);
        
-       sprintf(ADCname,"hDigitADC%d",i);
-       sprintf(texte,"Digit ADC in cell %d",i);
-       fhDigADC[i]= new TH1F(ADCname,texte,1024,0.,1023.);
-       
-       Add2DigitsList(fhDigTDC[i],i+1);
-       Add2DigitsList(fhDigADC[i],i+1+64);  
+       Add2DigitsList(fhDigTDC[i],i+1, !expert, image);
+       Add2DigitsList(fhDigADC[i],i+1+64, !expert, image);  
      }  
 }
 
 
 //____________________________________________________________________________
-void AliVZEROQADataMakerSim::MakeHits(TClonesArray * hits)
+void AliVZEROQADataMakerSim::MakeHits()
 {
        //make QA data from Hits
 
-    GetHitsData(0)->Fill(hits->GetEntriesFast()) ;    // fills Hit multiplicity
-    Int_t nhits = hits->GetEntriesFast();
+  Int_t nhits = fHitsArray->GetEntriesFast();
+  GetHitsData(0)->Fill(nhits) ;    // fills Hit multiplicity
     for (Int_t ihit=0;ihit<nhits;ihit++) 
        {
-          AliVZEROhit  * VZEROHit   = (AliVZEROhit*) hits->UncheckedAt(ihit);
+          AliVZEROhit  * VZEROHit   = (AliVZEROhit*) fHitsArray->UncheckedAt(ihit);
           if (!VZEROHit) {
              AliError("The unchecked hit doesn't exist");
              break;
           }
-          Int_t cell = VZEROHit->Cell();
-          GetHitsData(cell+1)->Fill(VZEROHit->Tof());
-          GetHitsData(cell+1+72)->Fill(VZEROHit->Charge());
+          GetHitsData(1)->Fill(VZEROHit->Cell());
        }
 }
 
@@ -166,7 +144,10 @@ void AliVZEROQADataMakerSim::MakeHits(TClonesArray * hits)
 void AliVZEROQADataMakerSim::MakeHits(TTree *hitTree)
 {
   //fills QA histos for Hits
-  TClonesArray * hits = new TClonesArray("AliVZEROhit", 1000);
+ if (fHitsArray)
+   fHitsArray->Clear() ; 
+  else 
+    fHitsArray = new TClonesArray("AliVZEROhit", 1000);
   
   TBranch * branch = hitTree->GetBranch("VZERO") ;
   if ( ! branch ) {
@@ -174,29 +155,31 @@ void AliVZEROQADataMakerSim::MakeHits(TTree *hitTree)
   } else {
 
    if (branch) {
-      branch->SetAddress(&hits);
+      branch->SetAddress(&fHitsArray);
     }else{
       AliError("Branch VZERO hit not found");
       exit(111);
     } 
+    // Check id histograms already created for this Event Specie
+    if ( ! GetHitsData(0) )
+      InitHits() ;
+    
     Int_t ntracks    = (Int_t) hitTree->GetEntries();
     
     if (ntracks<=0) return;
     // Start loop on tracks in the hits containers
     for (Int_t track=0; track<ntracks;track++) {
       branch->GetEntry(track);
-      GetHitsData(0)->Fill(hits->GetEntriesFast()) ;    // fills Hit multiplicity
-      Int_t nhits = hits->GetEntriesFast();
+      Int_t nhits = fHitsArray->GetEntriesFast();
+      GetHitsData(0)->Fill(nhits) ;    // fills Hit multiplicity
       for (Int_t ihit=0;ihit<nhits;ihit++) 
        {
-         AliVZEROhit  * VZEROHit   = (AliVZEROhit*) hits->UncheckedAt(ihit);
+         AliVZEROhit  * VZEROHit   = (AliVZEROhit*) fHitsArray->UncheckedAt(ihit);
          if (!VZEROHit) {
            AliError("The unchecked hit doesn't exist");
            break;
          }
-         Int_t cell = VZEROHit->Cell();
-         GetHitsData(cell+1)->Fill(VZEROHit->Tof());
-         GetHitsData(cell+1+72)->Fill(VZEROHit->Charge());
+         GetHitsData(1)->Fill(VZEROHit->Cell());        
        }
     }
   }
@@ -204,12 +187,12 @@ void AliVZEROQADataMakerSim::MakeHits(TTree *hitTree)
 
 
 //____________________________________________________________________________
-void AliVZEROQADataMakerSim::MakeDigits(TClonesArray * digits)
+void AliVZEROQADataMakerSim::MakeDigits()
 {
   // makes data from Digits
 
-    GetDigitsData(0)->Fill(digits->GetEntriesFast()) ; 
-    TIter next(digits) ; 
+  GetDigitsData(0)->Fill(fDigitsArray->GetEntriesFast()) ; 
+    TIter next(fDigitsArray) ; 
     AliVZEROdigit *VZERODigit ; 
     while ( (VZERODigit = dynamic_cast<AliVZEROdigit *>(next())) ) {
          Int_t   PMNumber  = VZERODigit->PMNumber();         
@@ -224,15 +207,18 @@ void AliVZEROQADataMakerSim::MakeDigits(TTree *digitTree)
 {
     // makes data from Digit Tree
        
-    TClonesArray * digits = new TClonesArray("AliVZERODigit", 1000) ; 
+  if (fDigitsArray)
+    fDigitsArray->Clear() ; 
+  else 
+    fDigitsArray = new TClonesArray("AliVZEROdigit", 1000) ; 
 
-    TBranch * branch = digitTree->GetBranch("VZERO") ;
+    TBranch * branch = digitTree->GetBranch("VZERODigit") ;
     if ( ! branch ) {
          AliWarning("VZERO branch in Digit Tree not found") ; 
     } else {
-         branch->SetAddress(&digits) ;
+         branch->SetAddress(&fDigitsArray) ;
          branch->GetEntry(0) ; 
-         MakeDigits(digits) ; 
+         MakeDigits() ; 
     }  
 }