00001 #ifndef EgammaCandidates_Conversion_h 00002 #define EgammaCandidates_Conversion_h 00003 00013 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00014 #include "DataFormats/GeometryVector/interface/GlobalVector.h" 00015 #include "DataFormats/GeometryVector/interface/GlobalPoint.h" 00016 #include "DataFormats/VertexReco/interface/Vertex.h" 00017 #include "DataFormats/CaloRecHit/interface/CaloCluster.h" 00018 #include "DataFormats/CaloRecHit/interface/CaloClusterFwd.h" 00019 00020 00021 namespace reco { 00022 class Conversion { 00023 public: 00024 00025 // Default constructor 00026 Conversion() {} 00027 00028 Conversion( const reco::CaloClusterPtrVector clu, 00029 const std::vector<reco::TrackRef> tr, 00030 const std::vector<math::XYZPoint> trackPositionAtEcal , 00031 const reco::Vertex & convVtx, 00032 const std::vector<reco::CaloClusterPtr> & matchingBC); 00033 00034 00035 00036 00038 virtual ~Conversion(); 00040 Conversion * clone() const; 00042 reco::CaloClusterPtrVector caloCluster() const ; 00044 std::vector<reco::TrackRef> tracks() const ; 00046 const reco::Vertex & conversionVertex() const { return theConversionVertex_ ; } 00048 const std::vector<math::XYZPoint> & ecalImpactPosition() const {return thePositionAtEcal_;} 00049 // pair of BC matching a posteriori the tracks 00050 const std::vector<reco::CaloClusterPtr>& bcMatchingWithTracks() const { return theMatchingBCs_;} 00052 bool isConverted() const; 00054 unsigned int nTracks() const {return tracks().size(); } 00056 double pairInvariantMass() const; 00058 double pairCotThetaSeparation() const; 00060 GlobalVector pairMomentum() const; 00063 double EoverP() const; 00065 double zOfPrimaryVertexFromTracks() const; 00066 00067 00068 00069 00070 private: 00071 00073 reco::CaloClusterPtrVector caloCluster_; 00075 std::vector<reco::TrackRef> tracks_; 00077 std::vector<math::XYZPoint> thePositionAtEcal_; 00079 reco::Vertex theConversionVertex_; 00081 std::vector<reco::CaloClusterPtr> theMatchingBCs_; 00082 00083 00084 00085 }; 00086 00087 } 00088 00089 #endif