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

Add senseWireHit as in edm4hep PR #41

Merged
merged 1 commit into from
Dec 18, 2024
Merged
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
51 changes: 51 additions & 0 deletions DCHdigi/dataFormatExtension/driftChamberHit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,41 @@ datatypes:

# end of "the following is just because interface looks for e.g. extension/TrackerHit3DCollection.h"

# new version of digitized drift chamber digi, resulting from https://github.com/key4hep/EDM4hep/pull/385 discussion
# defined here for validation before to merge in central edm4hep
extension::SenseWireHit:
Description: "Sense wire hit, before the hit position degeneracy is resolved. The circle representing possible positions is parametrized with its center, radius and normal vector (given by the wire direction)."
Author: "EDM4hep authors"
Members:
- uint64_t cellID // ID of the sensor that created this hit
- int32_t type // type of the raw data hit
- int32_t quality // quality bit flag of the hit
- float time [ns] // time of the hit
- float eDep [GeV] // energy deposited by the hit
- float eDepError [GeV] // error on eDep
- float wireStereoAngle // angle between the sense wire axis and the drift chamber axis (usually the z-axis) - use it together with wireAzimuthalAngle to get the wire direction
- float wireAzimuthalAngle // azimuthal angle at the middle of the sense wire - use it together with wireStereoAngle to get the wire direction
- edm4hep::Vector3d position [mm] // point on the sense wire which is closest to the hit (center of the circle)
- double positionAlongWireError [mm] // error on the hit position along the wire direction
- float distanceToWire [mm] // distance between the hit and the wire (radius of the circle)
- float distanceToWireError [mm] // error on distanceToWire
VectorMembers:
- uint16_t nElectrons // number of electrons for each cluster (number of clusters = vector size)
ExtraCode:
declaration: "
/// Return the number of clusters associated to the hit\n
auto getNClusters() const { return getNElectrons().size(); }\n
"

extension::SenseWireHitSimTrackerHitLink:
Description: "Link between a SenseWireHit and a SimTrackerHit"
Author: "EDM4hep authors"
Members:
- float weight // weight of this link
OneToOneRelations:
- extension::SenseWireHit from // reference to the SenseWireHit
- edm4hep::SimTrackerHit to // reference to the SimTrackerHit

interfaces:
extension::TrackerHit:
Description: "Tracker hit interface class"
Expand All @@ -159,3 +194,19 @@ interfaces:
- extension::TrackerHitPlane
- extension::TrackerHit3D
- extension::DriftChamberDigiV2

extension::TrackerHit_dev:
Description: "Tracker hit interface class to test the mixing of extension and edm4hep data types"
Author: "Thomas Madlener, DESY"
Members:
- uint64_t cellID // ID of the sensor that created this hit
- int32_t type // type of the raw data hit
- int32_t quality // quality bit flag of the hit
- float time [ns] // time of the hit
- float eDep [GeV] // energy deposited on the hit
- float eDepError [GeV] // error measured on eDep
- edm4hep::Vector3d position [mm] // hit position
Types:
- edm4hep::TrackerHitPlane
- edm4hep::TrackerHit3D
- extension::SenseWireHit
Loading