14 #include "TEveGeoNode.h"
15 #include "TEveGeoShape.h"
16 #include "TEveScalableStraightLineSet.h"
57 TEveElement& oItemHolder,
64 for (
auto&
c : product->RefChildren()) {
66 TEveScalableStraightLineSet* lineSet =
dynamic_cast<TEveScalableStraightLineSet*
>(
c->LastChild());
73 for (TEveProjectable::ProjList_i
j = lineSet->BeginProjecteds();
j != lineSet->EndProjecteds(); ++
j) {
74 (*j)->UpdateProjection();
83 TEveElement& oItemHolder,
86 using namespace TMath;
93 TEveScalableStraightLineSet* marker =
new TEveScalableStraightLineSet(
"MET marker");
94 marker->SetLineWidth(2);
109 double r2 = r1 - 0.1;
132 marker->SetScaleCenter(r0 *
cos(
phi), r0 *
sin(
phi), 0);
136 double r2 = r1 - 0.1;
144 double min_phi =
phi -
M_PI / 36 / 2;
145 double max_phi =
phi +
M_PI / 36 / 2;
146 TEveGeoManagerHolder gmgr(TEveGeoShape::GetGeoMangeur());
147 TEveGeoShape* element =
149 element->SetPickable(kTRUE);
153 marker->SetScale(caloScale->getScaleFactor3D() * (caloScale->getPlotEt() ? met.
et() : met.
energy()));
static float caloTransEta()
const fireworks::Context & context() const
float getScaleFactor3D() const
#define REGISTER_PROXYBUILDER_METHODS()
const edm::EventSetup & c
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
static const int kAllRPZBits
bool haveSingleProduct() const override
bool havePerViewProduct(FWViewType::EType) const override
void voteMaxEtAndEnergy(float Et, float energy) const
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
Sin< T >::type sin(const T &t)
FWViewEnergyScale * getEnergyScale() const
Geom::Theta< T > theta() const
const FWMETProxyBuilder & operator=(const FWMETProxyBuilder &)=delete
const FWEventItem * item() const
double theta() const final
momentum polar angle
~FWMETProxyBuilder() override
void buildViewType(const reco::MET &iData, unsigned int iIndex, TEveElement &oItemHolder, FWViewType::EType type, const FWViewContext *) override
const reco::MET & modelData(int index)
Cos< T >::type cos(const T &t)
static float caloR1(bool offset=true)
void addRhoZEnergyProjection(FWProxyBuilderBase *, TEveElement *, double r_ecal, double z_ecal, double theta_min, double theta_max, double phi)
void scaleProduct(TEveElementList *parent, FWViewType::EType, const FWViewContext *vc) override
double et() const final
transverse energy
static float caloZ1(bool offset=true)
const void * modelData(int iIndex) const
TEveGeoShape * getShape(const char *name, TGeoBBox *shape, Color_t color)
double phi() const final
momentum azimuthal angle
tuple size
Write out results.
double energy() const final
energy
double eta() const final
momentum pseudorapidity