Skip to content
Snippets Groups Projects
Commit a65376aa authored by Sylvester Joosten's avatar Sylvester Joosten
Browse files

Updated EICD tracker data structures

parent ce028eee
No related branches found
No related tags found
1 merge request!42Resolve "Update tracking data structures"
Pipeline #15529 failed
...@@ -206,15 +206,15 @@ components: ...@@ -206,15 +206,15 @@ components:
eic::CovDiagXYZT: eic::CovDiagXYZT:
Members: Members:
- float xx - double xx
- float yy - double yy
- float zz - double zz
- float tt - double tt
ExtraCode: ExtraCode:
declaration: " declaration: "
CovDiagXYZT() : xx{0}, yy{0}, zz{0}, tt{0} {}\n CovDiagXYZT() : xx{0}, yy{0}, zz{0}, tt{0} {}\n
CovDiagXYZT(float x, float y, float z, float t) : xx{x}, yy{y}, zz{z}, tt{t} {}\n CovDiagXYZT(double x, double y, double z, double t) : xx{x}, yy{y}, zz{z}, tt{t} {}\n
float operator()(unsigned i, unsigned j) const {return (i == j) ? *(&xx + i) : 0.;}\n double operator()(unsigned i, unsigned j) const {return (i == j) ? *(&xx + i) : 0.;}\n
" "
eic::CovXYZ: eic::CovXYZ:
...@@ -245,42 +245,6 @@ components: ...@@ -245,42 +245,6 @@ components:
datatypes: datatypes:
eic::RawTrackerHit:
Description : "Raw (digitized) tracker hit"
Author : "W.Armstrong"
Members:
- long long cellID // The detector specific (geometrical) cell id.
- int time // tdc value.
- int charge // adc value
eic::TrackerHit:
Description : "Tracker hit (reconstructed from Raw)"
Author : "W.Armstrong"
Members :
- long long cellID // The detector specific (geometrical) cell id.
- float time // The time of the hit.
- float EDep // EDep
- float EDepError // error on EDep
- eic::VectorXYZ position // position
- eic::CovDiagXYZ covMatrix // covMatrix
eic::TrackParameters:
Description: "ACTS Track parameters"
Author : "W.Armstrong"
Members:
- double loc0 // loc0
- double loc1 // loc1
- double phi // phi
- double theta // theta
- double qOverP // qOverP
- double time // time
- double err_loc0 // err_loc0
- double err_loc1 // err_loc1
- double err_phi // err_phi
- double err_theta // err_theta
- double err_qOverP // err_qOverP
- double err_time // err_time
eic::Vertex: eic::Vertex:
Description: "EIC vertex" Description: "EIC vertex"
Author : "W.Armstrong" Author : "W.Armstrong"
...@@ -404,6 +368,7 @@ datatypes: ...@@ -404,6 +368,7 @@ datatypes:
- eic::VectorXYZ local // The local position of the hit in detector coordinates [mm]. - eic::VectorXYZ local // The local position of the hit in detector coordinates [mm].
- eic::VectorXYZ dimension // The dimension information of the cell [mm]. - eic::VectorXYZ dimension // The dimension information of the cell [mm].
## ========================================================================== ## ==========================================================================
## Clustering ## Clustering
## ========================================================================== ## ==========================================================================
...@@ -462,3 +427,57 @@ datatypes: ...@@ -462,3 +427,57 @@ datatypes:
- float radius // Shower radius [mm] - float radius // Shower radius [mm]
- float skewness // Skewness of hits distribution - float skewness // Skewness of hits distribution
- eic::VectorXYZ position // Global center position. [mm] - eic::VectorXYZ position // Global center position. [mm]
## ==========================================================================
## Tracking
## ==========================================================================
eic::RawTrackerHit:
Description: "Raw (digitized) tracker hit"
Author: "W. Armstrong, S. Joosten"
Members:
- int64_t cellID // The detector specific (geometrical) cell id.
- eic::Index ID // unique ID for this hit
- int32_t time // tdc value.
- int32_t charge // adc value
eic::TrackerHit:
Description: "Tracker hit (reconstructed from Raw)"
Author: "W. Armstrong, S. Joosten"
Members:
- int64_t cellID // The detector specific (geometrical) cell id.
- eic::Index ID // unique ID for this hit
- eic::VectorXYZT position // Hit (cell) position and time [mm, ns]
- eic::CovDiagXYZT covMatrix // Covariance Matrix
- float edep // Energy deposit in this hit [GeV]
- float edepError // Error on the energy deposit [GeV]
ConstExtraCode:
declaration: "
double time() const {return position().t;}\n
"
## Here's a stub for a prototrack setup. If this is all we use we should
## probably just use protocluster instead, but I assume there will be other
## members we'll need to communicate
## eic::ProtoTrack:
## Description: "Proto track info"
## Author: "S. Joosten"
## Members:
## eic::Index hitID // Unique hit identifier
## eic::Index trackID // link to the associated track
## eic::Weight weight // prototrack weight, in case we share pixels [0-1]
eic::TrackParameters:
Description: "ACTS Bound Track parameters"
Author: "W. Armstrong, S. Joosten"
Members:
- eic::Index ID // unique ID for this track
- eic::FloatPair loc // tracking location
- eic::FloatPair locError // error on the location
- eic::Direction direction // track direction (theta, phi) [rad, 0-pi and -pi->pi]
- eic::Direction directionError // error on the direction [rad]
- float qOverP // [e/GeV]
- float qOverPError // error on qOverP
- float time // track time [ns]
- float timeError // error on the time
...@@ -32,9 +32,9 @@ namespace eicd::helpers { ...@@ -32,9 +32,9 @@ namespace eicd::helpers {
return ROOT::Math::PxPyPzMVector{}; return ROOT::Math::PxPyPzMVector{};
} }
const double p = fabs(1. / track.qOverP); const double p = fabs(1. / track.qOverP);
const double px = p * cos(track.phi) * sin(track.theta); const double px = p * cos(track.direction.phi) * sin(track.direction.theta);
const double py = p * sin(track.phi) * sin(track.theta); const double py = p * sin(track.direction.phi) * sin(track.direction.theta);
const double pz = p * cos(track.theta); const double pz = p * cos(track.direction.theta);
return ROOT::Math::PxPyPzMVector{px, py, pz, mass}; return ROOT::Math::PxPyPzMVector{px, py, pz, mass};
}); });
return momenta; return momenta;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment