/*
$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
}
//_____________________________________________________________________________
-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];
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);
carray.GetArray()->Clear();
}
delete cTree;
+ return 0;
}
//_____________________________________________________________________________
iotrack=pt;
tracktree.Fill();
UseClusters(&t);
- cerr<<found++<<'\r';
+ found++;
+// cerr<<found<<'\r';
}
}
}
//_____________________________________________________________________________
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()) {
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";
ps->PropagateTo(fParam->GetOuterRadiusUp());
otrack=ps;
backTree.Fill();
- cerr<<found++<<'\r';
+ found++;
+// cerr<<found<<'\r';
continue;
}
}
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();
/*
$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
// fGeom->SetT0(fTzero);
- fEvent = 0;
-
fNclusters = 0;
fClusters = new TObjArray(2000);
fNseeds = 0;
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);
}
else {
in->cd();
- sprintf(tname,"TRDb_%d",fEvent);
+ sprintf(tname,"TRDb_%d",GetEventNumber());
TTree *seedTree=(TTree*)in->Get(tname);
if (!seedTree) {
cerr<<"AliTRDtracker::Clusters2Tracks(): ";
}
iotrack_trd = pt;
trd_tree.Fill();
- cout<<found++<<'\r';
+ found++;
+// cout<<found<<'\r';
if(PropagateToTPC(t)) {
AliTPCtrack *tpc = new AliTPCtrack(*pt,pt->GetAlpha());
UseClusters(&t);
CookLabel(pt, 1-fLabelFraction);
t.CookdEdx();
- cout<<found++<<'\r';
+ found++;
+// cout<<found<<'\r';
iotrack_trd = pt;
trd_tree.Fill();
if(PropagateToTPC(t)) {
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(): ";
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);
ps->PropagateTo(364.8);
otrack_trd=ps;
trdTree.Fill();
- cout<<found++<<'\r';
+ found++;
+// cout<<found<<'\r';
}
if(((expectedClr < 10) && (last_tb == outermost_tb)) ||
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);
(outer-inner)*fMinClustersInSeed)) delete track;
else {
fSeeds->AddLast(track); fNseeds++;
- cerr<<"\r found seed "<<fNseeds;
+// cerr<<"\r found seed "<<fNseeds;
}
}
}
}
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);
// 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++) {
}
Char_t treeName[12];
- sprintf(treeName,"TreeR%d_TRD",fEvent);
+ sprintf(treeName,"TreeR%d_TRD",GetEventNumber());
TTree *ClusterTree = (TTree*) gDirectory->Get(treeName);
if (!ClusterTree) {