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