Home » PANDA » PandaRoot » Tracking » Moving to Genfit2
Moving to Genfit2 [message #17796] |
Fri, 23 January 2015 14:16 |
asanchez
Messages: 350 Registered: March 2006
|
first-grade participant |
From: *kph.uni-mainz.de
|
|
Dear Elizabetta,
I would like to start substituting all the old genfit dependencies,
used in my tracking procedure.
I have seen there is in the development directory a branch called genfit2, which one can use as a reference
to implement the new tracking functionalities.
A copy of the trunk is already there.
Could you please remind me what is the procedure to be followed in order to run
my code modifications based on genfit2. ?
I mean to what should I pay attention, should I make all the modifications
within my own detector directory and test it there? (/development/genfit2)
thank you in advance and have a nice weekend
best regards
Alicia
|
|
|
Re: Moving to Genfit2 [message #17804 is a reply to message #17796] |
Sun, 25 January 2015 12:02 |
Elisabetta Prencipe (2)
Messages: 214 Registered: February 2013
|
first-grade participant |
From: *10-188-b.business.telecomitalia.it
|
|
Hello Alicia,
in /development/genfit2 you can find a kind of trunk-rev of pandaroot (e.g., all packages, not only genfit) that were already modified in order to run with the new revision of genfit2. You could download in your home/directory/pandaroot folder this /development/genfit/ and start to work with that revision in your own /home/area. What is called "genfit", it is effectively "genfit2". I did not change the name, and I also tried to preserve all the function/method names as they are in the currect pandaroot release. Several changes are in. While the functinalities of the genfit interface (e.g., GenfitTools) have identical names to the past, the genfit2 classes have different names and dfferent meaning, compared to what was in genfit1. Those cannot be changed: it is in the standalone code. Just for example, you can have a look to the packages stt, mvd, lmd. For now, in the cmake list, the hyp pachages are taken out. After you do your modifications, you need to add in the cmake list of /development/genfit2/ your package names.
In my last talk at the coll meeting I put in comparison some differences between genfit and genfit2 (e.g., the equivalent name of classes, in genfit2, that you can use). Make sure, once you start your modifications in your /home/directory/pandaroot, that geane track rep is not used: genfit2 makes use of its own trackrep. I already did this substitution/replacement for other packages, namely stt, mv, lmd. You can have a look into those.
The only changes that I still did not commit in svn, but you would need, is the following: when running the reconstruction, please set up the number of iteration (for running the Kalman Filter) at least to 3, better 5. In this moment, by default it is set to 1. This is not enough. Once you set up this number to 3 or 5, it does not mean that the fitter will try to do always 3 or 5 iterations; it means that the maximum number of iteration will be what you set in the rec-macro. But if the fitter converges sooner, there is kind of "intellingent" algorithm that allows not to run though all the iterations that you set up; indeed, in case more iterations are needed, you set up a maximum limit for those. For sure, ths means: "more than 1".
The ideal track finder still gets some troubles. It is something which will be fixed once I come back to my office. For the time being, you can try with the real track finder: it looks working good.
In the next days, a genfit2 update will be provided in any case. New features and fixes related to energy loss part are available.
Let's keep in touch!
Elisabetta
If any question, please do not haesitate to contact me.
cheers, Elisabetta
|
|
|
|
Re: Moving to Genfit2 [message #17877 is a reply to message #17876] |
Thu, 12 February 2015 11:47 |
Elisabetta Prencipe (2)
Messages: 214 Registered: February 2013
|
first-grade participant |
From: *ikp.kfa-juelich.de
|
|
Hello Alicia,
I recommend to upload the full development-trunk as it is in /development/genfit2. Several pandaroot packages make use of the genfit(2) classes, and their names and functionalities are changed in genfit2, compared to genfit1-trunks. Therefore, if you upload /genfit2/ alone, in your trunk revision, you would get several level of nasty crashes.
You can do the following:
1) download /development/genfit2/ as it is a new trunk revision
2) try to compile it. If it works smoot (and it should):
3) upgrade your new /hyp/ package to the revision that you like
4) uncomment the line related to the /hyp/ package in the cmake list file. This will produce a crash in pandaroot compilation, because you have still the old genfit functions in your /hyp/ package, I guess.
5) Start to work on that, until it will be solved
I am sorry that I had no time to fix the genfit2 issues for the /hyp/ packages, in th past weeks, while I did it for the other packages.
I very much apprereciate that you are helping, doing yourself.
Please, do not aesithate to ask, if any troubles.
ciao, Elisabeta
|
|
|
|
Re: Moving to Genfit2 [message #17881 is a reply to message #17877] |
Thu, 12 February 2015 16:19 |
asanchez
Messages: 350 Registered: March 2006
|
first-grade participant |
From: *kph.uni-mainz.de
|
|
Dear elisabetta,
by compiling genfit2
I get some error, apparently some files are missing,
could you please update it again?
here the error message, part of it ..
In file included from /home/lorente/work/FairGenFit2/pandaroot/genfit/core/include/SharedPlane Ptr.h:27,
from /home/lorente/work/FairGenFit2/pandaroot/genfit/core/include/AbsTrackRep .h:26,
from /home/lorente/work/FairGenFit2/pandaroot/GenfitTools/adapters/PndGenfitA dapters.cxx:11:
/home/lorente/work/FairGenFit2/pandaroot/genfit/core/include/DetPlane.h: 40:32: error: boost/scoped_ptr.hpp: No such file or directory
In file included from /home/lorente/work/FairGenFit2/pandaroot/genfit/core/include/AbsTrackRep .h:26,
from /home/lorente/work/FairGenFit2/pandaroot/GenfitTools/adapters/PndGenfitA dapters.cxx:11:
/home/lorente/work/FairGenFit2/pandaroot/genfit/core/include/SharedPlane Ptr.h:30:32: error: boost/shared_ptr.hpp: No such file or directory
In file included from /home/lorente/work/FairGenFit2/pandaroot/genfit/core/include/SharedPlane Ptr.h:27,
from /home/lorente/work/FairGenFit2/pandaroot/genfit/core/include/AbsTrackRep .h:26,
from /home/lorente/work/FairGenFit2/pandaroot/GenfitTools/adapters/PndGenfitA dapters.cxx:11:
/home/lorente/work/FairGenFit2/pandaroot/genfit/core/include/DetPlane.h: 191: error: â has not been declared
/home/lorente/work/FairGenFit2/pandaroot/genfit/core/include/DetPlane.h: 191: error: ISO C++ forbids declaration of â with no type
/home/lorente/work/FairGenFit2/pandaroot/genfit/core/include/DetPlane.h: 191: error: expected â before â token
/home/lorente/work/FairGenFit2/pandaroot/genfit/core/include/DetPlane.h: In member function â:
thanks in advance
Alicia.
|
|
|
|
|
|
|
|
Re: Moving to Genfit2 [message #17889 is a reply to message #17887] |
Fri, 13 February 2015 15:10 |
Elisabetta Prencipe (2)
Messages: 214 Registered: February 2013
|
first-grade participant |
From: *ikp.kfa-juelich.de
|
|
Hi Alicia,
I downloaded the branch version which I suggested to you.
When /i try to compile, no problem occur. So, let's start from scratch:
1) External package needed: Apr13
2) svn co https://subversion.gsi.de/fairroot/pandaroot/development/genfit2 mynewtrunk
3) cd mynewtrunk
4) mkdir build
5) cd build
6) cmake ../../mynewtrunk
7) make
. ./config.sh
I cannot understand why you get those error messages, as all new files are in, and correctly introduced in the /genfit/Cmakelist.txt:
https://subversion.gsi.de/fairroot/pandaroot/development/genfit2/genfit/ CMakeLists.txt
Please, even if I'm pretty sure that you followed the steps 1-8 one by one, I would ask to do that again, and post a reply point by point where exactly you get the error.
Talk to you soon, Elisabetta
|
|
|
|
|
|
|
|
|
Re: Moving to Genfit2 [message #17897 is a reply to message #17895] |
Sat, 14 February 2015 17:49 |
Elisabetta Prencipe (2)
Messages: 214 Registered: February 2013
|
first-grade participant |
From: *hsi07.unitymediagroup.de
|
|
Hello Alicia,
I attach here some files, as you asked: config.sh is from my genfit_branch/build; the CMakeList.txt is from my genfit_branch. CMakeList.txt_genfitAlicia is that from the package /genfit/ inside the branch. You will see, it is different from the CMakeList.txt of the standard pandaroot release. In the new branch, 'genfit' is the name of the folder; but genfit2 is the package there in. I just preserved the same name: the content is different from the other pandaroot release/trunk revisions. The file CMakeList.txt_branchAlicia comes fom the branch.
I think that something went wrong when you uploaded
a) apr13 external package in you home
or
b) the intallation of the new branch somehow did not succeeded.
My easy suggestion is to delete them, and start all process from scratch. In other words:
1) cd /your_home/<...>/
2) svn co https://subversion.gsi.de/fairroot/fairsoft/release/apr13
and you get installed again the apr13 external packages;
3) follow instructions as they are addressed to you, once you do 2)
4) install the genfit2 branch as follow:
svn co https://subversion.gsi.de/fairroot/pandaroot/development/genfit2 <my_branch_name>
5) follow the instructions how to install pandaroot on your pc, as indicated here:
https://panda-wiki.gsi.de/foswiki/bin/view/Computing/PandaRootInstall
6) make sure to export your SIMPATH env. variable as follow:
export SIMPATH=/you_home/your_pandaroot_repository_on_your_pc/apr13.build/
7) configure your environment with:
your_new_branch_build> . ./config.sh
and you should be ready to run your macros.
Please, let me know if you still get problems.
ciao, Elisabetta
|
|
|
Goto Forum:
Current Time: Fri Dec 13 03:58:08 CET 2024
Total time taken to generate the page: 0.00894 seconds
|