]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliGlobalQADataMaker.cxx
just make it work
[u/mrichter/AliRoot.git] / STEER / AliGlobalQADataMaker.cxx
index a10d4e8d2b2c6e439cdd216b561664c0276d863e..da923f5cd27c15c94461f6147bf20671e4646e2e 100644 (file)
@@ -8,19 +8,36 @@
 #include <TPDGCode.h>
 #include <TH1F.h>
 
+#include "AliQAChecker.h"
 #include "AliGlobalQADataMaker.h"
 #include "AliGeomManager.h"
 #include "AliESDEvent.h"
 #include "AliESDv0.h"
+#include "AliRawReader.h"
 
 ClassImp(AliGlobalQADataMaker)
  
+//____________________________________________________________________________ 
+void AliGlobalQADataMaker::EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray ** list)
+{
+  //Detector specific actions at end of cycle
+  // do the QA checking
+  AliQAChecker::Instance()->Run(AliQA::kGLOBAL, task, list) ;  
+}
+
+//____________________________________________________________________________ 
+void AliGlobalQADataMaker::InitRaws()
+{
+  // create Raws histograms in Raws subdir
+}
+
+//____________________________________________________________________________ 
 void AliGlobalQADataMaker::InitRecPoints() {
   //------------------------------------------------------
   // This function books the histograms of *track*residuals*
   // as a part of global QA
   //------------------------------------------------------
-  Char_t *name[]={
+  const Char_t *name[]={
     "SPD1 residuals Y","SPD1 residuals Z",
     "SPD2 residuals Y","SPD2 residuals Z",
     "SDD1 residuals Y","SDD1 residuals Z",
@@ -58,21 +75,36 @@ void AliGlobalQADataMaker::InitRecPoints() {
     Add2RecPointsList(h,i+1);    
   }
 
+  Add2RecPointsList(
+  new TH1F("SSD1 absolute residuals Y for Z<0 (cm)",
+           "SSD1 absolute residuals Y for Z<0 (cm)",100,-2.,2.),40);
   Add2RecPointsList(
   new TH1F("SSD1 absolute residuals Z for Z<0 (cm)",
-           "SSD1 absolute residuals Z for Z<0 (cm)",100,-2.,2.),40);
+           "SSD1 absolute residuals Z for Z<0 (cm)",100,-2.,2.),41);
+  Add2RecPointsList(
+  new TH1F("SSD1 absolute residuals Y for Z>0 (cm)",
+           "SSD1 absolute residuals Y for Z>0 (cm)",100,-2.,2.),42);
   Add2RecPointsList(
   new TH1F("SSD1 absolute residuals Z for Z>0 (cm)",
-           "SSD1 absolute residuals Z for Z>0 (cm)",100,-2.,2.),41);
+           "SSD1 absolute residuals Z for Z>0 (cm)",100,-2.,2.),43);
+
+
+  Add2RecPointsList(
+  new TH1F("SSD2 absolute residuals Y for Z<0 (cm)",
+           "SSD2 absolute residuals Y for Z<0 (cm)",100,-3.,3.),44);
   Add2RecPointsList(
   new TH1F("SSD2 absolute residuals Z for Z<0 (cm)",
-           "SSD2 absolute residuals Z for Z<0 (cm)",100,-3.,3.),42);
+           "SSD2 absolute residuals Z for Z<0 (cm)",100,-3.,3.),45);
+  Add2RecPointsList(
+  new TH1F("SSD2 absolute residuals Y for Z>0 (cm)",
+           "SSD2 absolute residuals Y for Z>0 (cm)",100,-3.,3.),46);
   Add2RecPointsList(
   new TH1F("SSD2 absolute residuals Z for Z>0 (cm)",
-           "SSD2 absolute residuals Z for Z>0 (cm)",100,-3.,3.),43);
+           "SSD2 absolute residuals Z for Z>0 (cm)",100,-3.,3.),47);
   
 }
 
+//____________________________________________________________________________ 
 void AliGlobalQADataMaker::InitESDs() {
   //------------------------------------------------------
   // This function books the ESD QA histograms
@@ -80,7 +112,7 @@ void AliGlobalQADataMaker::InitESDs() {
   //------------------------------------------------------
 
   {// Cluster related QA
-  Char_t *name[]={
+  const Char_t *name[]={
     "Fraction of the assigned clusters in ITS",
     "Fraction of the assigned clusters in TPC",
     "Fraction of the assigned clusters in TRD"
@@ -91,7 +123,7 @@ void AliGlobalQADataMaker::InitESDs() {
   }
 
   {// Track related QA
-  Char_t *name[]={
+  const Char_t *name[]={
     "Track azimuthal distribution (rad)",                   // kTrk0
     "Track pseudo-rapidity distribution",                   // kTrk1
     "TPC: track momentum distribution (GeV)",               // kTrk2
@@ -110,7 +142,7 @@ void AliGlobalQADataMaker::InitESDs() {
   }
 
   {// V0 related QA
-  Char_t *name[]={
+  const Char_t *name[]={
     "K0s mass (GeV)",
     "Lambda0 + Lambda0Bar mass (GeV)"
   };
@@ -119,7 +151,7 @@ void AliGlobalQADataMaker::InitESDs() {
   }
 
   {// PID related QA
-  Char_t *name[]={
+  const Char_t *name[]={
     "ITS: dEdx (ADC) for particles with momentum 0.4 - 0.5 (GeV)",
     "TPC: dEdx (ADC) for particles with momentum 0.4 - 0.5 (GeV)",
     "TOF: tracking - measured (ps)"
@@ -131,6 +163,15 @@ void AliGlobalQADataMaker::InitESDs() {
 
 }
 
+//____________________________________________________________________________
+void AliGlobalQADataMaker::MakeRaws(AliRawReader* rawReader)
+{
+  //Fill prepared histograms with Raw digit properties
+  rawReader->Reset() ;
+
+}
+
+//____________________________________________________________________________ 
 void AliGlobalQADataMaker::MakeESDs(AliESDEvent * event) {
   //-----------------------------------------------------------
   // This function fills the ESD QA histograms
@@ -151,7 +192,10 @@ void AliGlobalQADataMaker::MakeESDs(AliESDEvent * event) {
     if (track->IsOn(AliESDtrack::kTPCrefit)) {
       Int_t n =track->GetTPCNcls();
       Int_t nf=track->GetTPCNclsF();      // number of crossed TPC pad rows
-      GetESDsData(kClr1)->Fill(Float_t(n)/nf);
+      if (nf>0) {
+        Double_t val = n*1.0/nf; 
+        GetESDsData(kClr1)->Fill(val); 
+      }
     }
 
     if (track->IsOn(AliESDtrack::kTRDrefit)) {