X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=T0%2FAliT0QADataMaker.cxx;h=e1d635e75c57cdb8c4048e34c7c32cc20ac28653;hp=21f6b372f51ff054807e50f4370807ac51806a5e;hb=9af080b13589e9f6c46bbac700f2a67a6f2a9ddd;hpb=3622a3e062c8207bbe9d8be8cfb58cce97a0870d diff --git a/T0/AliT0QADataMaker.cxx b/T0/AliT0QADataMaker.cxx index 21f6b372f51..e1d635e75c5 100644 --- a/T0/AliT0QADataMaker.cxx +++ b/T0/AliT0QADataMaker.cxx @@ -18,8 +18,9 @@ //--- // Produces the data needed to calculate the quality assurance. -// All data must be mergeable objects. -// A. Mastroserio +// T0 QA for Hits, Digits, RAW and RecPoints +// Alla.Maevskaya@cern.ch +// //--- // --- ROOT system --- @@ -43,7 +44,7 @@ ClassImp(AliT0QADataMaker) //____________________________________________________________________________ AliT0QADataMaker::AliT0QADataMaker() : - AliQADataMaker(AliQA::GetDetName(AliQA::kT0), "T0 Quality Assurance Data Maker") + AliQADataMaker(AliQAv1::GetDetName(AliQAv1::kT0), "T0 Quality Assurance Data Maker") { // ctor @@ -90,11 +91,11 @@ AliT0QADataMaker& AliT0QADataMaker::operator = (const AliT0QADataMaker& qadm ) return *this; } //____________________________________________________________________________ -void AliT0QADataMaker::EndOfDetectorCycle(AliQA::TASKINDEX task, TList * list) +void AliT0QADataMaker::EndOfDetectorCycle(AliQAv1::TASKINDEX task, TObjArray * list) { //Detector specific actions at end of cycle // do the QA checking - AliQAChecker::Instance()->Run(AliQA::kT0, task, list) ; + AliQAChecker::Instance()->Run(AliQAv1::kT0, task, list) ; } //____________________________________________________________________________ @@ -117,7 +118,7 @@ void AliT0QADataMaker::InitHits() if(i<12) fhHitsTime[i] = new TH1F(timename.Data(),timename.Data(),100,2000,3000); else fhHitsTime[i] = new TH1F(timename.Data(),timename.Data(),100,12000,13000); - Add2HitsList( fhHitsTime[i],i); + Add2HitsList( fhHitsTime[i],i); } /* TH2F *fhHitsEffA = new TH2F("hHitsEffA", "Hits Efficiency A side", 25,-0.5,24.5, 100,12,13 ); @@ -125,6 +126,8 @@ void AliT0QADataMaker::InitHits() TH2F *fhHitsEffC = new TH2F("hHitsEffC", "Hits Efficiency C side", 25,-0.5,24.5, 100,2,3 ); Add2HitsList(fhHitsEffC,1); */ + // + ClonePerTrigClass(AliQAv1::kHITS); // this should be the last line } //____________________________________________________________________________ @@ -167,7 +170,8 @@ void AliT0QADataMaker::InitDigits() Add2DigitsList( fhDigEff,72); TH1F* fhDigMean = new TH1F("hDigMean","online mean signal", 100,500,600); Add2DigitsList( fhDigMean,73); - + // + ClonePerTrigClass(AliQAv1::kDIGITS); // this should be the last line } //____________________________________________________________________________ @@ -197,7 +201,8 @@ void AliT0QADataMaker::InitRaws() TH1F* fhRawMean = new TH1F("hRawMean","online mean signal", 100,500,600); Add2RawsList( fhRawMean,72); - + // + ClonePerTrigClass(AliQAv1::kRAWS); // this should be the last line } //____________________________________________________________________________ @@ -206,14 +211,14 @@ void AliT0QADataMaker::InitRecPoints() { // create cluster histograms in RecPoint subdir /* - TH2F * fhRecCFD = new TH2F("fhRecCFD", " CFD reconstructed",25,-0.5,24.5,100,12,13); - Add2DigitsList( fhRecCFD,0); - TH2F *fhRecLEDamp = new TH2F("fhRecLEDamp", " amplitude LED reconstructed",25,-0.5,24.5,100,1000,1000); - Add2DigitsList( fhRecLEDamp,1); - TH2F * fhRecQTC = new TH2F("fhRecQTC", " amplitude QTC reconstructed",25,-0.5,24.5,100,1000,1000); - Add2DigitsList( fhRecQTC,2); - TH1F * fhRecMean = new TH1F("hRecMean"," reconstructed mean signal",100,500,600); - Add2DigitsList( fhRecMean,3); + TH2F * fhRecCFD = new TH2F("fhRecCFD", " CFD reconstructed",25,-0.5,24.5,100,12,13); + Add2DigitsList( fhRecCFD,0); + TH2F *fhRecLEDamp = new TH2F("fhRecLEDamp", " amplitude LED reconstructed",25,-0.5,24.5,100,1000,1000); + Add2DigitsList( fhRecLEDamp,1); + TH2F * fhRecQTC = new TH2F("fhRecQTC", " amplitude QTC reconstructed",25,-0.5,24.5,100,1000,1000); + Add2DigitsList( fhRecQTC,2); + TH1F * fhRecMean = new TH1F("hRecMean"," reconstructed mean signal",100,500,600); + Add2DigitsList( fhRecMean,3); */ TString timename,ampname, qtcname; @@ -233,12 +238,13 @@ void AliT0QADataMaker::InitRecPoints() fhRecQTC[i] = new TH1F(qtcname.Data(), qtcname.Data(),100,0,200); Add2RecPointsList ( fhRecQTC[i],i+48); } - + TH1F *fhRecEff = new TH1F("hRecEff","Efficiency rec.points",25,-0.5,24.5); - Add2RecPointsList ( fhRecEff,72); + Add2RecPointsList ( fhRecEff,72); TH1F * fhRecMean = new TH1F("hRecMean"," reconstructed mean signal",100,500,600); - Add2RecPointsList( fhRecMean,73); - + Add2RecPointsList( fhRecMean,73); + // + ClonePerTrigClass(AliQAv1::kRECPOINTS); // this should be the last line } //____________________________________________________________________________ void AliT0QADataMaker::InitESDs() @@ -246,10 +252,10 @@ void AliT0QADataMaker::InitESDs() //create ESDs histograms in ESDs subdir TH1F *fhESDMean = new TH1F("hESDmean"," ESD mean",100,0,100); Add2ESDsList(fhESDMean, 0) ; - TH1F * fhESDVertex = new TH1F("hESDvertex","EAD vertex",100,-50,50); + TH1F * fhESDVertex = new TH1F("hESDvertex","EAD vertex",100,-50,50); Add2ESDsList(fhESDVertex, 1) ; - - + // + ClonePerTrigClass(AliQAv1::kESDS); // this should be the last line } //____________________________________________________________________________ @@ -284,10 +290,14 @@ void AliT0QADataMaker::MakeHits(TTree *hitTree) break; } Int_t pmt=startHit->Pmt(); - GetHitsData(pmt-1)->Fill(startHit->Time()) ; + FillHitsData(pmt-1,startHit->Time()) ; } } } + // + IncEvCountCycleHits(); + IncEvCountTotalHits(); + // } //____________________________________________________________________________ @@ -307,7 +317,11 @@ void AliT0QADataMaker::MakeDigits( TTree *digitsTree) brDigits->SetAddress(&fDigits); }else{ AliError(Form("EXEC Branch T0 digits not found")); - return; + delete digCFD; + delete digLED; + delete digQT0; + delete digQT1; + return; } digitsTree->GetEvent(0); @@ -322,9 +336,9 @@ void AliT0QADataMaker::MakeDigits( TTree *digitsTree) { if (digCFD->At(i)>0) { Int_t cfd=digCFD->At(i)- refpoint; - GetDigitsData(i) ->Fill(cfd); - GetDigitsData(i+24) -> Fill(digLED->At(i) - digCFD->At(i)); - GetDigitsData(i+48) -> Fill(digQT1->At(i) - digQT0->At(i)); + FillDigitsData(i,cfd); + FillDigitsData(i+24, digLED->At(i) - digCFD->At(i)); + FillDigitsData(i+48, digQT1->At(i) - digQT0->At(i)); } } @@ -332,7 +346,10 @@ void AliT0QADataMaker::MakeDigits( TTree *digitsTree) delete digLED; delete digQT0; delete digQT1; - + // + IncEvCountCycleDigits(); + IncEvCountTotalDigits(); + // } @@ -345,43 +362,44 @@ void AliT0QADataMaker::MakeRaws( AliRawReader* rawReader) for (Int_t j0=0; j0<5; j0++) allData[i0][j0]=0; } //fills QA histos for RAW -AliT0RawReader *start = new AliT0RawReader(rawReader); - - while (rawReader->NextEvent()) { - start->Next(); - for (Int_t i=0; i<105; i++) - for (Int_t iHit=0; iHit<5; iHit++) - allData[i][iHit]= start->GetData(i,iHit); - + + AliT0RawReader *start = new AliT0RawReader(rawReader); + start->Next(); + for (Int_t i=0; i<105; i++) + for (Int_t iHit=0; iHit<5; iHit++) + allData[i][iHit]= start->GetData(i,iHit); + - for (Int_t ik = 0; ik<24; ik+=2){ - for (Int_t iHt=0; iHt<5; iHt++){ - Int_t cc = ik/2; + for (Int_t ik = 0; ik<24; ik+=2){ + for (Int_t iHt=0; iHt<5; iHt++){ + Int_t cc = ik/2; if(allData[cc+1][iHt]!=0){ - GetRawsData(cc) -> Fill(allData[cc+1][iHt]-allData[0][0]); + FillRawsData(cc,allData[cc+1][iHt]-allData[0][0]); if(allData[ik+25][iHt]!=0 && allData[ik+26][iHt]!=0) - GetRawsData(cc+48)->Fill(allData[ik+26][iHt]-allData[ik+25][iHt]); + FillRawsData(cc+48,allData[ik+26][iHt]-allData[ik+25][iHt]); if(allData[cc+13][iHt]!=0 ) - GetRawsData(cc+24)->Fill(allData[cc+13][iHt]-allData[cc+1][iHt]); + FillRawsData(cc+24,allData[cc+13][iHt]-allData[cc+1][iHt]); } - } - } + } + } - for (Int_t ik = 24; ik<48; ik+=2) { - for (Int_t iHt=0; iHt<5; iHt++) { - Int_t cc = ik/2; - if(allData[cc+45][iHt]!=0) { - GetRawsData(cc)->Fill(allData[cc+1][iHt]-allData[0][0]); - if(allData[ik+57][iHt]!=0 && allData[ik+58][iHt]!=0) - GetRawsData(cc+48)->Fill(allData[ik+57][iHt]-allData[ik+58][iHt]); - if(allData[cc+57][iHt]!=0 ) - GetRawsData(cc+48)->Fill(allData[cc+57][iHt]-allData[cc+45][iHt]); + for (Int_t ik = 24; ik<48; ik+=2) { + for (Int_t iHt=0; iHt<5; iHt++) { + Int_t cc = ik/2; + if(allData[cc+45][iHt]!=0) { + FillRawsData(cc,allData[cc+1][iHt]-allData[0][0]); + if(allData[ik+57][iHt]!=0 && allData[ik+58][iHt]!=0) + FillRawsData(cc+48,allData[ik+57][iHt]-allData[ik+58][iHt]); + if(allData[cc+57][iHt]!=0 ) + FillRawsData(cc+48,allData[cc+57][iHt]-allData[cc+45][iHt]); } - } - } - - } - + } + } + delete start; + // + IncEvCountCycleRaws(); + IncEvCountTotalRaws(); + // } //____________________________________________________________________________ @@ -405,13 +423,16 @@ void AliT0QADataMaker::MakeRecPoints(TTree * clustersTree) brRec->GetEntry(0); for ( Int_t i=0; i<24; i++) { - GetRecPointsData(i) -> Fill(frecpoints -> GetTime(i)); - GetRecPointsData(i+24) -> Fill(frecpoints -> GetAmp(i)); - GetRecPointsData(i+48) -> Fill(frecpoints->AmpLED(i)); + FillRecPointsData(i,frecpoints -> GetTime(i)); + FillRecPointsData(i+24,frecpoints -> GetAmp(i)); + FillRecPointsData(i+48,frecpoints->AmpLED(i)); // if(frecpoints -> GetTime(i) > 0) fhRecEff->Fill(i); } - GetRecPointsData(72) ->Fill(frecpoints->GetMeanTime()); - + FillRecPointsData(72,frecpoints->GetMeanTime()); + // + IncEvCountCycleRecPoints(); + IncEvCountTotalRecPoints(); + // } //____________________________________________________________________________ @@ -419,8 +440,10 @@ void AliT0QADataMaker::MakeESDs(AliESDEvent * esd) { //fills QA histos for ESD - GetESDsData(0) -> Fill(esd->GetT0()); - GetESDsData(1)-> Fill(esd->GetT0zVertex()); - + FillESDsData(0,esd->GetT0()); + FillESDsData(1,esd->GetT0zVertex()); + // + IncEvCountCycleESDs(); + IncEvCountTotalESDs(); }