Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:30:49

0001 #ifndef RPCDigiProducer_h
0002 #define RPCDigiProducer_h
0003 
0004 #include "FWCore/Framework/interface/stream/EDProducer.h"
0005 #include "FWCore/Framework/interface/Event.h"
0006 #include "FWCore/Framework/interface/EventSetup.h"
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0009 #include "FWCore/Utilities/interface/ESGetToken.h"
0010 
0011 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
0012 #include "SimMuon/RPCDigitizer/src/RPCDigitizer.h"
0013 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0014 #include "CondFormats/RPCObjects/interface/RPCStripNoises.h"
0015 #include "CondFormats/DataRecord/interface/RPCStripNoisesRcd.h"
0016 #include "CondFormats/RPCObjects/interface/RPCClusterSize.h"
0017 #include "CondFormats/DataRecord/interface/RPCClusterSizeRcd.h"
0018 
0019 class RPCGeometry;
0020 class RPCSimSetUp;
0021 class RPCSynchronizer;
0022 
0023 class RPCDigiProducer : public edm::stream::EDProducer<> {
0024 public:
0025   typedef RPCDigitizer::RPCDigiSimLinks RPCDigitizerSimLinks;
0026 
0027   explicit RPCDigiProducer(const edm::ParameterSet& ps);
0028   ~RPCDigiProducer() override;
0029 
0030   void beginRun(const edm::Run&, const edm::EventSetup&) override;
0031 
0032   /**Produces the EDM products,*/
0033   void produce(edm::Event& e, const edm::EventSetup& c) override;
0034 
0035   void setRPCSetUp(const std::vector<RPCStripNoises::NoiseItem>&, const std::vector<double>&);
0036 
0037 private:
0038   RPCDigitizer* theDigitizer;
0039   RPCSimSetUp* theRPCSimSetUp;
0040 
0041   //Name of Collection used for create the XF
0042   std::string mix_;
0043   std::string collection_for_XF;
0044 
0045   //Token for accessing data
0046   edm::EDGetTokenT<CrossingFrame<PSimHit>> crossingFrameToken;
0047 
0048   //EventSetup Tokens
0049   edm::ESGetToken<RPCGeometry, MuonGeometryRecord> geomToken;
0050   edm::ESGetToken<RPCStripNoises, RPCStripNoisesRcd> noiseToken;
0051   edm::ESGetToken<RPCClusterSize, RPCClusterSizeRcd> clsToken;
0052 };
0053 
0054 #endif