Added histogramming of SDigits data
authorhdalsgaa <hdalsgaa@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 16 Jun 2008 10:12:28 +0000 (10:12 +0000)
committerhdalsgaa <hdalsgaa@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 16 Jun 2008 10:12:28 +0000 (10:12 +0000)
FMD/AliFMDQADataMakerSim.cxx
FMD/AliFMDQADataMakerSim.h

index fb46239..928f65d 100644 (file)
@@ -27,6 +27,7 @@
 #include "AliFMDHit.h"
 #include "AliQAChecker.h"
 #include "AliFMDParameters.h"
+#include "AliFMDSDigit.h"
 
 //_____________________________________________________________________
 // This is the class that collects the QA data for the FMD during simulation.
@@ -47,6 +48,7 @@ ClassImp(AliFMDQADataMakerSim)
 AliFMDQADataMakerSim::AliFMDQADataMakerSim() 
   :  AliQADataMakerSim(AliQA::GetDetName(AliQA::kFMD),
                       "FMD Quality Assurance Data Maker"),
+     fSDigitsArray("AliFMDSDigit", 1000),
      fDigitsArray("AliFMDDigit", 1000),
      fHitsArray("AliFMDHit", 10)
 {
@@ -57,6 +59,7 @@ AliFMDQADataMakerSim::AliFMDQADataMakerSim()
 //_____________________________________________________________________
 AliFMDQADataMakerSim::AliFMDQADataMakerSim(const AliFMDQADataMakerSim& qadm) 
   : AliQADataMakerSim(),
+    fSDigitsArray(qadm.fSDigitsArray),
     fDigitsArray(qadm.fDigitsArray),
     fHitsArray(qadm.fHitsArray)
 {
@@ -69,6 +72,7 @@ AliFMDQADataMakerSim::AliFMDQADataMakerSim(const AliFMDQADataMakerSim& qadm)
 //_____________________________________________________________________
 AliFMDQADataMakerSim& AliFMDQADataMakerSim::operator = (const AliFMDQADataMakerSim& qadm ) 
 {
+  fSDigitsArray = qadm.fSDigitsArray;
   fDigitsArray = qadm.fDigitsArray;
   fHitsArray = qadm.fHitsArray;
   
@@ -93,6 +97,14 @@ void AliFMDQADataMakerSim::EndOfDetectorCycle(AliQA::TASKINDEX_t task,
   AliQAChecker::Instance()->Run(AliQA::kFMD, task, list) ;  
   
 }
+//_____________________________________________________________________
+void AliFMDQADataMakerSim::InitSDigits()
+{
+  // create SDigits histograms in SDigits subdir
+  TH1I* hADCCounts = new TH1I("hADCCounts","Dist of ADC counts",1024,0,1024);
+  hADCCounts->SetXTitle("ADC counts");
+  Add2SDigitsList(hADCCounts, 0);
+}
 
 //____________________________________________________________________ 
 void AliFMDQADataMakerSim::InitHits()
@@ -175,6 +187,35 @@ void AliFMDQADataMakerSim::MakeDigits(TTree * digitTree)
   MakeDigits(digitAddress) ; 
 }
 
+//_____________________________________________________________________
+void AliFMDQADataMakerSim::MakeSDigits(TClonesArray * sdigits)
+{
+  // makes data from Digits
+  if(!sdigits) return;
+  
+  for(Int_t i = 0 ; i < sdigits->GetEntriesFast() ; i++) {
+    //Raw ADC counts
+    AliFMDSDigit* sdigit = static_cast<AliFMDSDigit*>(sdigits->At(i));
+    GetSDigitsData(0)->Fill(sdigit->Counts());
+  }
+}
+
+//_____________________________________________________________________
+void AliFMDQADataMakerSim::MakeSDigits(TTree * sdigitTree)
+{
+  
+  fSDigitsArray.Clear();
+  TBranch * branch = sdigitTree->GetBranch("FMD") ;
+  if (!branch)    {
+    AliWarning("FMD branch in SDigit Tree not found") ; 
+    return;
+  } 
+  TClonesArray* sdigitAddress = &fSDigitsArray;
+  branch->SetAddress(&sdigitAddress) ;
+  branch->GetEntry(0) ; 
+  MakeSDigits(sdigitAddress) ; 
+}
+
 //_____________________________________________________________________ 
 void AliFMDQADataMakerSim::StartOfDetectorCycle()
 {
index 061d98a..5cc65d2 100644 (file)
@@ -33,16 +33,16 @@ class AliFMDQADataMakerSim: public AliQADataMakerSim {
   virtual void   InitHits(); 
   virtual void   InitDigits(); 
   // virtual void   InitRaws() ; 
-  // virtual void   InitSDigits() ; 
+  virtual void   InitSDigits() ; 
   virtual void   MakeHits(TClonesArray* hits) ;
   virtual void   MakeHits(TTree* hitTree) ;
   virtual void   MakeDigits(TClonesArray* digits) ; 
   virtual void   MakeDigits(TTree* digitTree) ; 
   // virtual void   MakeRaws(AliRawReader* rawReader) ; 
-  // virtual void   MakeSDigits(TClonesArray * sigits) ; 
-  // virtual void   MakeSDigits(TTree * sigitTree) ; 
+  virtual void   MakeSDigits(TClonesArray * sigits) ; 
+  virtual void   MakeSDigits(TTree * sigitTree) ; 
   virtual void   StartOfDetectorCycle() ; 
-  
+  TClonesArray fSDigitsArray;
   TClonesArray fDigitsArray;
   TClonesArray fHitsArray;