18 #include "TEveJetCone.h"
19 #include "TEveGeoNode.h"
20 #include "TEveScalableStraightLineSet.h"
21 #include "TEveTrack.h"
65 TEveScalableStraightLineSet*
marker =
new TEveScalableStraightLineSet(
"energy" );
71 r = ecalZ/fabs(
cos(theta)) :
76 marker->SetScaleCenter( 0., (phi>0 ? r*fabs(
sin(theta)) : -r*fabs(
sin(theta))), r*
cos(theta) );
77 marker->AddLine(0., (phi>0 ? r*fabs(
sin(theta)) : -r*fabs(
sin(theta))), r*
cos(theta),
78 0., (phi>0 ? (r+size)*fabs(
sin(theta)) : -(r+size)*fabs(
sin(theta))), (r+size)*
cos(theta) );
84 double min_phi = phiRange.first-
M_PI/36/2;
85 double max_phi = phiRange.second+
M_PI/36/2;
86 if( fabs(phiRange.first-phiRange.first)<1
e-3 ) {
87 min_phi = phi-
M_PI/36/2;
88 max_phi = phi+
M_PI/36/2;
90 TEveGeoManagerHolder gmgr(TEveGeoShape::GetGeoMangeur());
91 TGeoBBox *sc_box =
new TGeoTubeSeg(ecalR - 1, ecalR + 1, 1, min_phi * 180 /
M_PI, max_phi * 180 /
M_PI);
93 shape->SetPickable(kTRUE);
96 marker->SetScaleCenter(ecalR*
cos(phi), ecalR*
sin(phi), 0);
97 marker->AddLine( ecalR*
cos( phi ), ecalR*
sin( phi ), 0,
98 ( ecalR+size )*
cos( phi ), ( ecalR+size )*
sin( phi ), 0);
100 marker->SetLineWidth(4);
113 cone->SetFillColor(dp.
color());
114 cone->SetLineColor(dp.
color());
126 TEveTrack* track( 0 );
127 if(
i->isAvailable() ) {
140 if( !leadTrack )
return;
163 typedef std::vector<fireworks::scaleMarker> Lines_t;
172 TEveProjected*
proj = *(*i).m_ls->BeginProjecteds();
173 proj->UpdateProjection();
const fireworks::Context & context() const
virtual reco::TrackRef leadTrack() const
float getScaleFactor3D() const
const FWDisplayProperties & defaultDisplayProperties() const
std::pair< double, double > getPhiRange(const std::vector< double > &phis, double phi)
virtual double et() const
transverse energy
static float caloTransAngle()
TEveTrack * prepareTrack(const reco::Track &track, TEveTrackPropagator *propagator, const std::vector< TEveVector > &extraRefPoints=std::vector< TEveVector >())
void addLeadTrack(const reco::BaseTau &tau, class TEveElement *product)
Base class for all types of Jets.
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
virtual void localModelChanges(const FWModelId &iId, TEveElement *iCompound, FWViewType::EType viewType, const FWViewContext *vc)
Geom::Theta< T > theta() const
static float caloZ2(bool offset=true)
const_iterator end() const
Termination of iteration.
const_iterator begin() const
Initialize an iterator over the RefVector.
const FWEventItem * item() const
void addConstituentTracks(const reco::BaseTau &tau, class TEveElement *product)
void buildBaseTau(const reco::BaseTau &iTau, const reco::Jet *iJet, TEveElement *comp, FWViewType::EType type, const FWViewContext *vc)
static bool isProjected(int)
virtual void scaleProduct(TEveElementList *parent, FWViewType::EType, const FWViewContext *vc)
virtual double energy() const
energy
Char_t transparency() const
static float caloR2(bool offset=true)
Cos< T >::type cos(const T &t)
static float caloR1(bool offset=true)
virtual const reco::TrackRefVector & signalTracks() const
virtual double theta() const
momentum polar angle
void addRhoZEnergyProjection(FWProxyBuilderBase *, TEveElement *, double r_ecal, double z_ecal, double theta_min, double theta_max, double phi)
static float caloZ1(bool offset=true)
std::vector< double > m_phis
virtual void cleanLocal()
TEveGeoShape * getShape(const char *name, TGeoBBox *shape, Color_t color)
std::vector< fireworks::scaleMarker > m_lines
virtual double phi() const
momentum azimuthal angle
virtual ~FWTauProxyBuilderBase()
tuple size
Write out results.
void increaseComponentTransparency(unsigned int index, TEveElement *holder, const std::string &name, Char_t transpOffset)
TEveJetCone * makeEveJetCone(const reco::Jet &iData, const fireworks::Context &context)