ClassImp(AliACORDEQADataMakerRec)
//____________________________________________________________________________
-AliACORDEQADataMakerRec::AliACORDEQADataMakerRec():AliQADataMakerRec(AliQA::GetDetName(AliQA::kACORDE), "ACORDE Quality Assurance Data Maker")
+AliACORDEQADataMakerRec::AliACORDEQADataMakerRec():AliQADataMakerRec(AliQAv1::GetDetName(AliQAv1::kACORDE), "ACORDE Quality Assurance Data Maker")
{
}
return *this;
}
//____________________________________________________________________________
-void AliACORDEQADataMakerRec::EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray * list)
+void AliACORDEQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list)
{
//Detector specific actions at end of cycle
// do the QA checking
- AliQAChecker::Instance()->Run(AliQA::kACORDE, task, list) ;
+ AliQAChecker::Instance()->Run(AliQAv1::kACORDE, task, list) ;
}
//____________________________________________________________________________
{
// create Raw histograms in Raw subdir
-TH1D *fhACORDEBitPattern[4];
-fhACORDEBitPattern[0] = new TH1D("ACORDERawDataSM","ACORDE-SingleMuon",60,1,60);//AcordeSingleMuon BitPattern
-fhACORDEBitPattern[1] = new TH1D("ACORDERawDataMM","ACORDE-MultiMuon",60,1,60);//AcordeMultiMuon BitPattern
-fhACORDEBitPattern[2] = new TH1D("ACORDERawDataSMM","ACORDE-SingleMuonMultiplicity",60,1,60);//AcordeSingleMuon Multiplicity
-fhACORDEBitPattern[3] = new TH1D("ACORDERawDataMMM","ACORDE-MultiMuonMultiplicity",60,1,60);//AcordeMultiMuon Multiplicity
-for(Int_t i=0;i<4;i++)
-{
- Add2RawsList(fhACORDEBitPattern[i],i,kFALSE);
+ const Bool_t expert = kTRUE ;
+ const Bool_t saveCorr = kTRUE ;
+ const Bool_t image = kTRUE ;
+
+ TH1D *fhACORDEBitPattern[4];
+ fhACORDEBitPattern[0] = new TH1D("ACORDERawDataSM","ACORDE-SingleMuon;Bit Pattern;Counts",60,1,60);//AcordeSingleMuon BitPattern
+ fhACORDEBitPattern[1] = new TH1D("ACORDERawDataMM","ACORDE-MultiMuon;Bit Pattern;Counts",60,1,60);//AcordeMultiMuon BitPattern
+ fhACORDEBitPattern[2] = new TH1D("ACORDERawDataSMM","ACORDE-SingleMuonMultiplicity;Multiplicity;Counts",60,1,60);//AcordeSingleMuon Multiplicity
+ fhACORDEBitPattern[3] = new TH1D("ACORDERawDataMMM","ACORDE-MultiMuonMultiplicity;Multiplicity;Counts",60,1,60);//AcordeMultiMuon Multiplicity
+ for(Int_t i=0;i<4;i++)
+ Add2RawsList(fhACORDEBitPattern[i],i,!expert, image, !saveCorr);
}
+//____________________________________________________________________________
+void AliACORDEQADataMakerRec::InitDigits()
+{
+ // create Digits histograms in Digits subdir
+
+ const Bool_t expert = kTRUE ;
+ const Bool_t image = kTRUE ;
+ TH1F * fhDigitsModule;
+ TString modulename;
+ modulename = "hDigitsModule";
+ fhDigitsModule = new TH1F(modulename.Data(),"hDigitsModuleSingle;# of modules;Counts",60,0,60);
+ Add2DigitsList(fhDigitsModule,0,!expert,image);
+
}
+
//____________________________________________________________________________
void AliACORDEQADataMakerRec::InitRecPoints()
// create cluster histograms in RecPoint subdir
// Not needed for ACORDE by now !!!
}
+
//____________________________________________________________________________
void AliACORDEQADataMakerRec::InitESDs()
{
//create ESDs histograms in ESDs subdir
- TH1F * fhESDsSingle;
- TH1F * fhESDsMulti;
+ const Bool_t expert = kTRUE ;
+ const Bool_t image = kTRUE ;
+
+ TH1F * fhESDsSingle;
+ TH1F * fhESDsMulti;
TString name;
name = "hESDsSingle";
- fhESDsSingle = new TH1F(name.Data(),"hESDsSingle",60,0,60);
- Add2ESDsList(fhESDsSingle,0,kFALSE);
+ fhESDsSingle = new TH1F(name.Data(),"hESDsSingle;??;??",60,0,60);
+ Add2ESDsList(fhESDsSingle,0,!expert,image);
name = "hESDsMulti";
- fhESDsMulti = new TH1F(name.Data(),"hESDsMulti",60,0,60);
- Add2ESDsList(fhESDsMulti,1,kFALSE);
+ fhESDsMulti = new TH1F(name.Data(),"hESDsMulti;??;??",60,0,60);
+ Add2ESDsList(fhESDsMulti,1,!expert,image);
}
//____________________________________________________________________________
void AliACORDEQADataMakerRec::MakeRaws(AliRawReader* rawReader)
{
//fills QA histos for RAW
+
rawReader->Reset();
AliACORDERawStream rawStream(rawReader);
size_t contSingle=0;
if(rawStream.Next())
{
- rawReader->NextEvent();
- rawStream.Reset();
dy[0]=rawStream.GetWord(0);
dy[1]=rawStream.GetWord(1);
dy[2]=rawStream.GetWord(2);
}
}
//____________________________________________________________________________
-void AliACORDEQADataMakerRec::MakeRecPoints(TTree * clustersTree)
+void AliACORDEQADataMakerRec::MakeDigits( TTree *digitsTree)
{
- //fills QA histos for clusters
- // Not needed for ACORDE by now !!!
+ //fills QA histos for Digits
+ if (fDigitsArray)
+ fDigitsArray->Clear() ;
+ else
+ fDigitsArray = new TClonesArray("AliACORDEdigit",1000);
+ TBranch * branch = digitsTree->GetBranch("ACORDEdigit");
+ if (!branch) {
+ AliWarning("ACORDE branch in Digits Tree not found");
+ } else {
+ branch->SetAddress(&fDigitsArray);
+ for(Int_t track = 0 ; track < branch->GetEntries() ; track++) {
+ branch->GetEntry(track);
+ for(Int_t idigit = 0 ; idigit < fDigitsArray->GetEntriesFast() ; idigit++) {
+ AliACORDEdigit *AcoDigit = (AliACORDEdigit*) fDigitsArray->UncheckedAt(idigit);
+ if (!AcoDigit) {
+ AliError("The unchecked digit doesn't exist");
+ continue ;
+ }
+ GetDigitsData(0)->Fill(AcoDigit->GetModule()-1);
+ }
+ }
+ }
}
+
//____________________________________________________________________________
void AliACORDEQADataMakerRec::MakeESDs(AliESDEvent * esd)
{
//fills QA histos for ESD
- AliESDACORDE * fESDACORDE= esd->GetACORDEData();
+ AliESDACORDE * fESDACORDE= esd->GetACORDEData();
Int_t *fACORDEMultiMuon =fESDACORDE->GetACORDEMultiMuon();
Int_t *fACORDESingleMuon=fESDACORDE->GetACORDESingleMuon();
if(fACORDEMultiMuon[i]==1)
GetESDsData(1) -> Fill(i);
}
-
-
-
-
}