7 typedef std::vector<ScalableLines> Lines_t;
18 TEveProjected *proj = *(*i).m_ls->BeginProjecteds();
19 proj->UpdateProjection();
25 for( TEveElement::List_i
i = parent->BeginChildren();
i != parent->EndChildren(); ++
i )
27 if( (*i)->HasChildren() )
29 for( TEveElement::List_i
j = (*i)->BeginChildren();
j != (*i)->EndChildren(); ++
j )
31 if( strcmp( (*j)->GetElementName(),
"BlockCluster" ) == 0 )
54 TEveStraightLineSet *legoTrack = trackUtils->
setupLegoTrack( track );
59 TEveTrack *trk = trackUtils->
setupTrack( track );
69 TEveTrack *trk = trackUtils->
setupTrack( track );
71 TEvePointSet *ps =
new TEvePointSet();
74 Float_t *trackPoints = trk->GetP();
75 unsigned int last = ( trk->GetN() - 1 ) * 3;
76 float y = trackPoints[last+1];
77 float z = trackPoints[last+2];
80 for(
signed int i = 0;
i < markers->GetN(); ++
i )
83 markers->GetPoint(
i, a, b, c );
87 else if( y > 0 && b < 0 )
92 else if( z > 0 && c < 0 )
95 ps->SetNextPoint( a, b, c );
116 TEveVector centre = TEveVector( cluster.
x(), cluster.
y(), cluster.
z() );
120 float eta = cluster.
eta();
121 float phi = cluster.
phi();
129 legoCluster->SetElementName(
"BlockCluster" );
137 rpCluster->SetLineColor( dp.
color() );
148 rzCluster->SetLineColor( dp.
color() );
162 for(
unsigned int i = 0;
i < elements.
size(); ++
i )
const fireworks::Context & context() const
Abstract base class for a PFBlock element (track, cluster...)
float getScaleFactor3D() const
BuilderType e_builderType
const FWDisplayProperties & defaultDisplayProperties() const
void setupTrackElement(const reco::PFBlockElement &, TEveElement &, const FWViewContext *, FWViewType::EType)
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
void setupClusterElement(const reco::PFBlockElement &, TEveElement &, const FWViewContext *, FWViewType::EType, float r)
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
TEvePointSet * getCollisionMarkers(const TEveTrack *)
TEveTrack * setupTrack(const reco::Track &)
void voteMaxEtAndEnergy(float Et, float energy) const
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
FWViewEnergyScale * getEnergyScale() const
const edm::OwnVector< reco::PFBlockElement > & elements() const
std::vector< ScalableLines > m_clusters
TEveScalableStraightLineSet * buildRhoPhiClusterLineSet(const reco::PFCluster &, const FWViewContext *, float r)
double z() const
z coordinate of cluster centroid
const FWEventItem * item() const
double eta() const
pseudorapidity of cluster centroid
virtual void buildViewType(const reco::PFBlock &, unsigned int, TEveElement &, FWViewType::EType, const FWViewContext *)
virtual reco::TrackRef trackRef() const
virtual PFClusterRef clusterRef() const
TEveScalableStraightLineSet * buildRhoZClusterLineSet(const reco::PFCluster &, const FWViewContext *, float caloTransAngle, float r, float z)
double x() const
x coordinate of cluster centroid
void updateScale(const FWViewContext *vc, const fireworks::Context &)
TEveStraightLineSet * setupLegoTrack(const reco::Track &)
float calculateEt(const TEveVector ¢re, float e)
double energy() const
cluster energy
virtual void scaleProduct(TEveElementList *parent, FWViewType::EType, const FWViewContext *vc)
virtual bool trackType(TrackType trType) const
double y() const
y coordinate of cluster centroid
double phi() const
azimuthal angle of cluster centroid