CMS 3D CMS Logo

CPPFDigi.h
Go to the documentation of this file.
1 // Class for RPC trigger primitives sent from CPPF to EMTF
2 // Author Alejandro Segura -- Universidad de los Andes
3 
4 #ifndef DataFormats_L1TMuon_CPPFDigi_h
5 #define DataFormats_L1TMuon_CPPFDigi_h
6 
8 #include <vector>
9 
10 namespace l1t {
11 
12  class CPPFDigi {
13  public:
15  : bx_(-99),
16  phi_int_(-99),
17  theta_int_(-99),
18  valid_(-99),
19  board_(-99),
20  channel_(-99),
21  emtf_sector_(-99),
22  emtf_link_(-99),
23  first_strip_(-99),
24  cluster_size_(-99),
25  phi_glob_(-99),
26  theta_glob_(-99){};
27 
28  explicit CPPFDigi(const RPCDetId& rpcId0,
29  int bx0,
30  int phi_int0,
31  int theta_int0,
32  int valid0,
33  int board0,
34  int channel0,
35  int emtf_sector0,
36  int emtf_link0,
37  int first_strip0,
38  int cluster_size0,
39  float phi_glob0,
40  float theta_glob0);
41 
42  virtual ~CPPFDigi(){};
43 
44  virtual CPPFDigi* clone() const;
45 
46  CPPFDigi(const RPCDetId& rpcId0, int bx0);
47  CPPFDigi(const RPCDetId& rpcId0, int bx0, int theta_int0, int phi_int0);
48 
49  bool operator<(const CPPFDigi& rhs) const;
50 
51  RPCDetId rpcId() const { return rpcId_; }
52  int bx() const { return bx_; }
53  int phi_int() const { return phi_int_; }
54  int theta_int() const { return theta_int_; }
55  int valid() const { return valid_; }
56  int board() const { return board_; }
57  int channel() const { return channel_; }
58  int emtf_sector() const { return emtf_sector_; }
59  int emtf_link() const { return emtf_link_; }
60  int first_strip() const { return first_strip_; }
61  int cluster_size() const { return cluster_size_; }
62  float phi_glob() const { return phi_glob_; }
63  float theta_glob() const { return theta_glob_; }
64 
65  private:
66  RPCDetId rpcId_; // RPC detector ID (includes endcap, ring, station, sector, and chamber)
67  int bx_; // Bunch crossing, signed, centered at 0
68  int phi_int_; // Local integer phi value within an EMTF sector, represents 1/15 degree
69  int theta_int_; // Integer theta value in EMTF scale, represents 36.5/32 degree
70  int valid_;
71  int board_; // CPPF board, 1 - 4 in each endcap
72  int channel_; // CPPF output link, 0 - 8 in each board
73  int emtf_sector_; // EMTF sector, 1 - 6 in each endcap
74  int emtf_link_; // EMTF input link, 0 - 6 in each sector
75  int first_strip_; // Lowest-numbered strip in the cluster
76  int cluster_size_; // Number of strips in the cluster
77  float phi_glob_; // Global phi coordinate in degrees, from -180 to 180
78  float theta_glob_; // Global theta coordinate in degrees, from 0 to 90
79 
80  }; // End of class CPPFDigi
81 
82  // Define a collection of CPPFDigis
83  typedef std::vector<CPPFDigi> CPPFDigiCollection;
84 
85 } // End of namespace l1t
86 
88 std::ostream& operator<<(std::ostream& o, const l1t::CPPFDigi& cppf);
89 
90 #endif /* #define DataFormats_L1TMuon_CPPFDigi_h */
l1t::CPPFDigi::theta_int
int theta_int() const
Definition: CPPFDigi.h:54
l1t::CPPFDigi::first_strip
int first_strip() const
Definition: CPPFDigi.h:60
l1t::CPPFDigi::cluster_size
int cluster_size() const
Definition: CPPFDigi.h:61
l1t::CPPFDigi::cluster_size_
int cluster_size_
Definition: CPPFDigi.h:76
l1t::CPPFDigi::emtf_sector_
int emtf_sector_
Definition: CPPFDigi.h:73
RPCDetId
Definition: RPCDetId.h:16
l1t::CPPFDigi::phi_glob_
float phi_glob_
Definition: CPPFDigi.h:77
l1t::CPPFDigi::valid_
int valid_
Definition: CPPFDigi.h:70
l1t::CPPFDigi::board
int board() const
Definition: CPPFDigi.h:56
l1t::CPPFDigi::rpcId
RPCDetId rpcId() const
Definition: CPPFDigi.h:51
l1t::CPPFDigi::theta_int_
int theta_int_
Definition: CPPFDigi.h:69
l1t::CPPFDigiCollection
std::vector< CPPFDigi > CPPFDigiCollection
Definition: CPPFDigi.h:83
l1t::CPPFDigi::channel_
int channel_
Definition: CPPFDigi.h:72
EcalTangentSkim_cfg.o
o
Definition: EcalTangentSkim_cfg.py:36
l1t::CPPFDigi::theta_glob_
float theta_glob_
Definition: CPPFDigi.h:78
l1t::CPPFDigi::first_strip_
int first_strip_
Definition: CPPFDigi.h:75
l1t::CPPFDigi::rpcId_
RPCDetId rpcId_
Definition: CPPFDigi.h:66
RPCDetId.h
l1t::CPPFDigi::valid
int valid() const
Definition: CPPFDigi.h:55
l1t::CPPFDigi::bx_
int bx_
Definition: CPPFDigi.h:67
l1t::CPPFDigi::bx
int bx() const
Definition: CPPFDigi.h:52
l1t
delete x;
Definition: CaloConfig.h:22
l1t::CPPFDigi::channel
int channel() const
Definition: CPPFDigi.h:57
l1t::CPPFDigi::emtf_link
int emtf_link() const
Definition: CPPFDigi.h:59
l1t::CPPFDigi::operator<
bool operator<(const CPPFDigi &rhs) const
Definition: CPPFDigi.cc:68
l1t::CPPFDigi::theta_glob
float theta_glob() const
Definition: CPPFDigi.h:63
l1t::CPPFDigi::board_
int board_
Definition: CPPFDigi.h:71
l1t::CPPFDigi::clone
virtual CPPFDigi * clone() const
Definition: CPPFDigi.cc:66
l1t::CPPFDigi::CPPFDigi
CPPFDigi()
Definition: CPPFDigi.h:14
l1t::CPPFDigi::phi_glob
float phi_glob() const
Definition: CPPFDigi.h:62
l1t::CPPFDigi::phi_int_
int phi_int_
Definition: CPPFDigi.h:68
l1t::CPPFDigi
Definition: CPPFDigi.h:12
l1t::CPPFDigi::emtf_sector
int emtf_sector() const
Definition: CPPFDigi.h:58
operator<<
std::ostream & operator<<(std::ostream &o, const l1t::CPPFDigi &cppf)
The ostream operator.
Definition: CPPFDigi.cc:78
l1t::CPPFDigi::emtf_link_
int emtf_link_
Definition: CPPFDigi.h:74
l1t::CPPFDigi::~CPPFDigi
virtual ~CPPFDigi()
Definition: CPPFDigi.h:42
l1t::CPPFDigi::phi_int
int phi_int() const
Definition: CPPFDigi.h:53