CMS 3D CMS Logo

SiPixelCalibDigiProducer.h
Go to the documentation of this file.
1 #ifndef CALIBTRACKER_SIPIXELCALIBDIGIPRODUCER_H
2 #define CALIBTRACKER_SIPIXELCALIBDIGIPRODUCER_H
3 
4 //
5 // Package: SiPixelCalibDigiProducer
6 // Class: SiPixelCalibDigiProducer
7 //
15 //
16 // Original Author: Freya Blekman
17 // Created: Wed Oct 31 15:28:52 CET 2007
18 //
19 //
20 
21 // system include files
22 #include <memory>
23 
24 // user include files
30 
32 
35 
37 
42 
47 
48 #include <map>
49 #include <vector>
50 #include <iostream>
51 //
52 // class decleration
53 //
54 
56  public:
57  explicit SiPixelCalibDigiProducer(const edm::ParameterSet& iConfig);
59 
60  private:
61 
62  virtual void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
63  virtual bool store();
64  virtual void setPattern();
65  virtual void fill(edm::Event &iEvent, const edm::EventSetup& iSetup);
66  virtual void fillPixel(uint32_t detid, short row, short col,short ipoint, short adc);
67  virtual bool checkPixel(uint32_t detid, short row, short col);
68  virtual bool checkFED(uint32_t detid);
69  virtual void clear();
70  typedef std::pair<uint32_t,std::pair<short,short> > pixelstruct;
71  // ----------member data ---------------------------
74  uint32_t iEventCounter_;
75 
79  int errorType;
85 
86  edm::ESHandle<SiPixelCalibConfiguration> calib_; // keeps track of the calibration constants
89 
90  // worker variables
91  std::map<pixelstruct,SiPixelCalibDigi> intermediate_data_; // data container, copied over into the event every pattern_repeat_ events
92  std::map<pixelstruct,SiPixelCalibDigiError> error_data_;
93  // std::vector<SiPixelCalibDigi> intermediate_data_; // data container, copied over into the event every pattern_repeat_ events
94  std::vector<pixelstruct> detPixelMap_;// map to keep track of which pixels are filled where in intermediate_data_
95  uint32_t pattern_repeat_; // keeps track of when the pattern should change
96  std::map<uint32_t,uint32_t> detid_to_fedid_; // keeps track in which fed each detid is present.
97 
98  std::vector<std::pair<short,short> > currentpattern_;// keeps track of which pattern we are at
99  std::pair<short,short> currentpair_;//worker class to keep track of pairs
100 };
101 
102 
103 #endif
int adc(sample_type sample)
get the ADC sample (12 bits)
std::pair< uint32_t, std::pair< short, short > > pixelstruct
virtual void fill(edm::Event &iEvent, const edm::EventSetup &iSetup)
virtual bool checkFED(uint32_t detid)
std::map< uint32_t, uint32_t > detid_to_fedid_
int iEvent
Definition: GenABIO.cc:230
std::map< pixelstruct, SiPixelCalibDigi > intermediate_data_
edm::ESHandle< SiPixelFedCablingMap > theCablingMap_
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
virtual bool checkPixel(uint32_t detid, short row, short col)
std::map< pixelstruct, SiPixelCalibDigiError > error_data_
std::vector< std::pair< short, short > > currentpattern_
virtual void fillPixel(uint32_t detid, short row, short col, short ipoint, short adc)
std::vector< pixelstruct > detPixelMap_
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > tPixelDigi
SiPixelCalibDigiProducer(const edm::ParameterSet &iConfig)
col
Definition: cuy.py:1008
edm::ESHandle< SiPixelCalibConfiguration > calib_
std::pair< short, short > currentpair_
edm::ESHandle< TrackerGeometry > theGeometry_