Main Page
Namespaces
Classes
Package Documentation
src
EventFilter
EcalTBRawToDigi
src
EcalTBDaqFormatter.h
Go to the documentation of this file.
1
#ifndef EcalTBDaqFormatter_H
2
#define EcalTBDaqFormatter_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
24
25
class
FEDRawData
;
26
class
DCCTBDataParser
;
27
class
EcalTBDaqFormatter
{
28
29
public
:
30
31
EcalTBDaqFormatter
();
32
virtual
~EcalTBDaqFormatter
(){
LogDebug
(
"EcalTBRawToDigi"
) <<
"@SUB=EcalTBDaqFormatter"
<<
"\n"
; };
33
34
void
interpretRawData
(
const
FEDRawData
&
data
,
EBDigiCollection
& digicollection ,
EcalPnDiodeDigiCollection
& pndigicollection ,
35
EcalRawDataCollection
& DCCheaderCollection,
36
EBDetIdCollection
& dccsizecollection,
37
EcalElectronicsIdCollection
& ttidcollection ,
EcalElectronicsIdCollection
& blocksizecollection,
38
EBDetIdCollection
& chidcollection ,
EBDetIdCollection
& gaincollection ,
39
EBDetIdCollection
& gainswitchcollection ,
40
EcalElectronicsIdCollection
& memttidcollection,
EcalElectronicsIdCollection
& memblocksizecollection,
41
EcalElectronicsIdCollection
& memgaincollection,
EcalElectronicsIdCollection
& memchidcollection,
42
EcalTrigPrimDigiCollection
&tpcollection);
43
44
45
private
:
46
47
void
DecodeMEM
(
DCCTBTowerBlock
* towerblock,
EcalPnDiodeDigiCollection
& pndigicollection ,
48
EcalElectronicsIdCollection
& memttidcollection,
EcalElectronicsIdCollection
& memblocksizecollection,
49
EcalElectronicsIdCollection
& memgaincollection,
EcalElectronicsIdCollection
& memchidcollection);
50
51
std::pair<int,int>
cellIndex
(
int
tower_id,
int
strip
,
int
xtal);
52
int
cryIc
(
int
tower_id,
int
strip,
int
xtal);
53
bool
leftTower
(
int
tower)
const
;
54
bool
rightTower
(
int
tower)
const
;
55
56
private
:
57
DCCTBDataParser
*
theParser_
;
58
59
enum
SMGeom_t
{
60
kModules
= 4,
// Number of modules per supermodule
61
kTriggerTowers
= 68,
// Number of trigger towers per supermodule
62
kTowersInPhi
= 4,
// Number of trigger towers in phi
63
kTowersInEta
= 17,
// Number of trigger towers in eta
64
kCrystals
= 1700,
// Number of crystals per supermodule
65
kPns
= 10,
// Number of PN laser monitoring diodes per supermodule
66
kCrystalsInPhi
= 20,
// Number of crystals in phi
67
kCrystalsInEta
= 85,
// Number of crystals in eta
68
kCrystalsPerTower
= 25,
// Number of crystals per trigger tower
69
kCardsPerTower
= 5,
// Number of VFE cards per trigger tower
70
kChannelsPerCard
= 5
// Number of channels per VFE card
71
};
72
73
enum
SMElectronics_t
{
74
kSamplesPerChannel
= 10,
// Number of sample per channel, per event
75
kSamplesPerPn
= 50,
// Number of sample per PN, per event
76
kChannelsPerTower
= 25,
// Number of channels per trigger tower
77
kStripsPerTower
= 5,
// Number of VFE cards per trigger tower
78
kChannelsPerStrip
= 5,
// Number channels per VFE card
79
kPnPerTowerBlock
= 5,
// Number Pn diodes pertaining to 1 tower block = 1/2 mem box
80
kTriggerTowersAndMem
= 70
// Number of trigger towers block including mems
81
};
82
83
// index and container for expected towers (according to DCC status)
84
unsigned
_numExpectedTowers
;
85
unsigned
_ExpectedTowers
[71];
86
unsigned
_expTowersIndex
;
87
88
// used for mem boxes unpacking
89
int
memRawSample_
[
kStripsPerTower
][
kChannelsPerStrip
][
kSamplesPerChannel
+1];
// store raw data for one mem
90
int
data_MEM
[500];
// collects unpacked data for both mems
91
bool
pnAllocated
;
92
bool
pnIsOkInBlock
[
kPnPerTowerBlock
];
93
94
};
95
#endif
LogDebug
#define LogDebug(id)
Definition:
PFTrackAlgoTools.cc:503
EBDigiCollection
Definition:
EcalDigiCollections.h:33
EcalTBDaqFormatter::kTowersInEta
Definition:
EcalTBDaqFormatter.h:63
EcalTBDaqFormatter::rightTower
bool rightTower(int tower) const
Definition:
EcalTBDaqFormatter.cc:880
MessageLogger.h
edm::SortedCollection< EcalPnDiodeDigi >
EcalTBDaqFormatter::theParser_
DCCTBDataParser * theParser_
Definition:
EcalTBDaqFormatter.h:57
EcalTBDaqFormatter::kTowersInPhi
Definition:
EcalTBDaqFormatter.h:62
EcalTBDaqFormatter::kCrystalsPerTower
Definition:
EcalTBDaqFormatter.h:68
EcalTBDaqFormatter::_numExpectedTowers
unsigned _numExpectedTowers
Definition:
EcalTBDaqFormatter.h:84
EcalTBDaqFormatter::cryIc
int cryIc(int tower_id, int strip, int xtal)
Definition:
EcalTBDaqFormatter.cc:863
edm::EDCollection< EBDetId >
EcalTBDaqFormatter::interpretRawData
void interpretRawData(const FEDRawData &data, EBDigiCollection &digicollection, 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:
EcalTBDaqFormatter.cc:50
EcalTBDaqFormatter::DecodeMEM
void DecodeMEM(DCCTBTowerBlock *towerblock, EcalPnDiodeDigiCollection &pndigicollection, EcalElectronicsIdCollection &memttidcollection, EcalElectronicsIdCollection &memblocksizecollection, EcalElectronicsIdCollection &memgaincollection, EcalElectronicsIdCollection &memchidcollection)
Definition:
EcalTBDaqFormatter.cc:601
EcalTBDaqFormatter::leftTower
bool leftTower(int tower) const
Definition:
EcalTBDaqFormatter.cc:891
EcalTBDaqFormatter::SMGeom_t
SMGeom_t
Definition:
EcalTBDaqFormatter.h:59
EcalTBDaqFormatter::kCardsPerTower
Definition:
EcalTBDaqFormatter.h:69
EcalTBDaqFormatter::data_MEM
int data_MEM[500]
Definition:
EcalTBDaqFormatter.h:90
EcalTBDaqFormatter::cellIndex
std::pair< int, int > cellIndex(int tower_id, int strip, int xtal)
Definition:
EcalTBDaqFormatter.cc:830
EcalTBDaqFormatter::pnIsOkInBlock
bool pnIsOkInBlock[kPnPerTowerBlock]
Definition:
EcalTBDaqFormatter.h:92
EcalTBDaqFormatter::kTriggerTowersAndMem
Definition:
EcalTBDaqFormatter.h:80
EcalTBDaqFormatter::kStripsPerTower
Definition:
EcalTBDaqFormatter.h:77
EcalTBDaqFormatter::kPnPerTowerBlock
Definition:
EcalTBDaqFormatter.h:79
FEDRawData
Definition:
FEDRawData.h:20
EcalTBDaqFormatter::~EcalTBDaqFormatter
virtual ~EcalTBDaqFormatter()
Definition:
EcalTBDaqFormatter.h:32
EcalTBDaqFormatter::_expTowersIndex
unsigned _expTowersIndex
Definition:
EcalTBDaqFormatter.h:86
Service.h
DCCTBTowerBlock
Definition:
DCCTowerBlock.h:21
EcalDigiCollections.h
EcalTBDaqFormatter::EcalTBDaqFormatter
EcalTBDaqFormatter()
Definition:
EcalTBDaqFormatter.cc:31
EcalTBDaqFormatter::kChannelsPerTower
Definition:
EcalTBDaqFormatter.h:76
DCCTowerBlock.h
EcalTBDaqFormatter::kModules
Definition:
EcalTBDaqFormatter.h:60
EcalTBDaqFormatter::kSamplesPerChannel
Definition:
EcalTBDaqFormatter.h:74
digi_MixPreMix_cfi.strip
strip
Definition:
digi_MixPreMix_cfi.py:15
EcalTBDaqFormatter::kCrystalsInPhi
Definition:
EcalTBDaqFormatter.h:66
EcalTBDaqFormatter::kSamplesPerPn
Definition:
EcalTBDaqFormatter.h:75
EcalTBDaqFormatter::_ExpectedTowers
unsigned _ExpectedTowers[71]
Definition:
EcalTBDaqFormatter.h:85
EcalTBDaqFormatter::kChannelsPerCard
Definition:
EcalTBDaqFormatter.h:70
EcalTBDaqFormatter::kPns
Definition:
EcalTBDaqFormatter.h:65
EcalTBDaqFormatter::SMElectronics_t
SMElectronics_t
Definition:
EcalTBDaqFormatter.h:73
EcalTBDaqFormatter::kCrystals
Definition:
EcalTBDaqFormatter.h:64
EcalTBDaqFormatter::pnAllocated
bool pnAllocated
Definition:
EcalTBDaqFormatter.h:91
data
char data[epos_bytes_allocation]
Definition:
EPOS_Wrapper.h:82
EcalTBDaqFormatter::kTriggerTowers
Definition:
EcalTBDaqFormatter.h:61
EcalTBDaqFormatter::memRawSample_
int memRawSample_[kStripsPerTower][kChannelsPerStrip][kSamplesPerChannel+1]
Definition:
EcalTBDaqFormatter.h:89
EcalTBDaqFormatter::kChannelsPerStrip
Definition:
EcalTBDaqFormatter.h:78
EcalRawDataCollections.h
EcalDetIdCollections.h
EcalTBDaqFormatter
Definition:
EcalTBDaqFormatter.h:27
EcalTBDaqFormatter::kCrystalsInEta
Definition:
EcalTBDaqFormatter.h:67
DCCTBDataParser
Definition:
DCCDataParser.h:27
Generated for CMSSW Reference Manual by
1.8.11