Skip to content

Better integration of datatypes for the drift chamber study of CEPC into EDM4hep #323

Description

@tmadlener

There are a few inconsistencies in the datatypes that were introduced in #179 for the drift chamber study. A tangential but related discussion is also in #322. Opening this issue as a sort of summary discussion board to see if this situation can be improved, also keeping in mind the proposed new datatypes in #299

My main complaints for these are:

  • HitLevelData is a rather generic lwo level datatype to store pretty much any detector hit / readout. However, it has a few members that make it very gaseous detector specific. I think this should be reflected in the name

    EDM4hep/edm4hep.yaml

    Lines 239 to 244 in bd9f450

    edm4hep::HitLevelData:
    Members:
    - uint64_t cellID // cell id
    - uint32_t N // number of reconstructed ionization cluster
    - float eDep [GeV] // reconstructed energy deposit
    - float pathLength [mm] // track path length

  • Hypothesis is not properly documented and seems to be lacking a ndf field(?). Specifically it has a chi2 value, but it's not really documented what this chi2 value represents. Also the sigma docstring could be refined.

    EDM4hep/edm4hep.yaml

    Lines 232 to 236 in bd9f450

    edm4hep::Hypothesis:
    Members:
    - float chi2 // chi2
    - float expected // expected value
    - float sigma // sigma value

  • Overall the structure of the dataypes is fairly involved, but also quite separate from the rest of EDM4hep and I am wondering whether there is a way to (re-)organize the information in a cleaner way in order to make them better integrated into the rest of EDM4hep. Relation diagram of the datatypes and some EDM4hep datatypes:
    image

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions