arrayProng=(TClonesArray*)aodFromExt->GetList()->FindObject("Dstar");
pdg=413;
if(fReadMC){
+ pdgdaughters =new Int_t[3];
pdgdaughters[1]=211;//pi
pdgdaughters[0]=321;//K
pdgdaughters[2]=211;//pi (soft?)
mcArray = (TClonesArray*)aod->GetList()->FindObject(AliAODMCParticle::StdBranchName());
if(!mcArray) {
printf("AliAnalysisTaskSEHFQA::UserExec: MC particles branch not found!\n");
+ delete [] pdgdaughters;
return;
}
mcHeader = (AliAODMCHeader*)aod->GetList()->FindObject(AliAODMCHeader::StdBranchName());
if(!mcHeader) {
printf("AliAnalysisTaskSEHFQA::UserExec: MC header branch not found!\n");
+ delete [] pdgdaughters;
return;
}
}
- if(!aod) return;
+ if(!aod) {delete [] pdgdaughters;return;}
// fix for temporary bug in ESDfilter
// the AODs with null vertex pointer didn't pass the PhysSel
- if(!aod->GetPrimaryVertex() || TMath::Abs(aod->GetMagneticField())<0.001) return;
+ if(!aod->GetPrimaryVertex() || TMath::Abs(aod->GetMagneticField())<0.001) { delete [] pdgdaughters;return;}
// count event
fNEntries->Fill(0);
if(!fCuts->IsEventSelected(aod)) {
// rejected for pileup
if(fCuts->GetWhyRejection()==1) fNEntries->Fill(1);
+ delete [] pdgdaughters;
return;
}
} //end loop on tracks in the candidate
} //end loop on candidates
}
+
+ delete [] pdgdaughters;
PostData(1,fNEntries);
PostData(2,fOutputPID);
PostData(3,fOutputTrack);
TString trigclass=aod->GetFiredTriggerClasses();
if(trigclass.Contains("C0SMH-B-NOPF-ALLNOTRD") || trigclass.Contains("C0SMH-B-NOPF-ALL")) fHistNEvents->Fill(5);
- if(fRDCuts->IsEventSelected(aod)) fHistNEvents->Fill(1);
- else{
+ if(fRDCuts->IsEventSelected(aod)) {
+ fHistNEvents->Fill(1);
+ }else{
if(fRDCuts->GetWhyRejection()==1) // rejected for pileup
fHistNEvents->Fill(4);
+ delete [] pdgdaughters;
return;
}
if(addresses[ivals]>=((AliMultiDimVector*)fCutList->FindObject(mdvname.Data()))->GetNTotCells()){
if (fDebug>1) printf("Overflow!!\n");
delete [] addresses;
+ delete [] pdgdaughters;
return;
}
TH1D * hEfficiency = new TH1D(name," acceptance #times efficiency",nbins,limits);
- Double_t sumSimu[nbins], sumReco[nbins];
+ Double_t *sumSimu=new Double_t[nbins];
+ Double_t *sumReco=new Double_t[nbins];
for (Int_t ibin=0; ibin<nbins; ibin++){
sumSimu[ibin]=0.; sumReco[ibin]=0.;
}
hEfficiency->SetBinError(ibinrec+1,erreff);
}
+ delete [] sumSimu;
+ delete [] sumReco;
+
return (TH1D*)hEfficiency;
}