CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ConvertedPhotonProducer.h
Go to the documentation of this file.
1 #ifndef RecoEgamma_EgammaPhotonProducers_ConvertedPhotonProducer_h
2 #define RecoEgamma_EgammaPhotonProducers_ConvertedPhotonProducer_h
3 
34 
39 
40  public:
41 
44 
45  virtual void beginRun (edm::Run& r, edm::EventSetup const & es);
46  virtual void endRun (edm::Run& r, edm::EventSetup const & es);
47  virtual void produce(edm::Event& evt, const edm::EventSetup& es);
48  virtual void endJob();
49 
50 
51  private:
52 
53 
54 
55 
56 
57 
58  void buildCollections ( edm::EventSetup const & es,
59  const edm::Handle<edm::View<reco::CaloCluster> > & scHandle,
60  const edm::Handle<edm::View<reco::CaloCluster> > & bcHandle,
61  const edm::Handle<CaloTowerCollection> & hcalTowersHandle,
62  const edm::Handle<reco::TrackCollection> & trkHandle,
63  std::map<std::vector<reco::TransientTrack>, reco::CaloClusterPtr, CompareTwoTracksVectors>& allPairs,
64  reco::ConversionCollection & outputConvPhotonCollection);
67  reco::ConversionCollection & outputCollection);
68 
69  std::vector<reco::ConversionRef> solveAmbiguity( const edm::OrphanHandle<reco::ConversionCollection> & conversionHandle, reco::CaloClusterPtr& sc);
70 
71  float calculateMinApproachDistance ( const reco::TrackRef& track1, const reco::TrackRef& track2);
72  void getCircleCenter(const reco::TrackRef& tk, double r, double& x0, double& y0);
73 
74 
77 
78 
81 
82 
85 
92 
96 
100  int nEvt_;
101  std::string algoName_;
102 
103 
105  double maxHOverE_;
106  double minSCEt_;
109  double deltaCotCut_;
113 
114 
116  std::string likelihoodWeights_;
117 
119  return math::XYZPointF(val.x(),val.y(),val.z());
120  }
121 
123  return math::XYZVectorF(val.x(),val.y(),val.z());
124  }
125 
126 
127 
128 };
129 #endif
virtual void beginRun(edm::Run &r, edm::EventSetup const &es)
edm::ESHandle< CaloGeometry > theCaloGeom_
ConversionTrackPairFinder * theTrackPairFinder_
edm::ESHandle< TransientTrackBuilder > theTransientTrackBuilder_
ConversionVertexFinder * theVertexFinder_
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
Definition: Point3D.h:11
std::vector< Conversion > ConversionCollection
collectin of Conversion objects
Definition: ConversionFwd.h:9
dictionary map
Definition: Association.py:196
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_
virtual void endRun(edm::Run &r, edm::EventSetup const &es)
float calculateMinApproachDistance(const reco::TrackRef &track1, const reco::TrackRef &track2)
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
Definition: Vector3D.h:18
std::string inOutTrackSCAssociationCollection_
edm::ESHandle< MagneticField > theMF_
ConversionTrackEcalImpactPoint * theEcalImpactPositionFinder_
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:13
ConvertedPhotonProducer(const edm::ParameterSet &ps)
virtual void produce(edm::Event &evt, const edm::EventSetup &es)
std::vector< reco::ConversionRef > solveAmbiguity(const edm::OrphanHandle< reco::ConversionCollection > &conversionHandle, reco::CaloClusterPtr &sc)
math::XYZPointF toFConverterP(const math::XYZPoint &val)
ConversionLikelihoodCalculator * theLikelihoodCalc_
Definition: Run.h:33
void getCircleCenter(const reco::TrackRef &tk, double r, double &x0, double &y0)