Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:53

0001 #ifndef DataFormats_PatCandidates_Conversion_h
0002 #define DataFormats_PatCandidates_Conversion_h
0003 
0004 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
0005 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
0006 #include "DataFormats/EgammaCandidates/interface/GsfElectronCore.h"
0007 #include "DataFormats/EgammaCandidates/interface/GsfElectronCoreFwd.h"
0008 #include "DataFormats/GsfTrackReco/interface/GsfTrack.h"
0009 #include "DataFormats/PatCandidates/interface/Lepton.h"
0010 
0011 // Define typedefs for convenience
0012 namespace pat {
0013   class Conversion;
0014   typedef std::vector<Conversion> ConversionCollection;
0015   typedef edm::Ref<ConversionCollection> ConversionRef;
0016   typedef edm::RefVector<ConversionCollection> ConversionRefVector;
0017 }  // namespace pat
0018 
0019 //we use index to match with electron. However, can we do this with gsfTrack instead of index?
0020 namespace pat {
0021   class Conversion {
0022   public:
0023     Conversion() {}
0024     Conversion(int index);
0025     virtual ~Conversion() {}
0026 
0027     const double vtxProb() const { return vtxProb_; }
0028     void setVtxProb(double vtxProb);
0029     const double lxy() const { return lxy_; }
0030     void setLxy(double lxy);
0031     const int nHitsMax() const { return nHitsMax_; }
0032     void setNHitsMax(int nHitsMax);
0033     const int index() const { return index_; }
0034 
0035   private:
0036     double vtxProb_;
0037     double lxy_;
0038     int nHitsMax_;
0039 
0040     //electron index matched with conversion
0041     int index_;
0042   };
0043 }  // namespace pat
0044 
0045 #endif