234 TEveRecTrack recTrack;
246 if (
muon->isTrackerMuon() &&
muon->innerTrack().isAvailable() &&
muon->isMatchesValid() &&
254 addMatchInformation(&(*
muon), pb, tList, showEndcap);
258 if (
muon->isGlobalMuon() &&
muon->globalTrack().isAvailable()) {
259 std::vector<TEveVector> extraPoints;
260 if (
muon->innerTrack().isAvailable() &&
muon->innerTrack()->extra().isAvailable()) {
261 extraPoints.push_back(TEveVector(
muon->innerTrack()->innerPosition().x(),
262 muon->innerTrack()->innerPosition().y(),
263 muon->innerTrack()->innerPosition().z()));
264 extraPoints.push_back(TEveVector(
muon->innerTrack()->outerPosition().x(),
265 muon->innerTrack()->outerPosition().y(),
266 muon->innerTrack()->outerPosition().z()));
268 if (
muon->outerTrack().isAvailable() &&
muon->outerTrack()->extra().isAvailable()) {
269 extraPoints.push_back(TEveVector(
muon->outerTrack()->innerPosition().x(),
270 muon->outerTrack()->innerPosition().y(),
271 muon->outerTrack()->innerPosition().z()));
272 extraPoints.push_back(TEveVector(
muon->outerTrack()->outerPosition().x(),
273 muon->outerTrack()->outerPosition().y(),
274 muon->outerTrack()->outerPosition().z()));
276 TEveTrack* trk =
nullptr;
277 if (extraPoints.empty())
289 if (
muon->innerTrack().isAvailable()) {
296 if (
muon->outerTrack().isAvailable()) {
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
TEveTrack * prepareTrack(const reco::Track &track, TEveTrackPropagator *propagator, const std::vector< TEveVector > &extraRefPoints=std::vector< TEveVector >())
TEveTrackPropagator * getMuonTrackPropagator() const
const fireworks::Context & context() const
void calculateField(const reco::Muon &iData, FWMagField *field)
FWGeometry * getGeom() const
TEveTrack * prepareCandidate(const reco::Candidate &track, TEveTrackPropagator *propagator)
const FWEventItem * item() const
FWMagField * getField() const