Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:36

0001 // -*- C++ -*-
0002 //
0003 // Package:     TrackingTools/TrackAssociator
0004 // Class  :     MuonDetIdAssociatorMaker
0005 //
0006 // Implementation:
0007 //     [Notes on implementation]
0008 //
0009 // Original Author:  Christopher Jones
0010 //         Created:  Thu, 30 May 2019 15:05:57 GMT
0011 //
0012 
0013 // system include files
0014 
0015 // user include files
0016 #include "MuonDetIdAssociatorMaker.h"
0017 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0018 #include "FWCore/Framework/interface/ESHandle.h"
0019 #include "TrackingTools/Records/interface/DetIdAssociatorRecord.h"
0020 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0021 #include "MuonDetIdAssociator.h"
0022 
0023 //
0024 // constants, enums and typedefs
0025 //
0026 
0027 //
0028 // static data member definitions
0029 //
0030 
0031 //
0032 // constructors and destructor
0033 //
0034 MuonDetIdAssociatorMaker::MuonDetIdAssociatorMaker(edm::ParameterSet const& pSet,
0035                                                    edm::ESConsumesCollectorT<DetIdAssociatorRecord>&& iCollector)
0036     : etaBinSize{pSet.getParameter<double>("etaBinSize")},
0037       nPhi{pSet.getParameter<int>("nPhi")},
0038       nEta{pSet.getParameter<int>("nEta")},
0039       includeBadChambers_{pSet.getParameter<bool>("includeBadChambers")},
0040       includeGEM_{pSet.getParameter<bool>("includeGEM")},
0041       includeME0_{pSet.getParameter<bool>("includeME0")} {
0042   geomToken_ = iCollector.consumes();
0043   badChambersToken_ = iCollector.consumes();
0044 }
0045 
0046 std::unique_ptr<DetIdAssociator> MuonDetIdAssociatorMaker::make(const DetIdAssociatorRecord& iRecord) const {
0047   return std::unique_ptr<DetIdAssociator>(new MuonDetIdAssociator(nPhi,
0048                                                                   nEta,
0049                                                                   etaBinSize,
0050                                                                   &iRecord.get(geomToken_),
0051                                                                   &iRecord.get(badChambersToken_),
0052                                                                   includeBadChambers_,
0053                                                                   includeGEM_,
0054                                                                   includeME0_));
0055 }