-
Notifications
You must be signed in to change notification settings - Fork 31
Open
Description
Is your feature request related to a problem? Please describe.
Currently, EICrecon lacks a native C++ implementation of the simple E/p for electron-pion separation in the BIC. The idea is to perform event-by-event E/p preselection within the reconstruction chain.
Describe the solution you'd like
Introduce a new CalorimeterEoverPCut factory and algorithm in C++ that:
- Consumes EcalBarrelScFiClusters and their MC associations.
- Computes E/p per cluster, using the highest‐weight MC association to get the true momentum.
- Applies a configurable threshold ecut (and optional max_layer depth) read from JANA parameters.
- Outputs an edm4hep::ParticleIDCollection marking passing clusters as electrons with likelihood = E/p.
- Is registered in BEMC.cc under a version guard, so it runs in every barrel‐reco pass.
This embeds the preselection directly into the plugin, allowing downstream factories (e.g. ONNX‐based PID) to consume only prefiltered clusters.
Describe alternatives you've considered
Skipping preselection entirely and let a future ML model handle it all.
Additional context
The new factory follows the pattern of CalorimeterParticleIDPreML / PostML in EICrecon
Metadata
Metadata
Assignees
Labels
No labels