21 #include "TEveTrack.h" 22 #include "TEveCompound.h" 23 #include "TEveManager.h" 24 #include "TEveBrowser.h" 25 #include "TEveTrackPropagator.h" 46 TEveElement& oItemHolder,
64 TEveElementList* product,
72 event->getByLabel(coltag,
tpch);
78 event->getByLabel(
"xxx", simHitsTPAssoc);
81 std::cerr <<
" FWTrackingParticleProxyBuilderFullFramework::setItem() Can't get hits association list " 82 <<
e.what() << std::endl;
100 t.fP = TEveVector(iData.
px(), iData.
py(), iData.
pz());
101 t.fV = TEveVector(iData.
vx(), iData.
vy(), iData.
vz());
104 TEveTrack*
track =
new TEveTrack(&
t,
context().getTrackPropagator());
106 track->SetLineStyle(7);
113 TEvePointSet* pointSet =
new TEvePointSet;
119 float global[3] = {0.0, 0.0, 0.0};
120 float globalDir[3] = {0.0, 0.0, 0.0};
123 std::pair<TrackingParticleRef, TrackPSimHitRef> clusterTPpairWithDummyTP(tpr,
TrackPSimHitRef());
126 clusterTPpairWithDummyTP,
130 std::vector<const PSimHit*>
phits;
131 for (
auto ri =
range.first; ri !=
range.second; ++ri)
132 phits.push_back(ri->second.get());
147 geom->localToGlobal(phit->
detUnitId(), localDir, globalDir,
false);
148 pointSet->SetNextPoint(global[0], global[1], global[2]);
153 track->AddPathMark(TEvePathMark(TEvePathMark::kReference,
154 TEveVector(global[0], global[1], global[2]),
155 TEveVector(globalDir[0], globalDir[1], globalDir[2])));
162 "TrackingParticleWithPSimHits",
double pz() const
z coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
#define REGISTER_PROXYBUILDER_METHODS()
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
static const int kAllRPZBits
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
double vx() const
x coordinate of parent vertex position
unsigned int detUnitId() const
static bool simHitTPAssociationListGreater(SimHitTPPair i, SimHitTPPair j)
FWTrackingParticleProxyBuilderFullFramework(void)
static const int kAll3DBits
const fireworks::Context & context() const
std::vector< SimHitTPPair > SimHitTPAssociationList
TupleMultiplicity< TrackerTraits > const *__restrict__ TrackingRecHitSoAConstView< TrackerTraits > TrackerTraits::tindex_type *__restrict__ double *__restrict__ phits
edm::Handle< TrackingParticleCollection > tpch
const edm::EventBase * getEvent() const
const FWGeometry * getGeom() const
double vy() const
y coordinate of parent vertex position
Local3DPoint localPosition() const
const FWTrackingParticleProxyBuilderFullFramework & operator=(const FWTrackingParticleProxyBuilderFullFramework &)=delete
double px() const
x coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
double py() const
y coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
edm::Ref< edm::PSimHitContainer > TrackPSimHitRef
Monte Carlo truth information used for tracking validation.
LocalVector momentumAtEntry() const
The momentum of the track that produced the hit, at entry point.
~FWTrackingParticleProxyBuilderFullFramework(void) override
const FWEventItem * item() const
float charge() const
Electric charge. Note this is taken from the first SimTrack only.
const SimHitTPAssociationProducer::SimHitTPAssociationList * m_assocList
double vz() const
z coordinate of parent vertex position