test
Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
L1Trigger
TextToDigi
plugins
RawToText.cc
Go to the documentation of this file.
1
2
#include "
L1Trigger/TextToDigi/plugins/RawToText.h
"
3
4
// system
5
#include <string>
6
#include <fstream>
7
#include <iostream>
8
#include <iomanip>
9
// framework
10
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
11
#include "
FWCore/Utilities/interface/Exception.h
"
12
// raw data collection
13
#include "
DataFormats/FEDRawData/interface/FEDRawDataCollection.h
"
14
15
16
RawToText::RawToText
(
const
edm::ParameterSet
& iConfig) :
17
inputLabel_(iConfig.getParameter<edm::
InputTag
>(
"inputLabel"
)),
18
fedId_(iConfig.getUntrackedParameter<int>(
"fedId"
, 745)),
19
filename_(iConfig.getUntrackedParameter<std::
string
>(
"filename"
,
"slinkOutput.txt"
)),
20
nevt_(0) {
21
edm::LogInfo
(
"TextToDigi"
) <<
"Creating ASCII dump "
<<
filename_
<< std::endl;
22
}
23
24
25
RawToText::~RawToText
() {}
26
27
28
void
RawToText::analyze
(
const
edm::Event
&
iEvent
,
const
edm::EventSetup
& iSetup) {
29
30
nevt_
++;
31
32
// get raw data collection
33
edm::Handle<FEDRawDataCollection>
feds
;
34
iEvent.
getByLabel
(
inputLabel_
, feds);
35
const
FEDRawData
& gctRcd = feds->FEDData(
fedId_
);
36
37
edm::LogInfo
(
"GCT"
) <<
"Upacking FEDRawData of size "
38
<<
std::dec
<< gctRcd.
size
()
39
<< std::endl;
40
41
// do a simple check of the raw data
42
if
(gctRcd.
size
()<16) {
43
edm::LogWarning
(
"Invalid Data"
)
44
<<
"Empty/invalid GCT raw data, size = "
<< gctRcd.
size
()
45
<< std::endl;
46
return
;
47
}
48
49
const
unsigned
char
*
data
= gctRcd.
data
();
50
51
int
eventSize = gctRcd.
size
() / 4;
52
53
unsigned
long
d
= 0;
54
for
(
int
i
=0;
i
<eventSize;
i
++) {
55
d = 0;
56
//d = data[i*4+0] + (data[i*4+1]<<8) + (data[i*4+2]<<16) + (data[i*4+3]<<24);
57
for
(
int
j
=0;
j
<4;
j
++) {
58
d += ((data[
i
*4+
j
]&0xff)<<(8*
j
));
59
}
60
file_
<< std::setw(8) << std::setfill(
'0'
) << std::hex << d << std::endl;
61
}
62
file_
<< std::flush << std::endl;
63
64
}
65
66
67
void
RawToText::beginJob
() {
68
69
// open VME file
70
file_
.open(
filename_
.c_str(),
std::ios::out
);
71
72
if
(!
file_
.good()) {
73
edm::LogInfo
(
"RawToText"
) <<
"Failed to open ASCII file "
<<
filename_
74
<< std::endl;
75
}
76
}
77
78
79
void
RawToText::endJob
() {
80
file_
.close();
81
}
RawToText.h
i
int i
Definition:
DBlmapReader.cc:9
RawToText::fedId_
int fedId_
Definition:
RawToText.h:41
MessageLogger.h
edm::Handle
Definition:
AssociativeIterator.h:47
edm::LogWarning
Definition:
MessageLogger.h:140
FEDRawDataCollection.h
RawToText::RawToText
RawToText(const edm::ParameterSet &)
Definition:
RawToText.cc:16
RawToText::file_
std::ofstream file_
Definition:
RawToText.h:45
FEDRawData::size
size_t size() const
Lenght of the data buffer in bytes.
Definition:
FEDRawData.h:47
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
HLT_25ns10e33_v2_cff.InputTag
tuple InputTag
Definition:
HLT_25ns10e33_v2_cff.py:58467
ztail.d
tuple d
Definition:
ztail.py:151
RawToText::filename_
std::string filename_
Definition:
RawToText.h:44
iEvent
int iEvent
Definition:
GenABIO.cc:230
RawToText::endJob
virtual void endJob()
Definition:
RawToText.cc:79
FEDRawData
Definition:
FEDRawData.h:20
RawToText::~RawToText
~RawToText()
Definition:
RawToText.cc:25
j
int j
Definition:
DBlmapReader.cc:9
edm::EventSetup
Definition:
EventSetup.h:45
GenerateHcalLaserBadRunList.out
tuple out
Definition:
GenerateHcalLaserBadRunList.py:91
edm::Event::getByLabel
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition:
Event.h:418
edm::LogInfo
Definition:
MessageLogger.h:214
RawToText::inputLabel_
edm::InputTag inputLabel_
Definition:
RawToText.h:38
Exception.h
RawToText::nevt_
int nevt_
Definition:
RawToText.h:47
RawToText::analyze
virtual void analyze(const edm::Event &, const edm::EventSetup &)
Definition:
RawToText.cc:28
FEDRawData::data
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
Definition:
FEDRawData.cc:28
HcalMonitorModule_cfi.feds
list feds
Definition:
HcalMonitorModule_cfi.py:3
edm::ParameterSet
Definition:
ParameterSet.h:36
edm::Event
Definition:
Event.h:65
RawToText::beginJob
virtual void beginJob()
Definition:
RawToText.cc:67
TauDecayModes.dec
tuple dec
Definition:
TauDecayModes.py:141
AlCaHLTBitMon_QueryRunRegistry.data
tuple data
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:288
Generated for CMSSW Reference Manual by
1.8.5