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