|
Re: EmcCluster: Map version 0 does not exist [message #6919 is a reply to message #6917] |
Sat, 14 June 2008 18:23 |
StefanoSpataro
Messages: 2736 Registered: June 2005 Location: Torino
|
first-grade participant |
From: *211-62-r.retail.telecomitalia.it
|
|
Hi,
in theory this should be just a warning, and the cluster should be given anyhow.
In each case, in order to avoid the problem, you should add your simulation file as friend of your analyzed tree. I.e., if your tree is called "chain", after you create your tree you have to type:
chain->AddFriend("cbmsim","simulationfile.root");
PndEmcMapper *emcMap=PndEmcMapper::Instance(1);
In simulationfile.root there should be the geometry, and then PndEmcMapper should be able to create the proper map.
If this does not work, try to set the branch address of the digi:
TClonesArray* digi_array=new TClonesArray("PndDigiCluster");
chain->SetBranchAddress("EmcDigi",&digi_array);
If this still does not work... I have no idea, ask Dima
|
|
|
|
|
|
Re: EmcCluster: Map version 0 does not exist [message #7426 is a reply to message #7425] |
Fri, 17 October 2008 09:28 |
Aleksandra Biegun
Messages: 64 Registered: May 2007 Location: Groningen
|
continuous participant |
From: *KVI.nl
|
|
Hello Vishwajeet Jha,
try to change map version number from 1 to 2, i.e.
from:
TFile* fsim = new TFile("simfile.root");
TTree *tsim=(TTree *) fsim->Get("cbmsim");
PndEmcMapper *emcMap=PndEmcMapper::Instance(1);
...
to:
TFile* fsim = new TFile("simfile.root");
TTree *tsim=(TTree *) fsim->Get("cbmsim");
PndEmcMapper *emcMap=PndEmcMapper::Instance(2);
Now, we use map version number 2.
You can check which map version you use in the parametrisation file in ./trunk/macro/params/emc.par
Do not edit this file via "jed", use for instance "emacs" or just
loot into in via "more" or "less" programs.
I hope it will work for you.
Regards,
Aleksandra.
Aleksandra Biegun
University of Groningen/KVI
Zernikelaan 25, 9747 AA Groningen
tel. +31 50 363 3630
fax. +31 50 363 4003
|
|
|
|
|
|
|
|
|
|
|
Re: EmcCluster: Map version 0 does not exist [message #7453 is a reply to message #7439] |
Tue, 21 October 2008 15:38 |
Vishwajeet Jha
Messages: 9 Registered: August 2008
|
occasional visitor |
From: *ikp.kfa-juelich.de
|
|
Hi...
I tried few things as suggested by adding lines in
writeMicro.C, none work for me , I list the errors which I get
i) PndEmcMapper *emcMap = PndEmcMapper (2,simfile);
-I- CbmRunAna Input file: output.evt.mc.root is connected to friend: output.evt.mcreco.root
Error: Symbol null is not defined in current scope writeMicro.C:71:
*** Interpreter error recovered ***
ii) PndEmcMapper *emcMap = PndEmcMapper::Instance(2,simfile);
-I- CbmRunAna Input file: output.evt.mc.root is connected to friend: output.evt.mcreco.root
Error: Incorrect assignment to emcMap, wrong type 'Reflex::Instance' writeMicro.C:57:
*** Interpreter error recovered ***
iii) PndEmcMapper *emcMap = PndEmcMapper::Instance(2);
In this case we had to add the simfile first and recofile as the friend (opposite to what is there in macro), then the CBMGeom object is recognized, but now the error is
create PndFieldPar container PndConstPar
create PndFieldPar container PndMultiFieldPar
*** Break *** segmentation violation
Using host libthread_db library "/lib/libthread_db.so.1".
Attaching to program: /proc/9046/exe, process 9046
[Thread debugging using libthread_db enabled]
[New Thread -1228196144 (LWP 9046)]
0xb7f44410 in __kernel_vsyscall ()
#1 0xb6d735c3 in __waitpid_nocancel () from /lib/libc.so.6
................
Without including the EMC in the simfile everything runs fine for me. That's not all. Same thing in another computer (of Tobias) has problems in runReco.C itself in Kalman
double Kalman::getChi2Hit(AbsRecoHit* hit, AbsTrackRep* rep)
assert(chisq.GetNoElements()==1;
Regards,
Vishwajeet
|
|
|