GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » Analysis » Tutorial macro
Tutorial macro [message #15097] Mon, 05 August 2013 14:56 Go to next message
Elisabetta Prencipe (2) is currently offline  Elisabetta Prencipe (2)
Messages: 214
Registered: February 2013
first-grade participant
From: *ikp.kfa-juelich.de
Dear all,

I tried to run the macros of the tutorial in /tutorial/apr13/*.C before running my specific analysis macro, just to be sure that things are under control; they look running smooth. However I get the message that the particle with PDG code 30443 is not in the list.

I checked also the macros in /macro/run/*.C, in the same release apr13, and I get a different warning related to the missing PDG code: this time is the ppbarsystem: 88888. However, it looks that in the way that the simulation macro here is provided, it produces a segmentation violation when it arrives to simulate the last event (whatever it is: 5, 10, 100....). The problem occurs at the last line of the simulation macro,

exit(0);

If I comment this line, the simulation macro provided in /macro/run/sim_complete.C looks working as the sim-macro of the /tutorial/apr13/ and I can run the digi-, reco-, -pid and my specific analysis macro. Did anybody experienced the same problem?
May I ask why that line was added in the macros provided in /macro/run/*.C? and how is correct, then?

The ROOT version which I am currently using is 5.34;
Pandaroot release: apr13
Fairroot Revision: 20995

Thanks in advance for your help in understanding,
Elisabetta
Re: Tutorial macro [message #15098 is a reply to message #15097] Mon, 05 August 2013 15:11 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
Hi,
the "exit(0)" problem is known since ages, it happens sometimes and not always, and it is hidden in some wrong destructor somewhere in the code. Adding "delete fRun;" before the exit should help.

In reality it is not a big problem, then we have never tried to find who is the guilty guy. The exit(0) lise is not important since we always run root -q, most probably it could be removed.
Re: Tutorial macro [message #15099 is a reply to message #15097] Mon, 05 August 2013 15:12 Go to previous messageGo to next message
Klaus Götzen is currently offline  Klaus Götzen
Messages: 293
Registered: June 2006
Location: GSI
first-grade participant
From: *gsi.de
Hi Elisabetta,


concerning this 'exit(0);', I experienced the same problem as you, therefore I commented it in the macros in tutorials/rho (which are based on the macros in macro/run). The purpose I guess was, that the script exits to shell when running in batch mode.

This is also achieved when running 'root -b -q -w <script>' without the 'exit', I think.

Concerning the particle numbers, usually you do not need to worry - it's because EvtGen uses different codes and names than native ROOT TDatabasePDG for some resonances. It only gets important when doing a Monte Carlo Truth match. There you might need to add the according particles to the database (again) to make the match working.


Best,
Klaus
Re: Tutorial macro [message #15105 is a reply to message #15099] Mon, 05 August 2013 16:32 Go to previous messageGo to next message
Elisabetta Prencipe (2) is currently offline  Elisabetta Prencipe (2)
Messages: 214
Registered: February 2013
first-grade participant
From: *ikp.kfa-juelich.de
Hi Stefano and Klaus,

thank you to answer to my question. As I am a beginner in using Pandaroot, I don't know since which age this problem is known. I just found it in the new release. I am sure that in the next release it will be fixed, because it can generate confusion when one gets started. I see also that the sim-macro becomes slower and slower, depends on how many events I try to simulate. Is this a known problem, too?

Thank you again, Elisabetta
Re: Tutorial macro [message #15108 is a reply to message #15105] Mon, 05 August 2013 21:48 Go to previous messageGo to next message
Klaus Götzen is currently offline  Klaus Götzen
Messages: 293
Registered: June 2006
Location: GSI
first-grade participant
From: *adsl.alicedsl.de
Hi Elisabetta,


indeed, I also observed this slowing down during runtime of the analysis macro. I'm not completely sure, but from my observations it seems that this effect appears with a certain level of 'complexity' of the ROOT scripts, which prevents CINT to correctly precompile/prefetch the code.

I'm not aware that this happens also for the simulation macro.

For analysis (i.e. much of interpreted code) the only way around for me was to either simplify the code (sometimes it's only one line of code, which makes it slow), or to put the code into an own task.


Best,
Klaus
Re: Tutorial macro [message #15115 is a reply to message #15108] Wed, 07 August 2013 09:16 Go to previous messageGo to next message
Elisabetta Prencipe (2) is currently offline  Elisabetta Prencipe (2)
Messages: 214
Registered: February 2013
first-grade participant
From: *ext.kfa-juelich.de
Hello Klaus,

I updated the trunk to run the tutorial macro in /tutorial/rho/ as you recently suggested. I can easy run sim-, digi-, reco-, pid- macros. But when I try to run the analysis macros of this new tutorial (without changing anything) I am in troubles:

1) tut_ana_comb.C

This macro is stopping since the beginning, because at the line l.105 it is combined:

****
RhoCandidate *combCand;
combCand= muplus[j]->Combine(*muminus[k]);
*****

This is not ok, as it produces the following error message:

*****
Error: Can't call RhoCandidate::Combine(*muminus[k]) in current scope tut_ana_comb.C:105:
Possible candidates are...
(in RhoCandidate)
/home/prencipe/panda/pandaroot/trunkbuild/lib/libRho.so -1:-1 0 public: RhoCandidate* RhoCandidate::Combine(RhoCandidate* c);
/home/prencipe/panda/pandaroot/trunkbuild/lib/libRho.so -1:-1 0 public: RhoCandidate* RhoCandidate::Combine(RhoCandidate* c1,RhoCandidate* c2);
/home/prencipe/panda/pandaroot/trunkbuild/lib/libRho.so -1:-1 0 public: RhoCandidate* RhoCandidate::Combine(RhoCandidate* c1,RhoCandidate* c2,RhoCandidate* c3);
*** Interpreter error recovered ***
*******

In the old tutorial, I used to combine lists, and it worked, and even here it would work. But in this macro RhoCandidates are combined, and I cannot run this macro in this way. How did you manage to compile this macro?

2) tut_ana_pid.C This works fine to me.

3) tut_ana_mcmatch.C This macro runs, but the plots of the full truth-match are empty. Actually also in the old tutorial they collected 0 entries in my case....do you have any hint how could I solve such a problem?

4) tut_ana_mclist.C This runs smooth

5) tut_ana_fit.C This is the worst case: it produces a segmentation violation. How did you manage to run this macro for the kinematic fit in /tutorial/rho/?

6) tut_ana.C It does not work, as the previous macros crash.

7) tut_makegifs.C It does not work

So, let's summarize: in this new rho-tutorial, without changing anything, for me the only analysis-macro working is the ana_pid. Any idea why I met these troubles? Do I miss anything, any setting, any change which am I supposed to do before running the analysis macros of /tutorial/rho?

http://panda-wiki.gsi.de/cgi-bin/view/Computing/PandaRootRhoTutorial

Thank you very much in advance for your useful help,

Elisabetta
Re: Tutorial macro [message #15116 is a reply to message #15115] Wed, 07 August 2013 10:43 Go to previous messageGo to next message
Lu Cao is currently offline  Lu Cao
Messages: 77
Registered: February 2013
continuous participant
From: *ikp.kfa-juelich.de
Hi Elisabetta,

I also met this problem few days ago.
Which version are you using?

Best regards,
Lu
Re: Tutorial macro [message #15119 is a reply to message #15116] Wed, 07 August 2013 11:48 Go to previous messageGo to next message
Elisabetta Prencipe (2) is currently offline  Elisabetta Prencipe (2)
Messages: 214
Registered: February 2013
first-grade participant
From: *ext.kfa-juelich.de
Hi Lu,

as mentioned in my previous posting, I followed the instruction found in the wiki:

http://panda-wiki.gsi.de/cgi-bin/view/Computing/PandaRootTutApr2013

where I read:

> svn co https://subversion.gsi.de/fairroot/pandaroot/trunk

So the version is of course the one provided by default:

- Found Subversion: /usr/bin/svn (found version "1.6.13")
-- FairRoot Revision - 20968 Branch - https://subversion.gsi.de/fairroot/pandaroot/trunk

cheers,
Elisabetta
Re: Tutorial macro [message #15122 is a reply to message #15119] Wed, 07 August 2013 13:10 Go to previous messageGo to next message
Lu Cao is currently offline  Lu Cao
Messages: 77
Registered: February 2013
continuous participant
From: *ikp.kfa-juelich.de
Hi Elisabetta,

Please go ahead to the newest one (do svn update in your pandaroot directory, then rebuild). At least, it looks OK on my machine.

Best regards,
Lu
Re: Tutorial macro [message #15128 is a reply to message #15115] Wed, 07 August 2013 18:23 Go to previous messageGo to next message
Klaus Götzen is currently offline  Klaus Götzen
Messages: 293
Registered: June 2006
Location: GSI
first-grade participant
From: *adsl.alicedsl.de
Hi Elisabetta,


sorry for the inconvenience. Indeed we had some troubles with some of the 'renewed' classes.

Please update trunk/rho/tutorials, trunk/rho and trunk/PndTools/AnalysisTools and recompile and run again. I hope after that most of the things work fine, at least according to my own and Lu's tests.


Best,
Klaus
Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15166 is a reply to message #15097] Fri, 09 August 2013 15:15 Go to previous messageGo to next message
Elisabetta Prencipe (2) is currently offline  Elisabetta Prencipe (2)
Messages: 214
Registered: February 2013
first-grade participant
From: *ikp.kfa-juelich.de
Uhmmm...maybe I was too optimistic yesterday on the trunk rev-21003.

I tried all /tutorial/rho macros over a reduced sample of 100 events on 2 different analysis, and everything looked working smooth. Today I tried to run more events. Here I attach the file.dec which I am currently using, and the sim-macro, where the only modified parameter compared to the tutorial sim-macro in /tutorial/rho/ is the momentum (I am running a simulation for the psi(4040)).
I also attach here the plot of the psi(4040) which I obtain running the first 200 events, and it looks ok (true pid).
I made 5 attempts before posting this message, and I got a segmentation fault always at the same point: event #216
I am running a sample of 5000 events right now.

tut_sim.C OK
tut_digi.C OK
tut_rec.C OK
tut_pid.C it crashes at the event #216

Here below is the error message. Any idea what is going wrong? Did anybody meet the same problem before? is there the possibility to flag/exclude an event in pandaroot simulations?
I see here a "kSigFloatingException" break.
Just an idea: I am using PHOTOS. Can we use it in PANDA or is it still too soon? In this simulation my J/psi decays to mu+ mu- using the model VLL, and to e+e- using the model VLL + PHOTOS for electrons only.

Thanks for any hint, Elisabetta

*******************
FairGeanePro:FindPCA: Track2ToPoint quitFlag 1 ABORT
FairGeanePro:FindPCA: Track2ToPoint quitFlag 1 ABORT
FairGeanePro:FindPCA: Track2ToPoint quitFlag 1 ABORT
FairGeanePro:FindPCA: Track2ToPoint quitFlag 1 ABORT
FairGeanePro:FindPCA: Track2ToPoint quitFlag 1 ABORT
===== PndPidCorrelator - Event: 214 - Number of tracks for pid 6 - Number of Clusters for pid: EMC: 5 FSC: 5
===== PndPidCorrelator - Event: 215 - Number of tracks for pid 4 - Number of Clusters for pid: EMC: 14 FSC: 0
===== PndPidCorrelator - Event: 216 - Number of tracks for pid 5 - Number of Clusters for pid: EMC: 6 FSC: 0

*** Break *** floating point exception

[6]+ Stopped root -b tut_pid.C


===========================================================
There was a crash (kSigFloatingException).
This is the entire stack trace of all threads:
===========================================================
#0 0x002ed416 in __kernel_vsyscall ()
#1 0x0038ae43 in __waitpid_nocancel () from /lib/libc.so.6
#2 0x003274c3 in do_system () from /lib/libc.so.6
#3 0x0014f24d in system () from /lib/libpthread.so.0
#4 0x00aaa873 in TUnixSystem::Exec (this=0x9a3a750,
shellcmd=0x18e44bf0 " /home/prencipe/panda/ExternalPackages092012/build_sep12/etc/gdb-backtrac e.sh 4065 1>&2")
at /home/prencipe/panda/ExternalPackages092012/sep12/tools/root/core/unix/s rc/TUnixSystem.cxx:2084
#5 0x00aab09c in TUnixSystem::StackTrace (this=0x9a3a750)
at /home/prencipe/panda/ExternalPackages092012/sep12/tools/root/core/unix/s rc/TUnixSystem.cxx:2332
#6 0x00aa8bc7 in TUnixSystem::DispatchSignals (this=0x9a3a750,
sig=kSigFloatingException)
at /home/prencipe/panda/ExternalPackages092012/sep12/tools/root/core/unix/s rc/TUnixSystem.cxx:1210
#7 0x00aa6f19 in SigHandler (sig=kSigFloatingException)
at /home/prencipe/panda/ExternalPackages092012/sep12/tools/root/core/unix/s rc/TUnixSystem.cxx:367
#8 0x00aae4af in sighandler (sig=8)
at /home/prencipe/panda/ExternalPackages092012/sep12/tools/root/core/unix/s rc/TUnixSystem.cxx:3622
#9 <signal handler called>
#10 0xa00ff376 in ertrch () at erdecks/ertrch.F:134
#11 0xa010182c in ertrgo () at erdecks/ertrgo.F:249
===========================================================


The lines below might hint at the cause of the crash.
If they do not help you then please submit a bug report at
http://root.cern.ch/bugs. Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
===========================================================
#10 0xa00ff376 in ertrch () at erdecks/ertrch.F:134
#11 0xa010182c in ertrgo () at erdecks/ertrgo.F:249
===========================================================
  • Attachment: psi4040.eps
    (Size: 8.76KB, Downloaded 283 times)
  • Attachment: tut_sim.C
    (Size: 7.47KB, Downloaded 286 times)
  • Attachment: Y4040.dec
    (Size: 0.18KB, Downloaded 261 times)
Re: Tutorial macro [message #15169 is a reply to message #15097] Fri, 09 August 2013 15:46 Go to previous messageGo to next message
Simon Reiter is currently offline  Simon Reiter
Messages: 44
Registered: May 2013
continuous participant
From: *physik.uni-giessen.de
Hi,

I'm not sure, but I thought the trunk is concepted for externals from apr13.

Best regards
Simon
Re: Tutorial macro [message #15170 is a reply to message #15169] Fri, 09 August 2013 15:47 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
Conceptually you are right, but it should work also with sep12 (should).
Re: Tutorial macro [message #15171 is a reply to message #15169] Fri, 09 August 2013 15:54 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
Conceptually you are right, but the trunk should work also with sep12 (should).
The crash comes from geane, but I don't remember if there are differences between sep12 and apr13 geane.
Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15174 is a reply to message #15166] Fri, 09 August 2013 21:47 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
In 5000 events I was not able to have such a crash... Sad
Tomorrow I will try with a different seed. I am not sure if externals apr13 will help.
Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15178 is a reply to message #15174] Sun, 11 August 2013 17:50 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
I have simulated around 50k events with your macros under sep12, and other 50k events under apr13. I got never such a crash...

I would suggest to clean your sim macros as discussed, and try again. If it does not crash, maybe the error is very rare.
If it crashes again, the other solution is to put several cout in the pidcorrelator to see where the crash comes from. I could do it, since it does not crash in my Ubuntu.
Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15181 is a reply to message #15178] Mon, 12 August 2013 10:41 Go to previous messageGo to next message
Elisabetta Prencipe (2) is currently offline  Elisabetta Prencipe (2)
Messages: 214
Registered: February 2013
first-grade participant
From: *ikp.kfa-juelich.de
Hi Stefano,

in the meantime I simulated other decay channels, and even with the same which we talked about, if I start again sim-, digi-, reco-, pid-, no crash occurs. The point is that for that file that we talked about last week, the crash definitively occurs at the level of the pid- macro. So, let's say, this is *randomly* working, or *randomly* not working, depends on how you like to see it.

I had to repeat again all the process (sim, digi, rec, pid) to see my 5000 events of psi(4040). The previous file is not usable at all, as it crashes always at the same event. So, I wish to ask again if is there a way to flag an event in pandaroot.

Thank you to take care of this.
Elisabetta
Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15185 is a reply to message #15181] Mon, 12 August 2013 14:51 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
Not that I know of.
Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15186 is a reply to message #15181] Mon, 12 August 2013 15:03 Go to previous messageGo to next message
Klaus Götzen is currently offline  Klaus Götzen
Messages: 293
Registered: June 2006
Location: GSI
first-grade participant
From: *gsi.de
Hi Elisabetta,


you could try something like this in the tut_pid.C

fRun->Run(0,215);
fRun->Run(217,4999);


to exclude e.g. your event 216.

I just tried it in some macro, and it (at least technically) seemed to work like this.


Best,
Klaus
Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15188 is a reply to message #15186] Tue, 13 August 2013 08:21 Go to previous messageGo to next message
Elisabetta Prencipe (2) is currently offline  Elisabetta Prencipe (2)
Messages: 214
Registered: February 2013
first-grade participant
From: *ikp.kfa-juelich.de
Hello Klaus and Stefano,


yes of course I can skip an event in such a way. I saw it. But this is not the matter. The problem is why this happens.

Yesterday I tried to simulate a few thousands events for the analysis of Y(4160), to study the interference with Y(4260), for instance, if they decay to the same channel. Well, in the usual 4-macro-process (sim-, digi-, rec-, pid-) of the first 5000 events everything looked running smooth. Then I run additional 7000 events. The same crash, with exactly the same error message, with exactly the same segmentation fault, occurs at the event number:

432
467
900
1907

...
...

and several other events which I am taking a look right now. So, should I have to run the macro-pid interactively and see every fee events where it is stopping, and which event should I skip?
This looks a bug, in my limited experience.

The crash occurs at the level of the geanE routine lines:

#10 0xa00ff376 in ertrch () at erdecks/ertrch.F:134
#11 0xa010182c in ertrgo () at erdecks/ertrgo.F:249

I had a look, and it is where it is defined:

STOPP = -XCOEF2+SIGN(ONE,XCOEF1)* SQRT(XCOEF2
+ **2 -(XCOEF3-GEKIN*RMASS/XCOEF1))

Now, if at that event a negative root square is evaluated or a coefficient is 0 and this produces a break, this must be further investigate from me. But one thing is sure: the crash occurs, and in my case (several analysis) it happens 50 per cent of times..
Why does it happen always at the level of the pid macro, and not in the simulation, for instance, this is still not clear to me. I can hardly think that these kind of problems happen to me, only.
I think we should discuss this during the next meeting.

Best regards, Elisabetta
Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15189 is a reply to message #15188] Tue, 13 August 2013 11:03 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
Can you put here all the macros you are using, so that I can simulate such crash?

However, the suggested "number of events" is 2000, it is more efficient to run more jobs with less events than less jobs with more events... with the grid it is very easy to resubmit failed jobs.

The crash does not occur in simualtion since simulation uses geant3, while reco and pid use geane.
macro_pid.C - crash due to kSigFloatingException [message #15191 is a reply to message #15189] Tue, 13 August 2013 11:58 Go to previous messageGo to next message
Elisabetta Prencipe (2) is currently offline  Elisabetta Prencipe (2)
Messages: 214
Registered: February 2013
first-grade participant
From: *ext.kfa-juelich.de
Dear Stefano,

my macros have nothing special at this level. I attach here all 4 (it is the last analysis attempt which I have performed in the trunk. A dummy particle is used, as in the evt.pdl file I did not see the Y(4260). It is the one supposed to have spin 1 and charged = 0. The pandaroot revision is 21003).

Just to summarize: the same kind of crash as I posted last week occurs at the events:

432
467
900
1907
5213

I run those interactively, not on the grid, as I am not simulating millions of events, but I am debugging the code.
Last Saturday I processed 5000 events, and it looked ok. This week I have again the problem that we are talking here, on a sample of 7000 generated events.
I am running the last 1500 events right now by the pid macro).

Thanks a lot to take care of this. Here are the macros + the dec file (copied and past from the /tutorial/rho, basically). As mentioned, here I am simulating the psi(4160) and I am trying to study some interference effect due to Y(4260). So the momentum is calculated at a mass point in between those 2 states.

Best regards, Elisabetta
  • Attachment: tut_dig.C
    (Size: 4.59KB, Downloaded 227 times)
  • Attachment: tut_rec.C
    (Size: 4.80KB, Downloaded 236 times)
  • Attachment: tut_pid.C
    (Size: 3.59KB, Downloaded 282 times)
  • Attachment: tut_sim.C
    (Size: 7.64KB, Downloaded 254 times)
  • Attachment: Ymix.dec
    (Size: 0.27KB, Downloaded 261 times)
Re: tut_pid.C - crash due to kSigFloatingException [message #15195 is a reply to message #15189] Tue, 13 August 2013 13:58 Go to previous messageGo to next message
Elisabetta Prencipe (2) is currently offline  Elisabetta Prencipe (2)
Messages: 214
Registered: February 2013
first-grade participant
From: *ext.kfa-juelich.de
Hi Stefano,
a further report on my debugging from here: as geane is used in reco- and pid- macros, I limited my attention to those events for which I got the segmentation fault, e.g., I set up in the reco-macro and pid-macro:

fRun->Run(430,453);

and I run both macros again, reco- and pid- over those events only. So I can see what happens with the event #432, for instance, which had produced the crash 5 times/5, yesterday, when I run the pid-macro, only.
What happens here is the following:

1) if I run the pid-macro over all reco.root file built yesterday, it crashes.

2) if I build again the reco.root file only for that little bunch of 5 events (e.g. from the event labelled as 430 to the event labelled as 435), the pid macro run smooth.

I repeated this for the event #467 and #900, too. If I build again the reco.root file, those events do not produce any crash when running over those the pid-macro.

Elisabetta
Re: tut_pid.C - crash due to kSigFloatingException [message #15200 is a reply to message #15195] Tue, 13 August 2013 20:58 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
I tried again, 10k events, no crash. Which system, OS, gcc are you using?
Can you write the output of:

 svn info $SIMPATH/..


?
Re: tut_pid.C - crash due to kSigFloatingException [message #15204 is a reply to message #15200] Wed, 14 August 2013 14:18 Go to previous messageGo to next message
Elisabetta Prencipe (2) is currently offline  Elisabetta Prencipe (2)
Messages: 214
Registered: February 2013
first-grade participant
From: *ext.kfa-juelich.de
For the external packages, I have got the updated version of 2 weeks ago:

Path: .
URL: https://subversion.gsi.de/fairroot/fairsoft/release/sep12
Repository Root: https://subversion.gsi.de/fairroot
Repository UUID: 0381ead4-6506-0410-b988-94b70fbc4730
Revision: 20955
Node Kind: directory
Schedule: normal
Last Changed Author: uhlig
Last Changed Rev: 17552
Last Changed Date: 2012-10-16 09:02:51 +0200 (Tue, 16 Oct 2012)

For the trunk-rev21003, which I am actually using, my version of last week is:
Path: .
URL: https://subversion.gsi.de/fairroot/pandaroot/trunk
Repository Root: https://subversion.gsi.de/fairroot
Repository UUID: 0381ead4-6506-0410-b988-94b70fbc4730
Revision: 21003
Node Kind: directory
Schedule: normal
Last Changed Author: lia
Last Changed Rev: 21002
Last Changed Date: 2013-08-08 13:19:14 +0200 (Thu, 08 Aug 2013)


The operative system on my personal computer is Fedora12.
****
System during compilation: Fedora release 12 (Constantine)
i686
System now : Fedora release 12 (Constantine)
i686
****

ciao, Elisabetta
Re: tut_pid.C - crash due to kSigFloatingException [message #15210 is a reply to message #15204] Wed, 14 August 2013 15:44 Go to previous messageGo to next message
Jens Sören Lange is currently offline  Jens Sören Lange
Messages: 193
Registered: June 2005
first-grade participant
From: *wlan.uni-giessen.de
Hi all,

please let me bring up the quiz question of the day.

It appears that the crashes are in geane in the pid step.

However, we have geane in 2 places.

1. the reco macro

here geane is used in the tracking without any crash.

2. then afterwards the pid macro

here geane is basically only used for the track extrapolation to EMC (for E/p), DRC (to combine the track pT with the Cerenkov angle) etc. etc. It means: there is no re-tracking anymore (correct?).

But, here there are crashes for the same (!) events and same (!) tracks, for which geane in the reco macro was already running fine without any crashes.

So, it means, something must be different between geane in the reco step ("good") and geane in the pid step ("bad").
-> different error matrices ? different track init parameters?

regards, Soeren
Re: tut_pid.C - crash due to kSigFloatingException [message #15211 is a reply to message #15210] Wed, 14 August 2013 16:20 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
Hi Soeren,
I give you my personal explanation, which I already wrote to Elisabetta by Skype.

There is some not initialized variable, like a hit position, which is provided to geane by the pidcorrelator, and in Fedora it generates a crash. In this sense it is not a problem of geane itself, but of the parameters sent to geane (some NaN, or some dummy not initialized value).

In particular there is a strange warning appearing in the digi stage, about "not existing emc module 8", and I sent a mail to Dima to fix it.
If my thoughts are correct, the problem stands in the "pid detectors" or in the correlator itself, and this is the reason why the reco does not crash.

The fact that I sent several hundreds of thousand events w/o crashes, means that "probably" it is a compiler issue, maybe my gcc is more permissive while Elisabetta gcc is more strict and produces crash.

I would be happy to see the crash by myself in order to understand really what is going wrong, and if my suspects are correct.

Re: tut_pid.C - crash due to kSigFloatingException [message #15226 is a reply to message #15211] Fri, 16 August 2013 14:59 Go to previous messageGo to next message
Elisabetta Prencipe (2) is currently offline  Elisabetta Prencipe (2)
Messages: 214
Registered: February 2013
first-grade participant
From: *ext.kfa-juelich.de
Hello Stefano,

>In particular there is a strange warning appearing in the digi
>stage, about "not existing emc module 8", and I sent a mail to
>Dima to fix it.

>If my thoughts are correct, the problem stands in the "pid
>detectors" or in the correlator itself, and this is the reason
>why the reco does not crash.

yes I can confirm this: in my digi-log-file I see several times the message:

*******
UpdateWaveform: Unknown module number 8 in EMC digitization. Detector ID = 828342737
Add Noise: Unknown module number in EMC digitization
*******

30/2000 events in my last simulation reported this warning message.

Elisabetta
Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15377 is a reply to message #15166] Fri, 30 August 2013 11:20 Go to previous messageGo to next message
Lia Lavezzi
Messages: 291
Registered: May 2007
Location: Torino
first-grade participant

From: *pv.infn.it
Hi,
I made some tests yesterday and I asked Elisabetta to check the results with her events too and it results that the problem of geane is actually due to a track with momentum 0.
To be more clear: before the propagation there is a check on the "last" momentum, to be sure it is > 0, but afterwards the "first" momentum is fed into geane for the propagation. As pointed out also by Stefano, sometimes the first and last points have very different momenta and, in the case of the crash, the first momentum is 0 and so geane crashes.

Moreover in the test I made I get for the track failing in propagation:
first pos = (26.930000,65.389999,190.124405)
first mom = (0.000000,0.000000,0.000000)
last  pos = (26.930000,65.389999,190.124405)
last  mom = (0.628132,1.180328,3.604733)

So the first and last positions coincide (also, at a very high z, even though in the track cand list there are also mvd hits associated).

The track has flag = -1, so it could be easily skipped just by requesting that
if(track->GetFlag() < 0) continue;


Is it possible to add this line to skip wrongly fitted tracks? Is there a reason why we decided not to skip them?

Regards,
Lia.

Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15379 is a reply to message #15377] Fri, 30 August 2013 13:02 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
In reality I was thinking that this selection has to be introduced by the analysis user, but if it gives problem than I could add it in the pidcorrelator, asking that track flag > 0 (also falg 0 should not be good tracks, isn't it?).

What do you think, Klaus?
Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15380 is a reply to message #15379] Fri, 30 August 2013 13:11 Go to previous messageGo to next message
Lia Lavezzi
Messages: 291
Registered: May 2007
Location: Torino
first-grade participant

From: *pv.infn.it
If you prefer not to skip tracks depending on their flag and leave the choice to the user, we can just make the test of the "momentum within limits" with the first mom instead of the last one, since in the end we use the first mom in the propagation. This would be enough for geane.
Ciao,
Lia.
Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15381 is a reply to message #15380] Fri, 30 August 2013 13:20 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
Maybe we should have the check for both.
Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15382 is a reply to message #15381] Fri, 30 August 2013 14:16 Go to previous messageGo to next message
Elisabetta Prencipe (2) is currently offline  Elisabetta Prencipe (2)
Messages: 214
Registered: February 2013
first-grade participant
From: *ikp.kfa-juelich.de
Thank a lot Lia for this check!

Stefano, I am in favor to add that line in the PidCorrelator, actually. At least for the time being...
But I have one question more, today, for geane experts:
is it correct that the geane check on a track is the requirement to have momentum of last track point>0.1 (=100MeV/c)?
Then, what happens for very very low momentum particles: are they skipped and not fitted at all? I am asking this naive question because for people like me, interested in charm spectroscopy, like DsJ mesons, it is important to reconstruct even very low momentum tracks (talking here of the reconstruction of particles with very Very thin width, for which it is fundamental to have good reconstruction efficiency for very low momentum).

Thanks all for your feedback,

Elisabetta
Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15383 is a reply to message #15382] Fri, 30 August 2013 14:32 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
I think one major point is that the current pattern recognition code is not able to reconstruct such low momentum tracks, since they do not follow helix trajectories due to energy loss. In this sense, what is reconstructed as low momentum track will be most probably a fake track. I think tracking algorithms were never checked below 200 MeV/c.
Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15384 is a reply to message #15382] Fri, 30 August 2013 14:37 Go to previous messageGo to next message
Lia Lavezzi
Messages: 291
Registered: May 2007
Location: Torino
first-grade participant

From: *pv.infn.it
Quote:

is it correct that the geane check on a track is the requirement to have momentum of last track point>0.1 (=100MeV/c)?
Then, what happens for very very low momentum particles: are they skipped and not fitted at all?

The cut @ 100 MeV/c was put in the Kalman fitting procedure because at the beginning there were some instabilities of geane. The code sometimes used to crash at very low momentum. In principle these instabilities should be fixed now, but I don' t think anyone ever tested the code without the cut and with high statistics.
Anyway, the cut on 100 MeV/c is not only in the pid, as I was saying, it is also inside the Kalman procedure, so the tracks are fitted only above that limit now.
Maybe we should test the code without this cut, but keeping the momentum > 0 obviously!
Lia.
Re: Tutorial macro - tut_pid.C - crash due to kSigFloatingException [message #15387 is a reply to message #15384] Fri, 30 August 2013 15:42 Go to previous message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
But, again, is the barrel track finder able to find tracks with momentum lower than 100 MeV/c?
Previous Topic: [FIXED] Bug in RhoCandList (?)
Next Topic: Pnd4CFitter - how to use it
Goto Forum:
  


Current Time: Sat Dec 07 09:25:34 CET 2024

Total time taken to generate the page: 0.00772 seconds