-void AliQADataMaker::Exec(AliQA::TASKINDEX task, TObject * data)
-{
- // creates the quality assurance data for the various tasks (Hits, SDigits, Digits, ESDs)
-
- switch (task) {
-
- case AliQA::kRAWS:
- {
- AliDebug(1, "Processing Raws QA") ;
- AliRawReader * rawReader = dynamic_cast<AliRawReader *>(data) ;
- if (rawReader)
- MakeRaws(rawReader) ;
- else
- AliError("Wrong data type") ;
- break ;
- }
- case AliQA::kHITS:
- {
- AliDebug(1, "Processing Hits QA") ;
- TClonesArray * arr = dynamic_cast<TClonesArray *>(data) ;
- if (arr) {
- MakeHits(arr) ;
- } else {
- TTree * tree = dynamic_cast<TTree *>(data) ;
- if (tree) {
- MakeHits(tree) ;
- } else {
- AliWarning("data are neither a TClonesArray nor a TTree") ;
- }
- }
- break ;
- }
- case AliQA::kSDIGITS:
- {
- AliDebug(1, "Processing SDigits QA") ;
- TClonesArray * arr = dynamic_cast<TClonesArray *>(data) ;
- if (arr) {
- MakeSDigits(arr) ;
- } else {
- TTree * tree = dynamic_cast<TTree *>(data) ;
- if (tree) {
- MakeSDigits(tree) ;
- } else {
- AliWarning("data are neither a TClonesArray nor a TTree") ;
- }
- }
- break ;
- }
- case AliQA::kDIGITS:
- {
- AliDebug(1, "Processing Digits QA") ;
- TClonesArray * arr = dynamic_cast<TClonesArray *>(data) ;
- if (arr) {
- MakeDigits(arr) ;
- } else {
- TTree * tree = dynamic_cast<TTree *>(data) ;
- if (tree) {
- MakeDigits(tree) ;
- } else {
- AliWarning("data are neither a TClonesArray nor a TTree") ;
- }
- }
- break ;
- }
- case AliQA::kRECPOINTS:
- {
- AliDebug(1, "Processing RecPoints QA") ;
- TTree * tree = dynamic_cast<TTree *>(data) ;
- if (tree) {
- MakeRecPoints(tree) ;
- } else {
- AliWarning("data are not a TTree") ;
- }
- break ;
- }
- case AliQA::kTRACKSEGMENTS:
- AliInfo("Processing Track Segments QA: not existing anymore") ;
- // MakeTrackSegments(ts) ;
- break ;
-
- case AliQA::kRECPARTICLES:
- AliInfo("Processing RecParticles QA: not existing anymore") ;
- // MakeRecParticles(recpar) ;
- break ;
- case AliQA::kESDS:
- {
- AliDebug(1, "Processing ESDs QA") ;
- AliESDEvent * esd = dynamic_cast<AliESDEvent *>(data) ;
- if (esd)
- MakeESDs(esd) ;
- else
- AliError("Wrong type of esd container") ;
- break ;
- }
- }
+void AliQADataMaker::DefaultEndOfDetectorCycle(AliQA::TASKINDEX_t task)
+{
+ // this method must be oveloaded by detectors
+ // sets the QA result to Fatal
+ AliQA::Instance(AliQA::GetDetIndex(GetName())) ;
+ AliQA * qa = AliQA::Instance(task) ;
+ qa->Set(AliQA::kFATAL) ;
+ AliQA::GetQAResultFile()->cd() ;
+ qa->Write(AliQA::GetQAName(), kWriteDelete) ;
+ AliQA::GetQAResultFile()->Close() ;