Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DataFormatsL1TCorrelator_TkJet_h
0002 #define DataFormatsL1TCorrelator_TkJet_h
0003 
0004 // -*- C++ -*-
0005 //
0006 // Package:     L1Trigger
0007 // Class  :     TkJet
0008 //
0009 
0010 #include "DataFormats/L1Trigger/interface/L1Candidate.h"
0011 #include "DataFormats/Common/interface/Ref.h"
0012 
0013 #include "DataFormats/L1Trigger/interface/Jet.h"
0014 #include "DataFormats/L1TrackTrigger/interface/TTTypes.h"
0015 
0016 namespace l1t {
0017 
0018   class TkJet : public L1Candidate {
0019   public:
0020     typedef TTTrack<Ref_Phase2TrackerDigi_> L1TTTrackType;
0021     typedef std::vector<L1TTTrackType> L1TTTrackCollection;
0022 
0023     TkJet();
0024 
0025     TkJet(const LorentzVector& p4,
0026           const edm::Ref<JetBxCollection>& jetRef,
0027           const std::vector<edm::Ptr<L1TTTrackType> >& trkPtrs,
0028           float jetvtx = -999.);
0029     TkJet(const LorentzVector& p4,
0030           const std::vector<edm::Ptr<L1TTTrackType> >& trkPtrs,
0031           float jetvtx = -999.,
0032           unsigned int ntracks = 0,
0033           unsigned int tighttracks = 0,
0034           unsigned int displacedtracks = 0,
0035           unsigned int tightdisplacedtracks = 0,
0036           bool displacedTag = false);
0037 
0038     // ---------- const member functions ---------------------
0039 
0040     const edm::Ref<JetBxCollection>& jetRef() const { return jetRef_; }
0041 
0042     const std::vector<edm::Ptr<L1TTTrackType> >& trkPtrs() const { return trkPtrs_; }
0043 
0044     float jetVtx() const { return JetVtx_; }
0045     unsigned int ntracks() const { return ntracks_; }
0046     unsigned int nTighttracks() const { return tighttracks_; }
0047     unsigned int nDisptracks() const { return displacedtracks_; }
0048     unsigned int nTightDisptracks() const { return tightdisplacedtracks_; }
0049     bool isDisplaced() const { return displacedTag_; }
0050 
0051     // ---------- member functions ---------------------------
0052     void setJetVtx(float JetVtx) { JetVtx_ = JetVtx; }
0053 
0054     int bx() const;
0055 
0056   private:
0057     edm::Ref<JetBxCollection> jetRef_;
0058     std::vector<edm::Ptr<L1TTTrackType> > trkPtrs_;
0059     float JetVtx_;
0060     unsigned int ntracks_, tighttracks_, displacedtracks_, tightdisplacedtracks_;
0061     bool displacedTag_;
0062   };
0063 }  // namespace l1t
0064 
0065 #endif