Several patches were done to adapt the barel reconstruction to the multi-event case...
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 21 Oct 2001 19:04:55 +0000 (19:04 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 21 Oct 2001 19:04:55 +0000 (19:04 +0000)
TPC/AliTPCComparison.C
TPC/AliTPCFindClusters.C
TPC/AliTPCFindTracks.C
TPC/AliTPCclusterer.cxx
TPC/AliTPCtracker.cxx
TPC/AliTPCtracker.h

index 7c4c1f3..5bef125 100644 (file)
@@ -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;event<eventn; event++){
      cf->cd();
      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<<ngood<<'\r';
-         if (ngood==45000) {
+         if (ngood==MAX) {
             cerr<<"Too many good tracks !\n";
             break;
          }
@@ -92,7 +94,7 @@ Int_t AliTPCComparison(Int_t eventn=1) {
       if (!in.eof()) cerr<<"Read error (good_tracks_tpc) !\n";
    } else {
       cerr<<"Marking good tracks (this will take a while)...\n";
-      ngood=good_tracks(gt,45000,eventn);   //mi change
+      ngood=good_tracks_tpc(gt,MAX,eventn);   //mi change
       ofstream out("good_tracks_tpc");
       if (out) {
          for (Int_t ngd=0; ngd<ngood; ngd++)            
@@ -102,11 +104,10 @@ Int_t AliTPCComparison(Int_t eventn=1) {
       } else cerr<<"Can not open file (good_tracks_tpc) !\n";
       out.close();
 
-      /*
       cerr<<"Preparing tracks for matching with the ITS...\n";
       tarray.Sort();
       tf=TFile::Open("AliTPCtracks.root","recreate");
-      tracktree=new TTree("TPCf","Tree with TPC tracks");
+      tracktree=new TTree(tname,"Tree with \"forward\" TPC tracks");
       tracktree->Branch("tracks","AliTPCtrack",&iotrack,32000,0);
       for (i=0; i<nentr; i++) {
           iotrack=(AliTPCtrack*)tarray.UncheckedAt(i);
@@ -114,7 +115,6 @@ Int_t AliTPCComparison(Int_t eventn=1) {
       }
       tracktree->Write();
       tf->Close();
-      */
    }
    cerr<<"Number of good tracks : "<<ngood<<endl;
 
@@ -335,10 +335,10 @@ Int_t AliTPCComparison(Int_t eventn=1) {
 }
 
 
-Int_t good_tracks(GoodTrack *gt, Int_t max, Int_t eventn) {
+Int_t good_tracks_tpc(GoodTrackTPC *gt, Int_t max, Int_t eventn) {
   //eventn  - number of events in file
 
-   TFile *file=TFile::Open("rfio:galice.root");
+   TFile *file=TFile::Open("galice.root");
    if (!file->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; n<nrows; n++) {
           AliSegmentID *s=ca->LoadEntry(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");   
index 666baa2..f95c112 100644 (file)
@@ -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;
index 9ee4c57..7948dd3 100644 (file)
@@ -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;
 }
index aa24dc5..8a889d3 100644 (file)
@@ -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
 }
 
index e6b331f..7538292 100644 (file)
@@ -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;
 }
 
index 410d9e1..04a3ff9 100644 (file)
@@ -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);