]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCclusterer.cxx
Field conversion factor added.
[u/mrichter/AliRoot.git] / TPC / AliTPCclusterer.cxx
index 0a7f5345e47a26067c6d57c41aa47523e663886b..ac5605270e700fe230991e0c922860dcf71d5c2f 100644 (file)
 
 /*
 $Log$
+Revision 1.10  2002/10/14 14:57:43  hristov
+Merging the VirtualMC branch to the main development branch (HEAD)
+
+Revision 1.7.6.1  2002/06/10 15:26:12  hristov
+Merged with v3-08-02
+
+Revision 1.9  2002/05/09 06:57:09  kowal2
+Protection against nonexisting input tree
+
+Revision 1.8  2002/03/29 06:57:45  kowal2
+Restored backward compatibility to use the hits from Dec. 2000 production.
+
+Revision 1.7  2001/10/21 19:04:55  hristov
+Several patches were done to adapt the barel reconstruction to the multi-event case. Some memory leaks were corrected. (Yu.Belikov)
+
+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
+
+Revision 1.4  2001/04/17 08:06:27  hristov
+Possibility to define the magnetic field in the reconstruction (Yu.Belikov)
+
+Revision 1.3  2000/10/05 16:14:01  kowal2
+Forward declarations.
+
+Revision 1.2  2000/06/30 12:07:50  kowal2
+Updated from the TPC-PreRelease branch
+
 Revision 1.1.2.1  2000/06/25 08:53:55  kowal2
 Splitted from AliTPCtracking
 
@@ -35,7 +65,8 @@ Splitted from AliTPCtracking
 #include "AliDigits.h"
 #include "AliSimDigits.h"
 #include "AliTPCParam.h"
-#include <iostream.h>
+#include <Riostream.h>
+#include <TTree.h>
 
 void AliTPCclusterer::FindPeaks(Int_t k,Int_t max,
 AliBin *b,Int_t *idx,UInt_t *msk,Int_t& n) {
@@ -89,7 +120,7 @@ AliTPCcluster &c) {
 }
 
 //_____________________________________________________________________________
-void AliTPCclusterer::Digits2Clusters(const AliTPCParam *par, TFile *of)
+void AliTPCclusterer::Digits2Clusters(const AliTPCParam *par, TFile *of, Int_t eventn)
 {
   //-----------------------------------------------------------------
   // This is a simple cluster finder.
@@ -103,7 +134,26 @@ void AliTPCclusterer::Digits2Clusters(const AliTPCParam *par, TFile *of)
 
   const Int_t kMAXZ=par->GetMaxTBin()+2;
 
-  TTree *t = (TTree *)gDirectory->Get("TreeD_75x40_100x60");
+  char  dname[100];
+  char   cname[100];
+  if (eventn==-1) {
+
+    // for backward compatibility
+    
+    sprintf(dname,"TreeD_75x40_100x60_150x60");
+    sprintf(cname,"TreeC_TPC");
+  }
+  else {
+    sprintf(dname,"TreeD_75x40_100x60_150x60_%d",eventn);
+    sprintf(cname,"TreeC_TPC_%d",eventn);
+  }
+  TTree *t = (TTree *)gDirectory->Get(dname);
+
+  if (!t) {
+    cerr<<"Input tree with "<<dname<<" not found"<<endl;
+    return;
+  }
+
   AliSimDigits digarr, *dummy=&digarr;
   t->GetBranch("Segment")->SetAddress(&dummy);
   Stat_t nentries = t->GetEntries();
@@ -116,6 +166,8 @@ void AliTPCclusterer::Digits2Clusters(const AliTPCParam *par, TFile *of)
   carray.SetClusterType("AliTPCcluster");
   carray.MakeTree();
 
+
+
   Int_t nclusters=0;
 
   for (Int_t n=0; n<nentries; n++) {
@@ -238,8 +290,8 @@ void AliTPCclusterer::Digits2Clusters(const AliTPCParam *par, TFile *of)
     carray.StoreRow(sec,row);
     carray.ClearRow(sec,row);
 
-    cerr<<"sector, row, compressed digits, clusters: "
-    <<sec<<' '<<row<<' '<<digarr.GetSize()<<' '<<ncl<<"                  \r";
+    //cerr<<"sector, row, compressed digits, clusters: "
+    //<<sec<<' '<<row<<' '<<digarr.GetSize()<<' '<<ncl<<"                  \r";
 
     nclusters+=ncl;
 
@@ -248,7 +300,10 @@ void AliTPCclusterer::Digits2Clusters(const AliTPCParam *par, TFile *of)
 
   cerr<<"Number of found clusters : "<<nclusters<<"                        \n";
 
+  carray.GetTree()->SetName(cname);
   carray.GetTree()->Write();
   savedir->cd();
+
+  delete t;  //Thanks to Mariana Bondila
 }