// --- ROOT system ---
#include <TClonesArray.h>
#include <TFile.h>
-#include <TH1D.h>
-#include <TH2D.h>
-#include <TH3D.h>
+#include <TH1F.h>
+#include <TH2F.h>
+#include <TH3F.h>
#include <TProfile.h>
#include <TF1.h>
#include <TCanvas.h>
//
// Detector specific actions at end of cycle
//
-
+ ResetEventTrigClasses();
//AliDebug(AliQAv1::GetQADebugLevel(), Form("EndOfCycle", "Fitting RecPoints %d", task));
// call the checker
const Bool_t image = kTRUE ;
const Int_t kNhist = 4;
- TH1D *hist[kNhist];
+ TH1F *hist[kNhist];
- hist[0] = new TH1D("qaTRD_hits_det", "TRD hits det;Detector Id of the hit;Counts", 540, -0.5, 539.5) ;
+ hist[0] = new TH1F("qaTRD_hits_det", "TRD hits det;Detector Id of the hit;Counts", 540, -0.5, 539.5) ;
- hist[1] = new TH1D("qaTRD_hist_Qdrift", "TRD hits Qdrift;Charge from tracks;Counts", 100, 0, 100);
- hist[2] = new TH1D("qaTRD_hist_Qamp", "TRD hits Qamp;Charge from TRD photon;Counts", 100, 0, 100);
- hist[3] = new TH1D("qaTRD_hist_Qphoton", "TRD hits Qphoton;Charge from TRD photon;Counts", 100, 0, 100);
+ hist[1] = new TH1F("qaTRD_hist_Qdrift", "TRD hits Qdrift;Charge from tracks;Counts", 100, 0, 100);
+ hist[2] = new TH1F("qaTRD_hist_Qamp", "TRD hits Qamp;Charge from TRD photon;Counts", 100, 0, 100);
+ hist[3] = new TH1F("qaTRD_hist_Qphoton", "TRD hits Qphoton;Charge from TRD photon;Counts", 100, 0, 100);
for(Int_t i=0; i<kNhist; i++) {
//hist[i]->Sumw2();
Add2HitsList(hist[i], i, !expert, image);
}
-
+ //
+ ClonePerTrigClass(AliQAv1::kHITS); // this should be the last line
}
//____________________________________________________________________________
const Bool_t image = kTRUE ;
const Int_t kNhist = 3;
- TH1D *hist[kNhist];
+ TH1F *hist[kNhist];
- hist[0] = new TH1D("qaTRD_digits_det", "TRD digits det;Detector Id of the digit;Counts", 540, -0.5, 539.5);
- hist[1] = new TH1D("qaTRD_digits_time", "TRDdigits time;Time bin;Counts", 40, -0.5, 39.5);
- hist[2] = new TH1D("qaTRD_digits_amp", "TRD digits amp;Amplitude;Counts", 100, -5.5, 94.5);
+ hist[0] = new TH1F("qaTRD_digits_det", "TRD digits det;Detector Id of the digit;Counts", 540, -0.5, 539.5);
+ hist[1] = new TH1F("qaTRD_digits_time", "TRDdigits time;Time bin;Counts", 40, -0.5, 39.5);
+ hist[2] = new TH1F("qaTRD_digits_amp", "TRD digits amp;Amplitude;Counts", 100, -5.5, 94.5);
for(Int_t i=0; i<kNhist; i++) {
hist[i]->Sumw2();
Add2DigitsList(hist[i], i, !expert, image);
}
-
+ //
+ ClonePerTrigClass(AliQAv1::kDIGITS); // this should be the last line
}
//____________________________________________________________________________
const Bool_t image = kTRUE ;
const Int_t kNhist = 3;
- TH1D *hist[kNhist];
+ TH1F *hist[kNhist];
- hist[0] = new TH1D("qaTRD_sdigits_det", "TRD sdigits det;Detector Id of the digit;Counts", 540, -0.5, 539.5);
- hist[1] = new TH1D("qaTRD_sdigits_time", "TRD sdigits time;Time bin;Counts", 40, -0.5, 39.5);
- hist[2] = new TH1D("qaTRD_sdigits_amp", "TRD sdigits amp;Amplitude;Counts", 100, 0, 1e7);
+ hist[0] = new TH1F("qaTRD_sdigits_det", "TRD sdigits det;Detector Id of the digit;Counts", 540, -0.5, 539.5);
+ hist[1] = new TH1F("qaTRD_sdigits_time", "TRD sdigits time;Time bin;Counts", 40, -0.5, 39.5);
+ hist[2] = new TH1F("qaTRD_sdigits_amp", "TRD sdigits amp;Amplitude;Counts", 100, 0, 1e7);
for(Int_t i=0; i<kNhist; i++) {
hist[i]->Sumw2();
Add2SDigitsList(hist[i], i, !expert, image);
}
-
+ //
+ ClonePerTrigClass(AliQAv1::kSDIGITS); // this should be the last line
}
//____________________________________________________________________________
AliTRDhit * hit;
while ( (hit = dynamic_cast<AliTRDhit *>(next())) ) {
- GetHitsData(0)->Fill(hit->GetDetector());
+ FillHitsData(0,hit->GetDetector());
Double_t q = TMath::Abs(hit->GetCharge());
- if (hit->FromDrift()) GetHitsData(1)->Fill(q);
- if (hit->FromAmplification()) GetHitsData(2)->Fill(q);
- if (hit->FromTRphoton()) GetHitsData(3)->Fill(q);
+ if (hit->FromDrift()) FillHitsData(1,q);
+ if (hit->FromAmplification()) FillHitsData(2,q);
+ if (hit->FromTRphoton()) FillHitsData(3,q);
}
-
}
//____________________________________________________________________________
else
fHitsArray = new TClonesArray("AliTRDhit", nhits+1000);
- Int_t index = 0;
+ //Int_t index = 0;
Int_t nEntries = (Int_t)branch->GetEntries();
for(Int_t i = 0; i < nEntries; i++) {
branch->GetEntry(i);
MakeHits();
fHitsArray->Clear() ;
}
+ //
+ IncEvCountCycleHits();
+ IncEvCountTotalHits();
+ //
}
//____________________________________________________________________________
while ( (digit = dynamic_cast<AliTRDdigit *>(next())) ) {
if (digit->GetAmp() < 1) continue;
- GetDigitsData(0)->Fill(digit->GetDetector());
- GetDigitsData(1)->Fill(digit->GetTime());
- GetDigitsData(2)->Fill(digit->GetAmp());
+ FillDigitsData(0,digit->GetDetector());
+ FillDigitsData(1,digit->GetTime());
+ FillDigitsData(2,digit->GetAmp());
}
}
AliTRDdigitsManager *digitsManager = new AliTRDdigitsManager();
digitsManager->CreateArrays();
digitsManager->ReadDigits(digits);
-
- TH1D *histDet = (TH1D*)GetDigitsData(0);
- TH1D *histTime = (TH1D*)GetDigitsData(1);
- TH1D *histSignal = (TH1D*)GetDigitsData(2);
+ static TObjArray histDet,histTime,histSignal;
+ //
+ GetMatchingDigitsData(0,&histDet);
+ GetMatchingDigitsData(1,&histTime);
+ GetMatchingDigitsData(2,&histSignal);
for (Int_t i = 0; i < AliTRDgeometry::kNdet; i++)
{
{
Float_t signal = digitsIn->GetData(row,col,time);
if (signal < 1) continue;
- histDet->Fill(i);
- histTime->Fill(time);
- histSignal->Fill(signal);
+ for (int ih=histDet.GetEntriesFast();ih--;) ((TH1*)histDet.UncheckedAt(ih))->Fill(i);
+ for (int ih=histTime.GetEntriesFast();ih--;) ((TH1*)histTime.UncheckedAt(ih))->Fill(time);
+ for (int ih=histSignal.GetEntriesFast();ih--;) ((TH1*)histSignal.UncheckedAt(ih))->Fill(signal);
}
//delete digitsIn;
}
delete digitsManager;
+ //
+ IncEvCountCycleDigits();
+ IncEvCountTotalDigits();
+ //
}
//____________________________________________________________________________
TIter next(fSDigitsArray) ;
AliTRDdigit * digit ;
while ( (digit = dynamic_cast<AliTRDdigit *>(next())) ) {
- GetDigitsData(0)->Fill(digit->GetDetector());
- GetDigitsData(1)->Fill(digit->GetTime());
- GetDigitsData(2)->Fill(digit->GetAmp());
+ FillDigitsData(0,digit->GetDetector());
+ FillDigitsData(1,digit->GetTime());
+ FillDigitsData(2,digit->GetAmp());
}
}
digitsManager->CreateArrays();
digitsManager->ReadDigits(digits);
- TH1D *histDet = (TH1D*)GetSDigitsData(0);
- TH1D *histTime = (TH1D*)GetSDigitsData(1);
- TH1D *histSignal = (TH1D*)GetSDigitsData(2);
+ static TObjArray histDet,histTime,histSignal;
+ //
+ GetMatchingSDigitsData(0,&histDet);
+ GetMatchingSDigitsData(1,&histTime);
+ GetMatchingSDigitsData(2,&histSignal);
for (Int_t i = 0; i < AliTRDgeometry::kNdet; i++)
{
{
Float_t signal = digitsIn->GetData(row,col,time);
if (signal < 1) continue;
- histDet->Fill(i);
- histTime->Fill(time);
- histSignal->Fill(signal);
+ for (int ih=histDet.GetEntriesFast();ih--;) ((TH1*)histDet.UncheckedAt(ih))->Fill(i);
+ for (int ih=histTime.GetEntriesFast();ih--;) ((TH1*)histTime.UncheckedAt(ih))->Fill(time);
+ for (int ih=histSignal.GetEntriesFast();ih--;) ((TH1*)histSignal.UncheckedAt(ih))->Fill(signal);
}
}
}
// delete digitsIn;
}
delete digitsManager;
+ //
+ IncEvCountCycleSDigits();
+ IncEvCountTotalSDigits();
+ //
}
//____________________________________________________________________________