11 _useKDTree(conf.getParameter<bool>(
"useKDTree")),
12 _debug(conf.getUntrackedParameter<bool>(
"debug",
false)) {}
34 if( elem1->
type() < elem2->
type() ) {
51 std::cout <<
" Here a link has been established"
52 <<
" between a GSF track an Ecal with dist "
55 if( _debug )
std::cout <<
" No link found " << std::endl;
Abstract base class for a PFBlock element (track, cluster...)
reconstructed track used as an input to particle flow
const PFClusterRef & clusterRef() const
GSFAndECALLinker(const edm::ParameterSet &conf)
const GsfPFRecTrack & GsftrackPF() const
const reco::PFTrajectoryPoint & extrapolatedPoint(unsigned layerid) const
bool isValid() const
is this point valid ?
double testLink(const reco::PFBlockElement *, const reco::PFBlockElement *) const override
#define DEFINE_EDM_PLUGIN(factory, type, name)
A PFTrack holds several trajectory points, which basically contain the position and momentum of a tra...
volatile std::atomic< bool > shutdown_flag false
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)