Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:58

0001 #ifndef CSCRecHitD_CSCRecHitDProducer_h
0002 #define CSCRecHitD_CSCRecHitDProducer_h
0003 
0004 /** \class CSCRecHitDProducer 
0005  *
0006  * Produces a collection of CSCRecHit2D's (2-dim space-point RecHits)
0007  * in endcap muon CSCs. 
0008  * It starts from collections of CSC wire and strip digis.
0009  * The treatment here is differently than from CSCRecHit2Producer 
0010  * existing in RecoLocalMuon/CSCRecHit as pseudo-segments are built 
0011  * from wire hits only and strip only hits. 
0012  *
0013  * \author Stoyan Stoynev
0014  *
0015  */
0016 
0017 #include <FWCore/Framework/interface/ConsumesCollector.h>
0018 #include <FWCore/Framework/interface/Frameworkfwd.h>
0019 #include "FWCore/Framework/interface/stream/EDProducer.h"
0020 #include <FWCore/Framework/interface/Event.h>
0021 #include <FWCore/ParameterSet/interface/ParameterSet.h>
0022 #include <FWCore/Utilities/interface/InputTag.h>
0023 #include <FWCore/Utilities/interface/ESGetToken.h>
0024 
0025 #include <DataFormats/CSCDigi/interface/CSCStripDigiCollection.h>
0026 #include <DataFormats/CSCDigi/interface/CSCWireDigiCollection.h>
0027 #include <Geometry/Records/interface/MuonGeometryRecord.h>
0028 #include <Geometry/CSCGeometry/interface/CSCGeometry.h>
0029 
0030 class CSCRecHitDBuilder;
0031 class CSCRecoConditions;
0032 
0033 class CSCRecHitDProducer : public edm::stream::EDProducer<> {
0034 public:
0035   explicit CSCRecHitDProducer(const edm::ParameterSet& ps);
0036   ~CSCRecHitDProducer() override;
0037 
0038   void produce(edm::Event&, const edm::EventSetup&) override;
0039 
0040   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0041 
0042 private:
0043   // Counting events processed
0044   unsigned iRun;
0045   bool useCalib;
0046   bool useStaticPedestals;
0047   bool useTimingCorrections;
0048   bool useGasGainCorrections;
0049 
0050   CSCRecHitDBuilder* recHitBuilder_;
0051   CSCRecoConditions* recoConditions_;
0052 
0053   edm::EDGetTokenT<CSCStripDigiCollection> s_token;
0054   edm::EDGetTokenT<CSCWireDigiCollection> w_token;
0055   edm::ESGetToken<CSCGeometry, MuonGeometryRecord> cscGeom_token;
0056 };
0057 
0058 #endif