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
const FWTrackingParticleProxyBuilderFullFramework & operator=(const FWTrackingParticleProxyBuilderFullFramework &)
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
virtual ~FWTrackingParticleProxyBuilderFullFramework(void)
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
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
const edm::EventBase * getEvent() const
double vx() const
x coordinate of parent vertex position
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. ...
volatile std::atomic< bool > shutdown_flag false
const FWGeometry * getGeom() const
unsigned int detUnitId() const
const SimHitTPAssociationProducer::SimHitTPAssociationList * m_assocList