CMS 3D CMS Logo

DTLocalTriggerBaseTask.h
Go to the documentation of this file.
1 #ifndef DTLocalTriggerBaseTask_H
2 #define DTLocalTriggerBaseTask_H
3 
4 /*
5  * \file DTLocalTriggerBaseTask.h
6  *
7  * \author C. Battilana - CIEMAT
8  *
9 */
10 
14 
17 
19 
21 
23 
25 
30 
31 #include <vector>
32 #include <string>
33 #include <map>
34 
35 class DTGeometry;
36 class DTTrigGeomUtils;
37 class DTChamberId;
38 class DTRecSegment4D;
39 class L1MuDTChambPhDigi;
40 class L1MuDTChambThDigi;
41 class L1Phase2MuDTPhDigi;
42 class DTTPGCompareUnit;
44 
45 class DTLocalTriggerBaseTask : public DQMOneEDAnalyzer<edm::one::WatchLuminosityBlocks> {
46  friend class DTMonitorModule;
47 
48 public:
51 
53  ~DTLocalTriggerBaseTask() override;
54 
55 protected:
57  void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
58 
60  void analyze(const edm::Event& e, const edm::EventSetup& c) override;
61 
63  void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, const edm::EventSetup& context) override;
64 
66  void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, const edm::EventSetup& context) override;
67 
68 private:
70  void runTMAnalysis(std::vector<L1MuDTChambPhDigi> const* phInTrigs,
71  std::vector<L1MuDTChambPhDigi> const* phOutTrigs,
72  std::vector<L1MuDTChambThDigi> const* thTrigs);
73 
75  void runAB7Analysis(std::vector<L1Phase2MuDTPhDigi> const* phTrigs);
76 
78  std::string& topFolder(std::string const& type) { return m_baseFolder[type == "TM"]; }
79 
80  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
81 
83  void bookHistos(DQMStore::IBooker&, const DTChamberId& chamb);
84 
86  void bookHistos(DQMStore::IBooker&, int wh);
87 
89  void setQLabels(MonitorElement* me, short int iaxis);
90  void setQLabelsTheta(MonitorElement* me, short int iaxis);
91  void setQLabelsPh2(MonitorElement* me, short int iaxis);
92 
93  int m_nEvents;
95  int m_nLumis;
96 
98  bool m_tpMode;
100 
103 
106 
110  const DTGeometry* geom;
111 
112  std::vector<std::string> m_types;
113 
114  std::map<uint32_t, DTTPGCompareUnit> m_compMapIn;
115  std::map<uint32_t, DTTPGCompareUnit> m_compMapOut;
116  std::map<uint32_t, std::map<std::string, MonitorElement*> > m_chamberHistos;
117  std::map<uint32_t, DTTimeEvolutionHisto*> m_trendHistos;
119 
124 };
125 
126 #endif
127 
128 /* Local Variables: */
129 /* show-trailing-whitespace: t */
130 /* truncate-lines: t */
131 /* End: */
edm::EDGetTokenT< L1MuDTChambPhContainer > m_tm_phiOut_Token
void runAB7Analysis(std::vector< L1Phase2MuDTPhDigi > const *phTrigs)
Run analysis on Phase2 readout for SliceTest.
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
Beginrun.
void bookHistos(DQMStore::IBooker &, const DTChamberId &chamb)
Book the histograms.
DTTrigGeomUtils * m_trigGeomUtils
std::vector< std::string > m_types
std::map< uint32_t, DTTPGCompareUnit > m_compMapIn
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context) override
Perform trend plot operations.
~DTLocalTriggerBaseTask() override
Destructor.
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Analyze.
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::map< uint32_t, std::map< std::string, MonitorElement * > > m_chamberHistos
void runTMAnalysis(std::vector< L1MuDTChambPhDigi > const *phInTrigs, std::vector< L1MuDTChambPhDigi > const *phOutTrigs, std::vector< L1MuDTChambThDigi > const *thTrigs)
Run analysis on TM data.
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context) override
To reset the MEs.
std::string & topFolder(std::string const &type)
Get the Top folder (different between Physics and TP and TM)
void setQLabelsTheta(MonitorElement *me, short int iaxis)
edm::EDGetTokenT< L1MuDTChambThContainer > m_tm_theta_Token
edm::EDGetTokenT< L1Phase2MuDTPhContainer > m_ab7_phi_Token
std::map< uint32_t, DTTimeEvolutionHisto * > m_trendHistos
edm::EDGetTokenT< L1MuDTChambPhContainer > m_tm_phiIn_Token
void setQLabelsPh2(MonitorElement *me, short int iaxis)
void setQLabels(MonitorElement *me, short int iaxis)
Set Quality labels.
std::map< uint32_t, DTTPGCompareUnit > m_compMapOut
edm::ESGetToken< DTGeometry, MuonGeometryRecord > muonGeomToken_
DTLocalTriggerBaseTask(const edm::ParameterSet &ps)
Constructor.
Definition: Run.h:45