Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:51

0001 #include "Fireworks/Core/interface/FWProxyBuilderBase.h"
0002 //#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
0003 #include "DataFormats/ParticleFlowReco/interface/PFRecHit.h"
0004 #include "DataFormats/ParticleFlowReco/interface/PFRecHitFwd.h"
0005 namespace reco {
0006   class PFCandidate;
0007   class PFRecHit;
0008 }  // namespace reco
0009 class CaloRecHit;
0010 
0011 class FWPFCandidateWithHitsProxyBuilder : public FWProxyBuilderBase {
0012 public:
0013   FWPFCandidateWithHitsProxyBuilder() {}
0014   ~FWPFCandidateWithHitsProxyBuilder() override {}
0015 
0016   void build(const FWEventItem* iItem, TEveElementList* product, const FWViewContext*) override;
0017 
0018   bool havePerViewProduct(FWViewType::EType) const override { return true; }
0019 
0020   void scaleProduct(TEveElementList* parent, FWViewType::EType type, const FWViewContext* vc) override;
0021 
0022   REGISTER_PROXYBUILDER_METHODS();
0023 
0024   FWPFCandidateWithHitsProxyBuilder(const FWPFCandidateWithHitsProxyBuilder&) = delete;  // Stop default
0025   const FWPFCandidateWithHitsProxyBuilder& operator=(const FWPFCandidateWithHitsProxyBuilder&) = delete;  // Stop default
0026 
0027 private:
0028   void addHitsForCandidate(const reco::PFCandidate& c, TEveElement* holder, const FWViewContext* vc);
0029   void initPFRecHitsCollections();
0030   const reco::PFRecHit* getHitForDetId(unsigned detId);
0031   void viewContextBoxScale(
0032       const float* corners, float scale, bool plotEt, std::vector<float>& scaledCorners, const reco::PFRecHit*);
0033 
0034   const reco::PFRecHitCollection* m_collectionHCAL;
0035 };