CMS 3D CMS Logo

ConvertedTTTrack.h
Go to the documentation of this file.
1 #ifndef PHASE2GMT_CONEVRTEDTTRACK
2 #define PHASE2GMT_CONEVRTEDTTRACK
6 
7 namespace Phase2L1GMT {
8 
10  public:
12  const int& curvature,
13  const uint& abseta,
14  const uint& pt,
15  const int& eta,
16  const int& phi,
17  const int& z0,
18  const int& d0,
19  const int& quality,
20  const ap_uint<96>& word)
21  : charge_(charge),
23  abseta_(abseta),
24  pt_(pt),
25  eta_(eta),
26  phi_(phi),
27  z0_(z0),
28  d0_(d0),
30  word_(word) {}
31 
32  const uint charge() const { return charge_; }
33 
34  const int curvature() const { return curvature_; }
35  const uint abseta() const { return abseta_; }
36 
37  const uint pt() const { return pt_; }
38 
39  const int eta() const { return eta_; }
40  const int phi() const { return phi_; }
41 
42  void setPhi(int phi) { phi_ = phi; }
43 
44  const int z0() const { return z0_; }
45  const int d0() const { return d0_; }
46  const int quality() const { return quality_; }
47  const float offline_pt() const { return offline_pt_; }
48  const float offline_eta() const { return offline_eta_; }
49  const float offline_phi() const { return offline_phi_; }
50 
51  const ap_uint<96>& word() const { return word_; }
52  void setOfflineQuantities(float pt, float eta, float phi) {
53  offline_pt_ = pt;
54  offline_eta_ = eta;
55  offline_phi_ = phi;
56  }
57 
58  void print() const {
59  LogDebug("ConvertedTTTrack") << "converted track : charge=" << charge_ << " curvature=" << curvature_
60  << " pt=" << offline_pt_ << "," << pt_ << " eta=" << offline_eta_ << "," << eta_
61  << " phi=" << offline_phi_ << "," << phi_ << " z0=" << z0_ << " d0=" << d0_
62  << " quality=" << quality_;
63  }
64 
65  void printWord() const {
66  LogDebug("ConvertedTTTrack") << "converted track : word=" << std::setfill('0') << std::setw(8) << std::hex
67  << (long long unsigned int)((word_ >> 64).to_uint64()) << std::setfill('0')
68  << std::setw(16) << std::hex
69  << (long long unsigned int)((word_ & 0xffffffffffffffff).to_uint64());
70  }
71 
73 
75 
76  private:
81  int eta_;
82  int phi_;
83  int z0_;
84  int d0_;
86  float offline_pt_;
87  float offline_eta_;
88  float offline_phi_;
89  ap_uint<96> word_;
90 
92  };
93 } // namespace Phase2L1GMT
94 
95 #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)