21 #include "TEveTrack.h" 22 #include "TEveCompound.h" 23 #include "TEveManager.h" 24 #include "TEveBrowser.h" 25 #include "TEveTrackPropagator.h" 70 event->getByLabel(coltag,
tpch);
76 event->getByLabel(
"xxx", simHitsTPAssoc);
80 std::cerr <<
" FWTrackingParticleProxyBuilderFullFramework::setItem() Can't get hits association list " << e.what() << std::endl;
97 t.fP = TEveVector( iData.
px(), iData.
py(), iData.
pz() );
98 t.fV = TEveVector( iData.
vx(), iData.
vy(), iData.
vz() );
101 TEveTrack*
track =
new TEveTrack(&t,
context().getTrackPropagator());
103 track->SetLineStyle( 7 );
111 TEvePointSet* pointSet =
new TEvePointSet;
117 float global[3] = { 0.0, 0.0, 0.0 };
118 float globalDir[3] = { 0.0, 0.0, 0.0 };
121 std::pair<TrackingParticleRef, TrackPSimHitRef> clusterTPpairWithDummyTP(tpr,
TrackPSimHitRef());
125 std::vector<const PSimHit*> phits;
126 for (
auto ri = range.first; ri != range.second; ++ri)
127 phits.push_back(ri->second.get());
129 std::sort(phits.begin(), phits.end(), [](
const PSimHit*
a,
const PSimHit*
b){
return a->
tof() <
b->tof(); });
130 for (
auto phi = phits.begin();
phi != phits.end(); ++
phi)
144 pointSet->SetNextPoint( global[0], global[1], global[2] );
149 track->AddPathMark( TEvePathMark( TEvePathMark::kReference, TEveVector( global[0], global[1], global[2] ),
150 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