Load/UnloadClusters added to the base class and the derived classes changed correspon...
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 19 Mar 2003 17:14:11 +0000 (17:14 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 19 Mar 2003 17:14:11 +0000 (17:14 +0000)
STEER/AliTracker.cxx
STEER/AliTracker.h
TPC/AliTPCtracker.cxx
TPC/AliTPCtracker.h
TPC/AliTPCtrackerMI.cxx
TPC/AliTPCtrackerMI.h
TRD/AliTRDtracker.cxx
TRD/AliTRDtracker.h

index 6796b22..fe08e72 100644 (file)
@@ -125,7 +125,7 @@ Int_t AliTracker::SetFieldFactor(TFile *file, Bool_t deletegAlice) {
   return rc;
 }
 ////////////////////////////////////////////////////////////////////////
-Int_t AliTracker::SetFieldFactor(Char_t* fileName, Bool_t closeFile) {
+Int_t AliTracker::SetFieldFactor(const char* fileName, Bool_t closeFile) {
 //
 // Utility class to set the value of the magnetic field in the barrel
 // gAlice object is read from the file, the file is optionally closed
index 4754002..b522c3d 100644 (file)
@@ -29,6 +29,8 @@ public:
   void SetEventNumber(Int_t ev) { fEventN=ev; }
 
 //protected:
+  virtual Int_t LoadClusters()=0;
+  virtual void UnloadClusters()=0;
   virtual AliCluster *GetCluster(Int_t index) const=0;
   virtual void  UseClusters(const AliKalmanTrack *t, Int_t from=0) const;
   virtual void  CookLabel(AliKalmanTrack *t,Float_t wrong) const; 
@@ -40,7 +42,7 @@ public:
   Double_t GetSigmaZ() const {return fSigmaZ;}
   Int_t GetEventNumber() const {return fEventN;}
 
-  static Int_t SetFieldFactor(Char_t* fileName, Bool_t closeFile = kTRUE);
+  static Int_t SetFieldFactor(const char* fileName, Bool_t closeFile = kTRUE);
   static Int_t SetFieldFactor(TFile* file, Bool_t deletegAlice = kTRUE);
   static Int_t SetFieldFactor();
   
index fb7cb1c..7cda215 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.30  2003/02/28 16:13:32  hristov
+Typos corrected
+
 Revision 1.29  2003/02/28 15:18:16  hristov
 Corrections suggested by J.Chudoba
 
@@ -230,14 +233,14 @@ Double_t f3(Double_t x1,Double_t y1,
 }
 
 //_____________________________________________________________________________
-void AliTPCtracker::LoadClusters() {
+Int_t AliTPCtracker::LoadClusters() {
   //-----------------------------------------------------------------
   // This function loads TPC clusters.
   //-----------------------------------------------------------------
   if (!gFile->IsOpen()) {
     cerr<<"AliTPCtracker::LoadClusters : "<<
       "file with clusters has not been open !\n";
-    return;
+    return 1;
   }
 
   Char_t name[100];
@@ -246,15 +249,16 @@ void AliTPCtracker::LoadClusters() {
   if (!cTree) {
     cerr<<"AliTPCtracker::LoadClusters : "<<
       "can't get the tree with TPC clusters !\n";
-    return;
+    return 2;
   }
 
   TBranch *branch=cTree->GetBranch("Segment");
   if (!branch) {
     cerr<<"AliTPCtracker::LoadClusters : "<<
       "can't get the segment branch !\n";
-    return;
+    return 3;
   }
+//  AliClusters carray, *addr=&carray;
   AliClusters carray, *addr=&carray;
   carray.SetClass("AliTPCcluster");
   carray.SetArray(0);
@@ -299,6 +303,7 @@ void AliTPCtracker::LoadClusters() {
       carray.GetArray()->Clear();
   }
   delete cTree;
+  return 0;
 }
 
 //_____________________________________________________________________________
@@ -787,7 +792,8 @@ Int_t AliTPCtracker::Clusters2Tracks(const TFile *inp, TFile *out) {
           iotrack=pt;
           tracktree.Fill();
           UseClusters(&t);
-          cerr<<found++<<'\r';
+         found++;
+//          cerr<<found<<'\r';
         }
       }
     }
@@ -895,18 +901,27 @@ Int_t AliTPCtracker::RefitInward(TFile *in, TFile *out) {
 
 //_____________________________________________________________________________
 Int_t AliTPCtracker::PropagateBack(const TFile *inp, TFile *out) {
+  //-----------------------------------------------------------------
+  // This function propagates tracks back through the TPC.
+  //-----------------------------------------------------------------
+  return PropagateBack(inp, NULL, out);
+}
+
+//_____________________________________________________________________________
+Int_t AliTPCtracker::PropagateBack(const TFile *inp, const TFile *inp2, TFile *out) {
   //-----------------------------------------------------------------
   // This function propagates tracks back through the TPC.
   //-----------------------------------------------------------------
   fSeeds=new TObjArray(15000);
 
   TFile *in=(TFile*)inp;
+  TFile *in2=(TFile*)inp2;
   TDirectory *savedir=gDirectory; 
 
   if (!in->IsOpen()) {
      cerr<<"AliTPCtracker::PropagateBack(): ";
-     cerr<<"file with back propagated ITS tracks is not open !\n";
-     //return 1;
+     cerr<<"file with TPC (or back propagated ITS) tracks is not open !\n";
+     return 1;
   }
 
   if (!out->IsOpen()) {
@@ -921,6 +936,7 @@ Int_t AliTPCtracker::PropagateBack(const TFile *inp, TFile *out) {
   char tName[100];
   sprintf(tName,"TreeT_ITSb_%d",GetEventNumber());
   TTree *bckTree=(TTree*)in->Get(tName);
+  if (!bckTree && inp2) bckTree=(TTree*)in2->Get(tName);
   if (!bckTree) {
      cerr<<"AliTPCtracker::PropagateBack() ";
      cerr<<"can't get a tree with back propagated ITS tracks !\n";
@@ -1084,7 +1100,8 @@ Int_t AliTPCtracker::PropagateBack(const TFile *inp, TFile *out) {
            ps->PropagateTo(fParam->GetOuterRadiusUp()); 
            otrack=ps;
            backTree.Fill();
-           cerr<<found++<<'\r';
+          found++;
+//           cerr<<found<<'\r';
            continue;
          }
        }
@@ -1101,7 +1118,7 @@ Int_t AliTPCtracker::PropagateBack(const TFile *inp, TFile *out) {
   delete bckTrack;
   delete tpcTrack;
 
-  delete bckTree; //Thanks to Mariana Bondila
+  if (bckTree) delete bckTree; //Thanks to Mariana Bondila
   delete tpcTree; //Thanks to Mariana Bondila
 
   UnloadClusters();  
index 3e73d46..ebe7647 100644 (file)
@@ -30,12 +30,13 @@ public:
 
    Int_t ReadSeeds(const TFile *in);
 
-   void LoadClusters();
+   Int_t LoadClusters();
    void UnloadClusters();
 
    AliCluster *GetCluster(Int_t index) const;
    Int_t Clusters2Tracks(const TFile *in, TFile *out);
    Int_t PropagateBack(const TFile *in, TFile *out);
+   Int_t PropagateBack(const TFile *in, const TFile *in2, TFile *out);
    Int_t RefitInward(TFile *outTracks, TFile *inTracks);
 
    virtual void  CookLabel(AliKalmanTrack *t,Float_t wrong) const; 
index 0e08e75..5e37a08 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.8  2003/03/05 11:16:15  kowal2
+Logs added
+
 */
 
 
@@ -608,7 +611,7 @@ Double_t AliTPCtrackerMI::f3(Double_t x1,Double_t y1,
 }
 
 
-void AliTPCtrackerMI::LoadClusters()
+Int_t AliTPCtrackerMI::LoadClusters()
 {
   //
   // load clusters to the memory
@@ -616,6 +619,7 @@ void AliTPCtrackerMI::LoadClusters()
   for (Int_t i=0; i<j; i++) {
     fClustersArray.LoadEntry(i);
   }
+  return 0;
 }
 
 void AliTPCtrackerMI::UnloadClusters()
@@ -1859,7 +1863,7 @@ Int_t AliTPCtrackerMI::Clusters2Tracks(const TFile *inp, TFile *out) {
     if ((pt->IsActive()) && (nc>Int_t(0.5*t.fNFoundable) && (t.fNFoundable>Int_t(0.3*nrows)))){
       iotrack=pt;
       tracktree.Fill();
-     cerr<<found++<<'\r';      
+//     cerr<<found++<<'\r';      
     }   
     /*
       pt->RebuildSeed();
index 0ab99b5..e4f46b1 100644 (file)
@@ -130,7 +130,7 @@ public:
   ~AliTPCtrackerMI();
 
    Int_t ReadSeeds(const TFile *in);
-   void LoadClusters();
+   Int_t LoadClusters();
    void UnloadClusters();
 
    void LoadInnerSectors();
index 1518560..0287f06 100644 (file)
@@ -15,6 +15,9 @@
                                                       
 /*
 $Log$
+Revision 1.24  2003/02/19 09:02:28  hristov
+Track time measurement (S.Radomski)
+
 Revision 1.23  2003/02/10 14:06:10  cblume
 Add tracking without tilted pads as option
 
@@ -167,8 +170,6 @@ AliTRDtracker::AliTRDtracker(const TFile *geomfile)
 
   //  fGeom->SetT0(fTzero);
 
-  fEvent     = 0;
-
   fNclusters = 0;
   fClusters  = new TObjArray(2000); 
   fNseeds    = 0;
@@ -302,12 +303,12 @@ Int_t AliTRDtracker::Clusters2Tracks(const TFile *inp, TFile *out)
     return 1;
   }    
 
-  sprintf(tname,"seedTRDtoTPC_%d",fEvent); 
+  sprintf(tname,"seedTRDtoTPC_%d",GetEventNumber()); 
   TTree tpc_tree(tname,"Tree with seeds from TRD at outer TPC pad row");
   AliTPCtrack *iotrack=0;
   tpc_tree.Branch("tracks","AliTPCtrack",&iotrack,32000,0); 
 
-  sprintf(tname,"TreeT%d_TRD",fEvent);
+  sprintf(tname,"TreeT%d_TRD",GetEventNumber());
   TTree trd_tree(tname,"TRD tracks at inner TRD time bin");
   AliTRDtrack *iotrack_trd=0;
   trd_tree.Branch("tracks","AliTRDtrack",&iotrack_trd,32000,0);  
@@ -323,7 +324,7 @@ Int_t AliTRDtracker::Clusters2Tracks(const TFile *inp, TFile *out)
      }
      else {
        in->cd();
-       sprintf(tname,"TRDb_%d",fEvent);  
+       sprintf(tname,"TRDb_%d",GetEventNumber());  
        TTree *seedTree=(TTree*)in->Get(tname);  
        if (!seedTree) {
          cerr<<"AliTRDtracker::Clusters2Tracks(): ";
@@ -365,7 +366,8 @@ Int_t AliTRDtracker::Clusters2Tracks(const TFile *inp, TFile *out)
     }
     iotrack_trd = pt;
     trd_tree.Fill();
-    cout<<found++<<'\r';     
+    found++;
+//    cout<<found<<'\r';     
 
     if(PropagateToTPC(t)) {
       AliTPCtrack *tpc = new AliTPCtrack(*pt,pt->GetAlpha());
@@ -416,7 +418,8 @@ Int_t AliTRDtracker::Clusters2Tracks(const TFile *inp, TFile *out)
             UseClusters(&t);
             CookLabel(pt, 1-fLabelFraction);
             t.CookdEdx();
-            cout<<found++<<'\r';     
+           found++;
+//            cout<<found<<'\r';     
             iotrack_trd = pt;
             trd_tree.Fill();
             if(PropagateToTPC(t)) {
@@ -477,7 +480,7 @@ Int_t AliTRDtracker::PropagateBack(const TFile *inp, TFile *out) {
 
   in->cd();
   char   tname[100];
-  sprintf(tname,"seedsTPCtoTRD_%d",fEvent);       
+  sprintf(tname,"seedsTPCtoTRD_%d",GetEventNumber());       
   TTree *seedTree=(TTree*)in->Get(tname);
   if (!seedTree) {
      cerr<<"AliTRDtracker::PropagateBack(): ";
@@ -506,23 +509,23 @@ Int_t AliTRDtracker::PropagateBack(const TFile *inp, TFile *out) {
 
   AliTPCtrack *otrack=0;
 
-  sprintf(tname,"seedsTRDtoTOF1_%d",fEvent);  
+  sprintf(tname,"seedsTRDtoTOF1_%d",GetEventNumber());  
   TTree tofTree1(tname,"Tracks back propagated through TPC and TRD");
   tofTree1.Branch("tracks","AliTPCtrack",&otrack,32000,0);  
 
-  sprintf(tname,"seedsTRDtoTOF2_%d",fEvent);  
+  sprintf(tname,"seedsTRDtoTOF2_%d",GetEventNumber());  
   TTree tofTree2(tname,"Tracks back propagated through TPC and TRD");
   tofTree2.Branch("tracks","AliTPCtrack",&otrack,32000,0);  
 
-  sprintf(tname,"seedsTRDtoPHOS_%d",fEvent);  
+  sprintf(tname,"seedsTRDtoPHOS_%d",GetEventNumber());  
   TTree phosTree(tname,"Tracks back propagated through TPC and TRD");
   phosTree.Branch("tracks","AliTPCtrack",&otrack,32000,0);  
 
-  sprintf(tname,"seedsTRDtoRICH_%d",fEvent);  
+  sprintf(tname,"seedsTRDtoRICH_%d",GetEventNumber());  
   TTree richTree(tname,"Tracks back propagated through TPC and TRD");
   richTree.Branch("tracks","AliTPCtrack",&otrack,32000,0);  
 
-  sprintf(tname,"TRDb_%d",fEvent);  
+  sprintf(tname,"TRDb_%d",GetEventNumber());  
   TTree trdTree(tname,"Back propagated TRD tracks at outer TRD time bin");
   AliTRDtrack *otrack_trd=0;
   trdTree.Branch("tracks","AliTRDtrack",&otrack_trd,32000,0);   
@@ -557,7 +560,8 @@ Int_t AliTRDtracker::PropagateBack(const TFile *inp, TFile *out) {
       ps->PropagateTo(364.8);
       otrack_trd=ps;
       trdTree.Fill();
-      cout<<found++<<'\r';
+      found++;
+//      cout<<found<<'\r';
     }
 
     if(((expectedClr < 10) && (last_tb == outermost_tb)) ||
@@ -1233,7 +1237,7 @@ void AliTRDtracker::LoadEvent()
               
   UInt_t index;
   while (ncl--) {
-    printf("\r %d left  ",ncl); 
+//    printf("\r %d left  ",ncl); 
     AliTRDcluster *c=(AliTRDcluster*)fClusters->UncheckedAt(ncl);
     Int_t detector=c->GetDetector(), local_time_bin=c->GetLocalTimeBin();
     Int_t sector=fGeom->GetSector(detector);
@@ -1444,7 +1448,7 @@ void AliTRDtracker::MakeSeeds(Int_t inner, Int_t outer, Int_t turn)
              (outer-inner)*fMinClustersInSeed)) delete track;
         else {
           fSeeds->AddLast(track); fNseeds++;
-          cerr<<"\r found seed "<<fNseeds;
+//          cerr<<"\r found seed "<<fNseeds;
         }
       }
     }
@@ -1474,7 +1478,7 @@ void AliTRDtracker::ReadClusters(TObjArray *array, const TFile *inp)
   }
 
   Char_t treeName[12];
-  sprintf(treeName,"TreeR%d_TRD",fEvent);
+  sprintf(treeName,"TreeR%d_TRD",GetEventNumber());
   TTree *ClusterTree = (TTree*) gDirectory->Get(treeName);
   
   TObjArray *ClusterArray = new TObjArray(400); 
@@ -1496,7 +1500,7 @@ void AliTRDtracker::ReadClusters(TObjArray *array, const TFile *inp)
     
     // Get the number of points in the detector
     Int_t nCluster = ClusterArray->GetEntriesFast();  
-    printf("\r Read %d clusters from entry %d", nCluster, iEntry);
+//    printf("\r Read %d clusters from entry %d", nCluster, iEntry);
     
     // Loop through all TRD digits
     for (Int_t iCluster = 0; iCluster < nCluster; iCluster++) { 
@@ -1535,7 +1539,7 @@ void AliTRDtracker::ReadClusters(TObjArray *array, const Char_t *filename)
   }
 
   Char_t treeName[12];
-  sprintf(treeName,"TreeR%d_TRD",fEvent);
+  sprintf(treeName,"TreeR%d_TRD",GetEventNumber());
   TTree *ClusterTree = (TTree*) gDirectory->Get(treeName);
 
   if (!ClusterTree) {
index 2c53735..3b49c50 100644 (file)
@@ -5,11 +5,11 @@
  * See cxx source for full Copyright notice                               */ 
 
 #include "AliTracker.h" 
+#include "TObjArray.h" 
 
 class TFile;
 class TParticle;
 class TParticlePDG;
-class TObjArray;
 
 class AliTRDgeometry;
 class AliTRDparameter;
@@ -33,11 +33,12 @@ class AliTRDtracker : public AliTracker {
 
   Int_t         Clusters2Tracks(const TFile *in, TFile *out);
   Int_t         PropagateBack(const TFile *in, TFile *out);
-  AliCluster   *GetCluster(Int_t index) const { return NULL; };
+  Int_t         LoadClusters() {LoadEvent(); return 0;};
+  void          UnloadClusters() {UnloadEvent();};
+  AliCluster   *GetCluster(Int_t index) const { return (AliCluster*) fClusters->UncheckedAt(index); };
   virtual void  CookLabel(AliKalmanTrack *t,Float_t wrong) const;
   virtual void  UseClusters(const AliKalmanTrack *t, Int_t from=0) const;  
   
-  void          SetEventNumber(Int_t event) { fEvent = event; }
   void          SetAddTRDseeds() { fAddTRDseeds = kTRUE; }
   void          SetNoTilt() { fNoTilt = kTRUE; }
 
@@ -188,8 +189,6 @@ class AliTRDtracker : public AliTracker {
 
  protected:
 
-  Int_t              fEvent;            // Event number
-
   AliTRDgeometry     *fGeom;            // Pointer to TRD geometry
   AliTRDparameter    *fPar;