* provided "as is" without express or implied warranty. *
**************************************************************************/
-/*
-$Log$
-*/
-
-
-
-
-
-
+/* $Id$ */
/*
AliTPC parallel tracker -
#include "AliTPCClustersRow.h"
#include "AliComplexCluster.h"
#include "AliTPCpolyTrack.h"
+#include "AliRunLoader.h"
#include "TStopwatch.h"
}
//_____________________________________________________________________________
-AliTPCtrackerMI::AliTPCtrackerMI(const AliTPCParam *par, Int_t eventn):
+AliTPCtrackerMI::AliTPCtrackerMI(const AliTPCParam *par):
AliTracker(), fkNIS(par->GetNInnerSector()/2), fkNOS(par->GetNOuterSector()/2)
{
//---------------------------------------------------------------------
fClustersArray.Setup(par);
fClustersArray.SetClusterType("AliTPCclusterMI");
- char cname[100];
- if (eventn==-1) {
- sprintf(cname,"TreeC_TPC");
- }
- else {
- sprintf(cname,"TreeC_TPC_%d",eventn);
- }
-
- fClustersArray.ConnectTree(cname);
-
- fEventN = eventn;
fSeeds=0;
fNtracks = 0;
fParam = par;
}
-void AliTPCtrackerMI::LoadClusters()
+Int_t AliTPCtrackerMI::LoadClusters()
{
//
// load clusters to the memory
for (Int_t i=0; i<j; i++) {
fClustersArray.LoadEntry(i);
}
+
+ LoadOuterSectors();
+ LoadInnerSectors();
+
+ return 0;
}
void AliTPCtrackerMI::UnloadClusters()
}
//_____________________________________________________________________________
-Int_t AliTPCtrackerMI::Clusters2Tracks(const TFile *inp, TFile *out) {
+Int_t AliTPCtrackerMI::Clusters2Tracks() {
//-----------------------------------------------------------------
// This is a track finder.
//-----------------------------------------------------------------
- TDirectory *savedir=gDirectory;
-
- if (inp) {
- TFile *in=(TFile*)inp;
- if (!in->IsOpen()) {
- cerr<<"AliTPCtrackerMI::Clusters2Tracks(): input file is not open !\n";
- return 1;
- }
- }
-
- if (!out->IsOpen()) {
- cerr<<"AliTPCtrackerMI::Clusters2Tracks(): output file is not open !\n";
- return 2;
+ TTree* clustersTree = AliRunLoader::GetTreeR("TPC", kFALSE,AliConfig::fgkDefaultEventFolderName);
+ if (!clustersTree) {
+ Error("Clusters2Tracks", "no clusters found");
+ return 1;
}
+ fClustersArray.ConnectTree(clustersTree);
- out->cd();
-
- char tname[100];
- sprintf(tname,"TreeT_TPC_%d",fEventN);
- TTree tracktree(tname,"Tree with TPC tracks");
- TTree seedtree("Seeds","Seeds");
+ TTree* tracksTree = AliRunLoader::GetTreeT("TPC", kTRUE,AliConfig::fgkDefaultEventFolderName);
+ TTree& tracktree = *tracksTree;
+// TTree seedtree("Seeds","Seeds");
AliTPCtrack *iotrack=0;
AliTPCseed *ioseed=0;
tracktree.Branch("tracks","AliTPCtrack",&iotrack,32000,0);
LoadClusters();
printf("Time for loading clusters: \t");timer.Print();timer.Start();
- printf("Loading outer sectors\n");
- LoadOuterSectors();
- printf("Time for loading outer sectors: \t");timer.Print();timer.Start();
-
- printf("Loading inner sectors\n");
- LoadInnerSectors();
- printf("Time for loading inner sectors: \t");timer.Print();timer.Start();
fSectors = fOuterSec;
fN=fkNOS;
vseed->fPoints->ExpandCreateFast(2);
//TBranch * seedbranch =
- seedtree.Branch("seeds","AliTPCseed",&vseed,32000,99);
+// seedtree.Branch("seeds","AliTPCseed",&vseed,32000,99);
//delete vseed;
nseed=fSeeds->GetEntriesFast();
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();
UnloadClusters();
printf("Time for unloading cluster: \t"); timer.Print();timer.Start();
- tracktree.Write();
- seedtree.Write();
+// seedtree.Write();
cerr<<"Number of found tracks : "<<"\t"<<found<<endl;
- savedir->cd();
-
+ AliRunLoader::GetDetectorLoader("TPC",AliConfig::fgkDefaultEventFolderName)->WriteTracks("OVERWRITE");
+
return 0;
}