37 if( elem1->
type() < elem2->
type() ) {
48 trackref->extrapolatedPoint( HCALEntrance );
50 trackref->extrapolatedPoint( HCALExit );
51 const double dHEta = ( tkAtHCALEx.
positionREP().Eta() -
55 if (
_useKDTree && hcalelem->isMultilinksValide() ) {
57 const double tracketa = tkAtHCALEnt.
positionREP().Eta();
58 const double trackphi = tkAtHCALEnt.
positionREP().Phi();
61 reco::PFMultilinksType::const_iterator mlit = multilinks.begin();
62 for (; mlit != multilinks.end(); ++mlit)
63 if ((mlit->first == trackphi) && (mlit->second == tracketa))
67 if (mlit != multilinks.end()){
70 <<
"Qu'est ce que c'est que ce gag ? "
71 << tkAtHCALEx.
position().R() <<
" is smaller than "
72 << tkAtHCALEnt.
position().R() <<
" !" << std::endl;
76 tracketa + 0.1 * dHEta,
77 trackphi + 0.1 * dHPhi);
const REPPoint & positionREP() const
trajectory position in (rho, eta, phi) base
std::vector< std::pair< double, double > > PFMultilinksType
Abstract This class is used by the KDTree Track / Ecal Cluster linker to store all found links...
static double computeDist(double eta1, double phi1, double eta2, double phi2, bool etaPhi=true)
computes a chisquare
ROOT::Math::PositionVector3D< ROOT::Math::CylindricalEta3D< Double32_t > > REPPoint
const math::XYZPoint & position() const
cartesian position (x, y, z)
double deltaPhi(double phi1, double phi2)
bool isValid() const
is this point valid ?
A PFTrack holds several trajectory points, which basically contain the position and momentum of a tra...
LayerType
Define the different layers where the track can be propagated.
static double testTrackAndClusterByRecHit(const reco::PFRecTrack &track, const reco::PFCluster &cluster, bool isBrem=false, bool debug=false)