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// C++
15#include <cmath>
16
17// ROOT
18#include "Math/Vector3D.h"
19
20namespace ecal {
21
30std::vector<float> trackProp(const ldmx::Tracks& tracks,
31 ldmx::TrackStateType ts_type,
32 const std::string& ts_title);
33
41std::vector<std::vector<float>> pTTrackProp(const ldmx::Tracks& tracks,
42 int ele_count);
43
51std::vector<std::vector<float>> momTrackProp(const ldmx::Tracks& tracks,
52 int ele_count);
53
54// MIP tracking
65float distTwoLines(ROOT::Math::XYZVector v1, ROOT::Math::XYZVector v2,
66 ROOT::Math::XYZVector w1, ROOT::Math::XYZVector w2);
76float distPtToLine(ROOT::Math::XYZVector h1, ROOT::Math::XYZVector p1,
77 ROOT::Math::XYZVector p2);
78
79} // namespace ecal
80
81#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:5
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.