Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:53:52

0001 #ifndef DataFormatsL1TCorrelator_TkElectron_h
0002 #define DataFormatsL1TCorrelator_TkElectron_h
0003 
0004 // -*- C++ -*-
0005 //
0006 // Package:     L1Trigger
0007 // Class  :     TkEm
0008 //
0009 
0010 #include "DataFormats/Common/interface/Ref.h"
0011 #include "DataFormats/Common/interface/Ptr.h"
0012 
0013 #include "DataFormats/L1Trigger/interface/EGamma.h"
0014 
0015 #include "DataFormats/L1TCorrelator/interface/TkEm.h"
0016 #include "DataFormats/L1TCorrelator/interface/TkEmFwd.h"
0017 
0018 #include "DataFormats/L1TrackTrigger/interface/TTTypes.h"
0019 
0020 #include <vector>
0021 
0022 namespace l1t {
0023 
0024   class TkElectron : public TkEm {
0025   public:
0026     typedef TTTrack<Ref_Phase2TrackerDigi_> L1TTTrackType;
0027     typedef std::vector<L1TTTrackType> L1TTTrackCollection;
0028 
0029     TkElectron();
0030 
0031     TkElectron(const LorentzVector& p4,
0032                const edm::Ref<EGammaBxCollection>& egRef,
0033                const edm::Ptr<L1TTTrackType>& trkPtr,
0034                float tkisol = -999.);
0035 
0036     // ---------- const member functions ---------------------
0037 
0038     const edm::Ptr<L1TTTrackType>& trkPtr() const { return trkPtr_; }
0039 
0040     float trkzVtx() const { return trkzVtx_; }
0041     double trackCurvature() const { return trackCurvature_; }
0042 
0043     // ---------- member functions ---------------------------
0044 
0045     void setTrkzVtx(float TrkzVtx) { trkzVtx_ = TrkzVtx; }
0046     void setTrackCurvature(double trackCurvature) { trackCurvature_ = trackCurvature; }
0047 
0048   private:
0049     edm::Ptr<L1TTTrackType> trkPtr_;
0050     float trkzVtx_;
0051     double trackCurvature_;
0052   };
0053 }  // namespace l1t
0054 #endif