CMS 3D CMS Logo

Conversion.h

Go to the documentation of this file.
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

Generated on Tue Jun 9 17:30:42 2009 for CMSSW by  doxygen 1.5.4