LDMX Software
EcalHelper.h
Go to the documentation of this file.
1
8#ifndef ECAL_TRACKPROPAGATOR_H_
9#define ECAL_TRACKPROPAGATOR_H_
10
11// LDMX
12#include "Tracking/Event/Track.h"
13
14// ROOT
15#include "Math/Vector3D.h" // IWYU pragma: keep
16
17namespace ecal {
18
27std::vector<float> trackProp(const ldmx::Tracks& tracks,
28 ldmx::TrackStateType ts_type,
29 const std::string& ts_title);
30
38std::vector<std::vector<float>> pTTrackProp(const ldmx::Tracks& tracks,
39 int ele_count);
40
48std::vector<std::vector<float>> momTrackProp(const ldmx::Tracks& tracks,
49 int ele_count);
50
51// MIP tracking
62float distTwoLines(ROOT::Math::XYZVector v1, ROOT::Math::XYZVector v2,
63 ROOT::Math::XYZVector w1, ROOT::Math::XYZVector w2);
73float distPtToLine(ROOT::Math::XYZVector h1, ROOT::Math::XYZVector p1,
74 ROOT::Math::XYZVector p2);
75
76} // namespace ecal
77
78#endif
std::vector< float > trackProp(const ldmx::Tracks &tracks, ldmx::TrackStateType ts_type, const std::string &ts_title)
Return a vector of parameters for a propagated recoil track.
Definition EcalHelper.cxx:8
std::vector< std::vector< float > > pTTrackProp(const ldmx::Tracks &tracks, int ele_count)
Return a vector of ele_count valid track states with the greatest transverse momentum.
float distPtToLine(ROOT::Math::XYZVector h1, ROOT::Math::XYZVector p1, ROOT::Math::XYZVector p2)
Return the minimum distance between the point h1 and the line passing through points p1 and p2.
float distTwoLines(ROOT::Math::XYZVector v1, ROOT::Math::XYZVector v2, ROOT::Math::XYZVector w1, ROOT::Math::XYZVector w2)
Returns the distance between the lines v and w, with v defined to pass through the points (v1,...
std::vector< std::vector< float > > momTrackProp(const ldmx::Tracks &tracks, int ele_count)
Return a vector of ele_count valid track states with the greatest total momentum.