//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Implementation of class PndTpcRiemannHTCorrelator // see PndTpcRiemannHTCorrelator.hh for details // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM (original author) // // //----------------------------------------------------------- // Panda Headers ---------------------- // This Class' Header ------------------ #include "PndTpcRiemannHTCorrelator.h" // C/C++ Headers ---------------------- #include "TVector3.h" // Collaborating Class Headers -------- #include "PndTpcRiemannTrack.h" #include "PndTpcRiemannHit.h" #include "PndTpcCluster.h" #include "DebugLogger.h" // Class Member definitions ----------- PndTpcRiemannHTCorrelator::PndTpcRiemannHTCorrelator(double planecut, double proxcut, double szcut) : _planecut(planecut), _proxcut(proxcut), _szcut(szcut) {} bool PndTpcRiemannHTCorrelator::corr(PndTpcRiemannTrack* trk, PndTpcRiemannHit* rhit, double& matchQuality) { // check if reasonably near the trk const PndTpcRiemannHit* trkHit=trk->getLastHit(); TVector3 dis=rhit->x()-trkHit->x(); double l=dis.Mag(); DebugLogger::Instance()->Histo("riem_l",l,0,1,100); if(l>_proxcut){ DebugLogger::Instance()->Histo("riemanncuts",10,0,20,20); return false; } double d=trk->dist(rhit); DebugLogger::Instance()->Histo("riem_d",d,-1E-3,1E-3,200); if(TMath::Abs(d)>_planecut){ DebugLogger::Instance()->Histo("riemanncuts",11,0,20,20); return false; } double l2=trk->szDist(rhit); DebugLogger::Instance()->Histo("riem_l2",l2,-6,6,100); if(TMath::Abs(l2)>_szcut){ DebugLogger::Instance()->Histo("riemanncuts",12,0,20,20); return false; } matchQuality=TMath::Abs(d); return true; }