problem in retriving data from runDemo output [message #6124] |
Thu, 20 March 2008 10:35 |
Anonymous Poster
|
|
From: *gsi.de
|
|
Hi All,
I'm facing problem while retriving the data from recotasks/demo/runDemo.C output. I tried with the latest version of pandaroot from svn. I could able to run the recotasks/demo/runMC.C and runDemo.C. But it is crashing while retriving the output from "demo.mcreco.root" file. Please let me know if I'm making any mistakes somewhere. From the errors it looks like there is some problem in trackrep/GeaneTrackRep.cxx file. It is giving the errors like:
root [0] .x readCov.C
PSaid instance created... access via gSaid->f()
- RTDB container factory CbmBaseContFact
- RTDB container factory PndFieldContFact
- RTDB container factory PndPassiveContFact
- RTDB container factory PndMvdContFact
- RTDB container factory PndEmcContFact
- RTDB container factory PndDrcContFact
- RTDB container factory PndTpcContFact
*** # of events are*** 100
GeaneTrackRep::Standard Ctor
*** Break *** segmentation violation
Using host libthread_db library "/lib/libthread_db.so.1".
Attaching to program: /proc/27236/exe, process 27236
Failed to read a valid object file image from memory.
done.
done.
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 27236)]
done.
done.
done.
done.
done.
done.
done.
done.
done.
----------
The macro which I use to retirved the data lokks like:
{
gROOT->Macro("loadRecoLibs.C");
TFile* f=TFile::Open("demo.mcreco.root");
TTree* t=(TTree*)f->Get("cbmsim");
TClonesArray *fTr = new TClonesArray("Track");
t->SetBranchAddress("Track",&fTr);
Track *tr1;
cout<<"*** # of events are*** "<<t->GetEntriesFast()<<endl;
for(Int_t i=0;i<t->GetEntriesFast();i++){
t->GetEntry(i);
cout<<"number of Tracks *** "<<fTr->GetEntriesFast()<<endl;
for(Int_t j=0;j<fTr->GetEntriesFast();j++){
tr1= (Track *)fTr->At(j);
//Getting info from AbsTrackRep
Int_t Charge =tr1->getCardinalRep()->getCharge();
Float_t x = tr1->getCardinalRep()->getPos().);
Float_t y = tr1->getCardinalRep()->getPos().Y();
Float_t z = tr1->getCardinalRep()->getPos().Z();
}
}
}
|
|
|