//____________________________________________________________________________
AliZDCQADataMaker::AliZDCQADataMaker() :
- AliQADataMaker(AliQA::GetDetName(AliQA::kZDC), "ZDC Quality Assurance Data Maker")
+ AliQADataMaker(AliQA::GetDetName(AliQA::kZDC), "ZDC Quality Assurance Data Maker"),
+ fHits("AliZDCHit", 1000),
+ fDigits("AliZDCDigit", 1000)
+
{
// ctor
}
//____________________________________________________________________________
AliZDCQADataMaker::AliZDCQADataMaker(const AliZDCQADataMaker& qadm) :
- AliQADataMaker()
+ AliQADataMaker(),
+ fHits("AliZDCHit", 1000),
+ fDigits("AliZDCDigit", 1000)
+
{
//copy ctor
SetName((const char*)qadm.GetName());
Add2ESDsList(hESDPMCZPAlg, 25);
}
+
//____________________________________________________________________________
-void AliZDCQADataMaker::MakeHits(TClonesArray * data)
+void AliZDCQADataMakerSim::MakeHits(TClonesArray */*data*/)
{
//filling QA histos for Hits
//
- TClonesArray * hits = dynamic_cast<TClonesArray *>(data);
- if(!hits){
- AliError("Wrong type of hits container");
- }
- else {
- TIter next(hits);
- AliZDCHit * hit;
- while((hit = dynamic_cast<AliZDCHit *>(next()))){
- if(hit->GetVolume(0)==1) GetHitsData(0)->Fill(hit->GetXImpact(),hit->GetYImpact());
- else if(hit->GetVolume(0)==2) GetHitsData(1)->Fill(hit->GetXImpact(), hit->GetYImpact());
- else if(hit->GetVolume(0)==4) GetHitsData(2)->Fill(hit->GetXImpact(), hit->GetYImpact());
- else if(hit->GetVolume(0)==5) GetHitsData(3)->Fill(hit->GetXImpact(), hit->GetYImpact());
- }
- }
+ TIter next(&fHits);
+ AliZDCHit * hit;
+ while((hit = dynamic_cast<AliZDCHit *>(next()))){
+ if(hit->GetVolume(0)==1) GetHitsData(0)->Fill(hit->GetXImpact(),hit->GetYImpact());
+ else if(hit->GetVolume(0)==2) GetHitsData(1)->Fill(hit->GetXImpact(), hit->GetYImpact());
+ else if(hit->GetVolume(0)==4) GetHitsData(2)->Fill(hit->GetXImpact(), hit->GetYImpact());
+ else if(hit->GetVolume(0)==5) GetHitsData(3)->Fill(hit->GetXImpact(), hit->GetYImpact());
+ }
}
+
//___________________________________________________________________________
void AliZDCQADataMakerSim::MakeHits(TTree * hitTree)
{
return;
}
else{
- //
- TClonesArray * hits = new TClonesArray("AliZDCHit", 1000);
- //
Int_t ntracks = (Int_t) hitTree->GetEntries();
+ //printf("\n\t *** no.track %d\n",ntracks);
if (ntracks<=0) return;
//
for(Int_t itrack=0; itrack<ntracks; itrack++){
- branch->SetAddress(&hits) ;
+ fHits = new TClonesArray("AliZDCHit", 1000);
+ //
+ branch->SetAddress(&fHits) ;
branch->GetEntry(itrack);
//
- MakeHits(hits);
+ //printf("\t *** track %d",itrack);
+ //hits->Print("");
+ //printf("\n");
+ //
+ MakeHits(fHits);
+ fHits->Clear();
}
}
}
//____________________________________________________________________________
-void AliZDCQADataMakerSim::MakeDigits(TClonesArray * digits)
+void AliZDCQADataMakerSim::MakeDigits(TClonesArray * /*digits*/)
{
// makes data from Digits
//
Float_t ADCSum_ZNC_lg=0., ADCSum_ZNA_lg=0., ADCSum_ZPC_lg=0., ADCSum_ZPA_lg=0.;
Float_t ADCSumQ_ZNC_lg=0., ADCSumQ_ZNA_lg=0., ADCSumQ_ZPC_lg=0., ADCSumQ_ZPA_lg=0.;
//
+ while((digit = dynamic_cast<AliZDCDigit *>(next()))){
+ if(digit->GetSector(0)==1){
+ ADCSum_ZNC += digit->GetADCValue(0);
+ ADCSum_ZNC_lg += digit->GetADCValue(1);
+ //
+ if(digit->GetSector(1)!=0){
+ ADCSumQ_ZNC += digit->GetADCValue(0);
+ ADCSumQ_ZNC_lg+= digit->GetADCValue(1);
+ }
+ else{
+ GetDigitsData(8)->Fill(digit->GetADCValue(0));
+ GetDigitsData(20)->Fill(digit->GetADCValue(1));
+ }
+ }
+ else if(digit->GetSector(0)==2){
+ ADCSum_ZPC += digit->GetADCValue(0);
+ ADCSum_ZPC_lg += digit->GetADCValue(1);
+ //
+ if(digit->GetSector(1)!=0){
+ ADCSumQ_ZPC += digit->GetADCValue(0);
+ ADCSumQ_ZPC_lg+= digit->GetADCValue(1);
+ }
+ else{
+ GetDigitsData(9)->Fill(digit->GetADCValue(0));
+ GetDigitsData(21)->Fill(digit->GetADCValue(1));
+ }
+ }
+ else if(digit->GetSector(0)==4){
+ ADCSum_ZNA += digit->GetADCValue(0);
+ ADCSum_ZNA_lg += digit->GetADCValue(1);
+ //
+ if(digit->GetSector(1)!=0){
+ ADCSumQ_ZNA += digit->GetADCValue(0);
+ ADCSumQ_ZNA_lg+= digit->GetADCValue(1);
+ }
+ else{
+ GetDigitsData(10)->Fill(digit->GetADCValue(0));
+ GetDigitsData(22)->Fill(digit->GetADCValue(1));
+ }
+ }
+ else if(digit->GetSector(0)==5){
+ ADCSum_ZPA += digit->GetADCValue(0);
+ ADCSum_ZPA_lg += digit->GetADCValue(1);
+ //
+ if(digit->GetSector(1)!=0){
+ ADCSumQ_ZPA += digit->GetADCValue(0);
+ ADCSumQ_ZPA_lg+= digit->GetADCValue(1);
+ }
+ else{
+ GetDigitsData(11)->Fill(digit->GetADCValue(0));
+ GetDigitsData(23)->Fill(digit->GetADCValue(1));
+ }
+ }
+ }
//
GetDigitsData(0)->Fill(ADCSum_ZNC);
GetDigitsData(1)->Fill(ADCSum_ZPC);
void AliZDCQADataMakerSim::MakeDigits(TTree *digitTree )
{
// makes data from Digit Tree
- TClonesArray * digits = new TClonesArray("AliZDCDigit", 1000);
- //
TBranch * branch = digitTree->GetBranch("ZDC");
if(!branch){
AliError("ZDC branch in Digit Tree not found");
return;
}
- branch->SetAddress(&digits) ;
- branch->GetEntry(0) ;
- MakeDigits(digits) ;
+ branch->SetAddress(&fDigits);
+ branch->GetEntry(0);
+ MakeDigits(fDigits);
+ fDigits->Clear();
}
//____________________________________________________________________________