]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
The first set ESD QA histos
authorbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 25 Jan 2008 11:07:22 +0000 (11:07 +0000)
committerbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 25 Jan 2008 11:07:22 +0000 (11:07 +0000)
STEER/AliGlobalQADataMaker.cxx
STEER/AliGlobalQADataMaker.h
STEER/AliReconstruction.cxx

index 1cde9288b4596b58979fab05dd6744aafcbed9f7..949eac0edd7c94346704cb4078e932d218aba4a6 100644 (file)
@@ -9,12 +9,13 @@
 
 #include "AliGlobalQADataMaker.h"
 #include "AliGeomManager.h"
+#include "AliESDEvent.h"
 
 ClassImp(AliGlobalQADataMaker)
  
 void AliGlobalQADataMaker::InitRecPoints() {
   //------------------------------------------------------
-  // This function fills the histograms of *track*residuals*
+  // This function books the histograms of *track*residuals*
   // as a part of global QA
   //------------------------------------------------------
   Char_t *name[]={
@@ -55,3 +56,46 @@ void AliGlobalQADataMaker::InitRecPoints() {
     Add2RecPointsList(h,i+1);    
   }
 }
+
+void AliGlobalQADataMaker::InitESDs() {
+  //------------------------------------------------------
+  // This function books the ESD QA histograms
+  // as a part of global QA
+  //------------------------------------------------------
+  Char_t *name[]={
+    "Fraction of the assigned clusters in ITS",
+    "Fraction of the assigned clusters in TPC",
+    "Fraction of the assigned clusters in TRD"
+  };
+  Add2ESDsList(new TH1F(name[0],name[0],100,0.,2.),0);
+  Add2ESDsList(new TH1F(name[1],name[1],100,0.,2.),1);
+  Add2ESDsList(new TH1F(name[2],name[2],100,0.,2.),2);
+}
+
+void AliGlobalQADataMaker::MakeESDs(AliESDEvent * esd) {
+  //-----------------------------------------------------------
+  // This function fills the ESD QA histograms
+  // as a part of global QA
+  //-----------------------------------------------------------
+  Int_t ntrk=esd->GetNumberOfTracks() ; 
+  for (Int_t i=0; i<ntrk; i++) {
+    AliESDtrack *track=esd->GetTrack(i);
+
+    if (track->IsOn(AliESDtrack::kITSrefit)) {
+      Int_t n=track->GetITSclusters(0);
+      GetESDsData(0)->Fill(Float_t(n)/6.); //6 is the number of ITS layers
+    }
+
+    if (track->IsOn(AliESDtrack::kTPCrefit)) {
+      Int_t n =track->GetTPCNcls();
+      Int_t nf=track->GetTPCNclsF();      // number of crossed TPC pad rows
+      GetESDsData(1)->Fill(Float_t(n)/nf);
+    }
+
+    if (track->IsOn(AliESDtrack::kTRDrefit)) {
+      Int_t n=track->GetTRDclusters(0);
+      GetESDsData(2)->Fill(Float_t(n)/120.);//120 is the number of TRD time bins
+    }
+
+  }
+}
index aa7e4d50c24cfd224194f5bf40932e4acf7beca5..e59732ed188b3fface69483f62061f077d494eba 100644 (file)
@@ -21,6 +21,9 @@ public:
     AliQADataMakerRec(qadm) {;}
 
   void InitRecPoints();
+  void InitESDs();
+
+  void MakeESDs(AliESDEvent *event);
 
   void StartOfDetectorCycle() {;}
 
index 109f7060652aa694ca75dcd5b5981c3d3f6fbaa7..0cc8a74c04445ecb9b90ff1ad8870672d4ed6e67 100644 (file)
@@ -779,8 +779,10 @@ Bool_t AliReconstruction::Run(const char* input, Bool_t IsOnline)
         TObjArray *arr=
           qadm->Init(AliQA::kRECPOINTS, AliCDBManager::Instance()->GetRun());
        AliTracker::SetResidualsArray(arr);
+        qadm->Init(AliQA::kESDS, AliCDBManager::Instance()->GetRun());
         if (!fInLoopQA) {
            qadm->StartOfCycle(AliQA::kRECPOINTS);
+           qadm->StartOfCycle(AliQA::kESDS);
         }
      }
   }
@@ -823,6 +825,7 @@ Bool_t AliReconstruction::Run(const char* input, Bool_t IsOnline)
        if (fRunGlobalQA) {
           AliQADataMakerRec *qadm = GetQADataMaker(fgkNDetectors);
           qadm->StartOfCycle(AliQA::kRECPOINTS);
+          qadm->StartOfCycle(AliQA::kESDS);
        }
     }
 
@@ -997,6 +1000,7 @@ Bool_t AliReconstruction::Run(const char* input, Bool_t IsOnline)
            AliQADataMakerRec *qadm = GetQADataMaker(fgkNDetectors);
            if (qadm) {
              qadm->EndOfCycle(AliQA::kRECPOINTS);
+             qadm->EndOfCycle(AliQA::kESDS);
              qadm->Finish();
           }
         }
@@ -1089,6 +1093,7 @@ Bool_t AliReconstruction::Run(const char* input, Bool_t IsOnline)
         AliQADataMakerRec *qadm = GetQADataMaker(fgkNDetectors);
         if (qadm) {
           qadm->EndOfCycle(AliQA::kRECPOINTS);
+          qadm->EndOfCycle(AliQA::kESDS);
           qadm->Finish();
        }
      }