Lookup tables and closure test: new propagation module?

Dear all,
we are using Allpix2 to create lookup tables to correct MC simulations of events in Atlas detector to
take into account radiation damage effects - see our presentation at 3rd Allpix2 workshop.
We made quite some progress and now thanks to Allpix2 we have estimates of the charge collection efficiency as a function of the charge deposition depth z and the average Lorentz angle deflection, still as a function of depth z.
To validate our approach we would like to perform a closure test. The strategy is the following:

  1. Simulate charge deposition
  2. Determine final position and fraction of induced charge using our lookup tables
  3. Continue with transfer and digitization steps
  4. Compare the results at point 3. with the ones obtained using the full chain that was used to produce the lookup table

Looking at the Allpix2 manual it seems that the step 2. should be implemented in a new propagation module, which takes as an input the DepositedCharge and gives as output the PropagatedCharge.
We would like to hear your opinion about the proposed strategy and if you have any suggestions on how to implement it (e.g. clone a certain propagator and modify it or start from scratch).

Many thanks in advance and kind regards,
Keerthi Nakkalil (@knakkali) a Marco Bomben

Hi @mbomben , @knakkali

that sounds like you really made nice progress, congratulations! :slight_smile:

I fully concur that implementing this as a propagation module makes sense and would allow you to do your closure test with the least amount of work. My suggestion would be to use the ProjectionPropagation module as a starting point, simply because the input (requesting DespoitedCharge messages) and general structure are already there.

Alternatively, there is a etc/scripts/make_module.sh script which asks you some basic questions and then creates a new blank module for you - maybe you prefer that?

All the best,
Simon