8 : inputFile_(iConfig.getParameter<
edm::FileInPath>(
"inputFile")),
9 inputStream_(inputFile_.fullPath().c_str()), nEvent_(0),
19 produces<EcalTrigPrimDigiCollection>();
20 produces<HcalTrigPrimDigiCollection>();
26 std::cerr <<
"Input file didn't open!!" << std::endl;
60 std::unique_ptr<EcalTrigPrimDigiCollection> ecalTPs(
62 std::unique_ptr<HcalTrigPrimDigiCollection> hcalTPs(
64 ecalTPs->reserve(56 * 72);
65 hcalTPs->reserve(56 * 72 + 18 * 8);
66 const int nEcalSamples = 1;
67 const int nHcalSamples = 1;
78 unsigned short junk_counter = 0;
90 if ((junk_counter == 11) && (junk ==
"1-32")) {
94 }
while (junk !=
"LUTOut");
95 std::cout <<
"Skipped file header" << std::endl;
97 std::cout <<
"oldVersion_ TRUE (tower 1-32)" << std::endl;
99 std::cout <<
"oldVersion_ FALSE (tower 0-31)" << std::endl;
105 for (
int i = 0;
i < 72;
i++) {
107 for (
int j = 0; j < 56; j++) {
112 unsigned short crate;
114 unsigned short tower;
118 inputStream_ >> std::hex >> fileEventNumber >> crate >> card >> tower >>
124 int encodedEtEcal = (
int)(eAddr >> 1);
125 bool fineGrainEcal = (
bool)(eAddr & 1);
126 int encodedEtHcal = (
int)(hAddr >> 1);
127 bool fineGrainHcal = (
bool)(hAddr & 1);
137 iPhi = ((72 + 18 - iPhi) % 72);
141 unsigned absIeta =
abs(iEta);
142 int zSide = (iEta / absIeta);
154 ecalDigi.
setSize(nEcalSamples);
161 ecalTPs->push_back(ecalDigi);
165 hcalDigi.
setSize(nHcalSamples);
171 hcalTPs->push_back(hcalDigi);
176 for (
int i = 0;
i < 18;
i++) {
177 for (
int j = 0; j < 8; j++) {
179 int hfIEta = (j % 4) + 29;
181 hfIEta = hfIEta * (-1);
185 int hfIPhi = (
i % 9) * 8 + (j / 4) * 4 + 1;
190 hcalTPs->push_back(hfDigi);
void setSample(int i, const HcalTriggerPrimitiveSample &sam)
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
edm::SortedCollection< HcalTriggerPrimitiveDigi > HcalTrigPrimDigiCollection
~RctInputTextToDigi() override
short calcIEta(unsigned short iCrate, unsigned short iCard, unsigned short iTower) const
#define DEFINE_FWK_MODULE(type)
void setSample(int i, const EcalTriggerPrimitiveSample &sam)
Abs< T >::type abs(const T &t)
void produce(edm::Event &, const edm::EventSetup &) override
unsigned short calcIPhi(unsigned short iCrate, unsigned short iCard, unsigned short iTower) const
RctInputTextToDigi(const edm::ParameterSet &)
edm::SortedCollection< EcalTriggerPrimitiveDigi > EcalTrigPrimDigiCollection
L1RCTLookupTables * lookupTables_
std::ifstream inputStream_
const L1RCTParameters * rctParameters() const
void setRCTParameters(const L1RCTParameters *rctParameters)
T const * product() const