5 #include "EVENT/ReconstructedParticle.h"
6 #include "IMPL/TrackStateImpl.h"
7 #include "MarlinTrk/IMarlinTrkSystem.h"
8 #include "MarlinTrk/IMarlinTrack.h"
9 #include "DDRec/Vector3D.h"
28 bool sortByRho(EVENT::TrackerHit* a, EVENT::TrackerHit* b);
36 IMPL::TrackStateImpl
getTrackStateAtHit(MarlinTrk::IMarlinTrack* marlinTrk, EVENT::TrackerHit* hit);
52 double getHelixArcLength(
const EVENT::TrackState& ts1,
const EVENT::TrackState& ts2);
85 EVENT::TrackerHit*
getSETHit(EVENT::Track* track,
double tpcOuterR);
95 std::vector<EVENT::CalorimeterHit*>
selectFrankEcalHits( EVENT::Cluster* cluster, EVENT::Track* track,
int maxEcalLayer,
double bField );
123 std::vector<EVENT::Track*>
getSubTracks(EVENT::Track* track);
129 std::vector<IMPL::TrackStateImpl>
getTrackStatesPerHit(std::vector<EVENT::Track*> tracks, MarlinTrk::IMarlinTrkSystem* trkSystem,
bool extrapolateToEcal,
double bField);
138 double getTofClosest( EVENT::Cluster* cluster, EVENT::Track* track,
double timeResolution);
148 double getTofFrankAvg( std::vector<EVENT::CalorimeterHit*> selectedHits, EVENT::Track* track,
double timeResolution);
160 double getTofFrankFit( std::vector<EVENT::CalorimeterHit*> selectedHits, EVENT::Track* track,
double timeResolution);
double getHelixLengthAlongZ(const EVENT::TrackState &ts1, const EVENT::TrackState &ts2)
Get track length.
double getTofFrankAvg(std::vector< EVENT::CalorimeterHit * > selectedHits, EVENT::Track *track, double timeResolution)
Get the time-of-flight using average of the Frank ECal hits.
double getTofClosest(EVENT::Cluster *cluster, EVENT::Track *track, double timeResolution)
Get the time-of-flight using the closest ECal hit.
double getHelixNRevolutions(const EVENT::TrackState &ts1, const EVENT::TrackState &ts2)
Get number of helix revolutions.
CLHEP::Hep3Vector Vector3D
EVENT::TrackerHit * getSETHit(EVENT::Track *track, double tpcOuterR)
Returns SET hit.
double getTPCOuterR()
Returns TPC outer radius from the DD4hep detector geometry.
std::vector< IMPL::TrackStateImpl > getTrackStatesPerHit(std::vector< EVENT::Track * > tracks, MarlinTrk::IMarlinTrkSystem *trkSystem, bool extrapolateToEcal, double bField)
Get list of track states.
double getTofFrankFit(std::vector< EVENT::CalorimeterHit * > selectedHits, EVENT::Track *track, double timeResolution)
Get the time-of-flight using fit of the Frank ECal hits.
std::vector< EVENT::CalorimeterHit * > selectFrankEcalHits(EVENT::Cluster *cluster, EVENT::Track *track, int maxEcalLayer, double bField)
Get a subset of the cluster calorimeter hits.
double getHelixArcLength(const EVENT::TrackState &ts1, const EVENT::TrackState &ts2)
Get track length.
std::vector< EVENT::Track * > getSubTracks(EVENT::Track *track)
Get all subtracks of the Track.
bool sortByRho(EVENT::TrackerHit *a, EVENT::TrackerHit *b)
Comparator function by radius for tracker hits.
IMPL::TrackStateImpl getTrackStateAtHit(MarlinTrk::IMarlinTrack *marlinTrk, EVENT::TrackerHit *hit)
Get track state at tracker hit.
dd4hep::rec::Vector3D getHelixMomAtTrackState(const EVENT::TrackState &ts, double bField)
Get track momentum at the track state.