X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSQADataMakerSim.cxx;h=a56d3bc29a697239072549118f661321c51f4ef5;hb=ff0e38e3208581fa5207c4e75ee2ecd7b6f0fddd;hp=19b38533d530d62c60b23ba0e35eda9a413e39b2;hpb=6252ceeb59406d4f518422dfad532f414e0a23c4;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSQADataMakerSim.cxx b/ITS/AliITSQADataMakerSim.cxx index 19b38533d53..a56d3bc29a6 100644 --- a/ITS/AliITSQADataMakerSim.cxx +++ b/ITS/AliITSQADataMakerSim.cxx @@ -54,7 +54,7 @@ fSSDDataMaker(NULL) AliError("Error: fSubDetector number out of range; return\n"); } - // Initialization for RAW data + // Initialization for each subdetector if(fSubDetector == 0 || fSubDetector == 1) { AliDebug(AliQAv1::GetQADebugLevel(),"AliITSQADM::Create SPD DataMakerSim\n"); fSPDDataMaker = new AliITSQASPDDataMakerSim(this); @@ -105,7 +105,9 @@ void AliITSQADataMakerSim::StartOfDetectorCycle() { //Detector specific actions at start of cycle AliDebug(AliQAv1::GetQADebugLevel(),"AliITSQADM::Start of ITS Cycle\n"); - + ResetEventTrigClasses(); // reset triggers list to select all histos + ResetEvCountCycle(); + // if(fSubDetector == 0 || fSubDetector == 1) fSPDDataMaker->StartOfDetectorCycle(); if(fSubDetector == 0 || fSubDetector == 2) fSDDDataMaker->StartOfDetectorCycle(); if(fSubDetector == 0 || fSubDetector == 3) fSSDDataMaker->StartOfDetectorCycle(); @@ -114,206 +116,211 @@ void AliITSQADataMakerSim::StartOfDetectorCycle() //____________________________________________________________________________ void AliITSQADataMakerSim::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray** list) { + // + AliInfo(Form("End of Dedetctor Cycle called for %s\n",AliQAv1::GetTaskName(task).Data() )); + ResetEventTrigClasses(); // reset triggers list to select all histos + // // launch the QA checking for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) { - if (! IsValidEventSpecie(specie, list) ) - continue ; - AliDebug(AliQAv1::GetQADebugLevel(),"AliITSDM instantiates checker with Run(AliQAv1::kITS, task, list)\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); - 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); + if (! IsValidEventSpecie(specie, list) ) continue; + SetEventSpecie(AliRecoParam::ConvertIndex(specie)); + // + Int_t idnumber=list[specie]->GetUniqueID(); + //printf("specie %s \t id number == %d\n",AliRecoParam::GetEventSpecieName(specie),idnumber); + if(idnumber==0) { + //AliInfo(Form("No check for %s\n",AliQAv1::GetTaskName(task).Data() )) + continue; + } //skip kDigitsR and not filled TobjArray specie + else{ + AliDebug(AliQAv1::GetQADebugLevel(),"AliITSDM instantiates checker with Run(AliQAv1::kITS, task, list)\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); + Int_t subdet=GetSubDet(); + qacb->SetSubDet(subdet); + + if(subdet== 0 ){ + qacb->SetTaskOffset(fSPDDataMaker->GetOffset(task,specie),fSDDDataMaker->GetOffset(task,specie),fSSDDataMaker->GetOffset(task,specie)); //Setting the offset for the QAChecker list + qacb->SetHisto(fSPDDataMaker->GetTaskHisto(task), fSDDDataMaker->GetTaskHisto(task), fSSDDataMaker->GetTaskHisto(task)); } - qac->Run( AliQAv1::kITS , task, list); - } + else + if(subdet!=0){ + Int_t offset=GetDetTaskOffset(subdet, task); + qacb->SetDetTaskOffset(subdet,offset); + Int_t histo=GetDetTaskHisto(subdet, task); + qacb->SetDetHisto(subdet,histo); + } + qac->Run( AliQAv1::kITS , task, list); + }//end else unique id + }//end for } //____________________________________________________________________________ void AliITSQADataMakerSim::InitDigits() { - // Initialization for RAW data - if(fSubDetector == 0 || fSubDetector == 1) { - AliDebug(AliQAv1::GetQADebugLevel(),"AliITSQADM:: SPD InitDigits\n"); - fSPDDataMaker->InitDigits(); - } - if(fSubDetector == 0 || fSubDetector == 2) { - AliDebug(AliQAv1::GetQADebugLevel(),"AliITSQADM:: SDD InitDigits\n"); - fSDDDataMaker->InitDigits(); - } - if(fSubDetector == 0 || fSubDetector == 3) { - AliDebug(AliQAv1::GetQADebugLevel(),"AliITSQADM:: SSD InitDigits\n"); - fSSDDataMaker->InitDigits(); - } -} -//____________________________________________________________________________ -void AliITSQADataMakerSim::MakeDigits() -{ - // Fill QA for digits + // Initialization for Digits data + fDigitsQAList[AliRecoParam::AConvert(fEventSpecie)]->SetUniqueID(60); if(fSubDetector == 0 || fSubDetector == 1) { - Int_t rv = fSPDDataMaker->MakeDigits() ; - if ( rv != 0 ) - fSDDDataMaker->SetOffset(AliQAv1::kDIGITS, fDigitsQAList [AliRecoParam::AConvert(fEventSpecie)]->GetEntries()); + AliDebug(AliQAv1::GetQADebugLevel(),"AliITSQADM:: SPD InitDigits\n"); + + fSPDDataMaker->InitDigits(); } - if(fSubDetector == 0 || fSubDetector == 2) { - Int_t rv = fSDDDataMaker->MakeDigits() ; - if ( rv != 0 ) - fSSDDataMaker->SetOffset(AliQAv1::kDIGITS, fDigitsQAList [AliRecoParam::AConvert(fEventSpecie)]->GetEntries()); + AliDebug(AliQAv1::GetQADebugLevel(),"AliITSQADM:: SDD InitDigits\n"); + + fSDDDataMaker->SetOffset(AliQAv1::kDIGITS, fDigitsQAList[AliRecoParam::AConvert(fEventSpecie)]->GetEntries(),AliRecoParam::AConvert(fEventSpecie)); + fSDDDataMaker->InitDigits(); } + if(fSubDetector == 0 || fSubDetector == 3) { + AliDebug(AliQAv1::GetQADebugLevel(),"AliITSQADM:: SSD InitDigits\n"); + + fSSDDataMaker->SetOffset(AliQAv1::kDIGITS, fDigitsQAList[AliRecoParam::AConvert(fEventSpecie)]->GetEntries(),AliRecoParam::AConvert(fEventSpecie)); + fSSDDataMaker->InitDigits(); + } + // + ClonePerTrigClass(AliQAv1::kDIGITS); // this should be the last line +} +//____________________________________________________________________________ +void AliITSQADataMakerSim::MakeDigits() +{ + // Fill QA for digits + if(fSubDetector == 0 || fSubDetector == 1) fSPDDataMaker->MakeDigits(); + if(fSubDetector == 0 || fSubDetector == 2) fSDDDataMaker->MakeDigits(); if(fSubDetector == 0 || fSubDetector == 3) fSSDDataMaker->MakeDigits(); + // + IncEvCountCycleDigits(); + IncEvCountTotalDigits(); + // } //____________________________________________________________________________ void AliITSQADataMakerSim::MakeDigits(TTree * digits) { // Fill QA for digits - if(fSubDetector == 0 || fSubDetector == 1) { - Int_t rv = fSPDDataMaker->MakeDigits(digits) ; - if ( rv != 0 ) - fSDDDataMaker->SetOffset(AliQAv1::kDIGITS, fDigitsQAList [AliRecoParam::AConvert(fEventSpecie)]->GetEntries()); - } - - if(fSubDetector == 0 || fSubDetector == 2){ - Int_t rv = fSDDDataMaker->MakeDigits(digits) ; - if ( rv != 0 ) - fSSDDataMaker->SetOffset(AliQAv1::kDIGITS, fDigitsQAList [AliRecoParam::AConvert(fEventSpecie)]->GetEntries()); - } - + if(fSubDetector == 0 || fSubDetector == 1) fSPDDataMaker->MakeDigits(digits); + if(fSubDetector == 0 || fSubDetector == 2) fSDDDataMaker->MakeDigits(digits); if(fSubDetector == 0 || fSubDetector == 3) fSSDDataMaker->MakeDigits(digits); + // + IncEvCountCycleDigits(); + IncEvCountTotalDigits(); + // } //____________________________________________________________________________ void AliITSQADataMakerSim::InitSDigits() { - // Initialization for RECPOINTS + // Initialization for SDigits + fSDigitsQAList[AliRecoParam::AConvert(fEventSpecie)]->SetUniqueID(70); if(fSubDetector == 0 || fSubDetector == 1) { AliDebug(AliQAv1::GetQADebugLevel(),"AliITSQADM:: SPD InitSDigits\n"); + fSPDDataMaker->InitSDigits(); } - if(fSubDetector == 0 || fSubDetector == 2) { + if(fSubDetector == 0 || fSubDetector == 2){ AliDebug(AliQAv1::GetQADebugLevel(),"AliITSQADM:: SDD InitSDigits\n"); - fSDDDataMaker->InitSDigits(); + + fSDDDataMaker->SetOffset(AliQAv1::kSDIGITS, fSDigitsQAList [AliRecoParam::AConvert(fEventSpecie)]->GetEntries(),AliRecoParam::AConvert(fEventSpecie)); + fSDDDataMaker->InitSDigits(); } if(fSubDetector == 0 || fSubDetector == 3) { AliDebug(AliQAv1::GetQADebugLevel(),"AliITSQADM:: SSD InitSDigits\n"); - fSSDDataMaker->InitSDigits(); + + fSSDDataMaker->SetOffset(AliQAv1::kSDIGITS, fSDigitsQAList [AliRecoParam::AConvert(fEventSpecie)]->GetEntries(),AliRecoParam::AConvert(fEventSpecie)); + fSSDDataMaker->InitSDigits(); } + // + ClonePerTrigClass(AliQAv1::kSDIGITS); // this should be the last line } //____________________________________________________________________________ void AliITSQADataMakerSim::MakeSDigits() { - // Fill QA for recpoints - if(fSubDetector == 0 || fSubDetector == 1){ - Int_t rv = fSPDDataMaker->MakeSDigits() ; - if ( rv != 0 ) - fSDDDataMaker->SetOffset(AliQAv1::kSDIGITS, fSDigitsQAList [AliRecoParam::AConvert(fEventSpecie)]->GetEntries()); - } - - if(fSubDetector == 0 || fSubDetector == 2) { - Int_t rv = fSDDDataMaker->MakeSDigits() ; - if ( rv != 0 ) - fSSDDataMaker->SetOffset(AliQAv1::kSDIGITS, fSDigitsQAList [AliRecoParam::AConvert(fEventSpecie)]->GetEntries()); - } - + // Fill QA for sdigits + if(fSubDetector == 0 || fSubDetector == 1) fSPDDataMaker->MakeSDigits(); + if(fSubDetector == 0 || fSubDetector == 2) fSDDDataMaker->MakeSDigits(); if(fSubDetector == 0 || fSubDetector == 3) fSSDDataMaker->MakeSDigits(); + // + IncEvCountCycleSDigits(); + IncEvCountTotalSDigits(); + // } //____________________________________________________________________________ void AliITSQADataMakerSim::MakeSDigits(TTree * sdigits) { // Fill QA for recpoints - if(fSubDetector == 0 || fSubDetector == 1){ - Int_t rv = fSPDDataMaker->MakeSDigits(sdigits) ; - if ( rv != 0 ) - fSDDDataMaker->SetOffset(AliQAv1::kSDIGITS, fSDigitsQAList [AliRecoParam::AConvert(fEventSpecie)]->GetEntries()); - } - - if(fSubDetector == 0 || fSubDetector == 2){ - Int_t rv = fSDDDataMaker->MakeSDigits(sdigits) ; - if ( rv != 0 ) - fSSDDataMaker->SetOffset(AliQAv1::kSDIGITS, fSDigitsQAList [AliRecoParam::AConvert(fEventSpecie)]->GetEntries()); - } - + if(fSubDetector == 0 || fSubDetector == 1) fSPDDataMaker->MakeSDigits(sdigits); + if(fSubDetector == 0 || fSubDetector == 2) fSDDDataMaker->MakeSDigits(sdigits); if(fSubDetector == 0 || fSubDetector == 3) fSSDDataMaker->MakeSDigits(sdigits); + // + IncEvCountCycleSDigits(); + IncEvCountTotalSDigits(); + // } //____________________________________________________________________________ void AliITSQADataMakerSim::InitHits() { // Initialization for hits + fHitsQAList[AliRecoParam::AConvert(fEventSpecie)]->SetUniqueID(50); if(fSubDetector == 0 || fSubDetector == 1) { AliDebug(AliQAv1::GetQADebugLevel(),"AliITSQADM:: SPD InitHits\n"); fSPDDataMaker->InitHits(); } if(fSubDetector == 0 || fSubDetector == 2) { AliDebug(AliQAv1::GetQADebugLevel(),"AliITSQADM:: SDD InitHits\n"); - fSDDDataMaker->InitHits(); + + fSDDDataMaker->SetOffset(AliQAv1::kHITS, fHitsQAList[AliRecoParam::AConvert(fEventSpecie)]->GetEntries(),AliRecoParam::AConvert(fEventSpecie)); + fSDDDataMaker->InitHits(); } if(fSubDetector == 0 || fSubDetector == 3) { AliDebug(AliQAv1::GetQADebugLevel(),"AliITSQADM:: SSD InitHits\n"); - fSSDDataMaker->InitHits(); + + fSSDDataMaker->SetOffset(AliQAv1::kHITS, fHitsQAList[AliRecoParam::AConvert(fEventSpecie)]->GetEntries(),AliRecoParam::AConvert(fEventSpecie)); + fSSDDataMaker->InitHits(); } + // + ClonePerTrigClass(AliQAv1::kHITS); // this should be the last line } //____________________________________________________________________________ void AliITSQADataMakerSim::MakeHits() { // Fill QA for hits - if(fSubDetector == 0 || fSubDetector == 1) { - Int_t rv = fSPDDataMaker->MakeHits() ; - if ( rv != 0 ) - fSDDDataMaker->SetOffset(AliQAv1::kHITS, fHitsQAList [AliRecoParam::AConvert(fEventSpecie)]->GetEntries()); - } - - if(fSubDetector == 0 || fSubDetector == 2) { - Int_t rv = fSDDDataMaker->MakeHits() ; - if ( rv != 0 ) - fSSDDataMaker->SetOffset(AliQAv1::kHITS, fHitsQAList [AliRecoParam::AConvert(fEventSpecie)]->GetEntries()); - } - + if(fSubDetector == 0 || fSubDetector == 1) fSPDDataMaker->MakeHits(); + if(fSubDetector == 0 || fSubDetector == 2) fSDDDataMaker->MakeHits(); if(fSubDetector == 0 || fSubDetector == 3) fSSDDataMaker->MakeHits(); + // + IncEvCountCycleHits(); + IncEvCountTotalHits(); + // } //____________________________________________________________________________ void AliITSQADataMakerSim::MakeHits(TTree * hits) { // Fill QA for hits - if(fSubDetector == 0 || fSubDetector == 1) { - Int_t rv = fSPDDataMaker->MakeHits(hits) ; - if ( rv != 0 ) - fSDDDataMaker->SetOffset(AliQAv1::kHITS, fHitsQAList [AliRecoParam::AConvert(fEventSpecie)]->GetEntries()); - } - if(fSubDetector == 0 || fSubDetector == 2) { - Int_t rv = fSDDDataMaker->MakeHits(hits) ; - if ( rv != 0 ) - fSSDDataMaker->SetOffset(AliQAv1::kHITS, fHitsQAList [AliRecoParam::AConvert(fEventSpecie)]->GetEntries()); - } - + if(fSubDetector == 0 || fSubDetector == 1) fSPDDataMaker->MakeHits(hits); + if(fSubDetector == 0 || fSubDetector == 2) fSDDDataMaker->MakeHits(hits); if(fSubDetector == 0 || fSubDetector == 3) fSSDDataMaker->MakeHits(hits); + // + IncEvCountCycleHits(); + IncEvCountTotalHits(); + // } //_________________________________________________________________ Int_t AliITSQADataMakerSim::GetDetTaskOffset(Int_t subdet,AliQAv1::TASKINDEX_t task) { + + //return the offset for each subdetector switch(subdet) { - Int_t offset; case 1: offset=fSPDDataMaker->GetOffset(task); @@ -335,3 +342,32 @@ Int_t AliITSQADataMakerSim::GetDetTaskOffset(Int_t subdet,AliQAv1::TASKINDEX_t t } //return offset; } + +//_________________________________________________________________ +Int_t AliITSQADataMakerSim::GetDetTaskHisto(Int_t subdet,AliQAv1::TASKINDEX_t task) +{ + //return of the number of histograms for each task and for each sub detector + switch(subdet) + { + + Int_t histo; + case 1: + histo=fSPDDataMaker->GetOffset(task); + return histo; + break; + case 2: + histo=fSDDDataMaker->GetOffset(task); + return histo; + break; + case 3: + histo=fSSDDataMaker->GetOffset(task); + return histo; + break; + default: + AliWarning("No specific subdetector (SPD, SDD, SSD) selected!! Offset set to zero \n"); + histo=0; + return histo; + break; + } + //return offset; +}