-
Notifications
You must be signed in to change notification settings - Fork 271
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
Add DBScan-based trigger algorithm #2606
Comments
Software triggering is more of a hack right now to deal with simulations, and it wasn't in the original scope of ctapipe. However, it would not be too hard to make it a selectable algorithm like we do with all other Components. However, can you describe a bit more about what this algorithm should do? Is it a stereo array trigger algorithm, or a camera-level trigger? (the latter is not in the scope of ctapipe) |
Dear Karl,
Please note we are working with waveforms (data cube) and not with images described here : |
What is in ctapipe now is not really a trigger simulation, but rather just a way to simulate the effect of having a hardware trigger on the LSTs after we do a sub-selection of telescopes for a particular subarray. So what we do is not really a simulation of SWAT (the software array trigger), but just a correction to ensure an event that shouldn't have passed the hardware stereo trigger on the LSTs doesn't make it through for further analysis. I'm not convinced that ctapipe is the right place to put such low-level trigger simulations, since it is intended to process data after triggering has occurred. However, I do agree that if the algorithm is used for waveform filtering to generate an image (which is in the DL0→DL1 transition), then it could naturally go into ctapipe. I think these are two separate use cases though. One intermediate option for the first use case ( trigger-level simulation) might be to use ctapipe to write out R0 data (waveforms) in hdf5 format, and then simply filter that data with your own software, and use ctapipe to process the result further. In any case, I think we should have a discussion about this in an upcoming ctapipe developer meeting (@maxnoe when is the next one? I guess in september), since I would like to keep the feature-creep of ctapipe down to a minimum, and to extend ctapipe to trigger-level simulation I think will need at least a CEP (ctapipe enhancement proposal) to be written. |
We might also need a CEP written to support fancier methods that combine waveform to image generation with cleaning at the same time, such as what @burmist-git suggests above. That is not in the current design of ctapipe where image generation and cleaning are separated, and would require some refactoring to support properly. But there is certainly some interesting things that can be done there, and we have already discussed some similar algorithms in the past (and indeed I think EventDisplay already does something similar). |
For completeness: Eventdisplay uses a double pass trace integration and cleaning method which does:
This method gets rid additionally of signal with times incompatible with a gamma-ray shower. Note that there is a tendency of making hadron showers more gamma-ray like (which is not good), but the advantages outweight this. |
(Maybe too naive approach:) I have removed the label |
That sounds reasonable, and isn't too much of an API change. Should ask the people working on DVR to be sure it's ok, but I don't see a major issue. That way you can sort of simulate the effect of a trigger by just applying DVR and filtering events that don't have any surviving pixels or something like that. |
We do have that implemented in the |
ctapipe is currently data levels R1 and upwards, ideally it would only be DL0 and up. The differences are small though (only pixels removed in DL0, otherwise the same as R1). What you propose here is much more low level, and as you wrote really belongs into sim_telarray or something in-between sim_telarray and ctapipe.
ctapipe does not have a software trigger at this level. It has an implementation of an array trigger that i used only to reject invalid telescope combinations that arise due to the simulation of hyper-arrays in the simulation. No timing, no looking at traces etc. Just looking at telescope ids in an already triggered hyper-array event and rejecting invalid combinations for the currently chosen realistic array. |
Please describe the use case that requires this feature.
For the proposed advanced SIPM-based LST camera (fully digitized) we explore new trigger algorithms based on digital sums and DBScan clustering. Preliminary tests show promising results. We would like this algorithm to be implemented in ctapipe, so we can run it as a software trigger on simtel with a very low initial trigger condition (almost "trigger-less") in order to evaluate the performance of the trigger system.
Describe the solution you'd like
Design an API for the SoftwareTrigger allowing different trigger algorithm.
Describe alternatives you've considered
We so far worked with "trigger-less" ctapipe hdf5 files, which is not handy.
The text was updated successfully, but these errors were encountered: