Re: Usage of exceptions in CINT [message #19089 is a reply to message #19064] |
Fri, 26 February 2016 14:52 |
Elisabetta Prencipe (2)
Messages: 214 Registered: February 2013
|
first-grade participant |
From: *hsi05.unitymediagroup.de
|
|
Hello Philipp,
if you are using genfit(rev-400) you can check the convergence of your fit with FitStatus(), that gives access to infrmation like chi2, nDof,.... Or simply check the flag "GetFlag()". The easiest way is to run sim- digi- reco- pid- macro, then open the pid_complete.root file and check the following:
cbmsim->Draw("SttMvdGemGenTrack.GetFlag()")
In GenfitTools/adapters the genfit tracks are transformed in PndTracks. The flag is set to -1 there in, if the fit fails after a number of iterations that you can set in your reco-macro .
In genfit2 (rev > 1765) indeed you can find:
Track::getFitStatus(const AbsTrackRep* rep = NULL)
You can check these kind of flags to decide whether to keep/count a Track or not. Concerning the Exceptions: the fitter should catch all Exceptions, and if the fit fails, set the FitStatus() accordingly. So processTrack() should not throw any Exceptions at all.
I hope it helps. I am discussing with the convenors the possibility to give a talk on the differences genfit vs genfit2 the next week, in Bochum.
cheers,
Elisabetta
|
|
|