CMS 3D CMS Logo

FWPFCandidateDetailView.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: Tracks
4 // Class : FWPFDetailView
5 
6 #include "Rtypes.h"
7 
10 
12 class TGLEmbeddedViewer;
13 class FWIntValueListener;
14 class TEveCaloLego;
15 class TGSlider;
16 
17 namespace reco {
18 // class PFCandidate;
19 class PFRecHit;
20 class PFCluster;
21 class PFRecTrack;
22 }
23 
24 class FWPFCandidateDetailView: public FWDetailViewGL<reco::PFCandidate>,
25  public CSGActionSupervisor
26 {
27 public:
29  ~FWPFCandidateDetailView() override;
30 
31 
32 protected:
33 
34 private:
35  FWPFCandidateDetailView(const FWPFCandidateDetailView&) = delete; // stop default
36  const FWPFCandidateDetailView& operator=(const FWPFCandidateDetailView&) = delete; // stop default
37 
39  void build (const FWModelId &id, const reco::PFCandidate*) override;
40  void setTextInfo (const FWModelId &id, const reco::PFCandidate*) override;
41  void makeLegend( void );
42 
43  bool isPntInRng(float x, float y);
44 
45  void rangeChanged(int x);
46  void plotEtChanged();
47  void rnrHcalChanged();
48 
49  void buildGLEventScene();
50 
51  void voteMaxEtEVal( const std::vector<reco::PFRecHit> *hits);
52 
53  void addHits( const std::vector<reco::PFRecHit> *);
54  void addClusters( const std::vector<reco::PFCluster> *);
55  void addTracks( const std::vector<reco::PFRecTrack> *);
56 
57 
58  float eta();
59  float phi();
60 
61  float etaMin() { return eta() - m_range; }
62  float etaMax() { return eta() + m_range; }
63  float phiMin() { return phi() - m_range; }
64  float phiMax() { return phi() + m_range; }
65 
66 
67  float m_range;
69 
70  TLegend *m_legend;
71 
72  TGSlider* m_slider;
74 
75  TEveElementList* m_eventList;
76 
77 
78  bool m_plotEt;
79 
80 
81  bool m_rnrHcal;
82 };
FWIntValueListener * m_sliderListener
const reco::PFCandidate * m_candidate
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
fixed size matrix