From 09d5920fcfc6bd42b5941c9dbeb76e00be842cd5 Mon Sep 17 00:00:00 2001 From: svnbits Date: Tue, 22 Jan 2013 18:22:50 +0000 Subject: [PATCH] Always delete TObjArrays created by TString::Tokenize (Ruben) --- ANALYSIS/AliAnalysisAlien.cxx | 4 ++- ANALYSIS/AliAnalysisTaskSE.cxx | 1 + ANALYSIS/AliHEPDataParser.cxx | 3 +- ANALYSIS/AliXMLCollection.cxx | 1 + .../EventMixing/AliAnalysisTaskMixInfo.cxx | 1 + EVE/EveBase/AliEveEventSelectorWindow.cxx | 1 + EVE/EveDet/AliEveTRDLoader.cxx | 5 ++- FMD/AliFMDInput.cxx | 1 + MUON/AliMUONCDB.cxx | 3 +- MUON/AliMUONPainterDataSourceFrame.cxx | 2 ++ MUON/AliMUONTrackerIO.cxx | 1 + MUON/mapping/AliMpDDLStore.cxx | 12 ++++--- MUON/mapping/AliMpHelper.cxx | 1 + MUON/mapping/AliMpTriggerReader.cxx | 1 + OADB/AliOADBFillingScheme.cxx | 1 + PHOS/AliPHOSPreprocessor.cxx | 2 +- PWG/EMCAL/AliEsdSkimTask.cxx | 3 +- PWG/Tools/AliLatexTable.cxx | 3 +- PWG/muon/AliAnalysisTaskFlowSingleMu.cxx | 1 + PWG/muon/AliHistogramCollection.cxx | 4 ++- PWG/muondep/AliAnalysisMuMu.cxx | 3 ++ PWG/muondep/AliAnalysisTriggerScalers.cxx | 7 ++-- PWGCF/FEMTOSCOPY/UNICOR/AliUnicorHN.cxx | 1 + .../AliAnalysisTaskSingleParticle.cxx | 2 ++ PWGDQ/dielectron/AliDielectronHFhelper.cxx | 2 ++ PWGDQ/dielectron/AliDielectronVarManager.h | 4 ++- PWGHF/hfe/AliHFEcontainer.cxx | 1 + PWGLF/FORWARD/analysis2/AliAODForwardMult.cxx | 2 +- PWGLF/FORWARD/analysis2/AliBasedNdetaTask.cxx | 4 ++- PWGPP/TRD/AliTRDcheckESD.cxx | 11 +++++- RAW/AliRawReader.cxx | 4 +-- SHUTTLE/AliShuttleConfig.cxx | 2 +- STAT/TKDPDF.cxx | 1 + STAT/TStatToolkit.cxx | 32 ++++++++++++++--- STEER/CDB/AliBaseCalibViewer.cxx | 10 ++++-- STEER/ESD/AliTriggerConfiguration.cxx | 36 +++++++++++++++---- STEER/STEER/AliGRPPreprocessor.cxx | 1 + STEER/STEER/AliLHCReader.cxx | 9 ++--- STEER/STEER/AliSurveyObj.cxx | 29 ++++++--------- STEER/STEER/AliTriggerRunScalers.cxx | 2 ++ STEER/STEERBase/AliProdInfo.cxx | 2 +- TOF/AliTOFAnalysisTaskCalibPass0.cxx | 10 ++++++ TPC/AliTPCCalibCE.cxx | 1 + TPC/AliTPCCalibViewer.cxx | 20 ++++++++--- TPC/AliTPCPreprocessorOffline.cxx | 4 ++- TPC/AliTPCPreprocessorOnline.cxx | 1 + TPC/AliTPCcalibDB.cxx | 4 ++- TPC/AliTPCcalibDButil.cxx | 1 + TPC/AliTPCkalmanAlign.cxx | 13 +++++-- TPC/AliXRDPROOFtoolkit.cxx | 5 +++ TRD/AliTRDReconstructor.cxx | 1 + TRD/AliTRDgtuSim.cxx | 8 +++-- VZERO/AliVZEROCalibData.cxx | 2 ++ VZERO/AliVZEROTriggerData.cxx | 2 ++ 54 files changed, 217 insertions(+), 71 deletions(-) diff --git a/ANALYSIS/AliAnalysisAlien.cxx b/ANALYSIS/AliAnalysisAlien.cxx index 57b843b7f65..db948396e69 100644 --- a/ANALYSIS/AliAnalysisAlien.cxx +++ b/ANALYSIS/AliAnalysisAlien.cxx @@ -3006,11 +3006,13 @@ Bool_t AliAnalysisAlien::MergeOutputs() merged = MergeOutput(outputFile, fGridOutputDir, fMaxMergeFiles); if (!merged) { Error("MergeOutputs", "Terminate() will NOT be executed"); - return kFALSE; + delete list; + return kFALSE; } TFile *fileOpened = (TFile*)gROOT->GetListOfFiles()->FindObject(outputFile); if (fileOpened) fileOpened->Close(); } + delete list; return kTRUE; } diff --git a/ANALYSIS/AliAnalysisTaskSE.cxx b/ANALYSIS/AliAnalysisTaskSE.cxx index 497ffa79d8b..73d1690b3ac 100644 --- a/ANALYSIS/AliAnalysisTaskSE.cxx +++ b/ANALYSIS/AliAnalysisTaskSE.cxx @@ -814,6 +814,7 @@ void AliAnalysisTaskSE::LoadBranches() const TIter next(arr); TObject *obj; while ((obj=next())) mgr->LoadBranch(obj->GetName()); + delete arr; } diff --git a/ANALYSIS/AliHEPDataParser.cxx b/ANALYSIS/AliHEPDataParser.cxx index bcb4ae6751f..4d41a837338 100644 --- a/ANALYSIS/AliHEPDataParser.cxx +++ b/ANALYSIS/AliHEPDataParser.cxx @@ -76,7 +76,7 @@ AliHEPDataParser::AliHEPDataParser(const char * hepfileName): TObject(), fHistSt TObjString * syst = (TObjString*) tokens->At(4); stat->String().ReplaceAll("+-",""); if(syst) syst->String().ReplaceAll("+-",""); - if (!binMin->String().Atof()) continue; // skip headers + if (!binMin->String().Atof()) {delete tokens; continue;} // skip headers Float_t binCenter = (binMax->String().Atof() + binMin->String().Atof())/2; Float_t binWidth = (binMax->String().Atof() - binMin->String().Atof())/2; cout << line.Data() << endl;//<< " " << binMin->String().Atof() <<" " << binCenter << " " << binWidth << endl; @@ -95,6 +95,7 @@ AliHEPDataParser::AliHEPDataParser(const char * hepfileName): TObject(), fHistSt syst->String().Atof(), syst->String().Atof()); ipoints++; + delete tokens; } infile.close(); diff --git a/ANALYSIS/AliXMLCollection.cxx b/ANALYSIS/AliXMLCollection.cxx index 3a39bc92291..31fff3e252b 100644 --- a/ANALYSIS/AliXMLCollection.cxx +++ b/ANALYSIS/AliXMLCollection.cxx @@ -467,6 +467,7 @@ void AliXMLCollection::ParseXML() { TString stringevlist = oevlist->GetName(); TObjArray *evlist = stringevlist.Tokenize(","); for (Int_t n = 0; n < evlist->GetEntries(); n++) xmlevlist->Enter(atol(((TObjString *) evlist->At(n))->GetName())); + delete evlist; } attributes->Add(new TObjString("evlist"), xmlevlist); } diff --git a/ANALYSIS/EventMixing/AliAnalysisTaskMixInfo.cxx b/ANALYSIS/EventMixing/AliAnalysisTaskMixInfo.cxx index 2cfcd6460f9..1a20fe006f3 100644 --- a/ANALYSIS/EventMixing/AliAnalysisTaskMixInfo.cxx +++ b/ANALYSIS/EventMixing/AliAnalysisTaskMixInfo.cxx @@ -193,6 +193,7 @@ void AliAnalysisTaskMixInfo::SetDebugForAllClasses() AliLog::SetClassDebugLevel(strr.Data(), fLogType); AliDebug(AliLog::kDebug + 5, Form("Setting Debug level %d to %s ...", (Int_t)fLogType - AliLog::kDebug, strr.Data())); } + delete array; AliDebug(AliLog::kDebug + 10, "->"); } diff --git a/EVE/EveBase/AliEveEventSelectorWindow.cxx b/EVE/EveBase/AliEveEventSelectorWindow.cxx index 4a42f0ac052..e20b63dd42b 100644 --- a/EVE/EveBase/AliEveEventSelectorWindow.cxx +++ b/EVE/EveBase/AliEveEventSelectorWindow.cxx @@ -213,6 +213,7 @@ void AliEveEventSelectorWindow::SetupTriggerSelect() } fPComboBoxTrigger->Select(0, kTRUE); //set default no filtering and emit fPComboBoxTrigger->SetEnabled(kTRUE); + delete activetrgarr; } else { diff --git a/EVE/EveDet/AliEveTRDLoader.cxx b/EVE/EveDet/AliEveTRDLoader.cxx index b022787e5e2..d96a02d04bd 100644 --- a/EVE/EveDet/AliEveTRDLoader.cxx +++ b/EVE/EveDet/AliEveTRDLoader.cxx @@ -296,10 +296,12 @@ Bool_t AliEveTRDLoader::Open(const char *filename, const char *dir) if(((TObjString*)(*so)[0])->GetString().CompareTo("TRD") != 0){ AliError(Form("Filename %s do not fulfill AliRoot naming conventions.", filename)); + delete so; return kFALSE; } if(gSystem->AccessPathName(Form("%s/%s", dir, filename))){ AliError(Form("Missing file %s/%s", dir, filename)); + delete so; return kFALSE; } if(((TObjString*)(*so)[1])->GetString().CompareTo("Hits") == 0){ @@ -324,9 +326,10 @@ Bool_t AliEveTRDLoader::Open(const char *filename, const char *dir) } } else { AliError("Filename didn't fulfill naming conventions. No data will be loaded."); + delete so; return kFALSE; } - + delete so; SetDataLinked(); return kTRUE; } diff --git a/FMD/AliFMDInput.cxx b/FMD/AliFMDInput.cxx index 89dcc9006aa..49a60a43349 100644 --- a/FMD/AliFMDInput.cxx +++ b/FMD/AliFMDInput.cxx @@ -203,6 +203,7 @@ AliFMDInput::SetLoads(const char* what) ETrees type = ParseLoad(os->GetName()); AddLoad(type); } + delete ll; } diff --git a/MUON/AliMUONCDB.cxx b/MUON/AliMUONCDB.cxx index 69751988c6b..d99eba4b0fc 100644 --- a/MUON/AliMUONCDB.cxx +++ b/MUON/AliMUONCDB.cxx @@ -1883,7 +1883,7 @@ void AliMUONCDB::CheckHV(Int_t runNumber, Int_t verbose) TString name(static_cast(a->At(0))->String()); - if ( name.Contains("sw") || name.Contains("SUMMARY") ) continue; + if ( name.Contains("sw") || name.Contains("SUMMARY") ) {delete a; continue;} Int_t index = hvNamer.DCSIndexFromDCSAlias(name.Data()); @@ -1894,6 +1894,7 @@ void AliMUONCDB::CheckHV(Int_t runNumber, Int_t verbose) if (!de) { AliErrorGeneral("AliMUONCDB::CheckHV",Form("Could not get detElemId from dcsAlias %s",name.Data())); + delete a; continue; } diff --git a/MUON/AliMUONPainterDataSourceFrame.cxx b/MUON/AliMUONPainterDataSourceFrame.cxx index 6a2c8b24abb..bcbd7f3aaa5 100644 --- a/MUON/AliMUONPainterDataSourceFrame.cxx +++ b/MUON/AliMUONPainterDataSourceFrame.cxx @@ -689,6 +689,8 @@ AliMUONPainterDataSourceFrame::CreateRawDataSource(const TString& uri) emax = static_cast(a->At(7))->String(); } + delete a; + AliRawReader* rawReader = 0x0; if ( filename.Contains(TRegexp("^alien")) ) diff --git a/MUON/AliMUONTrackerIO.cxx b/MUON/AliMUONTrackerIO.cxx index f4dc3e23bd7..3e8b6fe75e1 100644 --- a/MUON/AliMUONTrackerIO.cxx +++ b/MUON/AliMUONTrackerIO.cxx @@ -321,6 +321,7 @@ AliMUONTrackerIO::DecodeGains(const char* data, AliMUONVStore& gainStore, runNumber = s.Atoi(); AliDebugClass(1,Form("runNumber is %d",runNumber)); } + delete a; } if ( sline.Contains("DAC values") ) { diff --git a/MUON/mapping/AliMpDDLStore.cxx b/MUON/mapping/AliMpDDLStore.cxx index d5c579f7f36..b5feea309c2 100644 --- a/MUON/mapping/AliMpDDLStore.cxx +++ b/MUON/mapping/AliMpDDLStore.cxx @@ -244,7 +244,8 @@ Bool_t AliMpDDLStore::ReadDDLs() if ( ! AliMpDEManager::IsValidDetElemId(idDE, false) ) { AliErrorStream() << "DetElemId "<< idDE << " not valid." << endl; - return false; + delete stringList; + return false; } TString busPatch = ((TObjString*)stringList->At(1))->GetString(); @@ -255,7 +256,8 @@ Bool_t AliMpDDLStore::ReadDDLs() if ( iDDL < 0 || iDDL >= fgkNofDDLs ) { AliErrorStream() << "DDL id "<< iDDL << " outside limits." << endl; - return false; + delete stringList; + return false; } AliDebugStream(3) @@ -527,7 +529,8 @@ Bool_t AliMpDDLStore::ReadBusPatchSpecial() AliMpBusPatch* busPatch = GetBusPatch(busPatchID); if ( ! busPatch ) { AliErrorStream() << "Bus patch " << busPatchID << " does not exist." << endl; - return kFALSE; + delete stringList; + return kFALSE; } if ( sKey == GetRevertKeyword() ) { @@ -555,7 +558,8 @@ Bool_t AliMpDDLStore::ReadBusPatchSpecial() } else { AliErrorStream() << "Unrecognized key." << endl; - return kFALSE; + delete stringList; + return kFALSE; } } } diff --git a/MUON/mapping/AliMpHelper.cxx b/MUON/mapping/AliMpHelper.cxx index 723d7f5594d..ebfa3ca16c1 100644 --- a/MUON/mapping/AliMpHelper.cxx +++ b/MUON/mapping/AliMpHelper.cxx @@ -77,6 +77,7 @@ AliMpHelper::Decode(const TString& s) m->Add(b->At(0),b->At(1)); } } + delete a; return m; } diff --git a/MUON/mapping/AliMpTriggerReader.cxx b/MUON/mapping/AliMpTriggerReader.cxx index 25d7a4fa84a..7e12c62b4a5 100644 --- a/MUON/mapping/AliMpTriggerReader.cxx +++ b/MUON/mapping/AliMpTriggerReader.cxx @@ -183,6 +183,7 @@ AliMpTriggerReader::BuildSlat(const char* slatName, { AliErrorClass(Form("Cannot read pcbType=%s",pcbName.Data())); delete slat; + delete tokens; return 0; } diff --git a/OADB/AliOADBFillingScheme.cxx b/OADB/AliOADBFillingScheme.cxx index a743c8b7479..1a61fb55b12 100644 --- a/OADB/AliOADBFillingScheme.cxx +++ b/OADB/AliOADBFillingScheme.cxx @@ -102,6 +102,7 @@ void AliOADBFillingScheme::Browse(TBrowser *b) } b->Add(folder); delete tokIter; + delete tokens; } delete mapIter; } diff --git a/PHOS/AliPHOSPreprocessor.cxx b/PHOS/AliPHOSPreprocessor.cxx index 78f4120f845..a11849edfb7 100644 --- a/PHOS/AliPHOSPreprocessor.cxx +++ b/PHOS/AliPHOSPreprocessor.cxx @@ -546,7 +546,7 @@ Bool_t AliPHOSPreprocessor::DoCalibrateEmc(Int_t system, TList* list, const AliP const Int_t md = ((TObjString*)tks->At(0))->GetString().Atoi(); const Int_t X = ((TObjString*)tks->At(1))->GetString().Atoi(); const Int_t Z = ((TObjString*)tks->At(2))->GetString().Atoi(); - + delete tks; if(badMap) { if(badMap->IsBadChannel(5-md,Z+1,X+1)) { AliInfo(Form("Cell mod=%d col=%d row=%d is bad. Histogram %s rejected.", diff --git a/PWG/EMCAL/AliEsdSkimTask.cxx b/PWG/EMCAL/AliEsdSkimTask.cxx index c3e9be75c29..cf66d98805d 100644 --- a/PWG/EMCAL/AliEsdSkimTask.cxx +++ b/PWG/EMCAL/AliEsdSkimTask.cxx @@ -295,7 +295,8 @@ void AliEsdSkimTask::UserExec(Option_t */*opt*/) TClonesArray *arrin = dynamic_cast(objsin->FindObject(cname)); if (!arrin) { AliFatal(Form("Can not find input clusters with name %s", cname.Data())); - return; + delete namearr; + return; } TClonesArray *arrout = dynamic_cast(objsout->FindObject(cname)); if (!arrout) { diff --git a/PWG/Tools/AliLatexTable.cxx b/PWG/Tools/AliLatexTable.cxx index 9c6b691d119..3861a5b3b28 100644 --- a/PWG/Tools/AliLatexTable.cxx +++ b/PWG/Tools/AliLatexTable.cxx @@ -341,7 +341,7 @@ Int_t * AliLatexTable::GetColWidths() { Int_t w = ((TObjString *) cols->At(icol))->String().Length(); if (w>col_widths[icol]) col_widths[icol] = w; } - + delete cols; } return col_widths; @@ -397,6 +397,7 @@ void AliLatexTable::PrintTable(Option_t * opt){ } printf ("\n"); + delete cols; } delete [] colWidths; diff --git a/PWG/muon/AliAnalysisTaskFlowSingleMu.cxx b/PWG/muon/AliAnalysisTaskFlowSingleMu.cxx index cecefe58714..5de1f4cc42f 100644 --- a/PWG/muon/AliAnalysisTaskFlowSingleMu.cxx +++ b/PWG/muon/AliAnalysisTaskFlowSingleMu.cxx @@ -961,6 +961,7 @@ void AliAnalysisTaskFlowSingleMu::Terminate(Option_t *) { } // loop on track sources } // loop on steps + delete centralityClasses; ////////////////////// // Event statistics // diff --git a/PWG/muon/AliHistogramCollection.cxx b/PWG/muon/AliHistogramCollection.cxx index 4e353092501..a37a5e137c2 100644 --- a/PWG/muon/AliHistogramCollection.cxx +++ b/PWG/muon/AliHistogramCollection.cxx @@ -377,7 +377,9 @@ AliHistogramCollection::Histo(const char* sidentifier) const action = static_cast(a->At(1))->String(); action.ToUpper(); } - + + delete a; + Int_t nslashes = identifier.CountChar('/'); TH1* h(0x0); diff --git a/PWG/muondep/AliAnalysisMuMu.cxx b/PWG/muondep/AliAnalysisMuMu.cxx index 16eead9022b..a3a7648c50b 100644 --- a/PWG/muondep/AliAnalysisMuMu.cxx +++ b/PWG/muondep/AliAnalysisMuMu.cxx @@ -2533,6 +2533,7 @@ void AliAnalysisMuMu::PlotBackgroundEvolution(const char* gfile, const char* tri } l->Draw(); + delete triggers; } //_____________________________________________________________________________ @@ -2715,6 +2716,8 @@ void AliAnalysisMuMu::TriggerCountCoverage(const char* triggerList, Bool_t compa total,totalExpected,totalExpected ? total*100.0/totalExpected : 0.0) << std::endl; AliLog::SetGlobalLogLevel(oldLevel); + delete triggers; + delete runs; } //_____________________________________________________________________________ diff --git a/PWG/muondep/AliAnalysisTriggerScalers.cxx b/PWG/muondep/AliAnalysisTriggerScalers.cxx index 0a5e1b481e1..828ac6589bb 100644 --- a/PWG/muondep/AliAnalysisTriggerScalers.cxx +++ b/PWG/muondep/AliAnalysisTriggerScalers.cxx @@ -467,7 +467,8 @@ void AliAnalysisTriggerScalers::IntegratedLuminosity(const char* triggerList, (*out) << sep << "0" << sep << "0" << sep << "0" << sep << "0" << sep << std::endl; // LHC per fill, LHC integrated, lumi tot muon , efficiency } } - + // + delete triggerArray; } //______________________________________________________________________________ @@ -547,9 +548,11 @@ TGraph* AliAnalysisTriggerScalers::PlotTriggerEvolution(const char* triggerClass ++color; ++marker; } + delete a; return 0x0; } - + delete a; + std::vector vx; std::vector vex; std::vector vy; diff --git a/PWGCF/FEMTOSCOPY/UNICOR/AliUnicorHN.cxx b/PWGCF/FEMTOSCOPY/UNICOR/AliUnicorHN.cxx index 38fb8246248..f07fb98946d 100644 --- a/PWGCF/FEMTOSCOPY/UNICOR/AliUnicorHN.cxx +++ b/PWGCF/FEMTOSCOPY/UNICOR/AliUnicorHN.cxx @@ -93,6 +93,7 @@ AliUnicorHN* AliUnicorHN::Retrieve(const char *filnam, const char *nam) { hist->Copy(*((TH1D*)hi)); hi->SetName(lastnam); delete hist; + delete ar; return hi; } //============================================================================= diff --git a/PWGDQ/dielectron/AliAnalysisTaskSingleParticle.cxx b/PWGDQ/dielectron/AliAnalysisTaskSingleParticle.cxx index 3d020af6e17..823841b5f49 100644 --- a/PWGDQ/dielectron/AliAnalysisTaskSingleParticle.cxx +++ b/PWGDQ/dielectron/AliAnalysisTaskSingleParticle.cxx @@ -185,6 +185,7 @@ void AliAnalysisTaskSingleParticle::UserCreateOutputObjects() if(fCFVarBins[ivar][0]!='\0') { TObjArray* arr = fCFVarBins[ivar].Tokenize(","); fCFVarsNbins[ivar] = arr->GetEntries()-1; + delete arr; } } fCFVarsNbins[fCFNVars] = AliPID::kSPECIES; @@ -219,6 +220,7 @@ void AliAnalysisTaskSingleParticle::UserCreateOutputObjects() } fCfContainer->SetBinLimits(ivar, binLims); } + delete arr; } fCfContainer->SetVarTitle(ivar, AliDielectronVarManager::GetValueName(fCFVarsEnabled[ivar])); } diff --git a/PWGDQ/dielectron/AliDielectronHFhelper.cxx b/PWGDQ/dielectron/AliDielectronHFhelper.cxx index f7c95ca05ce..7e375730b56 100644 --- a/PWGDQ/dielectron/AliDielectronHFhelper.cxx +++ b/PWGDQ/dielectron/AliDielectronHFhelper.cxx @@ -448,12 +448,14 @@ void AliDielectronHFhelper::Print(const Option_t* /*option*/) const TString title = ((TObjArray*)fArrPairType->At(0))->First()->GetTitle(); TObjArray* binvars = title.Tokenize(":"); AliInfo(Form(" Number of variables: %d",binvars->GetEntriesFast())); + delete binvars; TObjArray* binvars2 = title.Tokenize(":#"); for(Int_t ivar=0; ivarGetEntriesFast(); ivar++) { if(ivar%3) continue; AliInfo(Form(" variable %.0f: %s",((Double_t)ivar)/3+1,binvars2->At(ivar)->GetName())); } + delete binvars2; } diff --git a/PWGDQ/dielectron/AliDielectronVarManager.h b/PWGDQ/dielectron/AliDielectronVarManager.h index cf98e6d014a..a559f643b3e 100644 --- a/PWGDQ/dielectron/AliDielectronVarManager.h +++ b/PWGDQ/dielectron/AliDielectronVarManager.h @@ -1939,7 +1939,9 @@ inline void AliDielectronVarManager::InitTRDpidEffHistograms(const Char_t* filen TObjArray* arr = name.Tokenize("_"); Bool_t isBplus = kTRUE; if(name.Contains("BMINUS")) isBplus = kFALSE; - TString centMinStr = arr->At(2)->GetName(); TString centMaxStr = arr->At(3)->GetName(); + TString centMinStr = arr->At(2)->GetName(); + TString centMaxStr = arr->At(3)->GetName(); + delete arr; if(isBplus) { fgTRDpidEffCentRanges[idxp][2] = centMinStr.Atof(); fgTRDpidEffCentRanges[idxp][3] = centMaxStr.Atof(); diff --git a/PWGHF/hfe/AliHFEcontainer.cxx b/PWGHF/hfe/AliHFEcontainer.cxx index 5469953c542..675d143898b 100644 --- a/PWGHF/hfe/AliHFEcontainer.cxx +++ b/PWGHF/hfe/AliHFEcontainer.cxx @@ -389,6 +389,7 @@ AliCFContainer *AliHFEcontainer::MakeMergedCFContainer(const Char_t *name, const for(Int_t istep = 0; istep < ctemp->GetNStep(); istep++) cmerged->SetGrid(cstep++, new AliCFGridSparse(*ctemp->GetGrid(istep))); } + delete containers; return cmerged; } diff --git a/PWGLF/FORWARD/analysis2/AliAODForwardMult.cxx b/PWGLF/FORWARD/analysis2/AliAODForwardMult.cxx index 40eeac7f6e6..a7e5f97e5cc 100644 --- a/PWGLF/FORWARD/analysis2/AliAODForwardMult.cxx +++ b/PWGLF/FORWARD/analysis2/AliAODForwardMult.cxx @@ -288,7 +288,7 @@ AliAODForwardMult::MakeTriggerMask(const char* what) AliWarningGeneral("MakeTriggerMask", Form("Unknown trigger %s", s.Data())); } - parts->Delete(); + delete parts; return trgMask; } diff --git a/PWGLF/FORWARD/analysis2/AliBasedNdetaTask.cxx b/PWGLF/FORWARD/analysis2/AliBasedNdetaTask.cxx index 51cc17138bc..2407298b813 100644 --- a/PWGLF/FORWARD/analysis2/AliBasedNdetaTask.cxx +++ b/PWGLF/FORWARD/analysis2/AliBasedNdetaTask.cxx @@ -242,7 +242,8 @@ AliBasedNdetaTask::ParseNormalizationScheme(const char* what) TString twhat(what); twhat.ToUpper(); TObjString* opt; - TIter next(twhat.Tokenize(" ,|")); + TObjArray* token = twhat.Tokenize(" ,|"); + TIter next(token); while ((opt = static_cast(next()))) { TString s(opt->GetString()); if (s.IsNull()) continue; @@ -264,6 +265,7 @@ AliBasedNdetaTask::ParseNormalizationScheme(const char* what) if (add) scheme |= bit; else scheme ^= bit; } + delete token; return scheme; } //________________________________________________________________________ diff --git a/PWGPP/TRD/AliTRDcheckESD.cxx b/PWGPP/TRD/AliTRDcheckESD.cxx index 0ce6da0e92e..31176a4ddc7 100644 --- a/PWGPP/TRD/AliTRDcheckESD.cxx +++ b/PWGPP/TRD/AliTRDcheckESD.cxx @@ -485,7 +485,7 @@ void AliTRDcheckESD::UserExec(Option_t *){ // cout << "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++triggers fired: " << triggerClasses.Data() << endl; TObjArray* triggers = triggerClasses.Tokenize(" "); TObjArray* userTriggers = fUserEnabledTriggers.Tokenize(";"); - if(triggers->GetEntries()<1) return; + if(triggers->GetEntries()<1) {delete triggers; delete userTriggers; return;} Bool_t hasGoodTriggers = kFALSE; Int_t triggerIndices[kNMaxAssignedTriggers] = {0}; Int_t nTrigFired=0; @@ -510,6 +510,10 @@ void AliTRDcheckESD::UserExec(Option_t *){ // Int_t nTRDtracks = fESD->GetNumberOfTrdTracks(); // Int_t nGlobalTracks = fESD->GetNumberOfTracks(); //cout << "TRD/All tracks: " << nTRDtracks << "/" << nGlobalTracks << endl; + // + delete triggers; + delete userTriggers; + // for(Int_t i=0; iAt(kTriggerDefs))->Fill(triggerIndices[i]); @@ -1313,6 +1317,7 @@ void AliTRDcheckESD::InitializeCFContainers() { // Assign an index into the trigger histogram and the CF container for this trigger GetTriggerIndex(arr2->At(jt)->GetName(), kTRUE); } + delete arr; } } // Add background triggers from PhysicsSelection @@ -1327,6 +1332,7 @@ void AliTRDcheckESD::InitializeCFContainers() { // Assign an index into the trigger histogram and the CF container for this trigger GetTriggerIndex(arr2->At(jt)->GetName(), kTRUE); } + delete arr; } } @@ -1335,6 +1341,7 @@ void AliTRDcheckESD::InitializeCFContainers() { for(Int_t it=0; itGetEntries(); ++it) { GetTriggerIndex(arr->At(it)->GetName(), kTRUE); } + delete arr; } @@ -1499,6 +1506,7 @@ AliCFContainer* AliTRDcheckESD::CreateCFContainer(const Char_t* name, const Char TObjArray* arr = fExpertCFVarBins[ivar].Tokenize(";"); nBins[nVars] = arr->GetEntries()-1; if(nBins[nVars]>0) nVars++; + delete arr; } } if(nVars<1) return 0x0; @@ -1520,6 +1528,7 @@ AliCFContainer* AliTRDcheckESD::CreateCFContainer(const Char_t* name, const Char } cf->SetBinLimits(iUsedVar++, binLims); } + delete arr; } cf->SetVarTitle(iUsedVar, varNames[ivar]); } diff --git a/RAW/AliRawReader.cxx b/RAW/AliRawReader.cxx index d951d6ff7c2..a6a6d1f555e 100644 --- a/RAW/AliRawReader.cxx +++ b/RAW/AliRawReader.cxx @@ -246,7 +246,7 @@ AliRawReader* AliRawReader::Create(const char *uri) } else { AliErrorClass(Form("Invalid syntax: %s",fileURI.Data())); - fields->Delete(); + delete fields; return NULL; } } @@ -265,7 +265,6 @@ AliRawReader* AliRawReader::Create(const char *uri) if (!rawReader->IsRawReaderValid()) { AliErrorClass(Form("Raw-reader is invalid - check the input URI (%s)",fileURI.Data())); delete rawReader; - fields->Delete(); delete fields; return NULL; } @@ -300,7 +299,6 @@ AliRawReader* AliRawReader::Create(const char *uri) rawReader->SelectEvents(eventType,triggerMask,triggerExpr.Data()); } - fields->Delete(); delete fields; return rawReader; diff --git a/SHUTTLE/AliShuttleConfig.cxx b/SHUTTLE/AliShuttleConfig.cxx index 2d24ca24a8f..c8d4465ddd4 100644 --- a/SHUTTLE/AliShuttleConfig.cxx +++ b/SHUTTLE/AliShuttleConfig.cxx @@ -1343,6 +1343,7 @@ UInt_t AliShuttleConfig::SetPasswords(){ TObjArray *tokens = line.Tokenize(" \t"); TString system = ((TObjString *)tokens->At(0))->String(); TString password = ((TObjString *)tokens->At(1))->String(); + delete tokens; if (system.Contains("DAQ_LB")){ fDAQlbPass=password; nPwd++; @@ -1373,7 +1374,6 @@ UInt_t AliShuttleConfig::SetPasswords(){ AliDebug(3,Form("%i fake line(s) found in file %s", nPwdFake, fPasswdFilePath.Data())); continue; } - delete tokens; } inputfile->close(); diff --git a/STAT/TKDPDF.cxx b/STAT/TKDPDF.cxx index c99d1c20760..f1fdfd8d73a 100644 --- a/STAT/TKDPDF.cxx +++ b/STAT/TKDPDF.cxx @@ -72,6 +72,7 @@ TKDPDF::TKDPDF(TTree *t, const Char_t *var, const Char_t *cut, UInt_t bsize, Lon for(int ip=0; ipAt(0)->GetName(); ferr = valTokens->At(1)->GetName(); + delete valTokens; } @@ -771,12 +772,16 @@ TString* TStatToolkit::FitPlane(TTree *tree, const char* drawCommand, const char fitter->ClearPoints(); Int_t entries = tree->Draw(drawStr.Data(), cutStr.Data(), "goff", stop-start, start); - if (entries == -1) return new TString("An ERROR has occured during fitting!"); + if (entries == -1) { + delete formulaTokens; + return new TString("An ERROR has occured during fitting!"); + } Double_t **values = new Double_t*[dim+1] ; for (Int_t i=0; iDraw(ferr.Data(), cutStr.Data(), "goff", stop-start, start); if (entries == -1) { + delete formulaTokens; delete []values; return new TString("An ERROR has occured during fitting!"); } @@ -853,6 +858,7 @@ TString* TStatToolkit::FitPlaneConstrain(TTree *tree, const char* drawCommand, c TObjArray* valTokens = strVal.Tokenize(":"); drawStr = valTokens->At(0)->GetName(); ferr = valTokens->At(1)->GetName(); + delete valTokens; } @@ -868,12 +874,16 @@ TString* TStatToolkit::FitPlaneConstrain(TTree *tree, const char* drawCommand, c fitter->ClearPoints(); Int_t entries = tree->Draw(drawStr.Data(), cutStr.Data(), "goff", stop-start, start); - if (entries == -1) return new TString("An ERROR has occured during fitting!"); + if (entries == -1) { + delete formulaTokens; + return new TString("An ERROR has occured during fitting!"); + } Double_t **values = new Double_t*[dim+1] ; for (Int_t i=0; iDraw(ferr.Data(), cutStr.Data(), "goff", stop-start, start); if (entries == -1) { + delete formulaTokens; delete [] values; return new TString("An ERROR has occured during fitting!"); } @@ -888,6 +898,7 @@ TString* TStatToolkit::FitPlaneConstrain(TTree *tree, const char* drawCommand, c if (entries != centries) { delete []errors; delete []values; + delete formulaTokens; return new TString("An ERROR has occured during fitting!"); } values[i] = new Double_t[entries]; @@ -956,7 +967,8 @@ TString* TStatToolkit::FitPlaneFixed(TTree *tree, const char* drawCommand, const if (strVal.Contains(":")){ TObjArray* valTokens = strVal.Tokenize(":"); drawStr = valTokens->At(0)->GetName(); - ferr = valTokens->At(1)->GetName(); + ferr = valTokens->At(1)->GetName(); + delete valTokens; } @@ -973,13 +985,17 @@ TString* TStatToolkit::FitPlaneFixed(TTree *tree, const char* drawCommand, const fitter->ClearPoints(); Int_t entries = tree->Draw(drawStr.Data(), cutStr.Data(), "goff", stop-start, start); - if (entries == -1) return new TString("An ERROR has occured during fitting!"); + if (entries == -1) { + delete formulaTokens; + return new TString("An ERROR has occured during fitting!"); + } Double_t **values = new Double_t*[dim+1] ; for (Int_t i=0; iDraw(ferr.Data(), cutStr.Data(), "goff", stop-start, start); if (entries == -1) { delete []values; + delete formulaTokens; return new TString("An ERROR has occured during fitting!"); } Double_t *errors = new Double_t[entries]; @@ -993,6 +1009,7 @@ TString* TStatToolkit::FitPlaneFixed(TTree *tree, const char* drawCommand, const if (entries != centries) { delete []errors; delete []values; + delete formulaTokens; return new TString("An ERROR has occured during fitting!"); } values[i] = new Double_t[entries]; @@ -1055,6 +1072,8 @@ Int_t TStatToolkit::GetFitIndex(const TString fString, const TString subString){ } if (isOK) index=i; } + delete arrFit; + delete arrSub; return index; } @@ -1080,6 +1099,8 @@ TString TStatToolkit::FilterFit(const TString &input, const TString filter, TVe } } result+="-0.)"; + delete array0; + delete array1; return result; } @@ -1167,6 +1188,8 @@ void TStatToolkit::Constrain1D(const TString &input, const TString filter, TVe for (Int_t i=0; i<=array0->GetEntries(); i++){ param(i)=paramM(i,0); } + delete array0; + delete array1; } TString TStatToolkit::MakeFitString(const TString &input, const TVectorD ¶m, const TMatrixD & covar, Bool_t verbose){ @@ -1183,6 +1206,7 @@ TString TStatToolkit::MakeFitString(const TString &input, const TVectorD ¶m if (verbose) printf("%f\t%f\t%s\n", param[i+1], TMath::Sqrt(covar(i+1,i+1)),str.Data()); } result+="-0.)"; + delete array0; return result; } diff --git a/STEER/CDB/AliBaseCalibViewer.cxx b/STEER/CDB/AliBaseCalibViewer.cxx index 231d3bcd803..c70114a8c09 100644 --- a/STEER/CDB/AliBaseCalibViewer.cxx +++ b/STEER/CDB/AliBaseCalibViewer.cxx @@ -247,6 +247,7 @@ TString* AliBaseCalibViewer::Fit(const Char_t* drawCommand, const Char_t* formul Int_t entries = Draw(drawStr.Data(), cutStr.Data(), "goff"); if (entries == -1) { delete fitter; + delete formulaTokens; return new TString("An ERROR has occured during fitting!"); } Double_t **values = new Double_t*[dim+1] ; @@ -259,6 +260,7 @@ TString* AliBaseCalibViewer::Fit(const Char_t* drawCommand, const Char_t* formul if (entries != centries) { delete fitter; delete [] values; + delete formulaTokens; return new TString("An ERROR has occured during fitting!"); } values[i] = new Double_t[entries]; @@ -485,7 +487,8 @@ Int_t AliBaseCalibViewer::DrawHisto1D(const Char_t* drawCommand, const Char_t* Double_t sig = (str.IsFloat()) ? str.Atof() : 0; nsigma[i] = sig; } - + delete sigmasTokens; + // TString drawStr(drawCommand); Bool_t dangerousToDraw = drawStr.Contains(":") || drawStr.Contains(">>"); if (dangerousToDraw) { @@ -632,7 +635,8 @@ Int_t AliBaseCalibViewer::SigmaCut(const Char_t* drawCommand, const Char_t* sect Double_t sig = (str.IsFloat()) ? str.Atof() : 0; nsigma[i] = sig; } - + delete sigmasTokens; + // if (plotMean) { cutHistoMean = SigmaCut(htemp, mean, sigma, sigmaMax, sigmaStep, pm); if (cutHistoMean) { @@ -725,7 +729,7 @@ Int_t AliBaseCalibViewer::Integrate(const Char_t* drawCommand, const Char_t* sec Double_t sig = (str.IsFloat()) ? str.Atof() : 0; nsigma[i] = sig; } - + delete sigmasTokens; TLegend * legend = new TLegend(.7,.7, .99, .99, "Integrated histogram"); //fListOfObjectsToBeDeleted->Add(legend); diff --git a/STEER/ESD/AliTriggerConfiguration.cxx b/STEER/ESD/AliTriggerConfiguration.cxx index 901cf928867..3f4094d8bf3 100755 --- a/STEER/ESD/AliTriggerConfiguration.cxx +++ b/STEER/ESD/AliTriggerConfiguration.cxx @@ -342,6 +342,7 @@ TString AliTriggerConfiguration::GetActiveDetectors() const activeDet.Append( " " ); activeDet.Append( ((TObjString*)det->At(k))->String() ); } + delete det; } return activeDet; } @@ -564,6 +565,7 @@ Bool_t AliTriggerConfiguration::ProcessConfigurationLine(const char* line, Int_t // Read inputs if (ntokens != 5) { AliError(Form("Invalid trigger input syntax (%s)!",strLine.Data())); + delete tokens; return kFALSE; } AddInput(((TObjString*)tokens->At(0))->String(), @@ -576,6 +578,7 @@ Bool_t AliTriggerConfiguration::ProcessConfigurationLine(const char* line, Int_t // Read interaction if (ntokens != 2) { AliError(Form("Invalid trigger interaction syntax (%s)!",strLine.Data())); + delete tokens; return kFALSE; } AddInteraction(((TObjString*)tokens->At(0))->String(), @@ -593,24 +596,32 @@ Bool_t AliTriggerConfiguration::ProcessConfigurationLine(const char* line, Int_t } else { AliError(Form("Invalid trigger descriptor syntax (%s)!",strLine.Data())); + delete tokens; return kFALSE; } } if (((TObjString*)tokens->At(0))->String().BeginsWith("l0f")) { // function if(!AddFunction(((TObjString*)tokens->At(0))->String(), - strLine.ReplaceAll(((TObjString*)tokens->At(0))->String(),""))) return kFALSE; + strLine.ReplaceAll(((TObjString*)tokens->At(0))->String(),""))) { + delete tokens; + return kFALSE; + } } else { if(!AddDescriptor(((TObjString*)tokens->At(0))->String(), - strLine.ReplaceAll(((TObjString*)tokens->At(0))->String(),""))) return kFALSE; + strLine.ReplaceAll(((TObjString*)tokens->At(0))->String(),""))) { + delete tokens; + return kFALSE; + } } break; case 4: { if (ntokens < 2) { AliError(Form("Invalid trigger cluster syntax (%s)!",strLine.Data())); - return kFALSE; + delete tokens; + return kFALSE; } if (((TObjString*)tokens->At(1))->String().Atoi() <= 0) { AliError(Form("Invalid trigger cluster syntax (%s)!",strLine.Data())); @@ -676,20 +687,28 @@ Bool_t AliTriggerConfiguration::ProcessConfigurationLine(const char* line, Int_t case 6: if (ntokens > 2) { AliError(Form("Invalid trigger bcmasks syntax (%s)!",strLine.Data())); + delete tokens; return kFALSE; } if (((TObjString*)tokens->At(0))->String().CompareTo("NONE") == 0) { - if(!AddMask(new AliTriggerBCMask(((TObjString*)tokens->At(0))->String()))) return kFALSE; + if(!AddMask(new AliTriggerBCMask(((TObjString*)tokens->At(0))->String()))) { + delete tokens; + return kFALSE; + } } else { - if(!AddMask(((TObjString*)tokens->At(0))->String(),((TObjString*)tokens->At(1))->String())) return kFALSE; + if(!AddMask(((TObjString*)tokens->At(0))->String(),((TObjString*)tokens->At(1))->String())) { + delete tokens; + return kFALSE; + } } break; case 7: { if ((ntokens !=8) && (ntokens != 10) && (ntokens != 11)) { AliError(Form("Invalid trigger class syntax (%s)!",strLine.Data())); + delete tokens; return kFALSE; } AliTriggerClass *trclass=0; @@ -704,8 +723,11 @@ Bool_t AliTriggerConfiguration::ProcessConfigurationLine(const char* line, Int_t ((TObjString*)tokens->At(4))->String(), ((TObjString*)tokens->At(6))->String().Atoi(),(Bool_t)(((TObjString*)tokens->At(7))->String().Atoi()), (((TObjString*)tokens->At(8))->String().Atoi()),(((TObjString*)tokens->At(9))->String().Atoi())); - if(!trclass->SetMasks(this,((TObjString*)tokens->At(5))->String())) return kFALSE; - } + if(!trclass->SetMasks(this,((TObjString*)tokens->At(5))->String())) { + delete tokens; + return kFALSE; + } + } AddClass(trclass); } default: diff --git a/STEER/STEER/AliGRPPreprocessor.cxx b/STEER/STEER/AliGRPPreprocessor.cxx index dc63241b5f6..3bdb08b6dd3 100644 --- a/STEER/STEER/AliGRPPreprocessor.cxx +++ b/STEER/STEER/AliGRPPreprocessor.cxx @@ -1844,6 +1844,7 @@ THashList* AliGRPPreprocessor::ProcessAliases(const char* aliasesFile) TObjArray* arr = strLine.Tokenize(' '); if(arr->GetEntries() != 2){ Printf("The line:\n%s\nunexpectedly contains %d tokens, instead of two.",strLine.Data(),arr->GetEntries()); + delete arr; return 0; } TObjString *osTC = (TObjString*) arr->At(0); diff --git a/STEER/STEER/AliLHCReader.cxx b/STEER/STEER/AliLHCReader.cxx index 2bb1275bfdf..70f001699ea 100644 --- a/STEER/STEER/AliLHCReader.cxx +++ b/STEER/STEER/AliLHCReader.cxx @@ -105,10 +105,11 @@ TMap* AliLHCReader::ReadLHCDP(TString filename) // AliDebug(3,Form("Number of tokens = %d",ntokens)); if (ntokens == 2 && !(((TObjString*)tokens->At(0))->String()).CompareTo("LHC_ENTRIES")){ - lhcEntries = (((TObjString*)tokens->At(1))->String()).Atoi(); - AliInfo(Form("LHC entries = %d",lhcEntries)); - AliDebug(3,Form("LHC entries = %d",lhcEntries)); - continue; + lhcEntries = (((TObjString*)tokens->At(1))->String()).Atoi(); + AliInfo(Form("LHC entries = %d",lhcEntries)); + AliDebug(3,Form("LHC entries = %d",lhcEntries)); + delete tokens; + continue; } if (ntokens == 1 && !(((TObjString*)tokens->At(0))->String()).CompareTo("END_OF_DATA")){ AliDebug(2,"End of file reached"); diff --git a/STEER/STEER/AliSurveyObj.cxx b/STEER/STEER/AliSurveyObj.cxx index 0afda085ef5..c15979cba8a 100644 --- a/STEER/STEER/AliSurveyObj.cxx +++ b/STEER/STEER/AliSurveyObj.cxx @@ -224,8 +224,7 @@ Bool_t AliSurveyObj::IsValidDetector(TString detector) const { TObjArray *dets = fgkValidDetectors.Tokenize(','); TObject *found = dets->FindObject(detector); - dets->Delete(); - dets = 0; + delete dets; if (!found) return kFALSE; else return kTRUE; @@ -242,17 +241,12 @@ TString AliSurveyObj::RealFolderName(TString detector) const { TObjArray *dets = fgkGRPDetectors.Tokenize(','); if (dets->FindObject(detector)) folderName = "GRP"; - dets->Delete(); - dets = 0; + delete dets; dets = fgkMUONDetectors.Tokenize(','); if (dets->FindObject(detector)) folderName = "MUON"; - dets->Delete(); - - - - dets = 0; - + delete dets; + return folderName; } @@ -420,8 +414,8 @@ void AliSurveyObj::ListValidDetectors() { TObjArray *dets = fgkValidDetectors.Tokenize(','); for (int i = 0; i < dets->GetEntries(); ++i) Printf("%s", ((TObjString *) dets->At(i))->GetString().Data()); - dets->Delete(); - dets = 0; + delete dets; + Printf("Some reports are stored in more general folders.\n" "These reports can be opened using either name, the original or the\n" "folder name. Example: 'SPACEFRAME' or 'GRP' are both valid when\n" @@ -430,14 +424,12 @@ void AliSurveyObj::ListValidDetectors() { dets = fgkMUONDetectors.Tokenize(','); for (int i = 0; i < dets->GetEntries(); ++i) Printf("%s", ((TObjString *) dets->At(i))->GetString().Data()); - dets->Delete(); - dets = 0; + delete dets; Printf("Detectors stored in 'GRP' folder:"); dets = fgkGRPDetectors.Tokenize(','); for (int i = 0; i < dets->GetEntries(); ++i) Printf("%s", ((TObjString *) dets->At(i))->GetString().Data()); - dets->Delete(); - dets = 0; + delete dets; return; } @@ -580,7 +572,6 @@ Bool_t AliSurveyObj::ParseBuffer(const Char_t* buf) { lines->Add(oneLineObj); } - linesRaw->Delete(); delete linesRaw; linesRaw = NULL; @@ -700,7 +691,7 @@ Bool_t AliSurveyObj::ParseBuffer(const Char_t* buf) { colLine = nextLine.Tokenize(','); if (colLine->GetEntries() != fNrColumns) { AliError("Survey text file sintax error! (Declared number of Columns doesn't match number of column names)"); - colLine->Delete(); + delete colLine; lines->Delete(); delete lines; lines = NULL; return kFALSE; @@ -839,7 +830,7 @@ Bool_t AliSurveyObj::ParseBuffer(const Char_t* buf) { if (dataLine->GetEntries() != fNrColumns) { // The number of columns doesn't match the number specified in the header AliError("Survey text file sintax error! (Number of entries in line is different from number of Columns)"); - dataLine->Delete(); + delete dataLine; lines->Delete(); delete lines; lines = NULL; return kFALSE; diff --git a/STEER/STEER/AliTriggerRunScalers.cxx b/STEER/STEER/AliTriggerRunScalers.cxx index ca0ba42d2d8..409f6b3f7a9 100644 --- a/STEER/STEER/AliTriggerRunScalers.cxx +++ b/STEER/STEER/AliTriggerRunScalers.cxx @@ -171,6 +171,7 @@ AliTriggerRunScalers* AliTriggerRunScalers::ReadScalers( TString & filename ) if (ntokens != 1) { AliErrorClass( Form( "Error reading version number from (%s), line :%s\n", filename.Data() , strLine.Data() ) ); + delete tokens; return NULL; } // cout << "Version "<< ((TObjString*)tokens->At(0))->String().Atoi() << endl; @@ -237,6 +238,7 @@ AliTriggerRunScalers* AliTriggerRunScalers::ReadScalers( TString & filename ) AliErrorClass( Form( "Error reading scalers from (%s): line (%s)", filename.Data(), strLine1.Data() )); delete rec; + delete tokens1; return rScaler; } diff --git a/STEER/STEERBase/AliProdInfo.cxx b/STEER/STEERBase/AliProdInfo.cxx index 038a8bf1e55..2ad6162572e 100644 --- a/STEER/STEERBase/AliProdInfo.cxx +++ b/STEER/STEERBase/AliProdInfo.cxx @@ -177,7 +177,7 @@ void AliProdInfo::ParseProdInfo(TNamed *prodInfoData) { */ } } - + delete tokens; } //------------------------------------------------------------------------------------------------- diff --git a/TOF/AliTOFAnalysisTaskCalibPass0.cxx b/TOF/AliTOFAnalysisTaskCalibPass0.cxx index d0a943d9045..e88d97c01e5 100644 --- a/TOF/AliTOFAnalysisTaskCalibPass0.cxx +++ b/TOF/AliTOFAnalysisTaskCalibPass0.cxx @@ -562,12 +562,14 @@ AliTOFAnalysisTaskCalibPass0::CalibrateAndStore(TH2F *histoVertexTimestamp, TH2F if (!ostr) { AliError("problems while getting run number from histogram title"); fStatus = kDataError; + delete strarr; return kFALSE; } str = ostr->GetString(); if (!str.BeginsWith("run:")) { AliError("problems while getting run number from histogram title"); fStatus = kDataError; + delete strarr; return kFALSE; } str.Remove(0, 5); @@ -575,6 +577,7 @@ AliTOFAnalysisTaskCalibPass0::CalibrateAndStore(TH2F *histoVertexTimestamp, TH2F if (runNb <= 0) { AliError(Form("bad run number: %d", runNb)); fStatus = kDataError; + delete strarr; return kFALSE; } AliInfo(Form("got run number: %d", runNb)); @@ -584,6 +587,7 @@ AliTOFAnalysisTaskCalibPass0::CalibrateAndStore(TH2F *histoVertexTimestamp, TH2F if (!ostr) { AliError("problems while getting start timestamp from histogram title"); fStatus = kDataError; + delete strarr; return kFALSE; } str = ostr->GetString(); @@ -591,6 +595,7 @@ AliTOFAnalysisTaskCalibPass0::CalibrateAndStore(TH2F *histoVertexTimestamp, TH2F if (!str.BeginsWith("startTimestamp:")) { AliError("problems while getting start timestamp from histogram title"); fStatus = kDataError; + delete strarr; return kFALSE; } str.Remove(0, 16); @@ -598,6 +603,7 @@ AliTOFAnalysisTaskCalibPass0::CalibrateAndStore(TH2F *histoVertexTimestamp, TH2F if (startTimestamp <= 0) { AliError(Form("bad start timestamp: %d", startTimestamp)); fStatus = kDataError; + delete strarr; return kFALSE; } TTimeStamp ts = startTimestamp; @@ -608,6 +614,7 @@ AliTOFAnalysisTaskCalibPass0::CalibrateAndStore(TH2F *histoVertexTimestamp, TH2F if (!ostr) { AliError("problems while getting BPTX from histogram title"); fStatus = kDataError; + delete strarr; return kFALSE; } str = ostr->GetString(); @@ -615,12 +622,15 @@ AliTOFAnalysisTaskCalibPass0::CalibrateAndStore(TH2F *histoVertexTimestamp, TH2F if (!str.BeginsWith("BPTX:")) { AliError("problems while getting BPTX from histogram title"); fStatus = kDataError; + delete strarr; return kFALSE; } str.Remove(0, 6); Bool_t useBPTX = atoi(str.Data()); AliInfo(Form("got BPTX: %d", useBPTX)); + delete strarr; + /*** CALIBRATION STAGE ***/ /* get fit function */ diff --git a/TPC/AliTPCCalibCE.cxx b/TPC/AliTPCCalibCE.cxx index a3c4ad18fa3..492bd1772af 100644 --- a/TPC/AliTPCCalibCE.cxx +++ b/TPC/AliTPCCalibCE.cxx @@ -3047,6 +3047,7 @@ void AliTPCCalibCE::DumpToFile(const Char_t *filename, const Char_t *dir, Bool_t type=optString.Atoi(); } } + delete arr; if ( type==4 ){ // only for the new algorithm diff --git a/TPC/AliTPCCalibViewer.cxx b/TPC/AliTPCCalibViewer.cxx index 6b95b694726..cb6972c02d1 100644 --- a/TPC/AliTPCCalibViewer.cxx +++ b/TPC/AliTPCCalibViewer.cxx @@ -576,7 +576,8 @@ Int_t AliTPCCalibViewer::DrawHisto1D(const char* drawCommand, const char* secto Double_t sig = (str.IsFloat()) ? str.Atof() : 0; nsigma[i] = sig; } - + delete sigmasTokens; + TString drawStr(drawCommand); Bool_t dangerousToDraw = drawStr.Contains(":") || drawStr.Contains(">>"); if (dangerousToDraw) { @@ -749,7 +750,8 @@ Int_t AliTPCCalibViewer::SigmaCut(const char* drawCommand, const char* sector, c Double_t sig = (str.IsFloat()) ? str.Atof() : 0; nsigma[i] = sig; } - + delete sigmasTokens; + if (plotMean) { cutHistoMean = AliTPCCalibViewer::SigmaCut(htemp, mean, sigma, sigmaMax, sigmaStep, pm); if (cutHistoMean) { @@ -835,6 +837,7 @@ Int_t AliTPCCalibViewer::SigmaCutNew(const char* drawCommand, const char* sector Double_t sig = (str.IsFloat()) ? str.Atof() : 0; nsigma[i] = sig; } + delete sigmasTokens; if (plotMean) { for (Int_t i = 0; i < entries; i++) { @@ -942,7 +945,8 @@ Int_t AliTPCCalibViewer::IntegrateOld(const char* drawCommand, const char* secto Double_t sig = (str.IsFloat()) ? str.Atof() : 0; nsigma[i] = sig; } - + delete sigmasTokens; + TLegend * legend = new TLegend(.7,.7, .99, .99, "Integrated histogram"); //fListOfObjectsToBeDeleted->Add(legend); TH1F *integralHistoMean = 0; @@ -1038,7 +1042,8 @@ Int_t AliTPCCalibViewer::Integrate(const char* drawCommand, const char* sector, Double_t sig = (str.IsFloat()) ? str.Atof() : 0; nsigma[i] = sig; } - + delete sigmasTokens; + TLegend * legend = new TLegend(.7,.7, .99, .99, "Integrated histogram"); //fListOfObjectsToBeDeleted->Add(legend); @@ -1751,7 +1756,10 @@ TString* AliTPCCalibViewer::Fit(const char* drawCommand, const char* formula, co fitter->ClearPoints(); Int_t entries = Draw(drawStr.Data(), cutStr.Data(), "goff"); - if (entries == -1) return new TString("An ERROR has occured during fitting!"); + if (entries == -1) { + delete formulaTokens; + return new TString("An ERROR has occured during fitting!"); + } Double_t **values = new Double_t*[dim+1] ; for (Int_t i = 0; i < dim + 1; i++){ @@ -1761,6 +1769,7 @@ TString* AliTPCCalibViewer::Fit(const char* drawCommand, const char* formula, co if (entries != centries) { delete [] values; + delete formulaTokens; return new TString("An ERROR has occured during fitting!"); } values[i] = new Double_t[entries]; @@ -2359,6 +2368,7 @@ void AliTPCCalibViewer::CreateObjectList(const Char_t *filename, TObjArray *cali } delete fIn; } + delete arrFileLine; } diff --git a/TPC/AliTPCPreprocessorOffline.cxx b/TPC/AliTPCPreprocessorOffline.cxx index eebaccc8214..33016a2415c 100644 --- a/TPC/AliTPCPreprocessorOffline.cxx +++ b/TPC/AliTPCPreprocessorOffline.cxx @@ -1347,7 +1347,9 @@ void AliTPCPreprocessorOffline::MakeFitTime(){ fAlignTree->SetAlias("err","rms"); TString *strDeltaITS = TStatToolkit::FitPlaneConstrain(fAlignTree,"mean:err", fstringFast.Data(),cutFit, chi2,npoints,param,covar,-1,0, npointsMax, 1); - strDeltaITS->Tokenize("++")->Print(); + TObjArray* tokArr = strDeltaITS->Tokenize("++"); + tokArr->Print(); + delete tokArr; fAlignTree->SetAlias("fitYFast",strDeltaITS->Data()); // TVectorD paramC= param; diff --git a/TPC/AliTPCPreprocessorOnline.cxx b/TPC/AliTPCPreprocessorOnline.cxx index 2fc2c80e7be..f61f08c13ca 100644 --- a/TPC/AliTPCPreprocessorOnline.cxx +++ b/TPC/AliTPCPreprocessorOnline.cxx @@ -178,6 +178,7 @@ void AliTPCPreprocessorOnline::AddComponent(TObject *obj) { TObjArray *stokens = objName.Tokenize("_ROC"); TString rocNumber(""); if (stokens->GetEntriesFast()>1) rocNumber = ((TObjString*)stokens->At(1))->GetString(); + delete stokens; Int_t iroc = -1; if (rocNumber.IsAlnum()) iroc = rocNumber.Atoi(); diff --git a/TPC/AliTPCcalibDB.cxx b/TPC/AliTPCcalibDB.cxx index 9b496613d40..c65476e77dd 100644 --- a/TPC/AliTPCcalibDB.cxx +++ b/TPC/AliTPCcalibDB.cxx @@ -591,7 +591,8 @@ void AliTPCcalibDB::CreateObjectList(const Char_t *filename, TObjArray *calibObj TObjString *sObjType = (TObjString*)(arrNextCol->At(0)); TObjString *sObjFileName = (TObjString*)(arrNextCol->At(1)); - + delete arrNextCol; + if ( !sObjType || ! sObjFileName ) continue; TString sType(sObjType->GetString()); TString sFileName(sObjFileName->GetString()); @@ -650,6 +651,7 @@ void AliTPCcalibDB::CreateObjectList(const Char_t *filename, TObjArray *calibObj } delete fIn; } + delete arrFileLine; } Int_t AliTPCcalibDB::InitDeadMap() { diff --git a/TPC/AliTPCcalibDButil.cxx b/TPC/AliTPCcalibDButil.cxx index 01df712bf3b..00377a65d1c 100644 --- a/TPC/AliTPCcalibDButil.cxx +++ b/TPC/AliTPCcalibDButil.cxx @@ -2135,6 +2135,7 @@ Int_t AliTPCcalibDButil::MakeRunList(Int_t startRun, Int_t stopRun){ runs[naccept]=irunN; naccept++; }} + delete arr; fRuns.Set(naccept); fRunsStart.Set(fRuns.fN); fRunsStop.Set(fRuns.fN); diff --git a/TPC/AliTPCkalmanAlign.cxx b/TPC/AliTPCkalmanAlign.cxx index 3123033f595..cfd80b6296d 100644 --- a/TPC/AliTPCkalmanAlign.cxx +++ b/TPC/AliTPCkalmanAlign.cxx @@ -874,14 +874,19 @@ void AliTPCkalmanAlign::FitCE(){ TString * strFitG=0; TString * strFitLX=0; // + TObjArray* tokArr = 0; strFitG = TStatToolkit::FitPlane(chain,"deltaT", fstringG.Data(),"sideA"+cutAll, chi2,npoints,vecG[0],covar,-1,0, 10000000, kFALSE); chain->SetAlias("tfitGA",strFitG->Data()); - strFitG->Tokenize("++")->Print(); + tokArr = strFitG->Tokenize("++"); + tokArr->Print(); + delete tokArr; printf("chi2=%f\n",TMath::Sqrt(chi2/npoints)); // strFitG = TStatToolkit::FitPlane(chain,"deltaT", fstringG.Data(),"sideC"+cutAll, chi2,npoints,vecG[1],covar,-1,0, 10000000, kFALSE); chain->SetAlias("tfitGC",strFitG->Data()); - strFitG->Tokenize("++")->Print(); + tokArr = strFitG->Tokenize("++"); + tokArr->Print(); + delete tokArr; printf("chi2=%f\n",TMath::Sqrt(chi2/npoints)); // AliTPCCalPad *padFitG =AliTPCCalPad::CreateCalPadFit("1++gy/500.++gx/500.++0+++0++0++0++0",vecG[0],vecG[1]); @@ -1050,6 +1055,8 @@ void AliTPCkalmanAlign::Update1D(TString &input, TString filter, TVectorD &par for (Int_t i=0; iGetEntries(); i++){ param(i)=paramM(i,0); } + delete array0; + delete array1; } @@ -1074,6 +1081,8 @@ TString AliTPCkalmanAlign::FilterFit(TString &input, TString filter, TVectorD & } } result+="-0.)"; + delete array0; + delete array1; return result; } diff --git a/TPC/AliXRDPROOFtoolkit.cxx b/TPC/AliXRDPROOFtoolkit.cxx index 7066f98e1c3..2bf6fb7fbd1 100644 --- a/TPC/AliXRDPROOFtoolkit.cxx +++ b/TPC/AliXRDPROOFtoolkit.cxx @@ -389,6 +389,7 @@ Bool_t AliXRDPROOFtoolkit::FilterList(const char*inputList, const char*fileList counter++; } finput.close(); + delete array; return kTRUE; } @@ -494,6 +495,7 @@ Bool_t AliXRDPROOFtoolkit::XRDCopyDir(const char * idir, const char * files, co Bool_t result = TFile::Cp(infile,outfile); succes &= result; } + delete array; return succes; } @@ -571,12 +573,14 @@ void AliXRDPROOFtoolkit::JoinTreesIndex(const char * outputFile, const char * ou TFile * f = TFile::Open(description->At(4)->GetName()); if (!f){ printf("Fatal: Invalid description: fileName %s\n", description->At(4)->GetName()); + delete arrayInput; return; } arrayFile->AddAt(f,itree); TTree * tree = (TTree*)f->Get(description->At(3)->GetName()); if (!tree){ printf("Fatal: Invalid description. Tree name\t%s\n", description->At(3)->GetName()); + delete arrayInput; return; } tree->SetCacheSize(400000000); @@ -589,6 +593,7 @@ void AliXRDPROOFtoolkit::JoinTreesIndex(const char * outputFile, const char * ou }} // + delete arrayInput; // 2. Make the run list // // diff --git a/TRD/AliTRDReconstructor.cxx b/TRD/AliTRDReconstructor.cxx index 932d06e098f..0348b0206da 100644 --- a/TRD/AliTRDReconstructor.cxx +++ b/TRD/AliTRDReconstructor.cxx @@ -401,6 +401,7 @@ void AliTRDReconstructor::SetOption(Option_t *opt) AliWarning(Form("Unknown option flag %s.", sopt.Data())); } + delete opar; } //_____________________________________________________________________________ diff --git a/TRD/AliTRDgtuSim.cxx b/TRD/AliTRDgtuSim.cxx index f22efe25f2d..2063326aea7 100644 --- a/TRD/AliTRDgtuSim.cxx +++ b/TRD/AliTRDgtuSim.cxx @@ -103,12 +103,14 @@ Bool_t AliTRDgtuSim::RunGTUFromTrackletFile(TString filename, Int_t event, Int_t TObjArray *tokens = string.Tokenize(" "); if (tokens->GetEntriesFast() < 7) { AliWarning(Form("Invalid input in line %i, too few parameters", lineno)); + delete tokens; continue; } - if ( ((TObjString*) tokens->At(0))->GetString().Atoi() < event) + if ( ((TObjString*) tokens->At(0))->GetString().Atoi() < event) { + delete tokens; continue; - + } iEvent = ((TObjString*) tokens->At(0))->GetString().Atoi(); iSec = ((TObjString*) tokens->At(1))->GetString().Atoi(); iStack = ((TObjString*) tokens->At(2))->GetString().Atoi(); @@ -152,6 +154,8 @@ Bool_t AliTRDgtuSim::RunGTUFromTrackletFile(TString filename, Int_t event, Int_t if (fTMU) fTMU->AddTracklet(trkl, iLink); } + // + delete tokens; } if (fTMU && evcnt < noev) { diff --git a/VZERO/AliVZEROCalibData.cxx b/VZERO/AliVZEROCalibData.cxx index ec315e22818..078e10d98da 100644 --- a/VZERO/AliVZEROCalibData.cxx +++ b/VZERO/AliVZEROCalibData.cxx @@ -243,6 +243,8 @@ void AliVZEROCalibData::SetParameter(TString name, Int_t val){ else if(name.Contains("DelayHit")) SetTimeOffset(0.01*(Float_t)val,iBoard,(iChannel-1)); else if(name.Contains("DiscriThr")) SetDiscriThr(((Float_t)val-2040.)/112.,iBoard,(iChannel-1)); else AliError(Form("No Setter found for FEE parameter : %s",name.Data())); + // + delete nameSplit; } //________________________________________________________________ diff --git a/VZERO/AliVZEROTriggerData.cxx b/VZERO/AliVZEROTriggerData.cxx index 73965011f3e..d51567631ad 100644 --- a/VZERO/AliVZEROTriggerData.cxx +++ b/VZERO/AliVZEROTriggerData.cxx @@ -192,6 +192,8 @@ void AliVZEROTriggerData::SetParameter(TString name, Int_t val){ else if(name.Contains("PedCutOdd")) SetPedestalCut((UShort_t) val, 1, iBoard, iChannel-1); else if(name.Contains("PedCutEven")) SetPedestalCut((UShort_t) val, 0, iBoard, iChannel-1); else AliError(Form("No Setter found for FEE parameter : %s",name.Data())); + // + delete nameSplit; } //________________________________________________________________ void AliVZEROTriggerData::SetPedestalCut(UShort_t val,Int_t integrator, Int_t board, Int_t channel) -- 2.43.0