//____________________________________________________________________________
AliVZEROQADataMakerSim::AliVZEROQADataMakerSim() :
- AliQADataMakerSim(AliQA::GetDetName(AliQA::kVZERO), "VZERO Quality Assurance Data Maker")
+ AliQADataMakerSim(AliQAv1::GetDetName(AliQAv1::kVZERO), "VZERO Quality Assurance Data Maker")
{
// constructor
return *this;
}
//____________________________________________________________________________
-void AliVZEROQADataMakerSim::EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray * list)
+void AliVZEROQADataMakerSim::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list)
{
//Detector specific actions at end of cycle
// do the QA checking
- AliQAChecker::Instance()->Run(AliQA::kVZERO, task, list) ;
+ ResetEventTrigClasses();
+ AliQAChecker::Instance()->Run(AliQAv1::kVZERO, task, list) ;
}
{
// create Hits histograms in Hits subdir
+ const Bool_t expert = kTRUE ;
+ const Bool_t image = kTRUE ;
- TH1I * h0 = new TH1I("hHitMultiplicity", "Hit multiplicity distribution in VZERO", 300, 0, 299) ;
+ TH1I * h0 = new TH1I("hHitMultiplicity", "Hit multiplicity distribution in VZERO;# of Hits;Entries", 300, 0, 299) ;
h0->Sumw2() ;
- Add2HitsList(h0, 0) ;
+ Add2HitsList(h0, 0, !expert, image) ;
- TH1I * h1 = new TH1I("hHitCellNumber", "Hit cell distribution in VZERO", 80, 0, 79) ;
+ TH1I * h1 = new TH1I("hHitCellNumber", "Hit cell distribution in VZERO;# of Hits;Entries", 80, 0, 79) ;
h1->Sumw2() ;
- Add2HitsList(h1, 1) ;
-
+ Add2HitsList(h1, 1, !expert, image) ;
+ //
+ ClonePerTrigClass(AliQAv1::kHITS); // this should be the last line
}
//____________________________________________________________________________
void AliVZEROQADataMakerSim::InitDigits()
{
// create Digits histograms in Digits subdir
-
+ const Bool_t expert = kTRUE ;
+ const Bool_t image = kTRUE ;
- char TDCname[10];
- char ADCname[12];
TH1I *fhDigTDC[64];
TH1I *fhDigADC[64];
- char texte[30];
// create Digits histograms in Digits subdir
- TH1I * h0 = new TH1I("hDigitMultiplicity", "Digits multiplicity distribution in VZERO", 100, 0, 99) ;
+ TH1I * h0 = new TH1I("hDigitMultiplicity", "Digits multiplicity distribution in VZERO;# of Digits;Entries", 100, 0, 99) ;
h0->Sumw2() ;
- Add2DigitsList(h0, 0) ;
+ Add2DigitsList(h0, 0, !expert, image) ;
for (Int_t i=0; i<64; i++)
{
- sprintf(TDCname, "hDigitTDC%d", i);
- sprintf(texte,"Digit TDC in cell %d",i);
- fhDigTDC[i] = new TH1I(TDCname,texte,300,0.,149.);
-
- sprintf(ADCname,"hDigitADC%d",i);
- sprintf(texte,"Digit ADC in cell %d",i);
- fhDigADC[i]= new TH1I(ADCname,texte,1024,0.,1023.);
+ fhDigTDC[i] = new TH1I(Form("hDigitTDC%d", i),Form("Digit TDC in cell %d; TDC value;Entries",i),300,0.,149.);
+ fhDigADC[i]= new TH1I(Form("hDigitADC%d", i),Form("Digit ADC in cell %d;ADC value;Entries",i),1024,0.,1023.);
- Add2DigitsList(fhDigTDC[i],i+1);
- Add2DigitsList(fhDigADC[i],i+1+64);
+ Add2DigitsList(fhDigTDC[i],i+1, !expert, image);
+ Add2DigitsList(fhDigADC[i],i+1+64, !expert, image);
}
+ //
+ ClonePerTrigClass(AliQAv1::kDIGITS); // this should be the last line
}
//____________________________________________________________________________
-void AliVZEROQADataMakerSim::MakeHits(TClonesArray * hits)
+void AliVZEROQADataMakerSim::MakeHits()
{
//make QA data from Hits
- GetHitsData(0)->Fill(hits->GetEntriesFast()) ; // fills Hit multiplicity
- Int_t nhits = hits->GetEntriesFast();
- for (Int_t ihit=0;ihit<nhits;ihit++)
- {
- AliVZEROhit * VZEROHit = (AliVZEROhit*) hits->UncheckedAt(ihit);
+ Int_t nhits = fHitsArray->GetEntriesFast();
+ FillHitsData(0,nhits) ; // fills Hit multiplicity
+ for (Int_t ihit=0;ihit<nhits;ihit++)
+ {
+ AliVZEROhit * VZEROHit = (AliVZEROhit*) fHitsArray->UncheckedAt(ihit);
if (!VZEROHit) {
AliError("The unchecked hit doesn't exist");
break;
}
- GetHitsData(1)->Fill(VZEROHit->Cell());
+ FillHitsData(1,VZEROHit->Cell());
}
}
void AliVZEROQADataMakerSim::MakeHits(TTree *hitTree)
{
//fills QA histos for Hits
- TClonesArray * hits = new TClonesArray("AliVZEROhit", 1000);
+ if (fHitsArray)
+ fHitsArray->Clear() ;
+ else
+ fHitsArray = new TClonesArray("AliVZEROhit", 1000);
TBranch * branch = hitTree->GetBranch("VZERO") ;
if ( ! branch ) {
} else {
if (branch) {
- branch->SetAddress(&hits);
+ branch->SetAddress(&fHitsArray);
}else{
AliError("Branch VZERO hit not found");
exit(111);
}
+ // Check id histograms already created for this Event Specie
+ if ( ! GetHitsData(0) )
+ InitHits() ;
+
Int_t ntracks = (Int_t) hitTree->GetEntries();
if (ntracks<=0) return;
// Start loop on tracks in the hits containers
for (Int_t track=0; track<ntracks;track++) {
branch->GetEntry(track);
- GetHitsData(0)->Fill(hits->GetEntriesFast()) ; // fills Hit multiplicity
- Int_t nhits = hits->GetEntriesFast();
+ Int_t nhits = fHitsArray->GetEntriesFast();
+ FillHitsData(0,nhits) ; // fills Hit multiplicity
for (Int_t ihit=0;ihit<nhits;ihit++)
{
- AliVZEROhit * VZEROHit = (AliVZEROhit*) hits->UncheckedAt(ihit);
+ AliVZEROhit * VZEROHit = (AliVZEROhit*) fHitsArray->UncheckedAt(ihit);
if (!VZEROHit) {
AliError("The unchecked hit doesn't exist");
break;
}
- GetHitsData(1)->Fill(VZEROHit->Cell());
+ FillHitsData(1,VZEROHit->Cell());
}
}
}
+ //
+ IncEvCountCycleHits();
+ IncEvCountTotalHits();
+ //
}
//____________________________________________________________________________
-void AliVZEROQADataMakerSim::MakeDigits(TClonesArray * digits)
+void AliVZEROQADataMakerSim::MakeDigits()
{
// makes data from Digits
- GetDigitsData(0)->Fill(digits->GetEntriesFast()) ;
- TIter next(digits) ;
+ FillDigitsData(0,fDigitsArray->GetEntriesFast()) ;
+ TIter next(fDigitsArray) ;
AliVZEROdigit *VZERODigit ;
while ( (VZERODigit = dynamic_cast<AliVZEROdigit *>(next())) ) {
Int_t PMNumber = VZERODigit->PMNumber();
- GetDigitsData(PMNumber +1)->Fill( VZERODigit->Time()) ; // in 100 of picoseconds
- GetDigitsData(PMNumber +1+64)->Fill( VZERODigit->ADC()) ;
+ FillDigitsData(PMNumber +1, VZERODigit->Time()) ; // in 100 of picoseconds
+ FillDigitsData(PMNumber +1+64, VZERODigit->ADC()) ;
}
}
{
// makes data from Digit Tree
- TClonesArray * digits = new TClonesArray("AliVZEROdigit", 1000) ;
+ if (fDigitsArray)
+ fDigitsArray->Clear() ;
+ else
+ fDigitsArray = new TClonesArray("AliVZEROdigit", 1000) ;
TBranch * branch = digitTree->GetBranch("VZERODigit") ;
if ( ! branch ) {
AliWarning("VZERO branch in Digit Tree not found") ;
} else {
- branch->SetAddress(&digits) ;
+ branch->SetAddress(&fDigitsArray) ;
branch->GetEntry(0) ;
- MakeDigits(digits) ;
+ MakeDigits() ;
}
+ //
+ IncEvCountCycleDigits();
+ IncEvCountTotalDigits();
+ //
}