]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ACORDE/AliACORDEQADataMakerRec.cxx
Updated OCDB
[u/mrichter/AliRoot.git] / ACORDE / AliACORDEQADataMakerRec.cxx
index 397a43733b35220c6f9877452da8abc260980414..c7d2d392d763e2eed0785c75ae36741462fc7cd7 100755 (executable)
@@ -47,7 +47,7 @@
 ClassImp(AliACORDEQADataMakerRec)
            
 //____________________________________________________________________________ 
-AliACORDEQADataMakerRec::AliACORDEQADataMakerRec():AliQADataMakerRec(AliQA::GetDetName(AliQA::kACORDE), "ACORDE Quality Assurance Data Maker")
+AliACORDEQADataMakerRec::AliACORDEQADataMakerRec():AliQADataMakerRec(AliQAv1::GetDetName(AliQAv1::kACORDE), "ACORDE Quality Assurance Data Maker")
 {
 
 }
@@ -66,11 +66,11 @@ AliACORDEQADataMakerRec& AliACORDEQADataMakerRec::operator = (const AliACORDEQAD
   return *this;
 }
 //____________________________________________________________________________
-void AliACORDEQADataMakerRec::EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray * list)
+void AliACORDEQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list)
 {
   //Detector specific actions at end of cycle
   // do the QA checking
-  AliQAChecker::Instance()->Run(AliQA::kACORDE, task, list) ;
+  AliQAChecker::Instance()->Run(AliQAv1::kACORDE, task, list) ;
 }
 
 //____________________________________________________________________________
@@ -85,16 +85,33 @@ void AliACORDEQADataMakerRec::InitRaws()
 {
   // create Raw histograms in Raw subdir
 
-TH1D *fhACORDEBitPattern[4];
-fhACORDEBitPattern[0] = new TH1D("ACORDERawDataSM","ACORDE-SingleMuon",60,1,60);//AcordeSingleMuon BitPattern
-fhACORDEBitPattern[1] = new TH1D("ACORDERawDataMM","ACORDE-MultiMuon",60,1,60);//AcordeMultiMuon BitPattern
-fhACORDEBitPattern[2] = new TH1D("ACORDERawDataSMM","ACORDE-SingleMuonMultiplicity",60,1,60);//AcordeSingleMuon Multiplicity
-fhACORDEBitPattern[3] = new TH1D("ACORDERawDataMMM","ACORDE-MultiMuonMultiplicity",60,1,60);//AcordeMultiMuon Multiplicity
-for(Int_t i=0;i<4;i++)
-{
-       Add2RawsList(fhACORDEBitPattern[i],i,kFALSE);
+  const Bool_t expert   = kTRUE ; 
+  const Bool_t saveCorr = kTRUE ; 
+  const Bool_t image    = kTRUE ; 
+  
+  TH1D *fhACORDEBitPattern[4];
+  fhACORDEBitPattern[0] = new TH1D("ACORDERawDataSM","ACORDE-SingleMuon;Bit Pattern;Counts",60,1,60);//AcordeSingleMuon BitPattern
+  fhACORDEBitPattern[1] = new TH1D("ACORDERawDataMM","ACORDE-MultiMuon;Bit Pattern;Counts",60,1,60);//AcordeMultiMuon BitPattern
+  fhACORDEBitPattern[2] = new TH1D("ACORDERawDataSMM","ACORDE-SingleMuonMultiplicity;Multiplicity;Counts",60,1,60);//AcordeSingleMuon Multiplicity
+  fhACORDEBitPattern[3] = new TH1D("ACORDERawDataMMM","ACORDE-MultiMuonMultiplicity;Multiplicity;Counts",60,1,60);//AcordeMultiMuon Multiplicity
+  for(Int_t i=0;i<4;i++) 
+    Add2RawsList(fhACORDEBitPattern[i],i,!expert, image, !saveCorr);
 }
+//____________________________________________________________________________ 
+void AliACORDEQADataMakerRec::InitDigits()
+{
+  // create Digits histograms in Digits subdir
+  
+  const Bool_t expert   = kTRUE ; 
+  const Bool_t image    = kTRUE ; 
+  TH1F *    fhDigitsModule;
+  TString   modulename;
+  modulename = "hDigitsModule";
+  fhDigitsModule = new TH1F(modulename.Data(),"hDigitsModuleSingle;# of modules;Counts",60,0,60);
+  Add2DigitsList(fhDigitsModule,0,!expert,image);
+    
 }
+
 //____________________________________________________________________________ 
 
 void AliACORDEQADataMakerRec::InitRecPoints()
@@ -102,28 +119,33 @@ void AliACORDEQADataMakerRec::InitRecPoints()
   // create cluster histograms in RecPoint subdir
   // Not needed for ACORDE by now !!!
 }
+
 //____________________________________________________________________________
 void AliACORDEQADataMakerRec::InitESDs()
 {
   //create ESDs histograms in ESDs subdir
 
-   TH1F *    fhESDsSingle;
-   TH1F *    fhESDsMulti;
+  const Bool_t expert   = kTRUE ; 
+  const Bool_t image    = kTRUE ; 
+  
+  TH1F *    fhESDsSingle;
+  TH1F *    fhESDsMulti;
 
    TString   name;
 
    name = "hESDsSingle";
-   fhESDsSingle = new TH1F(name.Data(),"hESDsSingle",60,0,60);
-   Add2ESDsList(fhESDsSingle,0,kFALSE);
+   fhESDsSingle = new TH1F(name.Data(),"hESDsSingle;??;??",60,0,60);
+   Add2ESDsList(fhESDsSingle,0,!expert,image);
 
    name = "hESDsMulti";
-   fhESDsMulti = new TH1F(name.Data(),"hESDsMulti",60,0,60);
-   Add2ESDsList(fhESDsMulti,1,kFALSE);
+   fhESDsMulti = new TH1F(name.Data(),"hESDsMulti;??;??",60,0,60);
+   Add2ESDsList(fhESDsMulti,1,!expert,image);
 }
 //____________________________________________________________________________
 void AliACORDEQADataMakerRec::MakeRaws(AliRawReader* rawReader)
 {
   //fills QA histos for RAW
+
   rawReader->Reset();
   AliACORDERawStream rawStream(rawReader);
   size_t contSingle=0;
@@ -137,8 +159,6 @@ void AliACORDEQADataMakerRec::MakeRaws(AliRawReader* rawReader)
 
 if(rawStream.Next())
 {
-       rawReader->NextEvent();
-        rawStream.Reset();
         dy[0]=rawStream.GetWord(0);
         dy[1]=rawStream.GetWord(1);
         dy[2]=rawStream.GetWord(2);
@@ -186,17 +206,38 @@ if(rawStream.Next())
 }
 }
 //____________________________________________________________________________
-void AliACORDEQADataMakerRec::MakeRecPoints(TTree * clustersTree)
+void AliACORDEQADataMakerRec::MakeDigits( TTree *digitsTree)
 {
-  //fills QA histos for clusters
-  // Not needed for ACORDE by now !!!
+  //fills QA histos for Digits
+  if (fDigitsArray) 
+    fDigitsArray->Clear() ; 
+  else 
+    fDigitsArray = new TClonesArray("AliACORDEdigit",1000);
+  TBranch * branch = digitsTree->GetBranch("ACORDEdigit");
+  if (!branch) {
+    AliWarning("ACORDE branch in Digits Tree not found");
+  } else {
+    branch->SetAddress(&fDigitsArray);
+    for(Int_t track = 0 ; track < branch->GetEntries() ; track++) {
+      branch->GetEntry(track);
+      for(Int_t idigit = 0 ; idigit < fDigitsArray->GetEntriesFast() ; idigit++) {
+        AliACORDEdigit *AcoDigit = (AliACORDEdigit*) fDigitsArray->UncheckedAt(idigit);
+        if (!AcoDigit) {
+          AliError("The unchecked digit doesn't exist");
+          continue ;
+        }
+        GetDigitsData(0)->Fill(AcoDigit->GetModule()-1);
+      }
+    }
+  }
 }
+
 //____________________________________________________________________________
 void AliACORDEQADataMakerRec::MakeESDs(AliESDEvent * esd)
 {
   //fills QA histos for ESD
 
-        AliESDACORDE * fESDACORDE= esd->GetACORDEData();
+  AliESDACORDE * fESDACORDE= esd->GetACORDEData();
         Int_t *fACORDEMultiMuon =fESDACORDE->GetACORDEMultiMuon();
         Int_t *fACORDESingleMuon=fESDACORDE->GetACORDESingleMuon();
 
@@ -206,9 +247,5 @@ void AliACORDEQADataMakerRec::MakeESDs(AliESDEvent * esd)
             if(fACORDEMultiMuon[i]==1)
                GetESDsData(1) -> Fill(i);
         }
-
-
-
-
 }