Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
EventFilter
EcalTBRawToDigi
src
EcalTB07DaqFormatter.h
Go to the documentation of this file.
1
#ifndef EcalTB07DaqFormatter_H
2
#define EcalTB07DaqFormatter_H
3
11
#include <
DataFormats/EcalDigi/interface/EcalDigiCollections.h
>
12
#include <
DataFormats/EcalRawData/interface/EcalRawDataCollections.h
>
13
#include <
DataFormats/EcalDetId/interface/EcalDetIdCollections.h
>
14
#include "
DCCTowerBlock.h
"
15
16
#include <vector>
17
#include <map>
18
#include <iostream>
19
20
#include "
FWCore/ServiceRegistry/interface/Service.h
"
21
22
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
23
#include "
FWCore/ParameterSet/interface/FileInPath.h
"
24
25
class
FEDRawData
;
26
class
DCCDataParser;
27
class
EcalTB07DaqFormatter
{
28
public
:
29
EcalTB07DaqFormatter
(
std::string
tbName,
int
a
[68][5][5],
int
b
[71],
int
c
[201]);
30
virtual
~EcalTB07DaqFormatter
() {
31
LogDebug
(
"EcalTB07RawToDigi"
) <<
"@SUB=EcalTB07DaqFormatter"
32
<<
"\n"
;
33
};
34
35
void
interpretRawData
(
const
FEDRawData
&
data
,
36
EBDigiCollection
& digicollection,
37
EEDigiCollection
& eeDigiCollection,
38
EcalPnDiodeDigiCollection
& pndigicollection,
39
EcalRawDataCollection
& DCCheaderCollection,
40
EBDetIdCollection
& dccsizecollection,
41
EcalElectronicsIdCollection
& ttidcollection,
42
EcalElectronicsIdCollection
& blocksizecollection,
43
EBDetIdCollection
& chidcollection,
44
EBDetIdCollection
& gaincollection,
45
EBDetIdCollection
& gainswitchcollection,
46
EcalElectronicsIdCollection
& memttidcollection,
47
EcalElectronicsIdCollection
& memblocksizecollection,
48
EcalElectronicsIdCollection
& memgaincollection,
49
EcalElectronicsIdCollection
& memchidcollection,
50
EcalTrigPrimDigiCollection
& tpcollection);
51
52
private
:
53
void
DecodeMEM
(
DCCTBTowerBlock
* towerblock,
54
EcalPnDiodeDigiCollection
& pndigicollection,
55
EcalElectronicsIdCollection
& memttidcollection,
56
EcalElectronicsIdCollection
& memblocksizecollection,
57
EcalElectronicsIdCollection
& memgaincollection,
58
EcalElectronicsIdCollection
& memchidcollection);
59
60
std::pair<int, int>
cellIndex
(
int
tower_id,
int
strip
,
int
xtal);
61
int
cryIc
(
int
tower_id,
int
strip
,
int
xtal);
62
bool
leftTower
(
int
tower
)
const
;
63
bool
rightTower
(
int
tower
)
const
;
64
65
private
:
66
DCCTBDataParser
*
theParser_
;
67
int
cryIcMap_
[68][5][5];
68
int
tbStatusToLocation_
[71];
69
int
tbTowerIDToLocation_
[201];
70
std::string
tbName_
;
71
72
int
getEE_ix
(
int
tower
,
int
strip
,
int
ch);
73
int
getEE_iy
(
int
tower
,
int
strip
,
int
ch);
74
75
enum
SMGeom_t
{
76
kModules
= 4,
// Number of modules per supermodule
77
kTriggerTowers
= 68,
// Number of trigger towers per supermodule
78
kTowersInPhi
= 4,
// Number of trigger towers in phi
79
kTowersInEta
= 17,
// Number of trigger towers in eta
80
kCrystals
= 1700,
// Number of crystals per supermodule
81
kPns
= 10,
// Number of PN laser monitoring diodes per supermodule
82
kCrystalsInPhi
= 20,
// Number of crystals in phi
83
kCrystalsInEta
= 85,
// Number of crystals in eta
84
kCrystalsPerTower
= 25,
// Number of crystals per trigger tower
85
kCardsPerTower
= 5,
// Number of VFE cards per trigger tower
86
kChannelsPerCard
= 5
// Number of channels per VFE card
87
};
88
89
enum
SMElectronics_t
{
90
kSamplesPerChannel
= 10,
// Number of sample per channel, per event
91
kSamplesPerPn
= 50,
// Number of sample per PN, per event
92
kChannelsPerTower
= 25,
// Number of channels per trigger tower
93
kStripsPerTower
= 5,
// Number of VFE cards per trigger tower
94
kChannelsPerStrip
= 5,
// Number channels per VFE card
95
kPnPerTowerBlock
= 5,
// Number Pn diodes pertaining to 1 tower block = 1/2 mem box
96
kTriggerTowersAndMem
= 70
// Number of trigger towers block including mems
97
};
98
99
// index and container for expected towers (according to DCC status)
100
unsigned
_numExpectedTowers
;
101
unsigned
_ExpectedTowers
[71];
102
unsigned
_expTowersIndex
;
103
104
// used for mem boxes unpacking
105
int
memRawSample_
[
kStripsPerTower
][
kChannelsPerStrip
][
kSamplesPerChannel
+ 1];
// store raw data for one mem
106
int
data_MEM
[500];
// collects unpacked data for both mems
107
bool
pnAllocated
;
108
bool
pnIsOkInBlock
[
kPnPerTowerBlock
];
109
};
110
#endif
EBDigiCollection
Definition:
EcalDigiCollections.h:56
EEDigiCollection
Definition:
EcalDigiCollections.h:69
c
const edm::EventSetup & c
Definition:
SiStripLAProfileBooker.cc:66
edm::SortedCollection
Definition:
SortedCollection.h:49
MessageLogger.h
EcalTB07DaqFormatter::kStripsPerTower
Definition:
EcalTB07DaqFormatter.h:93
EcalTB07DaqFormatter::SMElectronics_t
SMElectronics_t
Definition:
EcalTB07DaqFormatter.h:89
edm::EDCollection
Definition:
EDCollection.h:16
EcalTB07DaqFormatter::kCardsPerTower
Definition:
EcalTB07DaqFormatter.h:85
EcalTB07DaqFormatter::kCrystalsPerTower
Definition:
EcalTB07DaqFormatter.h:84
EcalTB07DaqFormatter::kSamplesPerPn
Definition:
EcalTB07DaqFormatter.h:91
EcalTB07DaqFormatter::kPnPerTowerBlock
Definition:
EcalTB07DaqFormatter.h:95
EcalTB07DaqFormatter::pnAllocated
bool pnAllocated
Definition:
EcalTB07DaqFormatter.h:107
EcalTB07DaqFormatter::SMGeom_t
SMGeom_t
Definition:
EcalTB07DaqFormatter.h:75
EcalTB07DaqFormatter::tbName_
std::string tbName_
Definition:
EcalTB07DaqFormatter.h:70
EcalTB07DaqFormatter::kTowersInEta
Definition:
EcalTB07DaqFormatter.h:79
EcalTB07DaqFormatter::_expTowersIndex
unsigned _expTowersIndex
Definition:
EcalTB07DaqFormatter.h:102
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
FileInPath.h
hgcalTowerProducer_cfi.tower
tuple tower
Definition:
hgcalTowerProducer_cfi.py:4
EcalTB07DaqFormatter::kCrystals
Definition:
EcalTB07DaqFormatter.h:80
EcalTB07DaqFormatter::kChannelsPerTower
Definition:
EcalTB07DaqFormatter.h:92
EcalTB07DaqFormatter::kChannelsPerCard
Definition:
EcalTB07DaqFormatter.h:86
FEDRawData
Definition:
FEDRawData.h:19
EcalTB07DaqFormatter::~EcalTB07DaqFormatter
virtual ~EcalTB07DaqFormatter()
Definition:
EcalTB07DaqFormatter.h:30
EcalTB07DaqFormatter::tbTowerIDToLocation_
int tbTowerIDToLocation_[201]
Definition:
EcalTB07DaqFormatter.h:69
Service.h
DCCTBTowerBlock
Definition:
DCCTowerBlock.h:19
EcalTB07DaqFormatter::kModules
Definition:
EcalTB07DaqFormatter.h:76
EcalTB07DaqFormatter::cryIc
int cryIc(int tower_id, int strip, int xtal)
Definition:
EcalTB07DaqFormatter.cc:845
EcalTB07DaqFormatter::_ExpectedTowers
unsigned _ExpectedTowers[71]
Definition:
EcalTB07DaqFormatter.h:101
EcalDigiCollections.h
EcalTB07DaqFormatter::cryIcMap_
int cryIcMap_[68][5][5]
Definition:
EcalTB07DaqFormatter.h:67
EcalTB07DaqFormatter::theParser_
DCCTBDataParser * theParser_
Definition:
EcalTB07DaqFormatter.h:66
EcalTB07DaqFormatter::_numExpectedTowers
unsigned _numExpectedTowers
Definition:
EcalTB07DaqFormatter.h:100
DCCTowerBlock.h
EcalTB07DaqFormatter::kTriggerTowersAndMem
Definition:
EcalTB07DaqFormatter.h:96
EcalTB07DaqFormatter::getEE_iy
int getEE_iy(int tower, int strip, int ch)
Definition:
EcalTB07DaqFormatter.cc:833
EcalTB07DaqFormatter::leftTower
bool leftTower(int tower) const
Definition:
EcalTB07DaqFormatter.cc:867
EcalTB07DaqFormatter::DecodeMEM
void DecodeMEM(DCCTBTowerBlock *towerblock, EcalPnDiodeDigiCollection &pndigicollection, EcalElectronicsIdCollection &memttidcollection, EcalElectronicsIdCollection &memblocksizecollection, EcalElectronicsIdCollection &memgaincollection, EcalElectronicsIdCollection &memchidcollection)
Definition:
EcalTB07DaqFormatter.cc:595
EcalTB07DaqFormatter::interpretRawData
void interpretRawData(const FEDRawData &data, EBDigiCollection &digicollection, EEDigiCollection &eeDigiCollection, EcalPnDiodeDigiCollection &pndigicollection, EcalRawDataCollection &DCCheaderCollection, EBDetIdCollection &dccsizecollection, EcalElectronicsIdCollection &ttidcollection, EcalElectronicsIdCollection &blocksizecollection, EBDetIdCollection &chidcollection, EBDetIdCollection &gaincollection, EBDetIdCollection &gainswitchcollection, EcalElectronicsIdCollection &memttidcollection, EcalElectronicsIdCollection &memblocksizecollection, EcalElectronicsIdCollection &memgaincollection, EcalElectronicsIdCollection &memchidcollection, EcalTrigPrimDigiCollection &tpcollection)
Definition:
EcalTB07DaqFormatter.cc:67
b
double b
Definition:
hdecay.h:118
digitizers_cfi.strip
strip
Definition:
digitizers_cfi.py:45
EcalTB07DaqFormatter::tbStatusToLocation_
int tbStatusToLocation_[71]
Definition:
EcalTB07DaqFormatter.h:68
EcalTB07DaqFormatter::pnIsOkInBlock
bool pnIsOkInBlock[kPnPerTowerBlock]
Definition:
EcalTB07DaqFormatter.h:108
EcalTB07DaqFormatter::kTowersInPhi
Definition:
EcalTB07DaqFormatter.h:78
EcalTB07DaqFormatter::kPns
Definition:
EcalTB07DaqFormatter.h:81
EcalTB07DaqFormatter::kTriggerTowers
Definition:
EcalTB07DaqFormatter.h:77
EcalTB07DaqFormatter::getEE_ix
int getEE_ix(int tower, int strip, int ch)
Definition:
EcalTB07DaqFormatter.cc:821
EcalTB07DaqFormatter::rightTower
bool rightTower(int tower) const
Definition:
EcalTB07DaqFormatter.cc:859
data
char data[epos_bytes_allocation]
Definition:
EPOS_Wrapper.h:79
EcalTB07DaqFormatter::kCrystalsInPhi
Definition:
EcalTB07DaqFormatter.h:82
EcalTB07DaqFormatter::EcalTB07DaqFormatter
EcalTB07DaqFormatter(std::string tbName, int a[68][5][5], int b[71], int c[201])
Definition:
EcalTB07DaqFormatter.cc:34
EcalTB07DaqFormatter::cellIndex
std::pair< int, int > cellIndex(int tower_id, int strip, int xtal)
Definition:
EcalTB07DaqFormatter.cc:793
a
double a
Definition:
hdecay.h:119
EcalTB07DaqFormatter::kSamplesPerChannel
Definition:
EcalTB07DaqFormatter.h:90
EcalTB07DaqFormatter
Definition:
EcalTB07DaqFormatter.h:27
EcalTB07DaqFormatter::data_MEM
int data_MEM[500]
Definition:
EcalTB07DaqFormatter.h:106
EcalTB07DaqFormatter::kChannelsPerStrip
Definition:
EcalTB07DaqFormatter.h:94
EcalTB07DaqFormatter::kCrystalsInEta
Definition:
EcalTB07DaqFormatter.h:83
EcalRawDataCollections.h
EcalDetIdCollections.h
EcalTB07DaqFormatter::memRawSample_
int memRawSample_[kStripsPerTower][kChannelsPerStrip][kSamplesPerChannel+1]
Definition:
EcalTB07DaqFormatter.h:105
LogDebug
#define LogDebug(id)
Definition:
MessageLogger.h:233
DCCTBDataParser
Definition:
DCCDataParser.h:25
Generated for CMSSW Reference Manual by
1.8.5