File indexing completed on 2024-04-06 12:11:29
0001 #ifndef Fireworks_Calo_FWCandTowerProxyBuilder_h
0002 #define Fireworks_Calo_FWCandTowerProxyBuilder_h
0003
0004
0005
0006 #include "Rtypes.h"
0007 #include <string>
0008
0009 #include "Fireworks/Calo/interface/FWCaloDataHistProxyBuilder.h"
0010 #include "DataFormats/Candidate/interface/CandidateFwd.h"
0011 #include "DataFormats/Candidate/interface/Candidate.h"
0012
0013 #include "DataFormats/PatCandidates/interface/PackedCandidate.h"
0014 #include "Fireworks/Core/interface/FWSimpleProxyHelper.h"
0015
0016 class FWHistSliceSelector;
0017
0018 class FWCandidateTowerProxyBuilder : public FWCaloDataHistProxyBuilder {
0019 public:
0020 FWCandidateTowerProxyBuilder();
0021 ~FWCandidateTowerProxyBuilder() override;
0022 static std::string typeOfBuilder() { return std::string("simple#"); }
0023 virtual double getEt(const reco::Candidate& cand) const { return cand.pt(); }
0024
0025 REGISTER_PROXYBUILDER_METHODS();
0026
0027 protected:
0028 void fillCaloData() override;
0029 FWHistSliceSelector* instantiateSliceSelector() override;
0030 void build(const FWEventItem* iItem, TEveElementList* product, const FWViewContext*) override;
0031
0032 public:
0033 FWCandidateTowerProxyBuilder(const FWCandidateTowerProxyBuilder&) = delete;
0034 const FWCandidateTowerProxyBuilder& operator=(const FWCandidateTowerProxyBuilder&) = delete;
0035
0036 private:
0037 virtual void itemChangedImp(const FWEventItem*);
0038
0039 FWSimpleProxyHelper m_helper;
0040 };
0041
0042 #endif