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

ToDo | pss->raw #36

Open
1 of 6 tasks
sagitta42 opened this issue Jul 21, 2023 · 0 comments
Open
1 of 6 tasks

ToDo | pss->raw #36

sagitta42 opened this issue Jul 21, 2023 · 0 comments

Comments

@sagitta42
Copy link
Contributor

sagitta42 commented Jul 21, 2023

ToDo items from the pss->raw (elecsim) stage

  • TRAP FILTER: currently for loop, change to DSP filter -> can somebody do it because it seems that I can procrastinate forever from this because I'm scared of DSP filters. @oschulz @fhagemann ? It's the slowest stupidest part of the code currently that prevents us from benchmarking the framework, which is important to estimate production "cost"
  • Noise from data: currently extracts baseline from all waveforms that have flat baselines (i.e. no pileup) to create "baseline catalog" -> works bad because then the baseline is shorter than the waveform we generated, cannot simply slap it on top, need to "elongate", defeats all purpose -> need not to extract baselines but find waveforms that are all baseline and no signal (1 - happens in phy acquisition by definition, 2 - was told there is a sort of a no-trigger trigger that just records regularly) -> @oschulz can someone from your Julia DSP side teach me how to do that, how to find flat baseline-waveforms?
  • Noise is implemented in quite a convoluted way. Each "component" of elec chain can have a noise contribution. This is convenient if we want to add component like "cable" which is a separate source of noise with different parameters from preamp. However, I think it would be more meaningful to just have ONE noise model which could have multiple Gaussians or whatever we want, which is applied after the PreAmp CR-RC differentiation and stuff, and before digitization. Noise as part of "component" doesn't make sense to me because FADC is also a component, but does it contribute noise in our model? ADC noise? -> I think I will discuss it with Julieta and her L1000 team, they are interested in this because it's more important for L1000 and AISIC design, nobody in L200 cares about this stuff right now.
  • FADC bits as settings? (currently UInt16 hard coded) Or better separate type (e.g. Struck)?
  • Group effects via convolution: should be added as keyword in simulation settings dict, propagated through SSDSimulator into ideal pulse simulation in pss.jl, making sure they are turned off in SSD itself, and then convolution is called
  • When adding a new preamp type, bug when preamp_gain() from temp_utils.jl is called, as it's only made for GenericPrAmp. Should be fixed to work for any PreAmp but then requires each struct of subtype of PreAmp to have a gain parameter . Also question why is it even needed to calculate gain based on offset and max of UInt16 etc. Gain is easily extracted by checking ADC value of FEP in given detector in dsp files on storage, doesn't need to be calculated based on offset. This situation happens when NoiseFromData is used (which currently has never been actually used), i.e. when baseline catalog is being read to sample data baselines. So right now for NoiseFromSim it's simply enough to fix the bug, replacing type GenericPreAmp with just PreAmp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant