delete fTriggerClasses;
// For proof: do not delete output containers
- if ( ! AliAnalysisManager::GetAnalysisManager()->IsProofMode() ) {
- delete fCFManager->GetParticleContainer(); // The container is not deleted by framework
+ if ( ! AliAnalysisManager::GetAnalysisManager() || ! AliAnalysisManager::GetAnalysisManager()->IsProofMode() ) {
+ // In terminate mode fCFManager does not exist!
+ // So, check before deleting
+ if ( fCFManager )
+ delete fCFManager->GetParticleContainer(); // The container is not deleted by framework
delete fCFManager;
delete fHistoList;
delete fHistoListMC;
TH2* hStat = dynamic_cast<TH2*>(inputHandler->GetStatistics(statType.Data()));
if ( hStat ) {
histoName = Form("%s_SingleMuon", hStat->GetName());
- TH2* cloneStat = dynamic_cast<TH2*>(hStat->Clone(histoName.Data()));
+ TH2* cloneStat = static_cast<TH2*>(hStat->Clone(histoName.Data()));
cloneStat->SetDirectory(0);
fHistoList->Add(cloneStat);
}
fNbrUsableTracks = 0;
- for (Int_t iCluster = 0; iCluster<fgkNCh; ++iCluster)
- fNbrClustersCh[iCluster] = 0;
-
- for (Int_t i=0; i<fgkNCh; ++i)
- fTrackFilter[i] = 0;
+ memset(fNbrClustersCh,0, fgkNCh*sizeof(Int_t));
+ memset(fTrackFilter, 0, fgkNCh*sizeof(Int_t));
}
//_____________________________________________________________________________
cfVtxHF->SetNVar(fNvar);
if (fCentralitySelection)
- if(fCuts->IsEventSelectedInCentrality(aodEvent)!=0) return;
+ if(fCuts->IsEventSelectedInCentrality(aodEvent)!=0) {
+ delete[] containerInput;
+ delete[] containerInputMC;
+ delete [] trackCuts;
+ return;
+ }
Float_t centValue = fCuts->GetCentrality(aodEvent);
cfVtxHF->SetCentralityValue(centValue);
* provided "as is" without express or implied warranty. *
**************************************************************************/
+// $Id$
+
//-----------------------------------------------------------------------
// Class for HF corrections as a function of many variables and step
// Author : C. Zampolli, CERN
fCentValue=c.fCentValue;
if (fProngs > 0){
fLabelArray = new Int_t[fProngs];
+ fPtAccCut = new Float_t[fProngs];
+ fEtaAccCut = new Float_t[fProngs];
for(Int_t iP=0; iP<fProngs; iP++){
fLabelArray[iP]=c.fLabelArray[iP];
fPtAccCut[iP]=c.fPtAccCut[iP];
//
if (fProngs > 0){
fLabelArray = new Int_t[fProngs];
+ fPtAccCut = new Float_t[fProngs];
+ fEtaAccCut = new Float_t[fProngs];
if (c.fLabelArray) memcpy(fLabelArray,c.fLabelArray,fProngs*sizeof(Int_t));
if (c.fPtAccCut) memcpy(fPtAccCut,c.fPtAccCut,fProngs*sizeof(Int_t));
if (c.fEtaAccCut) memcpy(fEtaAccCut,c.fEtaAccCut,fProngs*sizeof(Int_t));
for(Int_t iDau=0; iDau<fProngs-1; iDau++){
Int_t iLabelDau = labelFirstDau+iDau;
AliAODMCParticle* part = dynamic_cast<AliAODMCParticle*>(fmcArray->At(iLabelDau));
+ if ( ! part ) {
+ AliError("Wrong particle type in fmcArray");
+ delete [] fLabelArray;
+ fLabelArray = 0x0;
+ return bLabelArray;
+ }
Int_t pdgCode=TMath::Abs(part->GetPdgCode());
if(pdgCode==211 || pdgCode==321 || pdgCode==2212){
if (part) {
Bool_t FillUnfoldingMatrix(Double_t fill[4]) const;
void SetNProngs(Int_t nProngs){fProngs = nProngs;}
- const Int_t GetNProngs() const {return fProngs;}
+ Int_t GetNProngs() const {return fProngs;}
void SetDselection(UShort_t originDselection);
UShort_t GetDselection() {return fOriginDselection;};
Int_t CheckReflexion(Char_t isSign);