File indexing completed on 2024-09-07 04:35:54
0001 #ifndef DataFormatsL1TCorrelator_TkTriplet_h
0002 #define DataFormatsL1TCorrelator_TkTriplet_h
0003
0004
0005
0006
0007
0008
0009
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 }
0054
0055 #endif