1 #ifndef RecoEgamma_EgammaPhotonProducers_ConversionProducer_h
2 #define RecoEgamma_EgammaPhotonProducers_ConversionProducer_h
80 std::multimap<double, reco::CaloClusterPtr>& basicClusterPtrs,
81 std::multimap<double, reco::CaloClusterPtr>& superClusterPtrs);
138 const std::multimap<double, reco::CaloClusterPtr>& superClusterPtrs,
139 const std::multimap<double, reco::CaloClusterPtr>& basicClusterPtrs,
174 bool getMatchedBC(
const std::multimap<double, reco::CaloClusterPtr>& bcMap,
179 bool matchingSC(
const std::multimap<double, reco::CaloClusterPtr>& scMap,
unsigned int maxNumOfTrackInPU_
ConversionVertexFinder * theVertexFinder_
edm::InputTag scBarrelProducer_
bool getTrackImpactPosition(const reco::Track *tk_ref, const TrackerGeometry *trackerGeom, const MagneticField *magField, math::XYZPointF &ew)
static HepMC::IO_HEPEVT conv
edm::InputTag bcBarrelCollection_
const TransientTrackBuilder * thettbuilder_
void buildCollection(edm::Event &iEvent, const edm::EventSetup &iSetup, const std::multimap< float, edm::Ptr< reco::ConversionTrack > > &allTracks, const std::multimap< double, reco::CaloClusterPtr > &superClusterPtrs, const std::multimap< double, reco::CaloClusterPtr > &basicClusterPtrs, const reco::Vertex &the_pvtx, reco::ConversionCollection &outputConvPhotonCollection)
void buildSuperAndBasicClusterGeoMap(const edm::Event &, std::multimap< double, reco::CaloClusterPtr > &basicClusterPtrs, std::multimap< double, reco::CaloClusterPtr > &superClusterPtrs)
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
LocalVector toLocal(const reco::Track::Vector &v, const Surface &s)
std::vector< Conversion > ConversionCollection
collectin of Conversion objects
edm::InputTag scEndcapProducer_
bool matchingSC(const std::multimap< double, reco::CaloClusterPtr > &scMap, reco::Conversion &conv, reco::CaloClusterPtrVector &mSC)
math::XYZVectorF toFConverterV(const math::XYZVector &val)
LocalPoint toLocal(const GlobalPoint &gp) const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
bool getMatchedBC(const std::multimap< double, reco::CaloClusterPtr > &bcMap, const math::XYZPointF &trackImpactPosition, reco::CaloClusterPtr &closestBC)
bool checkTrackPair(const std::pair< edm::RefToBase< reco::Track >, reco::CaloClusterPtr > &ll, const std::pair< edm::RefToBase< reco::Track >, reco::CaloClusterPtr > &rr)
bool trackQualityFilter(const edm::RefToBase< reco::Track > &ref, bool isLeft)
virtual const GeomDet * idToDet(DetId) const =0
const GeomDet * recHitDet(const TrackingRecHit &hit, const TrackingGeometry *geom)
double dPhicutForSCmatching_
XYZVectorD XYZVector
spatial vector with cartesian internal representation
bool trackD0Cut(const edm::RefToBase< reco::Track > &ref)
XYZPointD XYZPoint
point in space with cartesian internal representation
bool bypassPreselEcalEcal_
std::string ConvertedPhotonCollection_
const BoundPlane & recHitSurface(const TrackingRecHit &hit, const TrackingGeometry *geom)
std::string vertexProducer_
std::vector< Point > PointCollection
edm::InputTag bcEndcapCollection_
const BoundPlane & surface() const
The nominal surface of the GeomDet.
double etaTransformation(float EtaParticle, float Zvertex)
math::XYZPointF toFConverterP(const math::XYZPoint &val)
DetId geographicalId() const
virtual void produce(edm::Event &, const edm::EventSetup &)
bool preselectTrackPair(const reco::TransientTrack &ttk_l, const reco::TransientTrack &ttk_r, double &appDist)
math::XYZVector Vector
spatial vector
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)
double dEtacutForSCmatching_
Global3DVector GlobalVector
ConversionProducer(const edm::ParameterSet &)
bool checkVertex(const reco::TransientTrack &ttk_l, const reco::TransientTrack &ttk_r, const MagneticField *magField, reco::Vertex &the_vertex)