Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
EventFilter
CSCTFRawToDigi
src
CSCSPHeader.h
Go to the documentation of this file.
1
#ifndef CSCSPHeader_h
2
#define CSCSPHeader_h
3
4
#include <cstring>
// memcpy
5
6
class
CSCSPHeader
{
7
private
:
9
unsigned
sp_l1a_low
: 12;
10
unsigned
header_mark_1
: 4;
// constant, should be 1001 = 0x9
11
12
unsigned
sp_l1a_high
: 12;
13
unsigned
header_mark_2
: 4;
// constant, should be 1001 = 0x9
14
15
unsigned
zero_1
: 12;
// constant, should be 0
16
unsigned
header_mark_3
: 4;
// constant, should be 1001 = 0x9
17
18
unsigned
sp_bxn
: 12;
19
unsigned
header_mark_4
: 4;
// constant, should be 1001 = 0x9
20
22
unsigned
zero_2
: 12;
// constant, should be 0
23
unsigned
header_mark_5
: 4;
// constant, should be 1010 = 0xA
24
25
unsigned
sp_slot_number
: 5;
// SP_PADR, or physical address, or slot number
26
unsigned
sp_ersv
: 3;
// event record structure version
27
unsigned
28
sp_trigger_sector
: 4;
// SP Trigger Sector 1, 2, 3, 4, 5, 6 for +Z EMU side and 7, 8, 9, 10, 11, 12 for -Z EMU side
29
30
unsigned
header_mark_6
: 4;
// constant, should be 1010 = 0xA
31
/*
32
unsigned warning_overflow : 1; // FMM: L1A rate is too high
33
unsigned out_of_sync : 1; // FMM: L1 Reset is required
34
unsigned busy : 1; // FMM: L1A rate higher than SP can handle - start flushing events
35
unsigned ready : 1; // FMM: L1A rate is fine
36
unsigned fa_out_of_sync : 1; // FMM: FA out of sync: one of Front_FPGA's L1A doesn't match DDU_FPGA L1A
37
unsigned sp_out_of_sync : 1; // FMM: SP out of sync: SP_FPGA's L1A doesn't match DDU_FPGA L1A
38
unsigned spare_1 : 1; // not used yet
39
unsigned zero_3 : 5; // constant, should be 0
40
unsigned header_mark_7 : 4; // constant, should be 1010 = 0xA
41
*/
42
unsigned
fmm_status
: 6;
// see FMM above
43
unsigned
ddm
: 1;
// readout mode: 0/1 = DDU/VME
44
unsigned
zero_3
: 5;
// constant, should be 0
45
unsigned
header_mark_7
: 4;
// constant, should be 1010 = 0xA
46
47
/*
48
// DD/CSR_DFC: DAQ FIFO Configuration
49
unsigned tbin : 3; // sp record may contain up to 7 consequetive BXs
50
unsigned zero_suppression : 1; // zero suppression: if set - put only valid LCTs, stubs, and track in the record
51
unsigned f1_active : 1; // read(1)/suppress(0) F1 record in the event
52
unsigned f2_active : 1; // read(1)/suppress(0) F2 record in the event
53
unsigned f3_active : 1; // read(1)/suppress(0) F3 record in the event
54
unsigned f4_active : 1; // read(1)/suppress(0) F4 record in the event
55
unsigned f5_active : 1; // read(1)/suppress(0) F5 record in the event
56
unsigned dt_active : 1; // read(1)/suppress(0) DT record in the event
57
unsigned sp_active : 1; // read(1)/suppress(0) SP record in the event
58
unsigned skip : 1; // event is skiped, only this header + trailer exist in the record
59
unsigned header_mark_8 : 4; // constant, should be 1010 = 0xA
60
*/
61
// DD/CSR_DFC: DAQ FIFO Configuration
62
unsigned
csr_dfc
: 11;
//
63
unsigned
skip
: 1;
// event is skiped, only this header + trailer exist in the record
64
unsigned
header_mark_8
: 4;
// constant, should be 1010 = 0xA
65
66
friend
class
CSCTFPacker
;
67
68
public
:
69
bool
check
(
void
)
const
{
70
return
header_mark_1
!= 0x9 ||
header_mark_2
!= 0x9 ||
header_mark_3
!= 0x9 ||
header_mark_4
!= 0x9 ||
71
header_mark_5
!= 0xA ||
header_mark_6
!= 0xA ||
header_mark_7
!= 0xA ||
header_mark_8
!= 0xA ||
72
zero_1
!= 0 ||
zero_2
!= 0 ||
zero_3
!= 0;
73
}
74
75
unsigned
int
BXN
(
void
)
const
throw
() {
return
sp_bxn
; }
76
unsigned
int
L1A
(
void
)
const
throw
() {
return
(
sp_l1a_high
<< 12) |
sp_l1a_low
; }
77
78
unsigned
int
slot
(
void
)
const
throw
() {
return
sp_slot_number
; }
79
unsigned
int
trigger_sector
(
void
)
const
throw
() {
return
sp_trigger_sector
; }
80
// following two functions are kept for compatibility with earlier versions of TF data format:
81
unsigned
int
sector
(
void
)
const
throw
() {
82
if
(
sp_ersv
< 2)
83
return
sp_trigger_sector
& 0x7;
84
else
85
return
(
sp_trigger_sector
<= 6 ?
sp_trigger_sector
:
sp_trigger_sector
- 6);
86
}
87
unsigned
int
endcap
(
void
)
const
throw
() {
88
if
(
sp_ersv
< 2)
89
return
sp_trigger_sector
& 0x8;
90
else
91
return
(
sp_trigger_sector
<= 6 ? 1 : 0);
92
}
93
94
enum
FMM
{
WOF
= 1,
OSY
= 2,
BUZY
= 4,
READY
= 8,
FA_OSY
= 16,
SP_OSY
= 32 };
95
unsigned
int
status
(
void
)
const
throw
() {
return
fmm_status
; }
96
97
unsigned
int
nTBINs
(
void
)
const
throw
() {
return
csr_dfc
& 0x7; }
98
99
bool
suppression
(
void
)
const
throw
() {
return
csr_dfc
& 0x8; }
100
101
enum
ACTIVE
{
F1
= 1,
F2
= 2,
F3
= 4,
F4
= 8,
F5
= 16,
DT
= 32,
SP
= 64 };
102
unsigned
int
active
(
void
)
const
throw
() {
return
csr_dfc
>> 4; }
103
104
bool
empty
(
void
)
const
throw
() {
return
skip
; }
105
106
int
format_version
(
void
)
const
throw
() {
return
sp_ersv
; }
107
bool
ddu_readout
(
void
)
const
throw
() {
return
ddm
; }
108
109
bool
unpack
(
const
unsigned
short
*&
buf
)
throw
() {
110
memcpy((
void
*)
this
,
buf
, 8 *
sizeof
(
short
));
111
buf
+= 8;
112
return
check
();
113
}
114
115
CSCSPHeader
(
void
) {}
116
};
117
118
#endif
CSCSPHeader::header_mark_8
unsigned header_mark_8
Definition:
CSCSPHeader.h:64
CSCSPHeader::L1A
unsigned int L1A(void) const
Definition:
CSCSPHeader.h:76
CSCSPHeader::sp_trigger_sector
unsigned sp_trigger_sector
Definition:
CSCSPHeader.h:28
CSCSPHeader::fmm_status
unsigned fmm_status
Definition:
CSCSPHeader.h:42
CSCSPHeader::zero_3
unsigned zero_3
Definition:
CSCSPHeader.h:44
CSCSPHeader::ACTIVE
ACTIVE
Definition:
CSCSPHeader.h:101
CSCSPHeader
Definition:
CSCSPHeader.h:6
CSCTFPacker
Definition:
CSCTFPacker.cc:15
CSCSPHeader::skip
unsigned skip
Definition:
CSCSPHeader.h:63
CSCSPHeader::F3
Definition:
CSCSPHeader.h:101
CSCSPHeader::suppression
bool suppression(void) const
Definition:
CSCSPHeader.h:99
visDQMUpload.buf
tuple buf
Definition:
visDQMUpload.py:153
CSCSPHeader::zero_1
unsigned zero_1
Definition:
CSCSPHeader.h:15
CSCSPHeader::WOF
Definition:
CSCSPHeader.h:94
CSCSPHeader::format_version
int format_version(void) const
Definition:
CSCSPHeader.h:106
CSCSPHeader::check
bool check(void) const
Definition:
CSCSPHeader.h:69
CSCSPHeader::SP
Definition:
CSCSPHeader.h:101
CSCSPHeader::trigger_sector
unsigned int trigger_sector(void) const
Definition:
CSCSPHeader.h:79
CSCSPHeader::F2
Definition:
CSCSPHeader.h:101
CSCSPHeader::F1
Definition:
CSCSPHeader.h:101
CSCSPHeader::header_mark_7
unsigned header_mark_7
Definition:
CSCSPHeader.h:45
CSCSPHeader::sp_l1a_low
unsigned sp_l1a_low
Definition:
CSCSPHeader.h:9
CSCSPHeader::unpack
bool unpack(const unsigned short *&buf)
Definition:
CSCSPHeader.h:109
CSCSPHeader::nTBINs
unsigned int nTBINs(void) const
Definition:
CSCSPHeader.h:97
CSCSPHeader::header_mark_6
unsigned header_mark_6
Definition:
CSCSPHeader.h:30
CSCSPHeader::header_mark_1
unsigned header_mark_1
Definition:
CSCSPHeader.h:10
CSCSPHeader::header_mark_2
unsigned header_mark_2
Definition:
CSCSPHeader.h:13
CSCSPHeader::sp_ersv
unsigned sp_ersv
Definition:
CSCSPHeader.h:26
CSCSPHeader::ddu_readout
bool ddu_readout(void) const
Definition:
CSCSPHeader.h:107
CSCSPHeader::F4
Definition:
CSCSPHeader.h:101
CSCSPHeader::sector
unsigned int sector(void) const
Definition:
CSCSPHeader.h:81
CSCSPHeader::ddm
unsigned ddm
Definition:
CSCSPHeader.h:43
CSCSPHeader::header_mark_4
unsigned header_mark_4
Definition:
CSCSPHeader.h:19
CSCSPHeader::F5
Definition:
CSCSPHeader.h:101
CSCSPHeader::header_mark_5
unsigned header_mark_5
Definition:
CSCSPHeader.h:23
CSCSPHeader::zero_2
unsigned zero_2
Definition:
CSCSPHeader.h:22
CSCSPHeader::SP_OSY
Definition:
CSCSPHeader.h:94
CSCSPHeader::OSY
Definition:
CSCSPHeader.h:94
CSCSPHeader::BXN
unsigned int BXN(void) const
Definition:
CSCSPHeader.h:75
CSCSPHeader::sp_slot_number
unsigned sp_slot_number
Definition:
CSCSPHeader.h:25
CSCSPHeader::csr_dfc
unsigned csr_dfc
Definition:
CSCSPHeader.h:62
CSCSPHeader::header_mark_3
unsigned header_mark_3
Definition:
CSCSPHeader.h:16
CSCSPHeader::endcap
unsigned int endcap(void) const
Definition:
CSCSPHeader.h:87
CSCSPHeader::CSCSPHeader
CSCSPHeader(void)
Definition:
CSCSPHeader.h:115
CSCSPHeader::FMM
FMM
Definition:
CSCSPHeader.h:94
CSCSPHeader::FA_OSY
Definition:
CSCSPHeader.h:94
CSCSPHeader::READY
Definition:
CSCSPHeader.h:94
CSCSPHeader::BUZY
Definition:
CSCSPHeader.h:94
CSCSPHeader::empty
bool empty(void) const
Definition:
CSCSPHeader.h:104
CSCSPHeader::sp_bxn
unsigned sp_bxn
Definition:
CSCSPHeader.h:18
CSCSPHeader::DT
Definition:
CSCSPHeader.h:101
CSCSPHeader::active
unsigned int active(void) const
Definition:
CSCSPHeader.h:102
CSCSPHeader::sp_l1a_high
unsigned sp_l1a_high
Definition:
CSCSPHeader.h:12
CSCSPHeader::slot
unsigned int slot(void) const
Definition:
CSCSPHeader.h:78
CSCSPHeader::status
unsigned int status(void) const
Definition:
CSCSPHeader.h:95
CommPDSkim_cfg.throw
tuple throw
Definition:
CommPDSkim_cfg.py:101
Generated for CMSSW Reference Manual by
1.8.5