Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

General Improvements to FLSimulate #115

Open
drbenmorgan opened this issue Jul 17, 2018 · 5 comments · May be fixed by #188
Open

General Improvements to FLSimulate #115

drbenmorgan opened this issue Jul 17, 2018 · 5 comments · May be fixed by #188

Comments

@drbenmorgan
Copy link
Member

As discussed in the July AB meeting[*], several performance bottlenecks have been identified in flsimulate (ultimately in bayeux/mctools). As part of preparing the simulation for comparison/validation with real data, these need review and fixing as part of overall tasks:

  1. Identify and optimize performance bottlenecks in flsimulate and Bayeux/mctools usage.
  • All other aspects should be retained (Geant4 version, versions of other libraries)
  1. Develop basic set of benchmark numbers (time/event for main simulation tasks), and validation plots (@cherylepatrick has software in development to help here).
  2. Update flsimulate to use Geant4 10.4 (possibly 10.5 depending on timescale). Compare benchmark numbers, and compare/validate physics.

Whilst I've initially assigned this to myself, it needs additional manpower. It would be an ideal project for students interested in simulation and analysing/working with real data.

[*] DocDB-4681

@fmauger
Copy link
Contributor

fmauger commented Jul 17, 2018

I've read the DocDb4681, very interesting.
I think I can implement a new version of the mctools::base_step_hit in Bayeux in such a way
the usage to the embedded datatools::properties is reduced to zero.
This data structure was introduced at the very beginning of the development while it was not
clear what will be the final data model generated from G4. Now things are rather clear and we are able to promote most properties to standard class attributes.
I guess that version 2 of the mctools::base_step_hit class can be made fully backward compatible, just providing proper guard and translation code in the"serialize" method.
There are probably other places where to get rid of abusive usage of properties... but it will be my starting point. I'll do it after the summer break.
You can assign this task to me.

@drbenmorgan
Copy link
Member Author

Thanks @fmauger, adding you to assignees!

@drbenmorgan
Copy link
Member Author

drbenmorgan commented Aug 5, 2019

This is now retasked as part of the overall modernisation program of Falaise. Issues to be fixed as identified in #149 and Falaise 4 are:

  • Fork of the mctools::calorimeter_step_hit_processor class into Falaise to give SuperNEMO full control over its behaviour
  • Further simplifications to the "step_hit_processors" to remove kludge in algorithms (e.g. non-reuse of base class functionality, paranoid error checking)
  • Full removal of the use of properties to store data, independent of mctools.
  • Migration of the mctools/Geant4 code to a SuperNEMO module. Only way to ensure we have a clear upgrade path and can validate. It is also to allow migration to Art/Gaudi and correct multithreading. Edit: Note this implies the replacement of both flsimulate and flreconstruct with a single falaise application, the pipeline script defining what exactly is done.

@yramachers, @cherylepatrick, adding you as assignees purely to keep you informed and as you're working on the downstream validation tools!

@drbenmorgan drbenmorgan changed the title Performance Improvements to FLSimulate General Improvements to FLSimulate Aug 5, 2019
@drbenmorgan
Copy link
Member Author

See also #157, #61 as simulation metadata is critical for downstream use, especially validation.

@drbenmorgan drbenmorgan linked a pull request Apr 25, 2020 that will close this issue
@fmauger
Copy link
Contributor

fmauger commented Mar 25, 2022

COMMENT: @fmauger Not urgent ; implies some work in Bayeux

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants