1 #ifndef RecoEgamma_EgammaPhotonProducers_ConvertedPhotonProducer_h
2 #define RecoEgamma_EgammaPhotonProducers_ConvertedPhotonProducer_h
virtual void beginRun(edm::Run &r, edm::EventSetup const &es)
edm::ESHandle< CaloGeometry > theCaloGeom_
ConversionTrackPairFinder * theTrackPairFinder_
edm::ESHandle< TransientTrackBuilder > theTransientTrackBuilder_
ConversionVertexFinder * theVertexFinder_
std::string CleanedConvertedPhotonCollection_
edm::InputTag bcBarrelCollection_
void buildCollections(edm::EventSetup const &es, const edm::Handle< edm::View< reco::CaloCluster > > &scHandle, const edm::Handle< edm::View< reco::CaloCluster > > &bcHandle, const edm::Handle< CaloTowerCollection > &hcalTowersHandle, const edm::Handle< reco::TrackCollection > &trkHandle, std::map< std::vector< reco::TransientTrack >, reco::CaloClusterPtr, CompareTwoTracksVectors > &allPairs, reco::ConversionCollection &outputConvPhotonCollection)
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
std::vector< Conversion > ConversionCollection
collectin of Conversion objects
double minApproachDisCut_
math::XYZVectorF toFConverterV(const math::XYZVector &val)
void cleanCollections(const edm::Handle< edm::View< reco::CaloCluster > > &scHandle, const edm::OrphanHandle< reco::ConversionCollection > &conversionHandle, reco::ConversionCollection &outputCollection)
std::string outInTrackSCAssociationCollection_
std::string conversionIOTrackProducer_
virtual void endRun(edm::Run &r, edm::EventSetup const &es)
double dRForConversionRecovery_
float calculateMinApproachDistance(const reco::TrackRef &track1, const reco::TrackRef &track2)
edm::InputTag scHybridBarrelProducer_
std::string likelihoodWeights_
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
std::string conversionOITrackProducer_
std::string ConvertedPhotonCollection_
std::string inOutTrackSCAssociationCollection_
edm::ESHandle< MagneticField > theMF_
ConversionTrackEcalImpactPoint * theEcalImpactPositionFinder_
XYZVectorD XYZVector
spatial vector with cartesian internal representation
XYZPointD XYZPoint
point in space with cartesian internal representation
ConvertedPhotonProducer(const edm::ParameterSet &ps)
virtual void produce(edm::Event &evt, const edm::EventSetup &es)
~ConvertedPhotonProducer()
std::vector< reco::ConversionRef > solveAmbiguity(const edm::OrphanHandle< reco::ConversionCollection > &conversionHandle, reco::CaloClusterPtr &sc)
math::XYZPointF toFConverterP(const math::XYZPoint &val)
edm::InputTag hcalTowers_
edm::InputTag scIslandEndcapProducer_
ConversionLikelihoodCalculator * theLikelihoodCalc_
edm::InputTag bcEndcapCollection_
bool recoverOneTrackCase_
void getCircleCenter(const reco::TrackRef &tk, double r, double &x0, double &y0)