1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#ifndef RPCUnpackingModule_H
#define RPCUnpackingModule_H
/** \class RPCUnpackingModule
** unpacking RPC raw data
**/
#include "FWCore/Framework/interface/stream/EDProducer.h"
#include "FWCore/Utilities/interface/InputTag.h"
#include "FWCore/Framework/interface/ESWatcher.h"
#include "CondFormats/DataRecord/interface/RPCEMapRcd.h"
#include "CondFormats/RPCObjects/interface/RPCEMap.h"
#include "RPCReadOutMappingWithFastSearch.h"
#include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
class RPCReadOutMapping;
namespace edm {
class Event;
class EventSetup;
class Run;
} // namespace edm
class RPCUnpackingModule : public edm::stream::EDProducer<> {
public:
///Constructor
RPCUnpackingModule(const edm::ParameterSet& pset);
///Destructor
~RPCUnpackingModule() override;
static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
/** Retrieves a RPCDigiCollection from the Event, creates a
FEDRawDataCollection (EDProduct) using the DigiToRaw converter,
and attaches it to the Event. */
void produce(edm::Event& ev, const edm::EventSetup& es) override;
void beginRun(const edm::Run& run, const edm::EventSetup& es) override;
private:
edm::InputTag dataLabel_;
bool doSynchro_;
unsigned long eventCounter_;
edm::ESWatcher<RPCEMapRcd> theRecordWatcher;
edm::ESGetToken<RPCEMap, RPCEMapRcd> theReadoutMappingToken;
const RPCReadOutMapping* theCabling;
RPCReadOutMappingWithFastSearch theReadoutMappingSearch;
edm::EDGetTokenT<FEDRawDataCollection> fedToken_;
};
#endif
|