38 : ProducerSourceFromFiles(ps, desc,
true) {
39 produces<std::vector<L1MuRegionalCand> >(
"DT");
40 produces<std::vector<L1MuRegionalCand> >(
"CSC");
41 produces<std::vector<L1MuRegionalCand> >(
"RPCb");
42 produces<std::vector<L1MuRegionalCand> >(
"RPCf");
44 produces<L1CaloRegionCollection>();
47 throw std::runtime_error(
"L1MuGMTHWFileReader: no input file");
52 throw std::runtime_error(
"L1MuGMTHWFileReader: file " +
fileNames()[0] +
" could not be openned");
79 std::unique_ptr<std::vector<L1MuRegionalCand> > DTCands(
new std::vector<L1MuRegionalCand>);
80 for (
unsigned i = 0;
i < 4;
i++) {
84 DTCands->push_back(*mu);
88 std::unique_ptr<std::vector<L1MuRegionalCand> > CSCCands(
new std::vector<L1MuRegionalCand>);
89 for (
unsigned i = 0;
i < 4;
i++) {
93 CSCCands->push_back(*mu);
97 std::unique_ptr<std::vector<L1MuRegionalCand> > RPCbCands(
new std::vector<L1MuRegionalCand>);
98 for (
unsigned i = 0;
i < 4;
i++) {
102 RPCbCands->push_back(*mu);
106 std::unique_ptr<std::vector<L1MuRegionalCand> > RPCfCands(
new std::vector<L1MuRegionalCand>);
107 for (
unsigned i = 0;
i < 4;
i++) {
111 RPCfCands->push_back(*mu);
118 rctRegions->push_back(
137 if (line_id ==
"RUN") {
143 if (line_id ==
"EVT") {
149 if (line_id ==
"DT" || line_id ==
"CSC" || line_id ==
"BRPC" || line_id ==
"FRPC") {
155 inpmu |= (val & 0x01) << 24;
157 inpmu |= (val & 0x01) << 23;
159 inpmu |= (val & 0x01) << 22;
161 inpmu |= (val & 0x3f) << 16;
163 inpmu |= (val & 0x07) << 13;
165 inpmu |= (val & 0x1f) << 8;
167 inpmu |= (val & 0xff);
170 chipid += line_id[0];
175 if (line_id ==
"CSC")
177 if (line_id ==
"BRPC")
179 if (line_id ==
"FRPC")
188 if (line_id ==
"MIP") {
191 for (
int i = 0;
i < nPairs;
i++) {
204 if (line_id ==
"NQ") {
207 for (
int i = 0;
i < nPairs;
i++) {
223 m_in.getline(buf, sz);
225 }
while (line_id !=
"NQ" && !
m_in.eof());
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
L1MuGMTHWFileReader(edm::ParameterSet const &, edm::InputSourceDescription const &)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
std::vector< std::string > const & fileNames() const
void setBx(int bx)
Set Bunch Crossing.
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.
unsigned long long TimeValue_t
~L1MuGMTHWFileReader() override
A calorimeter trigger region (sum of 4x4 trigger towers)
std::vector< L1CaloRegion > L1CaloRegionCollection
bool setRunAndEventInfo(edm::EventID &id, edm::TimeValue_t &time, edm::EventAuxiliary::ExperimentType &eType) override
void produce(edm::Event &) override