X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSQADataMakerSim.cxx;h=a30f25c6c8d402bfa8f4aa67bd26503b265c21a6;hb=3b00814986cd41cd70b83507579519f98a306b0b;hp=4127dbad99cd350b0ebd4f32aa13329d0fc541d1;hpb=04236e6706a5b16e11ccf14c139bb4a995291429;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSQADataMakerSim.cxx b/PHOS/AliPHOSQADataMakerSim.cxx index 4127dbad99c..a30f25c6c8d 100644 --- a/PHOS/AliPHOSQADataMakerSim.cxx +++ b/PHOS/AliPHOSQADataMakerSim.cxx @@ -43,8 +43,8 @@ ClassImp(AliPHOSQADataMakerSim) //____________________________________________________________________________ - AliPHOSQADataMakerSim::AliPHOSQADataMakerSim() : - AliQADataMakerSim(AliQA::GetDetName(AliQA::kPHOS), "PHOS Quality Assurance Data Maker") +AliPHOSQADataMakerSim::AliPHOSQADataMakerSim() : + AliQADataMakerSim(AliQAv1::GetDetName(AliQAv1::kPHOS), "PHOS Quality Assurance Data Maker") { // ctor } @@ -68,146 +68,165 @@ AliPHOSQADataMakerSim& AliPHOSQADataMakerSim::operator = (const AliPHOSQADataMak } //____________________________________________________________________________ -void AliPHOSQADataMakerSim::EndOfDetectorCycle(AliQA::TASKINDEX task, TObjArray * list) +void AliPHOSQADataMakerSim::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list) { //Detector specific actions at end of cycle // do the QA checking - AliQAChecker::Instance()->Run(AliQA::kPHOS, task, list) ; + AliQAChecker::Instance()->Run(AliQAv1::kPHOS, task, list) ; } //____________________________________________________________________________ void AliPHOSQADataMakerSim::InitHits() { // create Hits histograms in Hits subdir - TH1F * h0 = new TH1F("hPhosHits", "Hits energy distribution in PHOS", 100, 0., 100.) ; + const Bool_t expert = kTRUE ; + const Bool_t image = kTRUE ; + TH1F * h0 = new TH1F("hPhosHits", "Hits energy distribution in PHOS;Energy [MeV];Counts", 100, 0., 100.) ; h0->Sumw2() ; - Add2HitsList(h0, 0) ; - TH1I * h1 = new TH1I("hPhosHitsMul", "Hits multiplicity distribution in PHOS", 500, 0., 10000) ; + Add2HitsList(h0, kHits, !expert, image) ; + TH1I * h1 = new TH1I("hPhosHitsMul", "Hits multiplicity distribution in PHOS;# of Hits;Entries", 500, 0., 10000) ; h1->Sumw2() ; - Add2HitsList(h1, 1) ; + Add2HitsList(h1, kHitsMul, !expert, image) ; + // + ClonePerTrigClass(AliQAv1::kHITS); // this should be the last line } //____________________________________________________________________________ void AliPHOSQADataMakerSim::InitDigits() { // create Digits histograms in Digits subdir - TH1I * h0 = new TH1I("hPhosDigits", "Digits amplitude distribution in PHOS", 500, 0, 5000) ; + const Bool_t expert = kTRUE ; + const Bool_t image = kTRUE ; + TH1I * h0 = new TH1I("hPhosDigits", "Digits amplitude distribution in PHOS;Amplitude [ADC counts];Counts", 500, 0, 1000) ; h0->Sumw2() ; - Add2DigitsList(h0, 0) ; - TH1I * h1 = new TH1I("hPhosDigitsMul", "Digits multiplicity distribution in PHOS", 500, 0, 1000) ; + Add2DigitsList(h0, kDigits, !expert, image) ; + TH1I * h1 = new TH1I("hPhosDigitsMul", "Digits multiplicity distribution in PHOS;# of Digits;Entries", 2000, 0, 10000) ; h1->Sumw2() ; - Add2DigitsList(h1, 1) ; + Add2DigitsList(h1, kDigitsMul, !expert, image) ; + // + ClonePerTrigClass(AliQAv1::kDIGITS); // this should be the last line } //____________________________________________________________________________ void AliPHOSQADataMakerSim::InitSDigits() { // create SDigits histograms in SDigits subdir - TH1F * h0 = new TH1F("hPhosSDigits", "SDigits energy distribution in PHOS", 100, 0., 100.) ; + const Bool_t expert = kTRUE ; + const Bool_t image = kTRUE ; + TH1F * h0 = new TH1F("hPhosSDigits", "SDigits energy distribution in PHOS; Energy [MeV];Counts", 500, 0., 1000.) ; h0->Sumw2() ; - Add2SDigitsList(h0, 0) ; - TH1I * h1 = new TH1I("hPhosSDigitsMul", "SDigits multiplicity distribution in PHOS", 500, 0, 10000) ; + Add2SDigitsList(h0, kSDigits, !expert, image) ; + TH1I * h1 = new TH1I("hPhosSDigitsMul", "SDigits multiplicity distribution in PHOS;# of SDigits;Entries", 500, 0, 1000) ; h1->Sumw2() ; - Add2SDigitsList(h1, 1) ; + Add2SDigitsList(h1, kSDigitsMul, !expert, image) ; + // + ClonePerTrigClass(AliQAv1::kSDIGITS); // this should be the last line } //____________________________________________________________________________ -void AliPHOSQADataMakerSim::MakeHits(TClonesArray * hits) +void AliPHOSQADataMakerSim::MakeHits() { - //make QA data from Hits - - GetHitsData(1)->Fill(hits->GetEntriesFast()) ; - TIter next(hits) ; - AliPHOSHit * hit ; - while ( (hit = dynamic_cast(next())) ) { - GetHitsData(0)->Fill( hit->GetEnergy()) ; - } + //make QA data from Hits + + TIter next(fHitsArray) ; + AliPHOSHit * hit ; + while ( (hit = dynamic_cast(next())) ) { + FillHitsData(kHits, hit->GetEnergy()) ; + } } //____________________________________________________________________________ void AliPHOSQADataMakerSim::MakeHits(TTree * hitTree) { - // make QA data from Hit Tree - - TClonesArray * hits = new TClonesArray("AliPHOSHit", 1000); - - TBranch * branch = hitTree->GetBranch("PHOS") ; - if ( ! branch ) { - AliWarning("PHOS branch in Hit Tree not found") ; - } else { - TClonesArray * tmp = new TClonesArray("AliPHOSHit", 1000) ; - branch->SetAddress(&tmp) ; - Int_t index = 0 ; - for (Int_t ientry = 0 ; ientry < branch->GetEntries() ; ientry++) { - branch->GetEntry(ientry) ; - for (Int_t ihit = 0 ; ihit < tmp->GetEntries() ; ihit++) { - AliPHOSHit * hit = dynamic_cast (tmp->At(ihit)) ; - new((*hits)[index]) AliPHOSHit(*hit) ; - index++ ; - } - } - tmp->Delete() ; - delete tmp ; - MakeHits(hits) ; - } + // make QA data from Hit Tree + + if (fHitsArray) + fHitsArray->Clear() ; + else + fHitsArray = new TClonesArray("AliPHOSHit", 1000); + + TBranch * branch = hitTree->GetBranch("PHOS") ; + if ( ! branch ) { AliWarning("PHOS branch in Hit Tree not found"); return;} + // + Int_t nHits = 0; + branch->SetAddress(&fHitsArray) ; + for (Int_t ientry = 0 ; ientry < branch->GetEntries() ; ientry++) { + branch->GetEntry(ientry) ; + nHits += fHitsArray->GetEntriesFast(); + MakeHits() ; + fHitsArray->Clear(); + } + FillHitsData(1,nHits) ; + // + IncEvCountCycleHits(); + IncEvCountTotalHits(); + // } //____________________________________________________________________________ -void AliPHOSQADataMakerSim::MakeDigits(TClonesArray * digits) +void AliPHOSQADataMakerSim::MakeDigits() { // makes data from Digits - - GetDigitsData(1)->Fill(digits->GetEntriesFast()) ; - TIter next(digits) ; - AliPHOSDigit * digit ; - while ( (digit = dynamic_cast(next())) ) { - GetDigitsData(0)->Fill( digit->GetEnergy()) ; - } + + FillDigitsData(1,fDigitsArray->GetEntriesFast()) ; + TIter next(fDigitsArray) ; + AliPHOSDigit * digit ; + while ( (digit = dynamic_cast(next())) ) { + FillDigitsData(kDigits, digit->GetEnergy()) ; + } } //____________________________________________________________________________ void AliPHOSQADataMakerSim::MakeDigits(TTree * digitTree) { - // makes data from Digit Tree - TClonesArray * digits = new TClonesArray("AliPHOSDigit", 1000) ; - - TBranch * branch = digitTree->GetBranch("PHOS") ; - if ( ! branch ) { - AliWarning("PHOS branch in Digit Tree not found") ; - } else { - branch->SetAddress(&digits) ; - branch->GetEntry(0) ; - MakeDigits(digits) ; - } + // makes data from Digit Tree + if (fDigitsArray) + fDigitsArray->Clear() ; + else + fDigitsArray = new TClonesArray("AliPHOSDigit", 1000) ; + + TBranch * branch = digitTree->GetBranch("PHOS") ; + if ( ! branch ) {AliWarning("PHOS branch in Digit Tree not found"); return;} + branch->SetAddress(&fDigitsArray) ; + branch->GetEntry(0) ; + MakeDigits() ; + // + IncEvCountCycleDigits(); + IncEvCountTotalDigits(); + // } //____________________________________________________________________________ -void AliPHOSQADataMakerSim::MakeSDigits(TClonesArray * sdigits) +void AliPHOSQADataMakerSim::MakeSDigits() { // makes data from SDigits - - GetSDigitsData(1)->Fill(sdigits->GetEntriesFast()) ; - TIter next(sdigits) ; - AliPHOSDigit * sdigit ; - while ( (sdigit = dynamic_cast(next())) ) { - GetSDigitsData(0)->Fill( sdigit->GetEnergy()) ; - } + + FillSDigitsData(1,fSDigitsArray->GetEntriesFast()) ; + TIter next(fSDigitsArray) ; + AliPHOSDigit * sdigit ; + while ( (sdigit = dynamic_cast(next())) ) { + FillSDigitsData(kSDigits, sdigit->GetEnergy()) ; + } } //____________________________________________________________________________ void AliPHOSQADataMakerSim::MakeSDigits(TTree * sdigitTree) { // makes data from SDigit Tree - TClonesArray * sdigits = new TClonesArray("AliPHOSDigit", 1000) ; - - TBranch * branch = sdigitTree->GetBranch("PHOS") ; - if ( ! branch ) { - AliWarning("PHOS branch in SDigit Tree not found") ; - } else { - branch->SetAddress(&sdigits) ; - branch->GetEntry(0) ; - MakeSDigits(sdigits) ; - } + if (fSDigitsArray) + fSDigitsArray->Clear() ; + else + fSDigitsArray = new TClonesArray("AliPHOSDigit", 1000) ; + + TBranch * branch = sdigitTree->GetBranch("PHOS") ; + if ( ! branch ) {AliWarning("PHOS branch in SDigit Tree not found"); return;} + branch->SetAddress(&fSDigitsArray) ; + branch->GetEntry(0) ; + MakeSDigits() ; + // + IncEvCountCycleSDigits(); + IncEvCountTotalSDigits(); + // } //____________________________________________________________________________