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

Want z position cut to be more liberal for reco tracks #93

Merged
merged 1 commit into from
Apr 22, 2024
Merged
Show file tree
Hide file tree
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
9 changes: 5 additions & 4 deletions src/TMS_TreeWriter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1131,11 +1131,12 @@ void TMS_TreeWriter::Fill(TMS_Event &event) {
TMS_TrueParticle tp = TrueParticles[true_primary_particle_index];
double start_z = RecoTrack->Start[2];
double end_z = RecoTrack->End[2];
const double max_z_distance = 1e9; // Want the closest possible starting and ending points, regardless of distance
if (itTrack < __TMS_MAX_LINES__) {
setMomentum(RecoTrackPrimaryParticleTrueMomentumTrackStart[itTrack], tp.GetMomentumAtZ(start_z));
setPosition(RecoTrackPrimaryParticleTruePositionTrackStart[itTrack], tp.GetPositionAtZ(start_z));
setMomentum(RecoTrackPrimaryParticleTrueMomentumTrackEnd[itTrack], tp.GetMomentumAtZ(end_z));
setPosition(RecoTrackPrimaryParticleTruePositionTrackEnd[itTrack], tp.GetPositionAtZ(end_z));
setMomentum(RecoTrackPrimaryParticleTrueMomentumTrackStart[itTrack], tp.GetMomentumAtZ(start_z, max_z_distance));
setPosition(RecoTrackPrimaryParticleTruePositionTrackStart[itTrack], tp.GetPositionAtZ(start_z, max_z_distance));
setMomentum(RecoTrackPrimaryParticleTrueMomentumTrackEnd[itTrack], tp.GetMomentumAtZ(end_z, max_z_distance));
setPosition(RecoTrackPrimaryParticleTruePositionTrackEnd[itTrack], tp.GetPositionAtZ(end_z, max_z_distance));
}
}

Expand Down
6 changes: 2 additions & 4 deletions src/TMS_TrueParticle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,9 @@ void TMS_TrueParticle::Print() {
}
}

TVector3 TMS_TrueParticle::GetMomentumAtZ(double z) {
TVector3 TMS_TrueParticle::GetMomentumAtZ(double z, double max_z_dist) {
TVector3 out(-99999999, -99999999, -99999999);
double z_dist_found = 999999;
const double max_z_dist = 110; // About 2 planes is the max z distance we'll tolerate
for (size_t i = 0; i < GetPositionPoints().size(); i++) {
double distance = abs(GetPositionPoints()[i].Z() - z);
if (distance <= max_z_dist) {
Expand All @@ -47,10 +46,9 @@ TVector3 TMS_TrueParticle::GetMomentumAtZ(double z) {
return out;
}

TLorentzVector TMS_TrueParticle::GetPositionAtZ(double z) {
TLorentzVector TMS_TrueParticle::GetPositionAtZ(double z, double max_z_dist) {
TLorentzVector out(-99999999, -99999999, -99999999, -99999999);
double z_dist_found = 999999;
const double max_z_dist = 110; // About 2 planes is the max z distance we'll tolerate
for (size_t i = 0; i < GetPositionPoints().size(); i++) {
double distance = abs(GetPositionPoints()[i].Z() - z);
if (distance <= max_z_dist) {
Expand Down
4 changes: 2 additions & 2 deletions src/TMS_TrueParticle.h
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ class TMS_TrueParticle {
TVector3 &GetInitialMomentum() { return MomentumPoints.back(); };
TLorentzVector &GetInitialPoint() { return PositionPoints.back(); };

TLorentzVector GetPositionAtZ(double z);
TLorentzVector GetPositionAtZ(double z, double max_z_dist = 220); // About 2 planes in either direction is the max z distance we'll tolerate, 110mm / thick plane
TLorentzVector GetPositionZIsLArEnd() { return GetPositionAtZ(TMS_Geom::GetInstance().GetZEndOfLAr()); };
TLorentzVector GetPositionZIsTMSStart() { return GetPositionAtZ(TMS_Geom::GetInstance().GetZStartOfTMS()); };
TLorentzVector GetPositionZIsTMSEnd() { return GetPositionAtZ(TMS_Geom::GetInstance().GetZEndOfTMS()); };
Expand All @@ -128,7 +128,7 @@ class TMS_TrueParticle {
TLorentzVector GetPositionLeavingLAr() { return GetPositionLeaving(TMS_Geom::StaticIsInsideLAr); };


TVector3 GetMomentumAtZ(double z);
TVector3 GetMomentumAtZ(double z, double max_z_dist = 220); // About 2 planes in either direction is the max z distance we'll tolerate, 110mm / thick plane
TVector3 GetMomentumZIsLArEnd() { return GetMomentumAtZ(TMS_Geom::GetInstance().GetZEndOfLAr()); };
TVector3 GetMomentumZIsTMSStart() { return GetMomentumAtZ(TMS_Geom::GetInstance().GetZStartOfTMS()); };
TVector3 GetMomentumZIsTMSEnd() { return GetMomentumAtZ(TMS_Geom::GetInstance().GetZEndOfTMS()); };
Expand Down
Loading