Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef L1TDTTPG_H
0002 #define L1TDTTPG_H
0003 
0004 /*
0005  * \file L1TDTTPG.h
0006  *
0007  * \author J. Berryhill
0008  *
0009  */
0010 
0011 // system include files
0012 #include <fstream>
0013 #include <memory>
0014 #include <unistd.h>
0015 
0016 // user include files
0017 #include "FWCore/Framework/interface/Frameworkfwd.h"
0018 
0019 #include "FWCore/Framework/interface/Event.h"
0020 #include "FWCore/Framework/interface/MakerMacros.h"
0021 
0022 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0023 #include "DQMServices/Core/interface/DQMStore.h"
0024 
0025 // L1 containers
0026 #include "DataFormats/L1DTTrackFinder/interface/L1MuDTChambPhContainer.h"
0027 #include "DataFormats/L1DTTrackFinder/interface/L1MuDTChambPhDigi.h"
0028 #include "DataFormats/L1DTTrackFinder/interface/L1MuDTChambThContainer.h"
0029 #include "DataFormats/L1DTTrackFinder/interface/L1MuDTChambThDigi.h"
0030 #include "DataFormats/L1DTTrackFinder/interface/L1MuDTTrackContainer.h"
0031 
0032 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0033 
0034 //
0035 // class decleration
0036 //
0037 
0038 class L1TDTTPG : public DQMEDAnalyzer {
0039 public:
0040   // Constructor
0041   L1TDTTPG(const edm::ParameterSet& ps);
0042 
0043   // Destructor
0044   ~L1TDTTPG() override;
0045 
0046 protected:
0047   // Analyze
0048   void analyze(const edm::Event& e, const edm::EventSetup& c) override;
0049 
0050   // BeginRun
0051   void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const&, edm::EventSetup const&) override;
0052   void dqmBeginRun(edm::Run const&, edm::EventSetup const&) override;
0053 
0054 private:
0055   void setMapPhLabel(MonitorElement* me);
0056   void setMapThLabel(MonitorElement* me);
0057 
0058   // ----------member data ---------------------------
0059 
0060   MonitorElement* dttpgphbx[8];
0061   MonitorElement* dttpgphbxcomp;
0062   MonitorElement* dttpgphwheel[3];
0063   MonitorElement* dttpgphsector[3];
0064   MonitorElement* dttpgphstation[3];
0065   /*   MonitorElement* dttpgphphi[3];   */
0066   /*   MonitorElement* dttpgphphiB[3];   */
0067   MonitorElement* dttpgphquality[3];
0068   MonitorElement* dttpgphts2tag[3];
0069   /*   MonitorElement* dttpgphbxcnt[3];   */
0070   MonitorElement* dttpgphntrack;
0071   MonitorElement* dttpgphmap;
0072   MonitorElement* dttpgphmapbx[3];
0073   MonitorElement* dttpgphmap2nd;
0074   MonitorElement* dttpgphmapcorr;
0075   MonitorElement* dttpgphbestmap;
0076   MonitorElement* dttpgphbestmapcorr;
0077 
0078   MonitorElement* dttpgthbx[3];
0079   MonitorElement* dttpgthwheel[3];
0080   MonitorElement* dttpgthsector[3];
0081   MonitorElement* dttpgthstation[3];
0082   MonitorElement* dttpgththeta[3];
0083   MonitorElement* dttpgthquality[3];
0084   MonitorElement* dttpgthntrack;
0085   MonitorElement* dttpgthmap;
0086   MonitorElement* dttpgthmapbx[3];
0087   MonitorElement* dttpgthmaph;
0088   MonitorElement* dttpgthbestmap;
0089   MonitorElement* dttpgthbestmaph;
0090 
0091   MonitorElement* dttf_p_phi[3];
0092   MonitorElement* dttf_p_pt[3];
0093   MonitorElement* dttf_p_q[3];
0094   MonitorElement* dttf_p_qual[3];
0095 
0096   int nev_;                 // Number of events processed
0097   std::string outputFile_;  //file name for ROOT ouput
0098   bool verbose_;
0099   bool monitorDaemon_;
0100   std::ofstream logFile_;
0101   edm::EDGetTokenT<L1MuDTChambPhContainer> dttpgSourcePhContainer_token_;
0102   edm::EDGetTokenT<L1MuDTChambThContainer> dttpgSourceThContainer_token_;
0103   edm::InputTag dttpgSource_;
0104 
0105   std::string trstring_;
0106   edm::EDGetTokenT<L1MuDTTrackContainer> trToken_;
0107 };
0108 
0109 #endif