|
|
Go to the documentation of this file.
31 : m_textFileName(iConfig.getParameter<
std::
string>(
"TextFileName")),
32 m_fileEventOffset(iConfig.getParameter<
int>(
"fileEventOffset")),
35 produces<L1CaloEmCollection>();
36 produces<L1CaloRegionCollection>();
43 <<
"SourceCardTextToRctDigi::SourceCardTextToRctDigi : "
44 <<
" couldn't open the file " <<
m_textFileName <<
" for reading" << std::endl;
61 for (
int j = 0;
j < 4;
j++) {
65 for (
int j = 0;
j < 14;
j++)
66 rgn->push_back(
L1CaloRegion(0,
false,
false,
false,
false,
i,
j / 2,
j % 2));
67 for (
unsigned j = 0;
j < 8;
j++)
92 <<
"SourceCardTextToRctDigi::produce() : "
102 unsigned long VHDCI[2][2];
106 unsigned short eventNumber;
107 unsigned short logicalCardID;
110 unsigned short eIsoRank[18][4];
111 unsigned short eIsoCardId[18][4];
112 unsigned short eIsoRegionId[18][4];
113 unsigned short eNonIsoRank[18][4];
114 unsigned short eNonIsoCardId[18][4];
115 unsigned short eNonIsoRegionId[18][4];
118 unsigned short RC[18][7][2];
119 unsigned short RCof[18][7][2];
120 unsigned short RCtau[18][7][2];
121 unsigned short MIPbits[18][7][2];
122 unsigned short Qbits[18][7][2];
123 unsigned short HF[18][4][2];
124 unsigned short HFQ[18][4][2];
129 <<
"SourceCardTextToRctDigi::produce : "
133 int thisEventNumber = -1;
136 if (!getline(
m_file, dataString)) {
138 <<
"SourceCardTextToRctDigi::SourceCardTextToRctDigi : "
139 <<
" couldn't read from the file " <<
m_textFileName << std::endl;
147 assert(eventNumber == thisEventNumber);
148 thisEventNumber = eventNumber;
153 if (routingMode == 0) {
159 eNonIsoCardId[crate],
160 eNonIsoRegionId[crate],
165 }
else if (routingMode == 1) {
169 }
else if (routingMode == 2) {
173 }
else if (routingMode == 3) {
176 RC[crate], RCof[crate], RCtau[crate], RC[crate + 9], RCof[crate + 9], RCtau[crate + 9], VHDCI);
180 throw cms::Exception(
"SourceCardtextToRctDigiError") <<
"SourceCardTextToRctDigi::produce : "
181 <<
" unknown routing mode=" << routingMode << std::endl;
188 for (
int i = 0;
i < 4;
i++) {
189 em->push_back(
L1CaloEmCand(eIsoRank[crate][
i], eIsoRegionId[crate][
i], eIsoCardId[crate][
i], crate,
true,
i, 0));
191 L1CaloEmCand(eNonIsoRank[crate][
i], eNonIsoRegionId[crate][
i], eNonIsoCardId[crate][
i], crate,
false,
i, 0));
195 for (
int i = 0;
i < 7;
i++) {
196 for (
int j = 0;
j < 2;
j++) {
200 MIPbits[crate][
i][
j],
209 for (
int i = 0;
i < 4;
i++) {
210 for (
int j = 0;
j < 2;
j++) {
220 for (L1CaloEmCollection::const_iterator iem = em->begin(); iem != em->end(); iem++) {
224 for (L1CaloRegionCollection::const_iterator irgn = rgn->begin(); irgn != rgn->end(); irgn++) {
void produce(edm::Event &, const edm::EventSetup &) override
A calorimeter trigger region (sum of 4x4 trigger towers)
std::string m_textFileName
Name out input file.
void LogicalCardIDtoRoutingMode(unsigned short &logicalCardID, int &RoutingMode, int &RCTCrateNumber) const
void VHDCItoRC56HF(unsigned short(&RC)[7][2], unsigned short(&RCof)[7][2], unsigned short(&RCtau)[7][2], unsigned short(&HF)[4][2], unsigned short(&HFQ)[4][2], unsigned long(&VHDCI)[2][2]) const
SourceCardTextToRctDigi(const edm::ParameterSet &)
void putEmptyDigi(edm::Event &)
Create empty digi collection.
static L1CaloRegion makeHFRegion(const unsigned et, const bool fineGrain, const unsigned crate, const unsigned rgn)
construct HF region from components
~SourceCardTextToRctDigi() override
std::vector< L1CaloEmCand > L1CaloEmCollection
void VHDCItoRC012(unsigned short(&RC)[7][2], unsigned short(&RCof)[7][2], unsigned short(&RCtau)[7][2], unsigned long(&VHDCI)[2][2]) const
const static int NUM_RCT_CRATES
void STRINGtoVHDCI(unsigned short &logicalCardID, unsigned short &eventNumber, std::string &dataString, unsigned long(&VHDCI)[2][2]) const
std::ifstream m_file
file handle
void VHDCItoEMU(unsigned short(&eIsoRank)[4], unsigned short(&eIsoCardId)[4], unsigned short(&eIsoRegionId)[4], unsigned short(&eNonIsoRank)[4], unsigned short(&eNonIsoCardId)[4], unsigned short(&eNonIsoRegionId)[4], unsigned short(&MIPbits)[7][2], unsigned short(&Qbits)[7][2], unsigned long(&VHDCI)[2][2]) const
SourceCardRouting m_scRouting
source card router
static L1CaloRegion makeHBHERegion(const unsigned et, const bool overFlow, const bool tauVeto, const bool mip, const bool quiet, const unsigned crate, const unsigned card, const unsigned rgn)
constructor HB/HE region from components
std::vector< L1CaloRegion > L1CaloRegionCollection
int m_fileEventOffset
Number of events to skip at the start of the file.
Abs< T >::type abs(const T &t)
const static unsigned NUM_LINES_PER_EVENT
Level-1 Region Calorimeter Trigger EM candidate.
void VHDCItoRC234(unsigned short(&RC)[7][2], unsigned short(&RCof)[7][2], unsigned short(&RCtau)[7][2], unsigned short(&sisterRC)[7][2], unsigned short(&sisterRCof)[7][2], unsigned short(&sisterRCtau)[7][2], unsigned long(&VHDCI)[2][2]) const