Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef Fireworks_Calo_FWTauProxyBuilderBase_h
0002 #define Fireworks_Calo_FWTauProxyBuilderBase_h
0003 
0004 // -*- C++ -*-
0005 //
0006 // Package:     Calo
0007 // Class  :     FWTauProxyBuilderBase
0008 //
0009 /**\class FWTauProxyBuilderBase FWTauProxyBuilderBase.h Fireworks/Calo/interface/FWTauProxyBuilderBase.h
0010 
0011  Description: [one line class summary]
0012 
0013  Usage:
0014     <usage>
0015 
0016 */
0017 //
0018 // Original Author:  Alja Mrak-Tadel
0019 //         Created:  Thu Oct 21 20:40:32 CEST 2010
0020 //
0021 
0022 #include "Fireworks/Core/interface/FWProxyBuilderBase.h"
0023 #include "Fireworks/Core/interface/FWViewType.h"
0024 #include "Fireworks/Calo/interface/scaleMarker.h"
0025 #include <vector>
0026 
0027 class TEveScalableStraightLineSet;
0028 class FWViewContext;
0029 
0030 namespace reco {
0031   class Jet;
0032   class BaseTau;
0033 }  // namespace reco
0034 
0035 namespace fireworks {
0036   class Context;
0037 }
0038 
0039 class FWTauProxyBuilderBase : public FWProxyBuilderBase {
0040 public:
0041   FWTauProxyBuilderBase();
0042   ~FWTauProxyBuilderBase() override;
0043 
0044   bool haveSingleProduct() const override { return false; }
0045   bool havePerViewProduct(FWViewType::EType) const override { return true; }
0046   void scaleProduct(TEveElementList* parent, FWViewType::EType, const FWViewContext* vc) override;
0047   void cleanLocal() override;
0048 
0049   void setItem(const FWEventItem* iItem) override;
0050 
0051 protected:
0052   float m_minTheta;
0053   float m_maxTheta;
0054   std::vector<double> m_phis;
0055   void buildBaseTau(const reco::BaseTau& iTau,
0056                     const reco::Jet* iJet,
0057                     TEveElement* comp,
0058                     FWViewType::EType type,
0059                     const FWViewContext* vc);
0060 
0061   void localModelChanges(const FWModelId& iId,
0062                          TEveElement* iCompound,
0063                          FWViewType::EType viewType,
0064                          const FWViewContext* vc) override;
0065 
0066 public:
0067   FWTauProxyBuilderBase(const FWTauProxyBuilderBase&) = delete;  // stop default
0068 
0069   const FWTauProxyBuilderBase& operator=(const FWTauProxyBuilderBase&) = delete;  // stop default
0070 private:
0071   // ---------- member data --------------------------------
0072   // Add Tracks which passed quality cuts and
0073   // are inside a tracker signal cone around leading Track
0074   void addConstituentTracks(const reco::BaseTau& tau, class TEveElement* product);
0075   // Add leading Track
0076   void addLeadTrack(const reco::BaseTau& tau, class TEveElement* product);
0077 };
0078 
0079 #endif