Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:07:04

0001 #ifndef DTLocalTriggerEfficiencyTest_H
0002 #define DTLocalTriggerEfficiencyTest_H
0003 
0004 /** \class DTLocalTriggerEfficiencyTest
0005  * *
0006  *  DQM Test Client
0007  *
0008  *  \author  C. Battilana S. Marcellini - INFN Bologna
0009  *
0010  *  threadsafe version (//-) oct/nov 2014 - WATWanAbdullah ncpp-um-my
0011  *
0012  *   
0013  */
0014 
0015 #include "DQM/DTMonitorClient/src/DTLocalTriggerBaseTest.h"
0016 
0017 class DTTrigGeomUtils;
0018 
0019 class DTLocalTriggerEfficiencyTest : public DTLocalTriggerBaseTest {
0020 public:
0021   /// Constructor
0022   DTLocalTriggerEfficiencyTest(const edm::ParameterSet& ps);
0023 
0024   /// Destructor
0025   ~DTLocalTriggerEfficiencyTest() override;
0026 
0027 protected:
0028   /// Book the new MEs (for each chamber)
0029   void bookChambHistos(DQMStore::IBooker&, DTChamberId chambId, std::string htype);
0030 
0031   /// Compute efficiency plots
0032   void makeEfficiencyME(TH1D* numerator, TH1D* denominator, MonitorElement* result);
0033 
0034   /// Compute 2D efficiency plots
0035   void makeEfficiencyME2D(TH2F* numerator, TH2F* denominator, MonitorElement* result);
0036 
0037   /// BeginRun
0038   void beginRun(const edm::Run& r, const edm::EventSetup& c) override;
0039 
0040   /// DQM Client Diagnostic
0041 
0042   void runClientDiagnostic(DQMStore::IBooker&, DQMStore::IGetter&) override;
0043   void Bookings(DQMStore::IBooker&, DQMStore::IGetter&);
0044 
0045   const int wheelArrayShift = 3;
0046 
0047 private:
0048   std::map<uint32_t, std::map<std::string, MonitorElement*> > chambME;
0049   DTTrigGeomUtils* trigGeomUtils;
0050 
0051   bool bookingdone;
0052 };
0053 
0054 #endif