1 #ifndef Fireworks_Tracks_TrackUtils_h 2 #define Fireworks_Tracks_TrackUtils_h 10 #include "TEveVSDStructs.h" 23 class TEveTrackPropagator;
26 class TEveStraightLineSet;
41 position(pos), valid(
false) {
43 State(
const TEveVector&
pos,
const TEveVector& mom) :
44 position(pos), momentum(mom), valid(
true) {
52 m_direction = momentum;
53 m_direction.Normalize();
55 bool operator() (
const State& state1,
56 const State& state2 )
const {
57 double product1 = state1.
position.Perp()*(state1.
position.fX*m_direction.fX + state1.
position.fY*m_direction.fY>0 ? 1 : -1);
58 double product2 = state2.
position.Perp()*(state2.
position.fX*m_direction.fX + state2.
position.fY*m_direction.fY>0 ? 1 : -1);
59 return product1 < product2;
65 const std::vector<TEveVector>& extraRefPoints = std::vector<TEveVector>() );
67 float pixelLocalX(
const double mpx,
const float* );
68 float pixelLocalY(
const double mpy,
const float* );
73 void localSiStrip(
short strip,
float* localTop,
float* localBottom,
const float* pars,
unsigned int id );
91 #endif // Fireworks_Tracks_TrackUtils_h State(const TEveVector &pos)
Master< F > master(const F &f)
TEveTrack * prepareTrack(const reco::Track &track, TEveTrackPropagator *propagator, const std::vector< TEveVector > &extraRefPoints=std::vector< TEveVector >())
float phase2PixelLocalY(const double mpy, const float *, const float *)
void localSiStrip(short strip, float *localTop, float *localBottom, const float *pars, unsigned int id)
State(const TEveVector &pos, const TEveVector &mom)
float phase2PixelLocalX(const double mpx, const float *, const float *)
const SiStripCluster * extractClusterFromTrackingRecHit(const TrackingRecHit *rh)
void pushPixelHits(std::vector< TVector3 > &pixelPoints, const FWEventItem &iItem, const reco::Track &t)
float pixelLocalX(const double mpx, const float *)
void addSiStripClusters(const FWEventItem *iItem, const reco::Track &t, class TEveElement *tList, bool addNearbyClusters, bool master)
float pixelLocalY(const double mpy, const float *)
StateOrdering(const TEveVector &momentum)
Pixel cluster – collection of neighboring pixels above threshold.
void pushNearbyPixelHits(std::vector< TVector3 > &pixelPoints, const FWEventItem &iItem, const reco::Track &t)
void pushPixelCluster(std::vector< TVector3 > &pixelPoints, const FWGeometry &geom, DetId id, const SiPixelCluster &c, const float *pars)