/*
$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
#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) {
}
//_____________________________________________________________________________
-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.
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();
carray.SetClusterType("AliTPCcluster");
carray.MakeTree();
+
+
Int_t nclusters=0;
for (Int_t n=0; n<nentries; n++) {
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;
cerr<<"Number of found clusters : "<<nclusters<<" \n";
+ carray.GetTree()->SetName(cname);
carray.GetTree()->Write();
savedir->cd();
+
+ delete t; //Thanks to Mariana Bondila
}