CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ShallowDigisProducer.h
Go to the documentation of this file.
1 #ifndef SHALLOW_DIGIS_PRODUCER
2 #define SHALLOW_DIGIS_PRODUCER
3 
9 
11 public:
12  explicit ShallowDigisProducer(const edm::ParameterSet &);
13 
14 private:
15  struct products {
16  std::unique_ptr<std::vector<unsigned> > id;
17  std::unique_ptr<std::vector<unsigned> > subdet;
18  std::unique_ptr<std::vector<unsigned> > strip;
19  std::unique_ptr<std::vector<unsigned> > adc;
20  std::unique_ptr<std::vector<float> > noise;
22  : id(new std::vector<unsigned>()),
23  subdet(new std::vector<unsigned>()),
24  strip(new std::vector<unsigned>()),
25  adc(new std::vector<unsigned>()),
26  noise(new std::vector<float>()) {}
27  };
28  std::vector<edm::InputTag> inputTags;
30 
31  void produce(edm::Event &, const edm::EventSetup &) override;
32  template <class T>
33  bool findInput(edm::Handle<T> &, const edm::Event &);
34  template <class T>
35  void recordDigis(const T &, products &, const SiStripNoises &noises);
36  void insert(products &, edm::Event &);
37 };
38 
39 #endif
std::unique_ptr< std::vector< float > > noise
std::vector< edm::InputTag > inputTags
std::unique_ptr< std::vector< unsigned > > strip
void insert(products &, edm::Event &)
ShallowDigisProducer(const edm::ParameterSet &)
std::unique_ptr< std::vector< unsigned > > id
std::unique_ptr< std::vector< unsigned > > adc
bool findInput(edm::Handle< T > &, const edm::Event &)
edm::ESGetToken< SiStripNoises, SiStripNoisesRcd > noisesToken_
void recordDigis(const T &, products &, const SiStripNoises &noises)
void produce(edm::Event &, const edm::EventSetup &) override
long double T
std::unique_ptr< std::vector< unsigned > > subdet