]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCFindTracksMI.C
Trying to fix a mess
[u/mrichter/AliRoot.git] / TPC / AliTPCFindTracksMI.C
index e0b19a1676e496e5187f90a693803fcd941df707..08788fe69db87409c1f36e721e24194f53787185 100644 (file)
@@ -2,15 +2,23 @@
  *           Origin: I.Belikov, CERN, Jouri.Belikov@cern.ch                 *
  ****************************************************************************/
 
-#ifndef __CINT__
-  #include <iostream.h>
+#if !defined(__CINT__) || defined(__MAKECINT__)
+  #include <Riostream.h>
   #include "AliTPCParam.h"
   #include "AliTPCtracker.h"
-
+  #include "AliTPCtrackerMI.h"
+  #include "AliRun.h"
+  #include "AliMagF.h"
+  #include "AliRunLoader.h"
+  #include "AliTPCLoader.h"
+  #include "AliESD.h"
   #include "TFile.h"
   #include "TStopwatch.h"
 #endif
 
+extern AliRun *gAlice;
+
+
 Int_t AliTPCFindTracksMI(Int_t N=-1) {
 
    cerr<<"Looking for tracks...\n";
@@ -22,13 +30,13 @@ Int_t AliTPCFindTracksMI(Int_t N=-1) {
      gAlice = 0x0;
     }
     
-   rl = AliRunLoader::Open("galice.root");
+   AliRunLoader *rl = AliRunLoader::Open("galice.root");
    if (rl == 0x0)
     {
       cerr<<"Can not open session"<<endl;
       return 1;
     }
-   tpcl = (AliTPCLoader*)rl->GetLoader("TPCLoader");
+   AliTPCLoader *tpcl = (AliTPCLoader*)rl->GetLoader("TPCLoader");
    if (tpcl == 0x0)
     {
       cerr<<"Can not get TPC Loader"<<endl;
@@ -40,15 +48,14 @@ Int_t AliTPCFindTracksMI(Int_t N=-1) {
       cerr<<"Error occured while l"<<endl;
       return 1;
     }
-   AliKalmanTrack::SetConvConst(1000/0.299792458/rl->GetAliRun()->Field()->SolenoidField());
-   rl->UnloadgAlice();
+   AliKalmanTrack::SetFieldMap(rl->GetAliRun()->Field());
    
    rl->CdGAFile();
    
-   AliTPCParam *dig=(AliTPCParam *)gDirectory->Get("75x40_100x60_150x60");
-   if (!dig
+   AliTPCParam *param=(AliTPCParam *)gDirectory->Get("75x40_100x60_150x60");
+   if (!param
     {
-     dig=(AliTPCParam *)gDirectory->Get("75x40_100x60");
+     param=(AliTPCParam *)gDirectory->Get("75x40_100x60");
      if (!param) 
       {
         cerr<<"TPC parameters have not been found !\n";
@@ -79,7 +86,8 @@ Int_t AliTPCFindTracksMI(Int_t N=-1) {
    TStopwatch timer;
    Int_t rc=0;
    for (Int_t i=0;i<eventn;i++)
-    {
+    { 
+      rl->GetEvent(i);
       TTree * input = tpcl->TreeR();
       if (input == 0x0)
        {
@@ -104,13 +112,21 @@ Int_t AliTPCFindTracksMI(Int_t N=-1) {
        }
 
       printf("Processing event %d\n",i);
-      AliTPCtrackerMI *tracker = new AliTPCtrackerMI(dig);
+      AliTPCtrackerMI *tracker = new AliTPCtrackerMI(param);
+      tracker->SetIO();
+      tracker->LoadClusters();
       rc=tracker->Clusters2Tracks();
+      tracker->WriteTracks(output);
+      tracker->UnloadClusters();
+      tpcl->WriteTracks("OVERWRITE");
+      //output->GetDirectory()->cd();
+      //output->Write();
       delete tracker;
     }
    timer.Stop(); timer.Print();
-   delete dig; //Thanks to Mariana Bondila
+   rl->UnloadgAlice();
+   
+   delete param; 
    delete rl;
    return rc;
 }