#include "AliITSQASDDDataMakerRec.h"
#include "AliITSQASSDDataMakerRec.h"
#include "AliLog.h"
-#include "AliQA.h"
+#include "AliQAv1.h"
#include "AliQAChecker.h"
#include "AliITSQAChecker.h"
#include "AliRawReader.h"
//____________________________________________________________________________
AliITSQADataMakerRec::AliITSQADataMakerRec(Bool_t kMode, Short_t subDet, Short_t ldc) :
-AliQADataMakerRec(AliQA::GetDetName(AliQA::kITS), "ITS Quality Assurance Data Maker"),
+AliQADataMakerRec(AliQAv1::GetDetName(AliQAv1::kITS), "ITS Quality Assurance Data Maker"),
fkOnline(kMode),
fHLTMode(0),
fSubDetector(subDet),
}
//____________________________________________________________________________
-void AliITSQADataMakerRec::EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray* list)
+void AliITSQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray** list)
{
// launch the QA checking
- AliDebug(1,"AliITSDM instantiates checker with Run(AliQA::kITS, task, list)\n");
- if(fSubDetector == 0 || fSubDetector == 1) fSPDDataMaker->EndOfDetectorCycle(task, list);
- if(fSubDetector == 0 || fSubDetector == 2) fSDDDataMaker->EndOfDetectorCycle(task, list);
- if(fSubDetector == 0 || fSubDetector == 3) fSSDDataMaker->EndOfDetectorCycle(task, list);
+
+ for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
+ SetEventSpecie(specie) ;
+ AliDebug(1,"AliITSDM instantiates checker with Run(AliQAv1::kITS, task, list[specie])\n");
+ if(fSubDetector == 0 || fSubDetector == 1) fSPDDataMaker->EndOfDetectorCycle(task, list[specie]);
+ if(fSubDetector == 0 || fSubDetector == 2) fSDDDataMaker->EndOfDetectorCycle(task, list[specie]);
+ if(fSubDetector == 0 || fSubDetector == 3) fSSDDataMaker->EndOfDetectorCycle(task, list[specie]);
+
- AliQAChecker *qac = AliQAChecker::Instance();
- AliITSQAChecker *qacb = (AliITSQAChecker *) qac->GetDetQAChecker(0);
- if(fSubDetector == 0 ){
- qacb->SetTaskOffset(fSPDDataMaker->GetOffset(), fSDDDataMaker->GetOffset(), fSSDDataMaker->GetOffset()); //Setting the offset for the QAChecker list
+ AliQAChecker *qac = AliQAChecker::Instance();
+ AliITSQAChecker *qacb = (AliITSQAChecker *) qac->GetDetQAChecker(0);
+ Int_t subdet=GetSubDet();
+ qacb->SetSubDet(subdet);
+
+ if(subdet== 0 ){
+ qacb->SetTaskOffset(fSPDDataMaker->GetOffset(task), fSDDDataMaker->GetOffset(task), fSSDDataMaker->GetOffset(task)); //Setting the offset for the QAChecker list
+ }
+ else
+ if(subdet!=0){
+ Int_t offset=GetDetTaskOffset(subdet, task);
+ qacb->SetDetTaskOffset(subdet,offset);
+ }
+
+ qac->Run( AliQAv1::kITS , task, list);
+
}
- qac->Run( AliQA::kITS , task, list); //temporary skipping the checking
}
//____________________________________________________________________________
Int_t nclsITS = track->GetNcls(0);
- Bool_t itsrefit=kFALSE,tpcin=kFALSE;
+ Bool_t itsrefit=kFALSE,tpcin=kFALSE,itsin=kFALSE;
if ((track->GetStatus() & AliESDtrack::kITSrefit)) itsrefit=kTRUE;
if ((track->GetStatus() & AliESDtrack::kTPCin)) tpcin=kTRUE;
+ if ((track->GetStatus() & AliESDtrack::kITSin)) itsin=kTRUE;
if(nclsITS>=5 && itsrefit) nITSrefit5++;
if(tpcin) {
GetESDsData(0)->Fill(nclsITS);
- } else {
+ }
+ if(itsin && !tpcin){
GetESDsData(2)->Fill(nclsITS);
}
return;
}
+
+//_________________________________________________________________
+Int_t AliITSQADataMakerRec::GetDetTaskOffset(Int_t subdet,AliQAv1::TASKINDEX_t task)
+{
+ switch(subdet)
+ {
+
+ Int_t offset;
+ case 1:
+ offset=fSPDDataMaker->GetOffset(task);
+ return offset;
+ break;
+ case 2:
+ offset=fSDDDataMaker->GetOffset(task);
+ return offset;
+ break;
+ case 3:
+ offset=fSSDDataMaker->GetOffset(task);
+ return offset;
+ break;
+ default:
+ AliWarning("No specific subdetector (SPD, SDD, SSD) selected!! Offset set to zero \n");
+ offset=0;
+ return offset;
+ break;
+ }
+ //return offset;
+}