CMS 3D CMS Logo

MillePedeDQMModule.h
Go to the documentation of this file.
1 #ifndef Alignment_MillePedeAlignmentAlgorithm_MillePedeDQMModule_h
2 #define Alignment_MillePedeAlignmentAlgorithm_MillePedeDQMModule_h
3 
14 /*** system includes ***/
15 #include <array>
16 #include <memory>
17 
18 /*** core framework functionality ***/
26 
27 /*** Geometry ***/
31 
32 /*** Thresholds from DB ***/
34 
35 /*** DQM ***/
38 
39 /*** Records for ESWatcher ***/
44 
45 /*** MillePede ***/
47 
49  //========================== PUBLIC METHODS ==================================
50 public: //====================================================================
52  ~MillePedeDQMModule() override;
53 
55 
56  enum { SIZE_LG_STRUCTS = 6, SIZE_INDEX = 8 };
57 
58  //========================= PRIVATE METHODS ==================================
59 private: //===================================================================
60  void beginRun(const edm::Run&, const edm::EventSetup&) override;
61 
63 
64  void fillStatusHisto(MonitorElement* statusHisto);
65 
66  void fillExpertHistos();
67 
69  const std::array<double, SIZE_INDEX>& cut,
70  const std::array<double, SIZE_INDEX>& sigCut,
71  const std::array<double, SIZE_INDEX>& maxMoveCut,
72  const std::array<double, SIZE_INDEX>& maxErrorCut,
73  const std::array<double, SIZE_LG_STRUCTS>& obs,
74  const std::array<double, SIZE_LG_STRUCTS>& obsErr);
75 
76  bool setupChanged(const edm::EventSetup&);
77  int getIndexFromString(const std::string& alignableId);
78 
79  //========================== PRIVATE DATA ====================================
80  //============================================================================
81 
82  // esConsumes
88 
90  std::unique_ptr<AlignableTracker> tracker_;
91  std::unique_ptr<MillePedeFileReader> mpReader_;
92 
96 
97  // Histograms
104 
108 };
109 
110 // define this as a plug-in
112 
113 #endif /* Alignment_MillePedeAlignmentAlgorithm_MillePedeDQMModule_h */
void fillExpertHisto(MonitorElement *histo, const std::array< double, SIZE_INDEX > &cut, const std::array< double, SIZE_INDEX > &sigCut, const std::array< double, SIZE_INDEX > &maxMoveCut, const std::array< double, SIZE_INDEX > &maxErrorCut, const std::array< double, SIZE_LG_STRUCTS > &obs, const std::array< double, SIZE_LG_STRUCTS > &obsErr)
const edm::ParameterSet mpReaderConfig_
void fillStatusHisto(MonitorElement *statusHisto)
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
bool setupChanged(const edm::EventSetup &)
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
MonitorElement * h_zPos
const edm::ESGetToken< GeometricDet, IdealGeometryRecord > gDetToken_
MonitorElement * binariesAvalaible
edm::ESWatcher< IdealGeometryRecord > watchIdealGeometryRcd_
const edm::ESGetToken< PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcd > ptitpToken_
MillePedeDQMModule(const edm::ParameterSet &)
void bookHistograms(DQMStore::IBooker &)
MonitorElement * h_xPos
void beginRun(const edm::Run &, const edm::EventSetup &) override
MonitorElement * h_yPos
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
const edm::ESGetToken< AlignPCLThresholdsHG, AlignPCLThresholdsHGRcd > aliThrToken_
MonitorElement * statusResults
edm::ESWatcher< TrackerTopologyRcd > watchTrackerTopologyRcd_
edm::ESWatcher< PTrackerParametersRcd > watchPTrackerParametersRcd_
MonitorElement * h_xRot
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcd > ptpToken_
std::unique_ptr< AlignableTracker > tracker_
std::unique_ptr< MillePedeFileReader > mpReader_
int getIndexFromString(const std::string &alignableId)
MonitorElement * h_zRot
MonitorElement * exitCode
~MillePedeDQMModule() override
MonitorElement * h_yRot
Definition: Run.h:45