File indexing completed on 2023-10-25 09:46:32
0001
0002 #ifndef Fireworks_Electrons_FWElectronDetailView_h
0003 #define Fireworks_Electrons_FWElectronDetailView_h
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #include "Fireworks/Core/interface/FWDetailViewGL.h"
0018 #include "DataFormats/EgammaReco/interface/BasicCluster.h"
0019
0020 class TEveCaloDataVec;
0021 class TEveCaloLego;
0022 class TLegend;
0023 class FWECALDetailViewBuilder;
0024 class TEveCaloData;
0025 class TGSlider;
0026
0027 namespace reco {
0028 class GsfElectron;
0029 }
0030
0031 class FWElectronDetailView : public FWDetailViewGL<reco::GsfElectron> {
0032 public:
0033 FWElectronDetailView();
0034 ~FWElectronDetailView() override;
0035
0036 FWElectronDetailView(const FWElectronDetailView &) = delete;
0037 const FWElectronDetailView &operator=(const FWElectronDetailView &) = delete;
0038
0039 private:
0040 using FWDetailViewGL<reco::GsfElectron>::build;
0041 void build(const FWModelId &id, const reco::GsfElectron *) override;
0042
0043 using FWDetailViewGL<reco::GsfElectron>::setTextInfo;
0044 void setTextInfo(const FWModelId &id, const reco::GsfElectron *) override;
0045
0046 double deltaEtaSuperClusterTrackAtVtx(const reco::GsfElectron &);
0047 double deltaPhiSuperClusterTrackAtVtx(const reco::GsfElectron &);
0048 void addTrackPointsInCaloData(const reco::GsfElectron *, TEveCaloLego *);
0049
0050 void addSceneInfo(const reco::GsfElectron *i, TEveElementList *tList);
0051 void drawCrossHair(const reco::GsfElectron *, TEveCaloLego *, TEveElementList *);
0052
0053 Bool_t checkRange(Double_t &, Double_t &, Double_t &, Double_t &, Double_t, Double_t);
0054
0055 TEveCaloData *m_data;
0056 FWECALDetailViewBuilder *m_builder;
0057 TLegend *m_legend;
0058 };
0059
0060 #endif