X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=TOF%2FAliTOFQADataMakerSim.cxx;h=9c49b7d3b568431723e94534154987dc063c50e9;hp=faf92b698c4c747dab95a6cf44a768fd619b8fa4;hb=de60fa8a10952e57c00273dc54ea095d26062666;hpb=04236e6706a5b16e11ccf14c139bb4a995291429 diff --git a/TOF/AliTOFQADataMakerSim.cxx b/TOF/AliTOFQADataMakerSim.cxx index faf92b698c4..9c49b7d3b56 100644 --- a/TOF/AliTOFQADataMakerSim.cxx +++ b/TOF/AliTOFQADataMakerSim.cxx @@ -22,19 +22,20 @@ /////////////////////////////////////////////////////////////////////// #include -#include -#include +//#include +//#include #include #include #include #include +#include "AliLog.h" + #include "AliTOFdigit.h" #include "AliTOFSDigit.h" #include "AliTOFhitT0.h" #include "AliTOFQADataMakerSim.h" #include "AliQAChecker.h" -#include "AliLog.h" #include "AliTOFGeometry.h" @@ -42,7 +43,7 @@ ClassImp(AliTOFQADataMakerSim) //____________________________________________________________________________ AliTOFQADataMakerSim::AliTOFQADataMakerSim() : - AliQADataMakerSim(AliQA::GetDetName(AliQA::kTOF), "TOF Quality Assurance Data Maker") + AliQADataMakerSim(AliQAv1::GetDetName(AliQAv1::kTOF), "TOF Quality Assurance Data Maker") { // // ctor @@ -77,21 +78,27 @@ void AliTOFQADataMakerSim::InitHits() // // create Hits histograms in Hits subdir // - TH1F * h0 = new TH1F("hTOFHits", "Number of TOF Hits ",301, -1.02, 5.) ; + + const Bool_t expert = kTRUE ; + const Bool_t image = kTRUE ; + + TH1F * h0 = new TH1F("hTOFHits", "Number of TOF Hits per event;TOF hit number;Counts ",101, -1., 100.) ; h0->Sumw2() ; - Add2HitsList(h0, 0) ; + Add2HitsList(h0, 0, !expert, image) ; - TH1F * h1 = new TH1F("hTOFHitsTime", "Hits Time Spectrum in TOF (ns)", 2000, 0., 200) ; + TH1F * h1 = new TH1F("hTOFHitsTime", "Hits Time Spectrum in TOF (ns);Simulated TOF time [ns];Counts", 25000, 0., 610.) ; h1->Sumw2() ; - Add2HitsList(h1, 1) ; + Add2HitsList(h1, 1, !expert, image) ; - TH1F * h2 = new TH1F("hTOFHitsLength", "Length Spectrum in TOF (cm)", 500, 0., 500) ; + TH1F * h2 = new TH1F("hTOFHitsLength", "Length Spectrum in TOF (cm);Track length from primary vertex till hit TOF pad [cm];Counts", 700, 0., 700) ; h2->Sumw2() ; - Add2HitsList(h2, 2) ; + Add2HitsList(h2, 2, !expert, image) ; - TH2F * h3 = new TH2F("hTOFHitsClusMap","Hits vs TOF eta-phi",183, -0.5, 182.5,865,-0.5,864.5) ; + TH2F * h3 = new TH2F("hTOFHitsClusMap","Hits vs TOF eta-phi;2*strip+padz (eta);48*sector+padx (phi)",183, -0.5, 182.5,865,-0.5,864.5) ; h3->Sumw2() ; - Add2HitsList(h3, 3) ; + h3->GetYaxis()->SetTitleOffset(1.15); + Add2HitsList(h3, 3, !expert, image) ; + } //____________________________________________________________________________ @@ -100,20 +107,26 @@ void AliTOFQADataMakerSim::InitDigits() // // create Digits histograms in Digits subdir // - TH1F * h0 = new TH1F("hTOFDigits", "Number of TOF Digits ",301, -1.02, 5.) ; h0->Sumw2() ; - Add2DigitsList(h0, 0) ; - TH1F * h1 = new TH1F("hTOFDigitsTime", "Digits Time Spectrum in TOF (ns)", 2000, 0., 200) ; + const Bool_t expert = kTRUE ; + const Bool_t image = kTRUE ; + + TH1F * h0 = new TH1F("hTOFDigits", "Number of TOF Digit per event;TOF digit number;Counts ",101, -1., 100.) ; + h0->Sumw2() ; + Add2DigitsList(h0, 0, !expert, image) ; + + TH1F * h1 = new TH1F("hTOFDigitsTime", "Digits Time Spectrum in TOF (ns);Digitized TOF time [ns];Counts", 25000, 0., 610.) ; h1->Sumw2() ; - Add2DigitsList(h1, 1) ; + Add2DigitsList(h1, 1, !expert, image) ; - TH1F * h2 = new TH1F("hTOFDigitsToT", "Digits ToT Spectrum in TOF (ns)", 500, 0., 50) ; + TH1F * h2 = new TH1F("hTOFDigitsToT", "Digits ToT Spectrum in TOF (ns);Digitized ToT time [ns];Counts", 1000, 0., 48.8) ; h2->Sumw2() ; - Add2DigitsList(h2, 2) ; + Add2DigitsList(h2, 2, !expert, image) ; - TH2F * h3 = new TH2F("hTOFDigitsClusMap","Digits vs TOF eta-phi",183, -0.5, 182.5,865,-0.5,864.5) ; + TH2F * h3 = new TH2F("hTOFDigitsClusMap","Digits vs TOF eta-phi;2*strip+padz (eta);48*sector+padx (phi)",183, -0.5, 182.5,865,-0.5,864.5) ; h3->Sumw2() ; - Add2DigitsList(h3, 3) ; + h3->GetYaxis()->SetTitleOffset(1.15); + Add2DigitsList(h3, 3, !expert, image) ; } @@ -123,21 +136,27 @@ void AliTOFQADataMakerSim::InitSDigits() // // create SDigits histograms in SDigits subdir // - TH1F * h0 = new TH1F("hTOFSDigits", "Number of TOF SDigits ",301, -1.02, 5.) ; h0->Sumw2() ; - Add2SDigitsList(h0, 0) ; - TH1F * h1 = new TH1F("hTOFSDigitsTime", "SDigits Time Spectrum in TOF (ns)", 2000, 0., 200) ; + const Bool_t expert = kTRUE ; + const Bool_t image = kTRUE ; + + TH1F * h0 = new TH1F("hTOFSDigits", "Number of TOF SDigits per event;TOF sdigit number;Counts ",101, -1., 100.) ; + h0->Sumw2() ; + Add2SDigitsList(h0, 0, !expert, image) ; + + TH1F * h1 = new TH1F("hTOFSDigitsTime", "SDigits Time Spectrum in TOF (ns);SDigitized TOF time [ns];Counts", 25000, 0., 610) ; h1->Sumw2() ; - Add2SDigitsList(h1, 1) ; + Add2SDigitsList(h1, 1, !expert, image) ; - TH2F * h2 = new TH2F("hTOFSDigitsClusMap","SDigits vs TOF eta-phi",183, -0.5, 182.5,865,-0.5,864.5) ; + TH2F * h2 = new TH2F("hTOFSDigitsClusMap","SDigits vs TOF eta-phi;2*strip+padz (eta);48*sector+padx (phi)",183, -0.5, 182.5,865,-0.5,864.5) ; h2->Sumw2() ; - Add2SDigitsList(h2, 2) ; + h2->GetYaxis()->SetTitleOffset(1.15); + Add2SDigitsList(h2, 2, !expert, image) ; } //____________________________________________________________________________ -void AliTOFQADataMakerSim::MakeHits(TClonesArray * hits) +void AliTOFQADataMakerSim::MakeHits() { // //make QA data from Hits @@ -146,13 +165,13 @@ void AliTOFQADataMakerSim::MakeHits(TClonesArray * hits) Int_t in[5]; Int_t out[5]; - Int_t nentries=hits->GetEntriesFast(); + Int_t nentries= fHitsArray->GetEntriesFast(); if(nentries<=0) { GetHitsData(0)->Fill(-1.) ; } else{ - GetHitsData(0)->Fill(TMath::Log10(nentries)) ; + GetHitsData(0)->Fill(nentries) ; } - TIter next(hits) ; + TIter next(fHitsArray) ; AliTOFhitT0 * hit ; while ( (hit = dynamic_cast(next())) ) { @@ -167,7 +186,6 @@ void AliTOFQADataMakerSim::MakeHits(TClonesArray * hits) GetMapIndeces(in,out); GetHitsData(3)->Fill( out[0],out[1]) ;//hit map } - } @@ -179,7 +197,7 @@ void AliTOFQADataMakerSim::MakeHits(TTree * hitTree) // if(!hitTree){ AliError("can't get the tree with TOF hits !"); - return; + return; } TBranch * branch = hitTree->GetBranch("TOF") ; @@ -189,44 +207,39 @@ void AliTOFQADataMakerSim::MakeHits(TTree * hitTree) return; } - TClonesArray * hits = new TClonesArray("AliTOFhitT0", 1000); - TClonesArray * dummy = new TClonesArray("AliTOFhitT0", 1000); - branch->SetAddress(&dummy); - Int_t index = 0 ; + if (fHitsArray) + fHitsArray->Clear() ; + else + fHitsArray = new TClonesArray("AliTOFhitT0", 1000) ; + + branch->SetAddress(&fHitsArray); for (Int_t ientry = 0 ; ientry < branch->GetEntries() ; ientry++) { branch->GetEntry(ientry) ; - for (Int_t ihit = 0 ; ihit < dummy->GetEntries() ; ihit++) { - AliTOFhitT0 * hit = dynamic_cast (dummy->At(ihit)) ; - new((*hits)[index]) AliTOFhitT0(*hit) ; - index++ ; - } + MakeHits() ; + fHitsArray->Clear() ; } - - dummy->Delete(); - delete dummy; - MakeHits(hits) ; - } //____________________________________________________________________________ -void AliTOFQADataMakerSim::MakeDigits(TClonesArray * digits) +void AliTOFQADataMakerSim::MakeDigits() { // // makes data from Digits // + Double_t tdc2ns=AliTOFGeometry::TdcBinWidth()*1E-3; Double_t tot2ns=AliTOFGeometry::ToTBinWidth()*1E-3; Int_t in[5]; Int_t out[5]; - Int_t nentries=digits->GetEntriesFast(); + Int_t nentries=fDigitsArray->GetEntriesFast(); if(nentries<=0){ GetDigitsData(0)->Fill(-1.) ; }else{ - GetDigitsData(0)->Fill(TMath::Log10(nentries)) ; + GetDigitsData(0)->Fill(nentries) ; } - TIter next(digits) ; + TIter next(fDigitsArray) ; AliTOFdigit * digit ; while ( (digit = dynamic_cast(next())) ) { @@ -251,37 +264,40 @@ void AliTOFQADataMakerSim::MakeDigits(TTree * digitTree) // // makes data from Digit Tree // - TClonesArray * digits = new TClonesArray("AliTOFdigit", 1000) ; + if (fDigitsArray) + fDigitsArray->Clear() ; + else + fDigitsArray = new TClonesArray("AliTOFdigit", 1000) ; TBranch * branch = digitTree->GetBranch("TOF") ; if ( ! branch ) { AliError("TOF branch in Digit Tree not found") ; return; } - branch->SetAddress(&digits) ; + branch->SetAddress(&fDigitsArray) ; branch->GetEntry(0) ; - MakeDigits(digits) ; + MakeDigits() ; } //____________________________________________________________________________ -void AliTOFQADataMakerSim::MakeSDigits(TClonesArray * sdigits) +void AliTOFQADataMakerSim::MakeSDigits() { // // makes data from SDigits // - + Double_t tdc2ns=AliTOFGeometry::TdcBinWidth()*1E-3; Int_t in[5]; Int_t out[5]; - Int_t nentries=sdigits->GetEntriesFast(); + Int_t nentries=fSDigitsArray->GetEntriesFast(); if(nentries<=0){ GetSDigitsData(0)->Fill(-1.) ; }else{ - GetSDigitsData(0)->Fill(TMath::Log10(nentries)) ; + GetSDigitsData(0)->Fill(nentries) ; } - TIter next(sdigits) ; + TIter next(fSDigitsArray) ; AliTOFSDigit * sdigit ; while ( (sdigit = dynamic_cast(next())) ) { @@ -305,16 +321,19 @@ void AliTOFQADataMakerSim::MakeSDigits(TTree * sdigitTree) // // makes data from SDigit Tree // - TClonesArray * sdigits = new TClonesArray("AliTOFSDigit", 1000) ; + if (fSDigitsArray) + fSDigitsArray->Clear() ; + else + fSDigitsArray = new TClonesArray("AliTOFSDigit", 1000) ; TBranch * branch = sdigitTree->GetBranch("TOF") ; if ( ! branch ) { AliError("TOF branch in SDigit Tree not found") ; return; } - branch->SetAddress(&sdigits) ; + branch->SetAddress(&fSDigitsArray) ; branch->GetEntry(0) ; - MakeSDigits(sdigits) ; + MakeSDigits() ; } //____________________________________________________________________________ @@ -326,12 +345,12 @@ void AliTOFQADataMakerSim::StartOfDetectorCycle() } //____________________________________________________________________________ -void AliTOFQADataMakerSim::EndOfDetectorCycle(AliQA::TASKINDEX task, TObjArray * list) +void AliTOFQADataMakerSim::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list) { //Detector specific actions at end of cycle // do the QA checking - AliQAChecker::Instance()->Run(AliQA::kTOF, task, list) ; + AliQAChecker::Instance()->Run(AliQAv1::kTOF, task, list) ; } //____________________________________________________________________________ void AliTOFQADataMakerSim::GetMapIndeces(Int_t* in , Int_t* out)