CMS 3D CMS Logo

Stub.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackerDTC_Stub_h
2 #define L1Trigger_TrackerDTC_Stub_h
3 
7 
8 #include <utility>
9 #include <vector>
10 
11 namespace trackerDTC {
12 
18  class Stub {
19  public:
20  Stub(const edm::ParameterSet&, const tt::Setup*, const LayerEncoding*, tt::SensorModule*, const TTStubRef&);
21  ~Stub() {}
22 
23  // underlying TTStubRef
24  TTStubRef ttStubRef() const { return ttStubRef_; }
25  // did pass pt and eta cut
26  bool valid() const { return valid_; }
27  // stub bend in quarter pitch units
28  int bend() const { return bend_; }
29  // bit accurate representation of Stub
30  tt::Frame frame(int region) const;
31  // checks stubs region assignment
32  bool inRegion(int region) const;
33 
34  private:
35  // truncates double precision to f/w integer equivalent
36  double digi(double value, double precision) const;
37  // 64 bit stub in hybrid data format
38  tt::Frame formatHybrid(int region) const;
39  // 64 bit stub in tmtt data format
40  tt::Frame formatTMTT(int region) const;
41 
42  // stores, calculates and provides run-time constants
43  const tt::Setup* setup_;
44  // class to encode layer ids used between DTC and TFP in Hybrid
46  // representation of an outer tracker sensormodule
48  // underlying TTStubRef
50  // chosen TT algorithm
51  bool hybrid_;
52  // passes pt and eta cut
53  bool valid_;
54  // column number in pitch units
55  int col_;
56  // row number in half pitch units
57  int row_;
58  // bend number in quarter pitch units
59  int bend_;
60  // reduced row number for look up
61  int rowLUT_;
62  // sub row number inside reduced row number
63  int rowSub_;
64  // stub r w.r.t. an offset in cm
65  double r_;
66  // stub phi w.r.t. detector region centre in rad
67  double phi_;
68  // stub z w.r.t. an offset in cm
69  double z_;
70  // slope of linearized stub phi in rad / pitch
71  double m_;
72  // intercept of linearized stub phi in rad
73  double c_;
74  // radius of a column of strips/pixel in cm
75  double d_;
76  // range of stub inv2R in 1/cm
77  std::pair<double, double> inv2R_;
78  // range of stub cot(theta)
79  std::pair<double, double> cot_;
80  // range of stub extrapolated phi to radius chosenRofPhi in rad
81  std::pair<double, double> phiT_;
82  // shared regions this stub belongs to [0-1]
83  std::vector<int> regions_;
84  };
85 
86 } // namespace trackerDTC
87 
88 #endif
std::bitset< TTBV::S_ > Frame
Definition: TTTypes.h:58
double r_
Definition: Stub.h:65
tt::Frame formatHybrid(int region) const
Definition: Stub.cc:159
int rowSub_
Definition: Stub.h:63
Class to process and provide run-time constants used by Track Trigger emulators.
Definition: Setup.h:44
bool valid() const
Definition: Stub.h:26
TTStubRef ttStubRef_
Definition: Stub.h:49
tt::SensorModule * sm_
Definition: Stub.h:47
bool hybrid_
Definition: Stub.h:51
bool inRegion(int region) const
Definition: Stub.cc:153
std::vector< int > regions_
Definition: Stub.h:83
const tt::Setup * setup_
Definition: Stub.h:43
double phi_
Definition: Stub.h:67
double c_
Definition: Stub.h:73
double m_
Definition: Stub.h:71
Class to represent an outer tracker Stub.
Definition: Stub.h:18
double d_
Definition: Stub.h:75
bool valid_
Definition: Stub.h:53
const LayerEncoding * layerEncoding_
Definition: Stub.h:45
Definition: value.py:1
int rowLUT_
Definition: Stub.h:61
std::pair< double, double > phiT_
Definition: Stub.h:81
tt::Frame formatTMTT(int region) const
Definition: Stub.cc:181
TTStubRef ttStubRef() const
Definition: Stub.h:24
tt::Frame frame(int region) const
Definition: Stub.cc:150
Class to encode layer ids used between DTC and TFP in Hybrid.
Definition: LayerEncoding.h:19
Definition: DTC.h:12
double z_
Definition: Stub.h:69
double digi(double value, double precision) const
Definition: Stub.cc:156
std::pair< double, double > cot_
Definition: Stub.h:79
int bend() const
Definition: Stub.h:28
Stub(const edm::ParameterSet &, const tt::Setup *, const LayerEncoding *, tt::SensorModule *, const TTStubRef &)
Definition: Stub.cc:14
std::pair< double, double > inv2R_
Definition: Stub.h:77