CMS 3D CMS Logo

CommissioningHistosUsingDb.h
Go to the documentation of this file.
1 
2 #ifndef DQM_SiStripCommissioningClients_CommissioningHistosUsingDb_H
3 #define DQM_SiStripCommissioningClients_CommissioningHistosUsingDb_H
4 
8 #include "boost/range/iterator_range.hpp"
9 #include <string>
10 #include <map>
11 #include <cstdint>
12 
13 class SiStripConfigDb;
14 class SiStripFedCabling;
15 
17  // ---------- public interface ----------
18 
19 public:
21 
22  ~CommissioningHistosUsingDb() override;
23 
24  void configure(const edm::ParameterSet&, const edm::EventSetup&) override;
25 
26  void uploadToConfigDb();
27 
28  bool doUploadAnal() const;
29 
30  bool doUploadConf() const;
31 
32  void doUploadAnal(bool);
33 
34  void doUploadConf(bool);
35 
36  // ---------- protected methods ----------
37 
38 protected:
39  void buildDetInfo();
40 
41  virtual void addDcuDetIds();
42 
43  virtual void uploadConfigurations() { ; }
44 
45  void uploadAnalyses();
46 
48 
50 
51  SiStripConfigDb* const db() const;
52 
53  SiStripFedCabling* const cabling() const;
54 
55  class DetInfo {
56  public:
57  uint32_t dcuId_;
58  uint32_t detId_;
59  uint16_t pairs_;
60  DetInfo() : dcuId_(sistrip::invalid32_), detId_(sistrip::invalid32_), pairs_(sistrip::invalid_) { ; }
61  };
62 
63  std::pair<std::string, DetInfo> detInfo(const SiStripFecKey&);
64 
65  bool deviceIsPresent(const SiStripFecKey&);
66 
67  // ---------- private member data ----------
68 
69 private:
71 
73 
75 
77 
78  typedef std::map<uint32_t, DetInfo> DetInfos;
79 
80  std::map<std::string, DetInfos> detInfo_;
81 
83 
85 };
86 
89 
92 
93 inline SiStripConfigDb* const CommissioningHistosUsingDb::db() const { return db_; }
95 
96 #endif // DQM_SiStripCommissioningClients_CommissioningHistosUsingDb_H
def upload(url, args, files)
std::map< std::string, DetInfos > detInfo_
bool deviceIsPresent(const SiStripFecKey &)
static const uint32_t invalid32_
Definition: Constants.h:15
void configure(const edm::ParameterSet &, const edm::EventSetup &) override
sistrip classes
Utility class that identifies a position within the strip tracker control structure, down to the level of an APV25.
Definition: SiStripFecKey.h:45
std::map< uint32_t, DetInfo > DetInfos
An interface class to the DeviceFactory.
std::pair< std::string, DetInfo > detInfo(const SiStripFecKey &)
virtual void create(SiStripConfigDb::AnalysisDescriptionsV &, Analysis)
virtual void createAnalyses(SiStripConfigDb::AnalysisDescriptionsV &)
static const uint16_t invalid_
Definition: Constants.h:16
Contains cabling info at the device level, including DetId, APV pair numbers, hardware addresses...
std::vector< AnalysisDescription * > AnalysisDescriptionsV
SiStripConfigDb *const db() const
SiStripFedCabling *const cabling() const