1 #ifndef RecoEgamma_EgammaPhotonProducers_TrackerOnlyConversionProducer_h
2 #define RecoEgamma_EgammaPhotonProducers_TrackerOnlyConversionProducer_h
75 const std::multimap<double, reco::CaloClusterPtr>& basicClusterPtrs,
115 bool getMatchedBC(
const std::multimap<double, reco::CaloClusterPtr>& bcMap,
edm::InputTag bcBarrelCollection_
bool checkPhi(const edm::RefToBase< reco::Track > &tk_l, const edm::RefToBase< reco::Track > &tk_r, const TrackerGeometry *trackerGeom, const MagneticField *magField, const reco::Vertex &the_vertex)
ConversionVertexFinder * theVertexFinder_
std::vector< Conversion > ConversionCollection
collectin of Conversion objects
bool trackQualityFilter(const edm::RefToBase< reco::Track > &ref, bool isLeft)
std::vector< ConversionTrack > ConversionTrackCollection
collection of ConversionTracks
std::string vertexProducer_
LocalPoint toLocal(const GlobalPoint &gp) const
edm::InputTag bcEndcapCollection_
unsigned int maxNumOfTrackInPU_
virtual void produce(edm::Event &, const edm::EventSetup &)
TrackerOnlyConversionProducer(const edm::ParameterSet &)
std::vector< Point > PointCollection
bool getTrackImpactPosition(const reco::Track *tk_ref, const TrackerGeometry *trackerGeom, const MagneticField *magField, math::XYZPoint &ew)
bool trackD0Cut(const edm::RefToBase< reco::Track > &ref)
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double > > XYZPointD
point in space with cartesian internal representation
const TransientTrackBuilder * thettbuilder_
virtual const GeomDet * idToDet(DetId) const =0
XYZPointD XYZPoint
point in space with cartesian internal representation
bool getMatchedBC(const std::multimap< double, reco::CaloClusterPtr > &bcMap, const math::XYZPoint &trackImpactPosition, reco::CaloClusterPtr &closestBC)
bool preselectTrackPair(const reco::TransientTrack &ttk_l, const reco::TransientTrack &ttk_r, double &appDist)
std::string ConvertedPhotonCollection_
LocalVector toLocal(const reco::Track::Vector &v, const Surface &s)
~TrackerOnlyConversionProducer()
bool checkTrackPair(const std::pair< edm::RefToBase< reco::Track >, reco::CaloClusterPtr > &ll, const std::pair< edm::RefToBase< reco::Track >, reco::CaloClusterPtr > &rr)
const GeomDet * recHitDet(const TrackingRecHit &hit, const TrackingGeometry *geom)
const BoundPlane & recHitSurface(const TrackingRecHit &hit, const TrackingGeometry *geom)
DetId geographicalId() const
bool checkVertex(const reco::TransientTrack &ttk_l, const reco::TransientTrack &ttk_r, const MagneticField *magField, reco::Vertex &the_vertex)
void buildCollection(edm::Event &iEvent, const edm::EventSetup &iSetup, const reco::ConversionTrackCollection &allTracks, const std::multimap< double, reco::CaloClusterPtr > &basicClusterPtrs, const reco::Vertex &the_pvtx, reco::ConversionCollection &outputConvPhotonCollection)
math::XYZVector Vector
spatial vector
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
Global3DVector GlobalVector