Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:35:54

0001 #ifndef DataFormatsL1TCorrelator_TkTriplet_h
0002 #define DataFormatsL1TCorrelator_TkTriplet_h
0003 
0004 // Original author: G Karathanasis,
0005 //                    georgios.karathanasis@cern.ch, CU Boulder
0006 // -*- C++ -*-
0007 // Package:     L1Trigger
0008 // Class  :     TkTriplet
0009 // Description: Class to store the output of track-triplet producer, which used by L1T to create X->3h candidates (like W->3pi).
0010 
0011 #include "DataFormats/L1Trigger/interface/L1Candidate.h"
0012 #include "DataFormats/Common/interface/Ref.h"
0013 
0014 #include "DataFormats/L1TrackTrigger/interface/TTTypes.h"
0015 #include <vector>
0016 
0017 namespace l1t {
0018 
0019   class TkTriplet : public L1Candidate {
0020   public:
0021     typedef TTTrack<Ref_Phase2TrackerDigi_> L1TTTrackType;
0022     typedef std::vector<L1TTTrackType> L1TTTrackCollection;
0023 
0024     TkTriplet();
0025 
0026     TkTriplet(const LorentzVector& p4, int charge);
0027     TkTriplet(const LorentzVector& p4,
0028               int charge,
0029               double pair_mass_max,
0030               double pair_mass_min,
0031               double pair_dz_max,
0032               double pair_dz_min,
0033               std::vector<edm::Ptr<L1TTTrackType>> trkPtrList);
0034 
0035     ~TkTriplet() override {}
0036 
0037     int getTripletCharge() const { return charge_; }
0038     double getPairMassMax() const { return pair_mass_max_; }
0039     double getPairMassMin() const { return pair_mass_min_; }
0040     double getPairDzMax() const { return pair_dz_max_; }
0041     double getPairDzMin() const { return pair_dz_min_; }
0042     const edm::Ptr<L1TTTrackType>& trkPtr(size_t i) const { return trkPtrList_.at(i); }
0043     int bx() const;
0044 
0045   private:
0046     int charge_;
0047     double pair_mass_max_;
0048     double pair_mass_min_;
0049     double pair_dz_max_;
0050     double pair_dz_min_;
0051     std::vector<edm::Ptr<L1TTTrackType>> trkPtrList_;
0052   };
0053 }  // namespace l1t
0054 
0055 #endif