Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
EventFilter
GctRawToDigi
src
GctFormatTranslateV38.h
Go to the documentation of this file.
1
#ifndef GctFormatTranslateV38_h_
2
#define GctFormatTranslateV38_h_
3
4
#include "
EventFilter/GctRawToDigi/src/GctFormatTranslateBase.h
"
5
15
// ************************************************************************
16
// *** THE TRANSLATION PROCESS MUST NEVER THROW ANY KIND OF EXCEPTION! ***
17
// ************************************************************************
18
19
class
GctFormatTranslateV38
:
public
GctFormatTranslateBase
20
{
21
public
:
22
23
/* PUBLIC METHODS */
24
26
28
explicit
GctFormatTranslateV38
(
bool
hltMode
=
false
,
29
bool
unpackSharedRegions
=
false
,
30
unsigned
numberOfGctSamplesToUnpack=1,
31
unsigned
numberOfRctSamplesToUnpack=1);
32
33
virtual
~GctFormatTranslateV38
();
34
36
virtual
GctBlockHeader
generateBlockHeader
(
const
unsigned
char
*
data
)
const
;
37
39
virtual
bool
convertBlock
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
40
41
42
/* ------------------------------ */
43
/* Public Block Packing Functions */
44
/* ------------------------------ */
45
46
// -- TO DO --
47
48
49
protected
:
50
51
/* PROTECTED METHODS */
52
53
/* Static data member access methods */
54
virtual
BlockLengthMap
&
blockLengthMap
() {
return
m_blockLength
; }
55
virtual
const
BlockLengthMap
&
blockLengthMap
()
const
{
return
m_blockLength
; }
56
57
virtual
BlockNameMap
&
blockNameMap
() {
return
m_blockName
; }
58
virtual
const
BlockNameMap
&
blockNameMap
()
const
{
return
m_blockName
; }
59
60
virtual
BlkToRctCrateMap
&
rctEmCrateMap
() {
return
m_rctEmCrate
; }
61
virtual
const
BlkToRctCrateMap
&
rctEmCrateMap
()
const
{
return
m_rctEmCrate
; }
62
63
virtual
BlkToRctCrateMap
&
rctJetCrateMap
() {
return
m_rctJetCrate
; }
64
virtual
const
BlkToRctCrateMap
&
rctJetCrateMap
()
const
{
return
m_rctJetCrate
; }
65
66
virtual
BlockIdToEmCandIsoBoundMap
&
internEmIsoBounds
() {
return
m_internEmIsoBounds
; }
67
virtual
const
BlockIdToEmCandIsoBoundMap
&
internEmIsoBounds
()
const
{
return
m_internEmIsoBounds
; }
68
69
70
/* Other general methods */
72
virtual
uint32_t
generateRawHeader
(
const
uint32_t blockId,
73
const
uint32_t nSamples,
74
const
uint32_t bxId,
75
const
uint32_t eventId)
const
;
76
77
78
private
:
79
80
/* PRIVATE TYPEDEFS */
81
83
typedef
void (
GctFormatTranslateV38
::*
PtrToUnpackFn
)(
const
unsigned
char
*,
const
GctBlockHeader
&);
85
typedef
std::map<unsigned int, PtrToUnpackFn>
BlockIdToUnpackFnMap
;
86
87
88
/* PRIVATE MEMBER DATA */
89
91
static
BlockLengthMap
m_blockLength
;
92
94
static
BlockNameMap
m_blockName
;
95
97
static
BlkToRctCrateMap
m_rctEmCrate
;
98
100
static
BlkToRctCrateMap
m_rctJetCrate
;
101
104
static
BlockIdToEmCandIsoBoundMap
m_internEmIsoBounds
;
105
107
static
BlockIdToUnpackFnMap
m_blockUnpackFn
;
108
110
const
unsigned
m_numberOfGctSamplesToUnpack
;
111
113
const
unsigned
m_numberOfRctSamplesToUnpack
;
114
115
/* PRIVATE METHODS */
116
117
/* --------------------------------- */
118
/* Private Block Unpacking Functions */
119
/* --------------------------------- */
120
122
void
blockToGctEmCandsAndEnergySums
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
123
125
void
blockToGctJetCandsAndCounts
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
126
128
void
blockToGctInternEmCand
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
129
131
void
blockToRctEmCand
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
132
134
void
blockToRctCaloRegions
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
135
137
void
blockToFibres
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
138
140
void
blockToFibresAndToRctEmCand
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
141
143
void
blockToGctInternEtSums
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
144
146
void
blockToGctInternEtSumsAndJetCluster
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
147
149
void
blockToGctTrigObjects
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
150
152
void
blockToGctJetClusterMinimal
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
153
155
void
blockToGctJetPreCluster
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
156
158
void
blockToGctInternRingSums
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
159
161
void
blockToGctWheelOutputInternEtAndRingSums
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
162
164
void
blockToGctWheelInputInternEtAndRingSums
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
165
167
void
blockToGctInternHtMissPreWheel
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
168
170
void
blockToGctInternHtMissPostWheel
(
const
unsigned
char
* d,
const
GctBlockHeader
& hdr);
171
};
172
173
#endif
GctFormatTranslateV38::convertBlock
virtual bool convertBlock(const unsigned char *d, const GctBlockHeader &hdr)
Get digis from the block - will return true if it succeeds, false otherwise.
Definition:
GctFormatTranslateV38.cc:604
GctFormatTranslateV38::rctJetCrateMap
virtual const BlkToRctCrateMap & rctJetCrateMap() const
get the static block ID to RCT crate map for jets
Definition:
GctFormatTranslateV38.h:64
GctFormatTranslateV38::m_blockLength
static BlockLengthMap m_blockLength
Map to translate block number to fundamental size of a block (i.e. for 1 time-sample).
Definition:
GctFormatTranslateV38.h:91
GctFormatTranslateV38::blockToGctInternEmCand
void blockToGctInternEmCand(const unsigned char *d, const GctBlockHeader &hdr)
unpack GCT internal EM Candidates
Definition:
GctFormatTranslateV38.cc:783
GctFormatTranslateV38::internEmIsoBounds
virtual BlockIdToEmCandIsoBoundMap & internEmIsoBounds()
get the static intern EM cand isolated boundary map.
Definition:
GctFormatTranslateV38.h:66
GctFormatTranslateV38::m_rctJetCrate
static BlkToRctCrateMap m_rctJetCrate
Map to relate capture block ID to the RCT crate the data originated from (for jets).
Definition:
GctFormatTranslateV38.h:100
GctFormatTranslateBase
Abstract interface for RawToDigi/DigiToRaw conversions of GCT data.
Definition:
GctFormatTranslateBase.h:29
GctFormatTranslateV38::blockToGctWheelInputInternEtAndRingSums
void blockToGctWheelInputInternEtAndRingSums(const unsigned char *d, const GctBlockHeader &hdr)
unpack GCT internal input to wheel
Definition:
GctFormatTranslateV38.cc:1114
GctFormatTranslateV38::generateBlockHeader
virtual GctBlockHeader generateBlockHeader(const unsigned char *data) const
Generate a block header from four 8-bit values.
Definition:
GctFormatTranslateV38.cc:576
GctFormatTranslateV38::m_internEmIsoBounds
static BlockIdToEmCandIsoBoundMap m_internEmIsoBounds
Definition:
GctFormatTranslateV38.h:104
GctFormatTranslateV38
Unpacks/packs the V38 raw format.
Definition:
GctFormatTranslateV38.h:19
GctFormatTranslateV38::GctFormatTranslateV38
GctFormatTranslateV38(bool hltMode=false, bool unpackSharedRegions=false, unsigned numberOfGctSamplesToUnpack=1, unsigned numberOfRctSamplesToUnpack=1)
Constructor.
Definition:
GctFormatTranslateV38.cc:29
GctFormatTranslateV38::blockNameMap
virtual const BlockNameMap & blockNameMap() const
get the static block ID to blockname map.
Definition:
GctFormatTranslateV38.h:58
GctFormatTranslateV38::blockToGctInternRingSums
void blockToGctInternRingSums(const unsigned char *d, const GctBlockHeader &hdr)
unpack GCT internal HF ring sums
Definition:
GctFormatTranslateV38.cc:1089
GctFormatTranslateV38::m_blockUnpackFn
static BlockIdToUnpackFnMap m_blockUnpackFn
Block ID to unpack function map.
Definition:
GctFormatTranslateV38.h:107
GctFormatTranslateBase.h
GctFormatTranslateV38::blockToGctInternEtSums
void blockToGctInternEtSums(const unsigned char *d, const GctBlockHeader &hdr)
unpack GCT internal Et sums
Definition:
GctFormatTranslateV38.cc:972
GctFormatTranslateV38::m_numberOfGctSamplesToUnpack
const unsigned m_numberOfGctSamplesToUnpack
Number of BXs of GCT data to unpack (assuming they are in the raw data)
Definition:
GctFormatTranslateV38.h:110
GctFormatTranslateV38::blockToGctJetPreCluster
void blockToGctJetPreCluster(const unsigned char *d, const GctBlockHeader &hdr)
unpack GCT internal shared jet finder info
Definition:
GctFormatTranslateV38.cc:1066
GctFormatTranslateV38::blockToGctInternEtSumsAndJetCluster
void blockToGctInternEtSumsAndJetCluster(const unsigned char *d, const GctBlockHeader &hdr)
unpack GCT internal output of leaf jet finder
Definition:
GctFormatTranslateV38.cc:994
GctFormatTranslateV38::m_blockName
static BlockNameMap m_blockName
Map to hold a description for each block number.
Definition:
GctFormatTranslateV38.h:94
GctFormatTranslateV38::m_rctEmCrate
static BlkToRctCrateMap m_rctEmCrate
Map to relate capture block ID to the RCT crate the data originated from (for electrons).
Definition:
GctFormatTranslateV38.h:97
GctFormatTranslateV38::~GctFormatTranslateV38
virtual ~GctFormatTranslateV38()
Destructor.
Definition:
GctFormatTranslateV38.cc:572
GctFormatTranslateBase::unpackSharedRegions
bool unpackSharedRegions() const
Definition:
GctFormatTranslateBase.h:111
GctBlockHeader
Simple class for holding the basic attributes of an 32-bit block header.
Definition:
GctBlockHeader.h:18
GctFormatTranslateV38::BlockIdToUnpackFnMap
std::map< unsigned int, PtrToUnpackFn > BlockIdToUnpackFnMap
Typedef for a block ID to unpack function map.
Definition:
GctFormatTranslateV38.h:85
GctFormatTranslateV38::rctJetCrateMap
virtual BlkToRctCrateMap & rctJetCrateMap()
get the static block ID to RCT crate map for jets
Definition:
GctFormatTranslateV38.h:63
GctFormatTranslateV38::blockToGctWheelOutputInternEtAndRingSums
void blockToGctWheelOutputInternEtAndRingSums(const unsigned char *d, const GctBlockHeader &hdr)
unpack GCT internal output of wheel
Definition:
GctFormatTranslateV38.cc:1143
GctFormatTranslateBase::BlockLengthMap
std::map< unsigned int, unsigned int > BlockLengthMap
Block ID to Block Length map.
Definition:
GctFormatTranslateBase.h:70
GctFormatTranslateBase::hltMode
bool hltMode() const
Protected interface to get HLT optimisation mode flag.
Definition:
GctFormatTranslateBase.h:110
GctFormatTranslateV38::blockToFibres
void blockToFibres(const unsigned char *d, const GctBlockHeader &hdr)
unpack Fibres
Definition:
GctFormatTranslateV38.cc:946
GctFormatTranslateV38::rctEmCrateMap
virtual const BlkToRctCrateMap & rctEmCrateMap() const
get static the block ID to RCT crate map for electrons.
Definition:
GctFormatTranslateV38.h:61
GctFormatTranslateV38::blockToRctCaloRegions
void blockToRctCaloRegions(const unsigned char *d, const GctBlockHeader &hdr)
Unpack RCT Calo Regions.
Definition:
GctFormatTranslateV38.cc:878
GctFormatTranslateV38::blockToFibresAndToRctEmCand
void blockToFibresAndToRctEmCand(const unsigned char *d, const GctBlockHeader &hdr)
unpack Fibres and RCT EM Candidates
Definition:
GctFormatTranslateV38.cc:966
GctFormatTranslateV38::blockToGctInternHtMissPreWheel
void blockToGctInternHtMissPreWheel(const unsigned char *d, const GctBlockHeader &hdr)
unpack GCT internal Missing Ht data that is being input to the wheels.
Definition:
GctFormatTranslateV38.cc:1172
GctFormatTranslateV38::m_numberOfRctSamplesToUnpack
const unsigned m_numberOfRctSamplesToUnpack
Definition:
GctFormatTranslateV38.h:113
GctFormatTranslateV38::blockLengthMap
virtual BlockLengthMap & blockLengthMap()
get the static block ID to block-length map.
Definition:
GctFormatTranslateV38.h:54
GctFormatTranslateV38::blockToGctTrigObjects
void blockToGctTrigObjects(const unsigned char *d, const GctBlockHeader &hdr)
unpack GCT internal wheel and conc jets
Definition:
GctFormatTranslateV38.cc:1020
GctFormatTranslateV38::internEmIsoBounds
virtual const BlockIdToEmCandIsoBoundMap & internEmIsoBounds() const
get the static intern EM cand isolated boundary map.
Definition:
GctFormatTranslateV38.h:67
GctFormatTranslateV38::blockToGctJetClusterMinimal
void blockToGctJetClusterMinimal(const unsigned char *d, const GctBlockHeader &hdr)
unpack GCT internal input to wheel jet sort
Definition:
GctFormatTranslateV38.cc:1043
GctFormatTranslateV38::blockToRctEmCand
void blockToRctEmCand(const unsigned char *d, const GctBlockHeader &hdr)
unpack RCT EM Candidates
Definition:
GctFormatTranslateV38.cc:824
GctFormatTranslateV38::generateRawHeader
virtual uint32_t generateRawHeader(const uint32_t blockId, const uint32_t nSamples, const uint32_t bxId, const uint32_t eventId) const
Returns a raw 32-bit header word generated from the blockId, number of time samples, bunch-crossing and event IDs.
Definition:
GctFormatTranslateV38.cc:622
GctFormatTranslateV38::blockToGctJetCandsAndCounts
void blockToGctJetCandsAndCounts(const unsigned char *d, const GctBlockHeader &hdr)
Unpack GCT Jet Candidates and jet counts.
Definition:
GctFormatTranslateV38.cc:717
GctFormatTranslateBase::BlockIdToEmCandIsoBoundMap
std::map< unsigned int, IsoBoundaryPair > BlockIdToEmCandIsoBoundMap
A typdef for mapping Block IDs to IsoBoundaryPairs.
Definition:
GctFormatTranslateBase.h:86
GctFormatTranslateV38::blockNameMap
virtual BlockNameMap & blockNameMap()
get the static block ID to block-name map.
Definition:
GctFormatTranslateV38.h:57
runTheMatrix.data
data
Definition:
runTheMatrix.py:756
GctFormatTranslateV38::PtrToUnpackFn
void(GctFormatTranslateV38::* PtrToUnpackFn)(const unsigned char *, const GctBlockHeader &)
Function pointer typdef to a block unpack function.
Definition:
GctFormatTranslateV38.h:83
GctFormatTranslateBase::BlkToRctCrateMap
std::map< unsigned int, unsigned int > BlkToRctCrateMap
Typedef for mapping block ID to RCT crate.
Definition:
GctFormatTranslateBase.h:76
GctFormatTranslateBase::BlockNameMap
std::map< unsigned int, std::string > BlockNameMap
Block ID to Block Description map.
Definition:
GctFormatTranslateBase.h:72
GctFormatTranslateV38::rctEmCrateMap
virtual BlkToRctCrateMap & rctEmCrateMap()
get the static block ID to RCT crate map for electrons.
Definition:
GctFormatTranslateV38.h:60
GctFormatTranslateV38::blockLengthMap
virtual const BlockLengthMap & blockLengthMap() const
get the static block ID to block-length map.
Definition:
GctFormatTranslateV38.h:55
GctFormatTranslateV38::blockToGctEmCandsAndEnergySums
void blockToGctEmCandsAndEnergySums(const unsigned char *d, const GctBlockHeader &hdr)
unpack GCT EM Candidates and energy sums.
Definition:
GctFormatTranslateV38.cc:648
GctFormatTranslateV38::blockToGctInternHtMissPostWheel
void blockToGctInternHtMissPostWheel(const unsigned char *d, const GctBlockHeader &hdr)
unpack GCT internal Missing Ht data that is either wheel output or concJet input (i.e. after wheel processing).
Definition:
GctFormatTranslateV38.cc:1195
Generated for CMSSW Reference Manual by
1.8.5