27 #include "TEvePointSet.h" 28 #include "TMatrixDEigen.h" 29 #include "TMatrixDSym.h" 30 #include "TDecompSVD.h" 32 #include "TEveTrans.h" 33 #include "TEveTrack.h" 34 #include "TEveTrackPropagator.h" 35 #include "TEveStraightLineSet.h" 36 #include "TEveBoxSet.h" 37 #include "TGeoSphere.h" 38 #include "TEveGeoNode.h" 39 #include "TEveVSDStructs.h" 82 TEveGeoManagerHolder gmgr(TEveGeoShape::GetGeoMangeur());
83 TEvePointSet* pointSet =
new TEvePointSet();
84 pointSet->SetNextPoint( v.
x(), v.
y(), v.
z());
89 if (
item()->getConfig()->value<bool>(
"Draw Ellipse"))
94 eveEllipsoid->
RefPos().Set(v.
x(),v.
y(),v.
z());
106 double ellipseScale = 1.;
110 eveEllipsoid->
SetScale(ellipseScale);
113 TMatrixDEigen eig(m);
114 TVectorD vv ( eig.GetEigenValuesRe());
117 eveEllipsoid->SetLineWidth(2);
119 eveEllipsoid->SetMainTransparency(
TMath::Min(100, 80 +
item()->defaultDisplayProperties().transparency() / 5));
126 eveEllipsoid->SetMainColor(color +
context().colorManager()->offsetOfLimitedColors());
130 if (
item()->getConfig()->value<bool>(
"Draw Tracks"))
136 if (w < 0.5)
continue;
141 t.fV = TEveVector(track.
vx(), track.
vy(), track.
vz());
142 t.fP = TEveVector(track.
px(), track.
py(), track.
pz());
144 TEveTrack* trk =
new TEveTrack(&t,
context().getTrackPropagator());
145 trk->SetMainColor(
item()->defaultDisplayProperties().
color());
150 if (
item()->getConfig()->value<bool>(
"Draw Pseudo Track"))
154 t.fV = TEveVector(v.
x(),v.
y(),v.
z());
155 t.fP = TEveVector(-v.
p4().px(), -v.
p4().py(), -v.
p4().pz());
157 TEveTrack* trk =
new TEveTrack(&t,
context().getTrackPropagator());
158 trk->SetLineStyle(7);
170 if(cIdx >= 0 &&
int(iIndex) ==
int(cIdx)) {
171 fwLog(
fwlog::kInfo ) <<
"FWVertexProxyBuilder set event center " << Form (
"idx [%d], (%f %f %f) \n", cIdx, v.
x(), v.
y(), v.
z());
181 TEveElement* el = iCompound->FindChild(
"Ellipsoid");
183 el->SetMainColor(
item()->getConfig()->value<long>(
"Ellipse Color Index") +
context().colorManager()->offsetOfLimitedColors());
const fireworks::Context & context() const
FWProxyBuilderConfiguration * getConfig() const
#define REGISTER_PROXYBUILDER_METHODS()
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
static const int kAllRPZBits
trackRef_iterator tracks_end() const
last iterator over tracks
double y() const
y coordinate
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
math::Error< dimension >::type Error
covariance error matrix (3x3)
void localModelChanges(const FWModelId &iId, TEveElement *iCompound, FWViewType::EType viewType, const FWViewContext *vc) override
double px() const
x coordinate of momentum vector
const FWEventItem * item() const
const FWVertexProxyBuilder & operator=(const FWVertexProxyBuilder &)=delete
virtual void setItem(const FWEventItem *iItem)
double z() const
z coordinate
float trackWeight(const TREF &r) const
returns the weight with which a Track has contributed to the vertex-fit.
static Context * getInstance()
double pz() const
z coordinate of momentum vector
FWGenericParameter< T > * assertParam(const std::string &name, T def)
void setEventCenter(float, float, float)
void setItem(const FWEventItem *iItem) override
double vz() const
z coordinate of the reference point on track
double x() const
x coordinate
TEveVector & RefExtent3D()
math::XYZTLorentzVectorD p4(float mass=0.13957018, float minWeight=0.5) const
Returns the four momentum of the sum of the tracks, assuming the given mass for the decay products...
Error error() const
return SMatrix
CmsShowCommon * commonPrefs() const
double vy() const
y coordinate of the reference point on track
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
T value(const std::string &name)
int charge() const
track electric charge
trackRef_iterator tracks_begin() const
first iterator over tracks
void increaseComponentTransparency(unsigned int index, TEveElement *holder, const std::string &name, Char_t transpOffset)
double py() const
y coordinate of momentum vector
double vx() const
x coordinate of the reference point on track
~FWVertexProxyBuilder() override