Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:26:12

0001 #ifndef RecoLocalMuon_ME0RecHitProducer_h
0002 #define RecoLocalMuon_ME0RecHitProducer_h
0003 
0004 /** \class ME0RecHitProducer
0005  *  Module for ME0RecHit production. 
0006  *  
0007  *  $Date: 2014/02/04 10:53:23 $
0008  *  $Revision: 1.1 $
0009  *  \author M. Maggim -- INFN Bari
0010  */
0011 
0012 #include <memory>
0013 #include <fstream>
0014 #include <iostream>
0015 #include <cstdint>
0016 #include <cstdlib>
0017 #include <bitset>
0018 #include <map>
0019 
0020 #include "FWCore/Framework/interface/stream/EDProducer.h"
0021 #include "FWCore/Utilities/interface/InputTag.h"
0022 #include "DataFormats/MuonDetId/interface/ME0DetId.h"
0023 #include "FWCore/Framework/interface/Event.h"
0024 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0025 #include "FWCore/Framework/interface/ESHandle.h"
0026 #include "FWCore/Utilities/interface/ESGetToken.h"
0027 
0028 #include "DataFormats/GEMDigi/interface/ME0DigiPreRecoCollection.h"
0029 
0030 #include "Geometry/GEMGeometry/interface/ME0EtaPartition.h"
0031 #include "Geometry/GEMGeometry/interface/ME0Geometry.h"
0032 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0033 #include "DataFormats/MuonDetId/interface/ME0DetId.h"
0034 #include "DataFormats/GEMRecHit/interface/ME0RecHit.h"
0035 
0036 #include "RecoLocalMuon/GEMRecHit/interface/ME0RecHitBaseAlgo.h"
0037 #include "RecoLocalMuon/GEMRecHit/interface/ME0RecHitAlgoFactory.h"
0038 #include "DataFormats/GEMRecHit/interface/ME0RecHitCollection.h"
0039 
0040 #include <string>
0041 
0042 class ME0RecHitBaseAlgo;
0043 
0044 class ME0RecHitProducer : public edm::stream::EDProducer<> {
0045 public:
0046   /// Constructor
0047   ME0RecHitProducer(const edm::ParameterSet& config);
0048 
0049   /// Destructor
0050   ~ME0RecHitProducer() override;
0051 
0052   /// The method which produces the rechits
0053   void produce(edm::Event& event, const edm::EventSetup& setup) override;
0054 
0055 private:
0056   // The label to be used to retrieve ME0 digis from the event
0057 
0058   edm::EDGetTokenT<ME0DigiPreRecoCollection> m_token;
0059 
0060   // The reconstruction algorithm
0061   std::unique_ptr<ME0RecHitBaseAlgo> theAlgo;
0062 
0063   //EventSetup Token for ME0Geometry
0064   edm::ESGetToken<ME0Geometry, MuonGeometryRecord> m_me0GeomToken;
0065 };
0066 
0067 #endif