Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:35

0001 // -*- C++ -*-
0002 //
0003 // Package:    L1RCTTPGProvider
0004 // Class:      L1RCTTPGProvider
0005 //
0006 /**\class L1RCTTPGProvider L1RCTTPGProvider.cc
0007  L1Trigger/L1RCTTPGProvider/src/L1RCTTPGProvider.cc
0008 
0009  Description: <one line class summary>
0010 
0011  Implementation:
0012      <Notes on implementation>
0013 */
0014 //
0015 // Original Author:  Michail Bachtis
0016 //         Created:  Tue Mar 10 18:29:22 CDT 2009
0017 //
0018 //
0019 
0020 // system include files
0021 #include <memory>
0022 #include <atomic>
0023 
0024 // user include files
0025 #include "FWCore/Framework/interface/global/EDProducer.h"
0026 #include "FWCore/Framework/interface/Frameworkfwd.h"
0027 
0028 #include "FWCore/Framework/interface/Event.h"
0029 #include "FWCore/Framework/interface/MakerMacros.h"
0030 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0031 
0032 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
0033 #include "DataFormats/HcalDigi/interface/HcalDigiCollections.h"
0034 
0035 //
0036 // class decleration
0037 //
0038 
0039 class L1RCTTPGProvider : public edm::global::EDProducer<> {
0040 public:
0041   explicit L1RCTTPGProvider(const edm::ParameterSet &);
0042   ~L1RCTTPGProvider() override;
0043 
0044 private:
0045   void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override;
0046 
0047   // ----------member data ---------------------------
0048   edm::EDGetTokenT<EcalTrigPrimDigiCollection> ecalTPG_;
0049   edm::EDGetTokenT<HcalTrigPrimDigiCollection> hcalTPG_;
0050   mutable std::atomic<bool> useHcalCosmicTiming;
0051   mutable std::atomic<bool> useEcalCosmicTiming;
0052   int preSamples;
0053   int postSamples;
0054   int hfShift;
0055   int hbShift;
0056 };