4 #ifndef __RecoHGCal_TICL_HGCDoublet_H__
5 #define __RecoHGCal_TICL_HGCDoublet_H__
21 const std::vector<reco::CaloCluster> *layerClusters,
29 innerX_((*layerClusters)[innerClusterId].
x()),
30 outerX_((*layerClusters)[outerClusterId].
x()),
31 innerY_((*layerClusters)[innerClusterId].
y()),
32 outerY_((*layerClusters)[outerClusterId].
y()),
33 innerZ_((*layerClusters)[innerClusterId].
z()),
34 outerZ_((*layerClusters)[outerClusterId].
z()),
65 const std::vector<int> &innerDoublets,
68 float minCosPointing = 1.,
80 bool debug =
false)
const;
86 const unsigned int outInHops,
87 const unsigned int maxOutInHops,
88 std::vector<std::pair<unsigned int, unsigned int> > &outInToVisit);
std::vector< unsigned int > HGCntuplet
int outerClusterId() const
std::vector< int > outerNeighbors_
int innerClusterId() const
const std::vector< reco::CaloCluster > * layerClusters_
int areAligned(double xi, double yi, double zi, double xo, double yo, double zo, float minCosTheta, float minCosPointing, const GlobalVector &refDir, bool debug=false) const
std::vector< int > innerNeighbors_
HGCDoublet(const int innerClusterId, const int outerClusterId, const int doubletId, const std::vector< reco::CaloCluster > *layerClusters, const int seedIndex)
const int outerClusterId_
void setVisited(bool visited)
void findNtuplets(std::vector< HGCDoublet > &allDoublets, HGCntuplet &tmpNtuplet, int seedIndex, const bool outInDFS, const unsigned int outInHops, const unsigned int maxOutInHops, std::vector< std::pair< unsigned int, unsigned int > > &outInToVisit)
void tagAsInnerNeighbor(unsigned int otherDoublet)
void tagAsOuterNeighbor(unsigned int otherDoublet)
static int position[264][3]
bool checkCompatibilityAndTag(std::vector< HGCDoublet > &allDoublets, const std::vector< int > &innerDoublets, const GlobalVector &refDir, float minCosTheta, float minCosPointing=1., bool debug=false)
const int innerClusterId_