4 #include <CLHEP/Units/SystemOfUnits.h> 30 const double invgev = 1.0 / CLHEP::GeV;
35 int iv =
trk->ivert();
36 int ig =
trk->igenpart();
45 t.setCrossedBoundaryVars(
46 trk->crossedBoundary(),
trk->getIDAtBoundary(),
trk->getPositionAtBoundary(),
trk->getMomentumAtBoundary());
49 std::stable_sort(
c.begin(),
c.end(),
IdSort());
53 const double invcm = 1.0 / CLHEP::cm;
57 auto pos =
vtx->vertexPosition();
60 int iv =
vtx->parentIndex();
65 v.setProcessType((
unsigned int)
vtx->processType());
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
std::vector< TmpSimTrack * > g4tracks_
std::vector< TmpSimVertex * > g4vertices_
void load(edm::SimTrackContainer &) const
bool operator()(const SimTrack &a, const SimTrack &b)
U second(std::pair< T, U > const &p)
static const float invgev
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > XYZVectorD
spatial vector with cartesian internal representation
std::vector< SimVertex > SimVertexContainer
std::vector< SimTrack > SimTrackContainer