// --- ROOT system ---
#include <TH2.h>
-#include <TTree.h>
// --- Standard library ---
// --- AliRoot header files ---
#include "AliITSQASPDDataMakerRec.h"
#include "AliITSQASDDDataMakerRec.h"
#include "AliITSQASSDDataMakerRec.h"
-#include "AliLog.h"
#include "AliQAv1.h"
#include "AliQAChecker.h"
#include "AliITSQAChecker.h"
#include "AliRawReader.h"
#include "AliESDEvent.h"
#include "AliESDtrack.h"
-#include "AliESDVertex.h"
#include "AliMultiplicity.h"
#include "AliITSgeomTGeo.h"
+//class TH2;
+//class TH2F;
+class AliESDVertex;
+class AliLog;
+class TTree;
+
ClassImp(AliITSQADataMakerRec)
//____________________________________________________________________________
fLDC(ldc),
fRunNumber(0),
fEventNumber(0),
+fSelectedTaskIndex(AliQAv1::kNULLTASKINDEX),
fSPDDataMaker(NULL),
fSDDDataMaker(NULL),
fSSDDataMaker(NULL)
fLDC(qadm.fLDC),
fRunNumber(qadm.fRunNumber),
fEventNumber(qadm.fEventNumber),
+fSelectedTaskIndex(qadm.fSelectedTaskIndex),
fSPDDataMaker(NULL),
fSDDDataMaker(NULL),
fSSDDataMaker(NULL)
if(fSubDetector == 0 || fSubDetector == 3) fSSDDataMaker->StartOfDetectorCycle();
}
+//____________________________________________________________________________
+void AliITSQADataMakerRec::StartOfCycle(AliQAv1::TASKINDEX_t task, Int_t run, const Bool_t sameCycle)
+{
+ // Start a cycle of QA data acquistion
+ fSelectedTaskIndex=task;
+ AliQADataMakerRec::StartOfCycle(task,run,sameCycle);
+}
+
//____________________________________________________________________________
void AliITSQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray** list)
{
if(AliQAv1::Instance()->IsEventSpecieSet(specie)){
Int_t idnumber=list[specie]->GetUniqueID();
//printf("specie %s \t id number == %d\n",AliRecoParam::GetEventSpecieName(specie),idnumber);
- if(idnumber==40||idnumber==0)
- {
+ if(idnumber==40||idnumber==0){
//AliInfo(Form("No check for %s\n",AliQAv1::GetTaskName(task).Data() ))
- continue;
- } //skip kDigitsR and not filled TobjArray specie
+ continue;
+ } //skip kDigitsR and not filled TobjArray specie
else{
AliDebug(AliQAv1::GetQADebugLevel(),"AliITSDM instantiates checker with Run(AliQAv1::kITS, task, list[specie])\n");
if(fSubDetector == 0 || fSubDetector == 1) fSPDDataMaker->EndOfDetectorCycle(task, list[/*GetEventSpecie()*/specie]);
}
//____________________________________________________________________________
-void AliITSQADataMakerRec::EndOfDetectorCycle(const char * /*fgDataName*/)
-{
+//void AliITSQADataMakerRec::EndOfDetectorCycle(const char * /*fgDataName*/)
+//{
//eventually used for different AliQAChecker::Instance()->Run
-}
+//}
//____________________________________________________________________________
-void AliITSQADataMakerRec::InitRaws()
-{
+void AliITSQADataMakerRec::InitRaws() {
+ // Initialization of RAW data histograms
//if(fRawsQAList[AliRecoParam::AConvert(fEventSpecie)]->GetEntries()) return;
Int_t offset = fRecPointsQAList [AliRecoParam::AConvert(fEventSpecie)]->GetEntries();
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
- Char_t name[50];
- Char_t title[50];
- TH2F**hPhiEta = new TH2F*[6];
+ TH2F* hPhiEta[6];
for (Int_t iLay=0;iLay<6;iLay++) {
- sprintf(name,"Phi_vs_Eta_ITS_Layer%d",iLay+1);
- sprintf(title,"Phi vs Eta - ITS Layer %d",iLay+1);
- hPhiEta[iLay]=new TH2F(name,title,30,-1.5,1.5,200,0.,2*TMath::Pi());
+ hPhiEta[iLay]=new TH2F(Form("Phi_vs_Eta_ITS_Layer%d",iLay+1),Form("Phi_vs_Eta_ITS_Layer%d",iLay+1),30,-1.5,1.5,200,0.,2*TMath::Pi());
hPhiEta[iLay]->GetXaxis()->SetTitle("Pseudorapidity");
hPhiEta[iLay]->GetYaxis()->SetTitle("#varphi [rad]");
Add2RecPointsList(hPhiEta[iLay], iLay + offset, !expert, image);
//_________________________________________________________________
Int_t AliITSQADataMakerRec::GetDetTaskOffset(Int_t subdet,AliQAv1::TASKINDEX_t task, Int_t specie)
{
-
+ //number of booked histos for the QAchecking Raws offset
Int_t offset=0;
switch(subdet)
{
//_________________________________________________________________
Int_t AliITSQADataMakerRec::GetDetTaskHisto(Int_t subdet,AliQAv1::TASKINDEX_t task)
{
-
+ //return the number of histo booked for each the Raws Task
Int_t histo=0;
switch(subdet)
//return offset;
return histo;
}
+
+
+//____________________________________________________________________
+
+void AliITSQADataMakerRec::ResetDetector(AliQAv1::TASKINDEX_t task)
+{
+ //reset the detector histograms for a given task
+ AliQADataMakerRec::ResetDetector(task);
+
+ if(fSubDetector==0||fSubDetector==1)fSPDDataMaker->ResetDetector(task);
+
+ if(fSubDetector==0||fSubDetector==2)fSDDDataMaker->ResetDetector(task);
+
+ if(fSubDetector==0||fSubDetector==3)fSSDDataMaker->ResetDetector(task);
+
+}
+
+
+//____________________________________________________________________
+
+AliITSDDLModuleMapSDD *AliITSQADataMakerRec::GetDDLSDDModuleMap()
+{
+ //return the SDD module map
+ if(fSubDetector==2){return fSDDDataMaker->GetDDLSDDModuleMap();}
+ else {return NULL;}
+}
+
+//____________________________________________________________________
+
+Bool_t AliITSQADataMakerRec::ListExists(AliQAv1::TASKINDEX_t task) const
+{
+ //Check the existence of a list for a given task
+ Bool_t havethelist=kFALSE;
+ if( ( task == AliQAv1::kRAWS && fRawsQAList ) ||
+ ( task == AliQAv1::kRECPOINTS && fRecPointsQAList ) ||
+ ( task == AliQAv1::kDIGITSR && fDigitsQAList ) ||
+ ( task == AliQAv1::kESDS && fESDsQAList ) ) havethelist=kTRUE;
+ return havethelist;
+
+}