Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:28

0001 #ifndef CSCTrackFinder_CSCTFTrackProducer_h
0002 #define CSCTrackFinder_CSCTFTrackProducer_h
0003 
0004 #include <string>
0005 
0006 #include "FWCore/Framework/interface/one/EDProducer.h"
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008 #include "FWCore/Utilities/interface/InputTag.h"
0009 #include "FWCore/Utilities/interface/EDGetToken.h"
0010 #include "FWCore/Utilities/interface/ESGetToken.h"
0011 #include "FWCore/Framework/interface/EventSetup.h"
0012 #include "L1Trigger/CSCTrackFinder/interface/CSCTFDTReceiver.h"
0013 #include "L1Trigger/CSCTrackFinder/src/CSCTFTrackBuilder.h"
0014 #include "DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigiCollection.h"
0015 #include "CondFormats/DataRecord/interface/L1MuTriggerScalesRcd.h"
0016 #include "CondFormats/DataRecord/interface/L1MuTriggerPtScaleRcd.h"
0017 #include "Geometry/CSCGeometry/interface/CSCGeometry.h"
0018 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0019 
0020 class CSCTFTrackBuilder;
0021 class L1MuDTChambPhContainer;
0022 template <typename T>
0023 class CSCTriggerContainer;
0024 namespace csctf {
0025   class TrackStub;
0026 }
0027 
0028 class CSCTFTrackProducer : public edm::one::EDProducer<edm::one::SharedResources> {
0029 public:
0030   CSCTFTrackProducer(const edm::ParameterSet&);
0031   void produce(edm::Event& e, const edm::EventSetup& c) override;
0032 
0033 private:
0034   CSCTFDTReceiver my_dtrc;
0035   const bool useDT;
0036   const bool TMB07;
0037   const bool readDtDirect;
0038   const edm::EDGetTokenT<CSCCorrelatedLCTDigiCollection> input_module;
0039   const edm::EDGetTokenT<L1MuDTChambPhContainer> dt_producer;
0040   const edm::EDGetTokenT<CSCTriggerContainer<csctf::TrackStub> > directProd;
0041   const edm::ESGetToken<L1MuTriggerScales, L1MuTriggerScalesRcd> m_scalesToken;
0042   const edm::ESGetToken<L1MuTriggerPtScale, L1MuTriggerPtScaleRcd> m_ptScaleToken;
0043   const edm::ESGetToken<CSCGeometry, MuonGeometryRecord> m_pDDToken;
0044   const edm::ParameterSet sp_pset;
0045   const CSCTFTrackBuilder::Tokens m_builderTokens;
0046   unsigned long long m_scalesCacheID;
0047   unsigned long long m_ptScaleCacheID;
0048   std::unique_ptr<CSCTFTrackBuilder> my_builder;
0049 };
0050 
0051 #endif