CMS 3D CMS Logo

ConvertedTTTrack.h
Go to the documentation of this file.
1 #ifndef PHASE2GMT_CONEVRTEDTTRACK
2 #define PHASE2GMT_CONEVRTEDTTRACK
5 
6 namespace Phase2L1GMT {
7 
9  public:
11  const int& curvature,
12  const uint& abseta,
13  const uint& pt,
14  const int& eta,
15  const int& phi,
16  const int& z0,
17  const int& d0,
18  const int& quality,
19  const ap_uint<96>& word)
20  : charge_(charge),
22  abseta_(abseta),
23  pt_(pt),
24  eta_(eta),
25  phi_(phi),
26  z0_(z0),
27  d0_(d0),
29  word_(word) {}
30 
31  const uint charge() const { return charge_; }
32 
33  const int curvature() const { return curvature_; }
34  const uint abseta() const { return abseta_; }
35 
36  const uint pt() const { return pt_; }
37 
38  const int eta() const { return eta_; }
39  const int phi() const { return phi_; }
40 
41  void setPhi(int phi) { phi_ = phi; }
42 
43  const int z0() const { return z0_; }
44  const int d0() const { return d0_; }
45  const int quality() const { return quality_; }
46  const float offline_pt() const { return offline_pt_; }
47  const float offline_eta() const { return offline_eta_; }
48  const float offline_phi() const { return offline_phi_; }
49 
50  const ap_uint<96>& word() const { return word_; }
51  void setOfflineQuantities(float pt, float eta, float phi) {
52  offline_pt_ = pt;
53  offline_eta_ = eta;
54  offline_phi_ = phi;
55  }
56 
57  void print() const {
58  LogDebug("ConvertedTTTrack") << "converted track : charge=" << charge_ << " curvature=" << curvature_
59  << " pt=" << offline_pt_ << "," << pt_ << " eta=" << offline_eta_ << "," << eta_
60  << " phi=" << offline_phi_ << "," << phi_ << " z0=" << z0_ << " d0=" << d0_
61  << " quality=" << quality_;
62  }
63 
64  void printWord() const {
65  LogDebug("ConvertedTTTrack") << "converted track : word=" << std::setfill('0') << std::setw(8) << std::hex
66  << (long long unsigned int)((word_ >> 64).to_uint64()) << std::setfill('0')
67  << std::setw(16) << std::hex
68  << (long long unsigned int)((word_ & 0xffffffffffffffff).to_uint64());
69  }
70 
72 
74 
75  private:
80  int eta_;
81  int phi_;
82  int z0_;
83  int d0_;
85  float offline_pt_;
86  float offline_eta_;
87  float offline_phi_;
88  ap_uint<96> word_;
89 
91  };
92 } // namespace Phase2L1GMT
93 
94 #endif
const float offline_phi() const
edm::Ptr< TTTrack< Ref_Phase2TrackerDigi_ > > trkPtr_
void setTrkPtr(const edm::Ptr< TTTrack< Ref_Phase2TrackerDigi_ > > &trkPtr)
uint64_t word
ConvertedTTTrack(const uint &charge, const int &curvature, const uint &abseta, const uint &pt, const int &eta, const int &phi, const int &z0, const int &d0, const int &quality, const ap_uint< 96 > &word)
const edm::Ptr< TTTrack< Ref_Phase2TrackerDigi_ > > trkPtr() const
const float offline_eta() const
Class to store the L1 Track Trigger tracks.
Definition: TTTrack.h:29
void setOfflineQuantities(float pt, float eta, float phi)
const float offline_pt() const
const ap_uint< 96 > & word() const
#define LogDebug(id)