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();
}
}
}
|
|
|
|
Re: problem in retriving data from runDemo output [message #6130 is a reply to message #6127] |
Thu, 20 March 2008 14:08 |
Anonymous Poster
|
|
From: *gsi.de
|
|
Hi Sabastian,
I made a separate task which should read the demo output. Also I have loaded all the library functions of the pandaroot. When I pluged this task to my macro it crashes exactly at the same point where it was crashing without the task. It gives the errors like:
root [0] .x readTrackVertexFit.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
-I- CbmRunAna: Opening Input file: ../recotasks/demo/demo.mcreco.root
GeaneTrackRep::Standard Ctor
*** Break *** segmentation violation
Using host libthread_db library "/lib/libthread_db.so.1".
Attaching to program: /proc/30542/exe, process 30542
Failed to read a valid object file image from memory.
done.
done.
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 30542)]
done.
done.
done.
done.
done.
done.
done.
done.
done.
0x40c90788 in waitpid () from /lib/libc.so.6
#1 0x40d188c0 in __DTOR_END__ () from /lib/libc.so.6
#2 0x40c29442 in do_system () from /lib/libc.so.6
#3 0x40ba3c5f in system () from /lib/libpthread.so.0
#4 0x401fa79f in TUnixSystem::Exec ()
from /misc/cbmsoft/Debian3.1/mar08/fairsoft/tools/root/lib/libCore.so.5.18
#5 0x401fac63 in TUnixSystem::StackTrace ()
from /misc/cbmsoft/Debian3.1/mar08/fairsoft/tools/root/lib/libCore.so.5.18
#6 0x401f85cc in TUnixSystem::DispatchSignals ()
from /misc/cbmsoft/Debian3.1/mar08/fairsoft/tools/root/lib/libCore.so.5.18
#7 0x401f63a8 in SigHandler ()
from /misc/cbmsoft/Debian3.1/mar08/fairsoft/tools/root/lib/libCore.so.5.18
#8 0x401fdefe in sighandler ()
from /misc/cbmsoft/Debian3.1/mar08/fairsoft/tools/root/lib/libCore.so.5.18
#9 0x40ba2825 in __pthread_sighandler () from /lib/libpthread.so.0
#10 <signal handler called>
#11 0x44ec0ad5 in CbmGeanePro (this=0x891a688)
at /d/panda02/dipak/pndroot0308_1/pandaroot/geane/CbmGeanePro.cxx:34
#12 0x44ecc945 in new_CbmGeanePro (p=0x0)
at /d/panda02/dipak/pndroot0308_1/build/geane/GeaneDict.cxx:286
#13 0x401db249 in TClass::New ()
from /misc/cbmsoft/Debian3.1/mar08/fairsoft/tools/root/lib/libCore.so.5.18
#14 0x40dd4165 in TBufferFile::ReadObjectAny ()
from /misc/cbmsoft/Debian3.1/mar08/fairsoft/tools/root/lib/libRIO.so
#15 0x40dd26be in TBufferFile::ReadFastArray ()
from /misc/cbmsoft/Debian3.1/mar08/fairsoft/tools/root/lib/libRIO.so
#16 0x40e15fe1 in TStreamerInfo::ReadBuffer<char**> ()
from /misc/cbmsoft/Debian3.1/mar08/fairsoft/tools/root/lib/libRIO.so
#17 0x40dd66be in TBufferFile::ReadClassBuffer ()
from /misc/cbmsoft/Debian3.1/mar08/fairsoft/tools/root/lib/libRIO.so
Root >
---------
But before collaboration meeting I was able to access all the required variables like x,y,z,px,py,pz and the respective cov. matrices and I'm using the same macro but it is crashing in GeaneTrackRep!!! If you have made any example macro to readback the demo output please let me know.
Best Regards,
Dipak
|
|
|
|
|
|
|
|
|
|
|
|
Re: problem in retriving data from runDemo output [message #6157 is a reply to message #6156] |
Wed, 26 March 2008 12:34 |
Mohammad Al-Turany
Messages: 518 Registered: April 2004 Location: GSI, Germany
|
first-grade participant |
From: *gsi.de
|
|
Hi,
Quote: | b) The user has to take care that the new propagator repects the conditions under which the old parameters were fitted (magnetic field, material ...).
|
Normally a propagator has access to the geometry, material and field, then it needs only the initial track parameters to deliver new ones and the errors. So is there any other conditions? On the other hand the Fitter usually uses the propagator to estimate the new parameters but never act on the propagator it self! my understanding is that these two packages can be completely independent of each other, the only thing is to grantee that they use the same geometry and field and that is exactly what the CbmRun is doing!
Quote: | In the case of TrackBase however there is a deep dependency on the base package, because the Run object singleton is used to access the magnetic field. You cannot simply use it outside the framwork. Can you?
|
If I have a manager which deliver me the field and geometry I will use it!
This dependancy is ok for me, I will never try to remove it! for following reasons:
1. I do not see any reason for this! except that you think it is better to be independent of any framework(Panda could change it again) but this means you should use the geane fortran directly and even though you are still dependent on G3 and CERN, doing this you have to write your own VMC main application loop to run G3 and Geane. Or you implement also your own propagator!
2. The CbmRun does not only deliver the field but take care that you have the proper one used in simulation and the same for the geometry!
regards
Mohammad
|
|
|
|
|
|
|
Re: problem in retriving data from runDemo output [message #6184 is a reply to message #6159] |
Sun, 30 March 2008 18:35 |
Jens Sören Lange
Messages: 193 Registered: June 2005
|
first-grade participant |
From: *web.vodafone.de
|
|
Hi all,
Quote: |
However Dipak tried to access the track data in a simple root macro WITHOUT the framework. This is how we started the discussion.
Obviously Track parameters without it's context do not make sense. So you need the framework.
|
This is exactly the core question and I think I know a compromise now (maybe). Can we talk about this in detail on the next meeting on WED Apr 2 (will everybody be there?). It is quite important.
cheers, Soeren
|
|
|