Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef MuonIdentification_MuonShowerDigiFiller_h
0002 #define MuonIdentification_MuonShowerDigiFiller_h
0003 
0004 // -*- C++ -*-
0005 //
0006 // Package:    MuonShowerDigiFiller
0007 // Class:      MuonShowerDigiFiller
0008 //
0009 /**\class MuonShowerDigiFiller MuonShowerDigiFiller.h RecoMuon/MuonIdentification/interface/MuonShowerDigiFiller.h
0010 
0011  Description: Class filling shower information using DT and CSC digis
0012 
0013  Implementation:
0014      <Notes on implementation>
0015 */
0016 //
0017 // Original Author:  Carlo Battilana, INFN BO
0018 //         Created:  Sat Mar 23 14:36:22 CET 2019
0019 //
0020 //
0021 
0022 // system include files
0023 
0024 // user include files
0025 #include "FWCore/Framework/interface/Frameworkfwd.h"
0026 
0027 #include "FWCore/Framework/interface/Event.h"
0028 #include "FWCore/Framework/interface/EventSetup.h"
0029 
0030 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0031 #include "FWCore/Framework/interface/ConsumesCollector.h"
0032 
0033 #include "DataFormats/DTDigi/interface/DTDigiCollection.h"
0034 #include "DataFormats/CSCDigi/interface/CSCStripDigiCollection.h"
0035 
0036 #include "Geometry/DTGeometry/interface/DTGeometry.h"
0037 #include "Geometry/CSCGeometry/interface/CSCGeometry.h"
0038 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0039 
0040 #include "DataFormats/MuonReco/interface/MuonChamberMatch.h"
0041 #include "TrackingTools/TrackAssociator/interface/TAMuonChamberMatch.h"
0042 
0043 //
0044 // class decleration
0045 //
0046 
0047 class MuonShowerDigiFiller {
0048 public:
0049   MuonShowerDigiFiller() {}
0050   MuonShowerDigiFiller(const edm::ParameterSet&, edm::ConsumesCollector&& iC);
0051 
0052   void getES(const edm::EventSetup& iSetup);
0053   void getDigis(edm::Event& iEvent);
0054 
0055   void fill(reco::MuonChamberMatch& muChMatch) const;
0056   void fillDefault(reco::MuonChamberMatch& muChMatch) const;
0057 
0058 private:
0059   double m_digiMaxDistanceX;
0060 
0061   edm::EDGetTokenT<DTDigiCollection> m_dtDigisToken;
0062   edm::EDGetTokenT<CSCStripDigiCollection> m_cscDigisToken;
0063 
0064   edm::ESGetToken<DTGeometry, MuonGeometryRecord> m_dtGeometryToken;
0065   edm::ESGetToken<CSCGeometry, MuonGeometryRecord> m_cscGeometryToken;
0066 
0067   edm::ESHandle<DTGeometry> m_dtGeometry;
0068   edm::ESHandle<CSCGeometry> m_cscGeometry;
0069 
0070   edm::Handle<DTDigiCollection> m_dtDigis;
0071   edm::Handle<CSCStripDigiCollection> m_cscDigis;
0072 };
0073 
0074 #endif