File indexing completed on 2024-04-06 12:11:29
0001 #include "Fireworks/Candidates/interface/CandidateUtils.h"
0002 #include "TEveVSDStructs.h"
0003 #include "TEveTrack.h"
0004 #include "TEveVector.h"
0005 #include "TEveStraightLineSet.h"
0006
0007 namespace fireworks {
0008
0009 TEveTrack* prepareCandidate(const reco::Candidate& track, TEveTrackPropagator* propagator) {
0010 TEveRecTrack t;
0011 t.fBeta = 1.;
0012 t.fP = TEveVector(track.px(), track.py(), track.pz());
0013 t.fV = TEveVector(track.vertex().x(), track.vertex().y(), track.vertex().z());
0014 t.fSign = track.charge();
0015 TEveTrack* trk = new TEveTrack(&t, propagator);
0016 return trk;
0017 }
0018
0019 void addStraightLineSegment(TEveStraightLineSet* marker, reco::Candidate const* cand, double scale_factor) {
0020 double phi = cand->phi();
0021 double theta = cand->theta();
0022 double size = cand->pt() * scale_factor;
0023 marker->AddLine(0, 0, 0, size * cos(phi) * sin(theta), size * sin(phi) * sin(theta), size * cos(theta));
0024 }
0025 }