4 #ifndef DataFormats_HGCalReco_Trackster_h 5 #define DataFormats_HGCalReco_Trackster_h 59 std::vector<std::array<unsigned int, 2> > &
edges() {
return edges_; }
90 for (
auto &
other : others) {
104 int original_index = 0;
105 for (
size_t i = 0;
i < pcadimension; ++
i) {
111 original_index = pcadimension -
i - 1;
119 original_index = pcadimension - 1;
148 inline const std::vector<std::array<unsigned int, 2> > &
edges()
const {
return edges_; }
217 std::vector<std::array<unsigned int, 2> >
edges_;
223 std::sort(std::begin(vtx_sorted), std::end(vtx_sorted));
224 for (
unsigned int iLC = 1; iLC < vtx_sorted.size(); ++iLC) {
225 if (vtx_sorted[iLC] == vtx_sorted[iLC - 1]) {
227 const auto lcIdx = vtx_sorted[iLC];
249 std::end(
other.vertex_multiplicity()),
void setSeed(edm::ProductID pid, int index)
void setRawPt(float value)
const float raw_pt() const
const float regressed_energy() const
void setTrackIdx(int index)
void setRegressedEnergy(float value)
const std::array< float, 3 > & sigmasPCA() const
const std::vector< unsigned int > & vertices() const
const Trackster::IterationIndex ticlIteration() const
const Vector & barycenter() const
std::vector< unsigned int > vertices_
void fillPCAVariables(Eigen::Vector3f const &eigenvalues, Eigen::Matrix3f const &eigenvectors, Eigen::Vector3f const &sigmas, Eigen::Vector3f const &sigmasEigen, size_t pcadimension, PCAOrdering order)
const std::vector< float > & vertex_multiplicity() const
void setRawEnergy(float value)
bool isHadronic(float th=0.5f) const
void addToRawEnergy(float value)
void setProbabilities(float *probs)
std::vector< std::array< unsigned int, 2 > > & edges()
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
std::array< Vector, 3 > eigenvectors_
std::array< float, 3 > sigmas_
const float timeError() const
T perp2() const
Squared magnitude of transverse component.
const float raw_em_energy() const
const std::array< Vector, 3 > & eigenvectors() const
const std::vector< std::array< unsigned int, 2 > > & edges() const
void mergeTracksters(const Trackster &other)
const float raw_energy() const
std::vector< std::array< unsigned int, 2 > > edges_
void operator+=(const Trackster &other)
const Vector & eigenvectors(int index) const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
const std::array< float, 3 > & sigmas() const
float id_probability(ParticleType type) const
const float id_probabilities(int index) const
std::vector< unsigned int > & vertices()
const unsigned int vertices(int index) const
const float boundaryTime() const
void setRawEmPt(float value)
std::vector< float > vertex_multiplicity_
const edm::ProductID & seedID() const
void mergeTracksters(const std::vector< Trackster > &others)
std::vector< float > & vertex_multiplicity()
std::array< float, 8 > id_probabilities_
void setRawEmEnergy(float value)
const int seedIndex() const
void addToRawEmEnergy(float value)
std::vector< Trackster > TracksterCollection
void setTimeAndError(float t, float tError)
const float vertex_multiplicity(int index) const
std::array< float, 3 > sigmasPCA_
void setIteration(const Trackster::IterationIndex i)
const float raw_em_pt() const
void setBoundaryTime(float t)
void setIdProbability(ParticleType type, float value)
std::array< float, 3 > eigenvalues_
const std::array< float, 8 > & id_probabilities() const
const std::array< float, 3 > & eigenvalues() const
void setBarycenter(Vector value)