CMS 3D CMS Logo

SiStripCommissioningSource.h
Go to the documentation of this file.
1 #ifndef DQM_SiStripCommissioningSources_SiStripCommissioningSource_H
2 #define DQM_SiStripCommissioningSources_SiStripCommissioningSource_H
3 
16 #include <boost/cstdint.hpp>
17 #include <string>
18 #include <vector>
19 #include <map>
20 
21 class DQMStore;
22 class CommissioningTask;
25 
30 
31  public: // ---------- Public interface ----------
32 
34  typedef std::map<unsigned int, CommissioningTask*> TaskMap;
35  typedef std::vector<CommissioningTask*> VecOfTasks;
36  typedef std::vector<VecOfTasks> VecOfVecOfTasks;
37 
39  ~SiStripCommissioningSource() override;
40 
41  void beginRun( edm::Run const &, const edm::EventSetup & ) override;
42  void analyze( const edm::Event &, const edm::EventSetup & ) override;
43  void endJob() override;
44 
45  private: // ---------- Private methods ----------
46 
48  SiStripCommissioningSource() = delete;
49 
51  DQMStore* const dqm( std::string method = "" ) const;
52 
54  void createRunNumber();
55 
57  void createTask( const SiStripEventSummary* const, const edm::EventSetup& );
58 
60  void createCablingTasks();
61 
64 
66  void clearCablingTasks();
67 
69  void clearTasks();
70 
72  void fillCablingHistos( const SiStripEventSummary* const,
74 
76  void fillHistos( const SiStripEventSummary* const,
80 
82  void remove();
83 
85  void directory( std::stringstream&,
86  uint32_t run_number = 0 );
87 
89  //void cablingForConnectionRun( const sistrip::RunType& ); //@@ do not use!
90 
91 
92  // ---------- DQM fwk and cabling ----------
93 
96 
99 
102 
103  // ---------- Input / output ----------
110 
116 
119 
121  uint32_t run_;
122 
125 
127  int32_t time_;
128 
130  bool isSpy_;
131 
132  // ---------- Histogram-related ----------
133 
136 
139 
141  VecOfVecOfTasks tasks_;
142 
144  TaskMap cablingTasks_;
145 
148 
151 
154 
157 
160 
163 
164 
165 };
166 
167 #endif // DQM_SiStripCommissioningSources_SiStripCommissioningSource_H
168 
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > digiReorderedToken_
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > digiVirginRawToken_
std::map< unsigned int, CommissioningTask * > TaskMap
void createTask(const SiStripEventSummary *const, const edm::EventSetup &)
DQMStore *const dqm(std::string method="") const
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clustersToken_
void fillHistos(const SiStripEventSummary *const, const edm::DetSetVector< SiStripRawDigi > &, const edm::DetSetVector< SiStripRawDigi > &=edm::DetSetVector< SiStripRawDigi >(), const edmNew::DetSetVector< SiStripCluster > &=edmNew::DetSetVector< SiStripCluster >())
void createTasks(sistrip::RunType, const edm::EventSetup &)
void analyze(const edm::Event &, const edm::EventSetup &) override
void directory(std::stringstream &, uint32_t run_number=0)
void beginRun(edm::Run const &, const edm::EventSetup &) override
std::vector< CommissioningTask * > VecOfTasks
Class containning control, module, detector and connection information, at the level of a FED channel...
void fillCablingHistos(const SiStripEventSummary *const, const edm::DetSetVector< SiStripRawDigi > &)
std::vector< VecOfTasks > VecOfVecOfTasks
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > digiFineDelaySelectionToken_
Contains cabling info at the device level, including DetId, APV pair numbers, hardware addresses...
edm::EDGetTokenT< SiStripEventSummary > inputModuleSummaryToken_
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > digiScopeModeToken_
Definition: Run.h:45