21 #include "TEveTrack.h" 22 #include "TEveCompound.h" 23 #include "TEveManager.h" 24 #include "TEveBrowser.h" 25 #include "TEveTrackPropagator.h" 72 event->getByLabel(coltag,
tpch);
78 event->getByLabel(
"xxx", simHitsTPAssoc);
82 std::cerr <<
" FWTrackingParticleProxyBuilderFullFramework::setItem() Can't get hits association list " << e.what() << std::endl;
99 t.fP = TEveVector( iData.
px(), iData.
py(), iData.
pz() );
100 t.fV = TEveVector( iData.
vx(), iData.
vy(), iData.
vz() );
103 TEveTrack*
track =
new TEveTrack(&t,
context().getTrackPropagator());
105 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());
127 std::vector<const PSimHit*> phits;
128 for (
auto ri = range.first; ri != range.second; ++ri)
129 phits.push_back(ri->second.get());
131 std::sort(phits.begin(), phits.end(), [](
const PSimHit*
a,
const PSimHit*
b){
return a->
tof() <
b->tof(); });
132 for (
auto phi = phits.begin();
phi != phits.end(); ++
phi)
146 pointSet->SetNextPoint( global[0], global[1], global[2] );
151 track->AddPathMark( TEvePathMark( TEvePathMark::kReference, TEveVector( global[0], global[1], global[2] ),
152 TEveVector( globalDir[0], globalDir[1], globalDir[2] )));
const fireworks::Context & context() const
#define REGISTER_PROXYBUILDER_METHODS()
float tof() const
deprecated name for timeOfFlight()
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
static const int kAllRPZBits
static bool simHitTPAssociationListGreater(SimHitTPPair i, SimHitTPPair j)
LocalVector momentumAtEntry() const
The momentum of the track that produced the hit, at entry point.
FWTrackingParticleProxyBuilderFullFramework(void)
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
double py() const
y coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
const FWEventItem * item() const
static const int kAll3DBits
double pz() const
z coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
float charge() const
Electric charge. Note this is taken from the first SimTrack only.
Local3DPoint localPosition() const
double vy() const
y coordinate of parent vertex position
void localToGlobal(unsigned int id, const float *local, float *global, bool translatep=true) const
edm::Handle< TrackingParticleCollection > tpch
const edm::EventBase * getEvent() const
double vx() const
x coordinate of parent vertex position
const FWTrackingParticleProxyBuilderFullFramework & operator=(const FWTrackingParticleProxyBuilderFullFramework &)=delete
std::vector< SimHitTPPair > SimHitTPAssociationList
edm::Ref< edm::PSimHitContainer > TrackPSimHitRef
Monte Carlo truth information used for tracking validation.
double px() const
x coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
~FWTrackingParticleProxyBuilderFullFramework(void) override
const FWGeometry * getGeom() const
unsigned int detUnitId() const
const SimHitTPAssociationProducer::SimHitTPAssociationList * m_assocList