From f38c8ae57f453128ee780dc2a89a2c66a73e9985 Mon Sep 17 00:00:00 2001 From: hristov Date: Sun, 21 Oct 2001 19:04:55 +0000 Subject: [PATCH] Several patches were done to adapt the barel reconstruction to the multi-event case. Some memory leaks were corrected. (Yu.Belikov) --- TPC/AliTPCComparison.C | 33 +++++++++++++++++---------------- TPC/AliTPCFindClusters.C | 3 +++ TPC/AliTPCFindTracks.C | 4 +++- TPC/AliTPCclusterer.cxx | 5 +++++ TPC/AliTPCtracker.cxx | 24 ++++++++++++------------ TPC/AliTPCtracker.h | 3 +-- 6 files changed, 41 insertions(+), 31 deletions(-) diff --git a/TPC/AliTPCComparison.C b/TPC/AliTPCComparison.C index 7c4c1f38dbf..5bef125d55c 100644 --- a/TPC/AliTPCComparison.C +++ b/TPC/AliTPCComparison.C @@ -3,16 +3,17 @@ #include "AliTPCtracker.h" #endif -struct GoodTrack { +struct GoodTrackTPC { Int_t fEventN; //event number Int_t lab; Int_t code; Float_t px,py,pz; Float_t x,y,z; }; -Int_t good_tracks(GoodTrack *gt, Int_t max, Int_t eventn=1); Int_t AliTPCComparison(Int_t eventn=1) { + Int_t good_tracks_tpc(GoodTrackTPC *gt, Int_t max, Int_t eventn=1); + cerr<<"Doing comparison...\n"; Int_t i; gBenchmark->Start("AliTPCComparison"); @@ -35,12 +36,13 @@ Int_t AliTPCComparison(Int_t eventn=1) { // Load clusters eventptr[0]=0; eventptr[1]=0; + char tname[100]; //Y.B. for (Int_t event=0;eventcd(); tracker = new AliTPCtracker(digp,event); tracker->LoadInnerSectors(); tracker->LoadOuterSectors(); - char tname[100]; + //Y.B. char tname[100]; if (eventn==-1) { sprintf(tname,"TreeT_TPC"); } @@ -64,16 +66,16 @@ Int_t AliTPCComparison(Int_t eventn=1) { } eventptr[event+1] = nentr; //store end of the event delete tracker; + delete tracktree; //Thanks to Mariana Bondila } tf->Close(); + delete digp; //Thanks to Mariana Bondila cf->Close(); - //MI change for a moment - ///////////////////////////////////////////////////////////////////////// - // GoodTrack gt[15000]; - GoodTrack gt[45000]; + const Int_t MAX=45000; + GoodTrackTPC gt[MAX]; Int_t ngood=0; ifstream in("good_tracks_tpc"); @@ -84,7 +86,7 @@ Int_t AliTPCComparison(Int_t eventn=1) { gt[ngood].x >>gt[ngood].y >>gt[ngood].z) { ngood++; cerr<Branch("tracks","AliTPCtrack",&iotrack,32000,0); for (i=0; iWrite(); tf->Close(); - */ } cerr<<"Number of good tracks : "<IsOpen()) {cerr<<"Can't open galice.root !\n"; exit(4);} if (!(gAlice=(AliRun*)file->Get("gAlice"))) { @@ -388,7 +388,8 @@ Int_t good_tracks(GoodTrack *gt, Int_t max, Int_t eventn) { AliTPCClustersArray *ca=new AliTPCClustersArray; ca->Setup(digp); ca->SetClusterType("AliTPCcluster"); - ca->ConnectTree("Segment Tree"); + //ca->ConnectTree("Segment Tree"); + ca->ConnectTree("TreeC_TPC_0"); Int_t nrows=Int_t(ca->GetTree()->GetEntries()); for (Int_t n=0; nLoadEntry(n); @@ -449,6 +450,7 @@ Int_t good_tracks(GoodTrack *gt, Int_t max, Int_t eventn) { } } delete[] count; + delete TD; //Thanks to Mariana Bondila break; default: cerr<<"Invalid TPC version !\n"; @@ -502,7 +504,6 @@ Int_t good_tracks(GoodTrack *gt, Int_t max, Int_t eventn) { delete[] good; } delete gAlice; gAlice=0; - file->Close(); gBenchmark->Stop("AliTPCComparison"); gBenchmark->Show("AliTPCComparison"); diff --git a/TPC/AliTPCFindClusters.C b/TPC/AliTPCFindClusters.C index 666baa2504c..f95c112345a 100644 --- a/TPC/AliTPCFindClusters.C +++ b/TPC/AliTPCFindClusters.C @@ -67,6 +67,9 @@ Int_t AliTPCFindClusters(Int_t n=1) { delete gAlice; gAlice=0; out->Close(); + + delete dig; //Thanks to Mariana Bondila + in->Close(); return 0; diff --git a/TPC/AliTPCFindTracks.C b/TPC/AliTPCFindTracks.C index 9ee4c5799a4..7948dd348d1 100644 --- a/TPC/AliTPCFindTracks.C +++ b/TPC/AliTPCFindTracks.C @@ -28,8 +28,10 @@ Int_t AliTPCFindTracks(Int_t eventn=1) { } timer.Stop(); timer.Print(); + delete par; //Thanks to Mariana Bondila + in->Close(); out->Close(); - return 1; + return 0; } diff --git a/TPC/AliTPCclusterer.cxx b/TPC/AliTPCclusterer.cxx index aa24dc52ef3..8a889d3af8b 100644 --- a/TPC/AliTPCclusterer.cxx +++ b/TPC/AliTPCclusterer.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.6 2001/08/30 09:28:48 hristov +TTree names are explicitly set via SetName(name) and then Write() is called + Revision 1.5 2001/07/20 14:32:44 kowal2 Processing of many events possible now @@ -280,5 +283,7 @@ void AliTPCclusterer::Digits2Clusters(const AliTPCParam *par, TFile *of, Int_t e carray.GetTree()->SetName(cname); carray.GetTree()->Write(); savedir->cd(); + + delete t; //Thanks to Mariana Bondila } diff --git a/TPC/AliTPCtracker.cxx b/TPC/AliTPCtracker.cxx index e6b331fcc53..7538292ca1f 100644 --- a/TPC/AliTPCtracker.cxx +++ b/TPC/AliTPCtracker.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.13 2001/07/23 12:01:30 hristov +Initialisation added + Revision 1.12 2001/07/20 14:32:44 kowal2 Processing of many events possible now @@ -61,15 +64,6 @@ Splitted from AliTPCtracking #include "AliTPCParam.h" #include "AliTPCClustersRow.h" - -AliTPCtracker::AliTPCtracker(const AliTPCParam *par): -fkNIS(par->GetNInnerSector()/2), -fkNOS(par->GetNOuterSector()/2) -{; -//MI change only provisore - need change in the ITS code which depend on it -} - - //_____________________________________________________________________________ AliTPCtracker::AliTPCtracker(const AliTPCParam *par, Int_t eventn): fkNIS(par->GetNInnerSector()/2), @@ -595,6 +589,9 @@ Int_t AliTPCtracker::ReadSeeds(const TFile *inp) { } delete seed; + + delete seedTree; //Thanks to Mariana Bondila + savedir->cd(); return 0; @@ -721,7 +718,7 @@ Int_t AliTPCtracker::PropagateBack(const TFile *inp, TFile *out) { } in->cd(); - TTree *bckTree=(TTree*)in->Get("ITSb"); + TTree *bckTree=(TTree*)in->Get("TreeT_ITSb_0"); if (!bckTree) { cerr<<"AliTPCtracker::PropagateBack() "; cerr<<"can't get a tree with back propagated ITS tracks !\n"; @@ -730,7 +727,7 @@ Int_t AliTPCtracker::PropagateBack(const TFile *inp, TFile *out) { AliTPCtrack *bckTrack=new AliTPCtrack; bckTree->SetBranchAddress("tracks",&bckTrack); - TTree *tpcTree=(TTree*)in->Get("TPCf"); + TTree *tpcTree=(TTree*)in->Get("TreeT_TPC_0"); if (!tpcTree) { cerr<<"AliTPCtracker::PropagateBack() "; cerr<<"can't get a tree with TPC tracks !\n"; @@ -764,7 +761,7 @@ Int_t AliTPCtracker::PropagateBack(const TFile *inp, TFile *out) { } out->cd(); - TTree backTree("TPCb","Tree with back propagated TPC tracks"); + TTree backTree("TreeT_TPCb_0","Tree with back propagated TPC tracks"); AliTPCtrack *otrack=0; backTree.Branch("tracks","AliTPCtrack",&otrack,32000,0); @@ -829,6 +826,9 @@ Int_t AliTPCtracker::PropagateBack(const TFile *inp, TFile *out) { delete bckTrack; delete tpcTrack; + delete bckTree; //Thanks to Mariana Bondila + delete tpcTree; //Thanks to Mariana Bondila + return 0; } diff --git a/TPC/AliTPCtracker.h b/TPC/AliTPCtracker.h index 410d9e19bf2..04a3ff90be5 100644 --- a/TPC/AliTPCtracker.h +++ b/TPC/AliTPCtracker.h @@ -22,8 +22,7 @@ class AliTPCParam; class AliTPCtracker : public AliTracker { public: AliTPCtracker():AliTracker(),fkNIS(0),fkNOS(0) {} - AliTPCtracker(const AliTPCParam *par, Int_t eventn); - AliTPCtracker(const AliTPCParam *par); + AliTPCtracker(const AliTPCParam *par, Int_t eventn=0); ~AliTPCtracker(); Int_t ReadSeeds(const TFile *in); -- 2.43.0