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

Added SimDRCalorimeterHit for dual-readout #380

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions edm4hep.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -402,6 +402,21 @@ datatypes:
- edm4hep::Vector3f position [mm] // position of the hit in world coordinates
- int32_t type // type of hit


edm4hep::SimDRCalorimeterHit:
Description: "Simulated dual-readout calorimeter hit"
Author: "Wonyong Chung"
Members:
- uint64_t cellID // detector cellID
- float energy [GeV] // energy of the hit
- edm4hep::Vector3f position [mm] // position of the calorimeter cell in world coords
- int32_t nCerenkovProd // number of cerenkov photons produced
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why produced photons? Why not recorded photons? Similar to having the avg arrival time of photons recorded in the time fields?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a SIM level object, I guess we should leave the possibility to treat effects such as efficiency in a subsequent digitizer (though it is indeed sometimes interesting to leak part of the digitization in the SDAction)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But then the tAvg should also come from the digitiser and not be calculated here already?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some input from side. Our idea here is to have a first functional simulation which is a sufficiently good representation of the detector performance. The definition of the technology is still being matter of R&D and thus we are not ready yet to work on the digitization part. At this first stage, in our opinion, the most efficient approach (also from the computational time point of view) is to factorize the simulation of energy deposition part from that of optical photon tracing, SiPM and electronics.
From the former we need:

  • number of cherenkov photons produced (we can then apply offline, at the reconstruction level a scaling on this number which takes into account the light collection efficiency, i.e. light tracing aspects)
  • amount of energy deposited in each calorimetric cell

For what concerns the time stamp it is often sufficient to save the average time of all hits inside a certain calorimetric cell (possibly weighed with the energy of each hit). This is for our calorimeter a sufficiently good approximation of the time information we can extract with a realistic system (possibly after applying a resolution smearing).

It is to early to have a realistic implementation of the digitizer step in my opinion because of two reasons:

  • we want to explore different configurations and for this it is more convenient to apply "digitization" effects offline
  • simulation of optical photons is very time consuming so we are looking into a way to parametrize all optical aspects as much as possible (based on standalone Geant4 studies)

Concerning having separate collections for the scintillation and cherenkov photons this is also possible I believe. However, the difference with respect to the dual-readout fiber calorimeter is that in our case we have a complete duplications of hits since the cherenkov photons are always produced in the same volumes as that of other hits. Having two separate collections looked like redundant (I don't know about the impact on data size). For each hit in a certain calorimetric cell we always have both scintillation and cherenkov non-zero signals. If we use two separate collections we will have to match one-by-one all hits at the reconstruction level.

- int32_t nScintillationProd // number of scint photons produced
- float tAvgC [ns] // avg arrival time for cerenkov photons
- float tAvgS [ns] // avg arrival time for scint photons
OneToManyRelations:
- edm4hep::CaloHitContribution contributions // Monte Carlo step contributions

edm4hep::ParticleID:
Description: "ParticleID"
Author: "EDM4hep authors"
Expand Down