Here's what I recommend that you do for new development on the recon clustering algorithm...
1) Abandon development on the old EcalClusterIC Driver class. It is going to be deprecated and eventually removed.
2) Start developing instead on org.hps.recon.ecal.ReconClusterer in ecal-recon module, which should be an exact port of the EcalClusterIC algorithm. (I have done basic verification on this.)
3) Use the following command for testing the clustering algorithm....
mvn test -Dtest=ClustererTest#testReconClusterer
This test will generate AIDA and LCIO files at target/test-output/ClustererTest/ which you can look in JAS3 at for debugging and QA. The test also makes some basic assertions about cluster sizes and energies, though you will probably also want to scan over the plots as you make changes and additions. (Also, feel free to add additional plots to that TestCase or if you want to make more complex changes to it then let me know. We can have a test specific just to the ReconClusterer which looks at its internals.)
4) Once you have verified that the "new" algorithm is correct, we should update the Eng Run steering files for pass 1 recon. You might want to do this before making any additional changes like the ones you are planning to work on.
5) Please do NOT add any additional methods to the cluster extension classes. You should prefer to externalize calculations into static utility methods or a ClusterPropertyCalculator. I'm hoping eventually to deprecate and then delete HPSEcalCluster and HPSEcalClusterIC, so no additional code should not be added into those classes.
If you have any additional questions, then let me know.
From: Holly Vance [mailto:[log in to unmask]]
Sent: Monday, January 05, 2015 7:00 AM
To: McCormick, Jeremy I.
Subject: Re: new clustering framework
I'd like to begin implementing the hit contributions as we had discussed last month so that the clustering reconstruction will do the correct position calculations. I would also like to input this formula used for finding the position of the cluster into lcsim so that it can do the calculations for us. Please let me know how best to proceed.
On Sun, Jan 4, 2015 at 3:43 PM, McCormick, Jeremy I. <[log in to unmask]> wrote:
I'd like to move our recon to using the new clustering "framework" that I wrote which I think is more flexible and better organized than what is in the ecal.recon package.
Basically there should be no effect on physics output as I have simply ported the existing algorithms to a different class structure without changing at all their output. There are just some name changes as well as standardization of Driver arguments and features. The primary recon cluster algorithm and the "simple" clusterer are both ported from the current trunk versions and seem to be functional according to my tests. I just need to do the online GTP algorithm and then all the main ecal recon clustering algorithms should be available in the recon.ecal.cluster package.
Are there any objections to me directly modifying the production steering files once I have verified the new classes with tests against some recent raw data? Or Matt, would you rather do this yourself?
This should be a minor change without disruption to production, but I did not want to step on anyone's toes by modifying steering files here, as I know these are verified to be working.
Once the output from the new classes is verified as correct, I believe we should delete the old Drivers as they will have been superseded/deprecated by the new clustering package.
Let me know what you think...
NOTE: This message was trained as non-spam. If this is wrong,
please correct the training as soon as possible.
Teach CanIt if this mail (ID 01NzUNnTM) is spam:
Not spam: https://www.spamtrap.odu.edu/canit/b.php?i=01NzUNnTM&m=7bcce866c099&t=20150104&c=n
Forget vote: https://www.spamtrap.odu.edu/canit/b.php?i=01NzUNnTM&m=7bcce866c099&t=20150104&c=f
Use REPLY-ALL to reply to list
To unsubscribe from the HPS-SOFTWARE list, click the following link: