Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef RecoMuon_MuonSeedProducer_H
0002 #define RecoMuon_MuonSeedProducer_H
0003 
0004 /** \class MuonSeedProducer
0005  *
0006  * This EDProducer produces a collection of muon seeds.  
0007  * To do so, it forms pairs of CSC and/or DT segments and look
0008  * at the properties of the segment pair (eta, dphi)
0009  * first to estimate the properties of the muon, and segment direction
0010  * in case where there is only one segment available.
0011  *
0012  * \author Dominique Fortin - UCR
0013  *
0014  */
0015 
0016 #include "FWCore/Framework/interface/stream/EDProducer.h"
0017 #include "FWCore/Framework/interface/Frameworkfwd.h"
0018 #include "FWCore/Framework/interface/Event.h"
0019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0020 #include "FWCore/Utilities/interface/ESGetToken.h"
0021 
0022 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
0023 #include "RecoMuon/DetLayers/interface/MuonDetLayerGeometry.h"
0024 #include "RecoMuon/Records/interface/MuonRecoGeometryRecord.h"
0025 #include "MagneticField/Engine/interface/MagneticField.h"
0026 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0027 
0028 class MuonSeedBuilder;
0029 
0030 class MuonSeedProducer : public edm::stream::EDProducer<> {
0031 public:
0032   /// Constructor
0033   MuonSeedProducer(const edm::ParameterSet&);
0034 
0035   /// Destructor
0036   ~MuonSeedProducer() override;
0037 
0038   // Operations
0039 
0040   /// Get event properties to send to builder to fill seed collection
0041   void produce(edm::Event&, const edm::EventSetup&) override;
0042 
0043 private:
0044   // This Producer private debug flag
0045   bool debug;
0046 
0047   /// Builder where seeds are formed
0048   MuonSeedBuilder* muonSeedBuilder_;
0049 
0050   edm::ESGetToken<MuonDetLayerGeometry, MuonRecoGeometryRecord> muonLayersToken_;
0051   edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> magFieldToken_;
0052 };
0053 
0054 #endif