]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - T0/AliT0QADataMaker.cxx
Restoring backward compatibility of the SSD calibration objects + output of the SSD...
[u/mrichter/AliRoot.git] / T0 / AliT0QADataMaker.cxx
index 78393f65693511769abdde78028d7eedea4b8119..4cc90e976d15ae2c881285312c0dd4a4709a202a 100644 (file)
@@ -18,8 +18,9 @@
 
 //---
 //  Produces the data needed to calculate the quality assurance. 
-//  All data must be mergeable objects.
-//  A. Mastroserio
+//  T0 QA for Hits, Digits, RAW and RecPoints
+//  Alla.Maevskaya@cern.ch
+//  
 //---
 
 // --- ROOT system ---
 // --- AliRoot header files ---
 #include "AliESDEvent.h"
 #include "AliLog.h"
-#include "AliT0digit.h"
+#include "AliT0digit.h" 
 #include "AliT0hit.h"
 #include "AliT0RecPoint.h"
 #include "AliT0QADataMaker.h"
 #include "AliQAChecker.h"
-#include "AliRawReaderFile.h"
 #include "AliT0RawReader.h"
 
 ClassImp(AliT0QADataMaker)
@@ -91,7 +91,7 @@ AliT0QADataMaker& AliT0QADataMaker::operator = (const AliT0QADataMaker& qadm )
   return *this;
 }
 //____________________________________________________________________________
-void AliT0QADataMaker::EndOfDetectorCycle(AliQA::TASKINDEX task, TList * list)
+void AliT0QADataMaker::EndOfDetectorCycle(AliQA::TASKINDEX task, TObjArray * list)
 {
   //Detector specific actions at end of cycle
   // do the QA checking
@@ -118,7 +118,7 @@ void AliT0QADataMaker::InitHits()
       if(i<12)  fhHitsTime[i] = new TH1F(timename.Data(),timename.Data(),100,2000,3000);
       else  
        fhHitsTime[i] = new TH1F(timename.Data(),timename.Data(),100,12000,13000);
-      Add2HitsList( fhHitsTime[i],i);
+       Add2HitsList( fhHitsTime[i],i);
     }
   /*
   TH2F *fhHitsEffA = new TH2F("hHitsEffA", "Hits Efficiency A side", 25,-0.5,24.5, 100,12,13 );
@@ -197,7 +197,7 @@ void AliT0QADataMaker::InitRaws()
      }
   
   TH1F* fhRawMean = new TH1F("hRawMean","online mean signal", 100,500,600);
-  Add2DigitsList( fhRawMean,72);
+  Add2RawsList( fhRawMean,72);
   
 }
 
@@ -207,14 +207,14 @@ void AliT0QADataMaker::InitRecPoints()
 {
   // create cluster histograms in RecPoint subdir
   /* 
- TH2F * fhRecCFD = new TH2F("fhRecCFD", " CFD reconstructed",25,-0.5,24.5,100,12,13);
-  Add2DigitsList( fhRecCFD,0);
-  TH2F *fhRecLEDamp = new TH2F("fhRecLEDamp", " amplitude LED reconstructed",25,-0.5,24.5,100,1000,1000);
-  Add2DigitsList( fhRecLEDamp,1);
- TH2F * fhRecQTC = new TH2F("fhRecQTC", " amplitude QTC reconstructed",25,-0.5,24.5,100,1000,1000);
-  Add2DigitsList( fhRecQTC,2);
- TH1F * fhRecMean = new TH1F("hRecMean"," reconstructed mean signal",100,500,600);
-  Add2DigitsList( fhRecMean,3);
    TH2F * fhRecCFD = new TH2F("fhRecCFD", " CFD reconstructed",25,-0.5,24.5,100,12,13);
+     Add2DigitsList( fhRecCFD,0);
+     TH2F *fhRecLEDamp = new TH2F("fhRecLEDamp", " amplitude LED reconstructed",25,-0.5,24.5,100,1000,1000);
+     Add2DigitsList( fhRecLEDamp,1);
    TH2F * fhRecQTC = new TH2F("fhRecQTC", " amplitude QTC reconstructed",25,-0.5,24.5,100,1000,1000);
+     Add2DigitsList( fhRecQTC,2);
    TH1F * fhRecMean = new TH1F("hRecMean"," reconstructed mean signal",100,500,600);
+     Add2DigitsList( fhRecMean,3);
   */ 
   
   TString timename,ampname, qtcname;
@@ -234,11 +234,11 @@ void AliT0QADataMaker::InitRecPoints()
       fhRecQTC[i] = new TH1F(qtcname.Data(), qtcname.Data(),100,0,200);
     Add2RecPointsList ( fhRecQTC[i],i+48);
      }
-   
+  
   TH1F *fhRecEff = new TH1F("hRecEff","Efficiency rec.points",25,-0.5,24.5);
- Add2RecPointsList ( fhRecEff,72);
 Add2RecPointsList ( fhRecEff,72);
   TH1F * fhRecMean = new TH1F("hRecMean"," reconstructed mean signal",100,500,600);
- Add2RecPointsList( fhRecMean,73);
 Add2RecPointsList( fhRecMean,73);
   
 }
 //____________________________________________________________________________
@@ -247,9 +247,9 @@ void AliT0QADataMaker::InitESDs()
   //create ESDs histograms in ESDs subdir
   TH1F *fhESDMean = new TH1F("hESDmean"," ESD mean",100,0,100);
   Add2ESDsList(fhESDMean, 0) ;
- TH1F * fhESDVertex = new TH1F("hESDvertex","EAD vertex",100,-50,50);
 TH1F * fhESDVertex = new TH1F("hESDvertex","EAD vertex",100,-50,50);
   Add2ESDsList(fhESDVertex, 1) ;
-
+  
 
 }
 //____________________________________________________________________________
@@ -285,7 +285,7 @@ void AliT0QADataMaker::MakeHits(TTree *hitTree)
            break;
          }
          Int_t pmt=startHit->Pmt();
-         GetHitsData(pmt)->Fill(startHit->Time()) ;
+         GetHitsData(pmt-1)->Fill(startHit->Time()) ;
        }
     }
   }
@@ -346,25 +346,17 @@ void AliT0QADataMaker::MakeRaws( AliRawReader* rawReader)
       for (Int_t j0=0; j0<5; j0++) allData[i0][j0]=0;
     }
   //fills QA histos for RAW
-  // sprintf(filename,"/home/t0/alice/testSep07/raw/t0%i.001.raw",fRunNumber);
-  // AliRawReader *reader = new AliRawReaderDate(filename);
-  //if(!reader) AliFatal(Form("Can not opne file ",filename));
- rawReader = new AliRawReaderFile();
- rawReader->LoadEquipmentIdsMap("T0map.txt");
- //    reader->RequireHeader(kFALSE);
- rawReader->RequireHeader(kTRUE);
- AliT0RawReader *start = new AliT0RawReader(rawReader);
- while (rawReader->NextEvent()) {
-   start->Next();
-   for (Int_t i=0; i<105; i++) 
-     for (Int_t iHit=0; iHit<5; iHit++)
-       allData[i][iHit]= start->GetData(i,iHit);
-   
+
+    AliT0RawReader *start = new AliT0RawReader(rawReader);  
+    start->Next();
+    for (Int_t i=0; i<105; i++) 
+      for (Int_t iHit=0; iHit<5; iHit++)
+       allData[i][iHit]= start->GetData(i,iHit);
+    
    
-   for (Int_t ik = 0; ik<24; ik+=2){
-     for (Int_t iHt=0; iHt<5; iHt++){
-       Int_t cc = ik/2;
+    for (Int_t ik = 0; ik<24; ik+=2){
+      for (Int_t iHt=0; iHt<5; iHt++){
+       Int_t cc = ik/2;
        if(allData[cc+1][iHt]!=0){
         GetRawsData(cc) -> Fill(allData[cc+1][iHt]-allData[0][0]);
        if(allData[ik+25][iHt]!=0 && allData[ik+26][iHt]!=0)
@@ -372,24 +364,22 @@ void AliT0QADataMaker::MakeRaws( AliRawReader* rawReader)
        if(allData[cc+13][iHt]!=0 )
          GetRawsData(cc+24)->Fill(allData[cc+13][iHt]-allData[cc+1][iHt]);
        }
-     }
-   }
+      }
+    }
     
-   for (Int_t ik = 24; ik<48; ik+=2) {
-     for (Int_t iHt=0; iHt<5; iHt++) {
-       Int_t cc = ik/2;
-       if(allData[cc+45][iHt]!=0) {
-        GetRawsData(cc)->Fill(allData[cc+1][iHt]-allData[0][0]);
-       if(allData[ik+57][iHt]!=0 && allData[ik+58][iHt]!=0)
-         GetRawsData(cc+48)->Fill(allData[ik+57][iHt]-allData[ik+58][iHt]);
-       if(allData[cc+57][iHt]!=0 )
-         GetRawsData(cc+48)->Fill(allData[cc+57][iHt]-allData[cc+45][iHt]);
+    for (Int_t ik = 24; ik<48; ik+=2) {
+      for (Int_t iHt=0; iHt<5; iHt++) {
+       Int_t cc = ik/2;
+       if(allData[cc+45][iHt]!=0) {
+         GetRawsData(cc)->Fill(allData[cc+1][iHt]-allData[0][0]);
+         if(allData[ik+57][iHt]!=0 && allData[ik+58][iHt]!=0)
+           GetRawsData(cc+48)->Fill(allData[ik+57][iHt]-allData[ik+58][iHt]);
+         if(allData[cc+57][iHt]!=0 )
+           GetRawsData(cc+48)->Fill(allData[cc+57][iHt]-allData[cc+45][iHt]);
        }
-     }
-   }
-   
- }
-
+      }
+    }
+    delete start;
 }
 
 //____________________________________________________________________________