Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
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:
MessageLogger.h:501
EBDigiCollection
Definition:
EcalDigiCollections.h:30
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
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.5