Go to the documentation of this file.00001 #ifndef L1TGT_H
00002 #define L1TGT_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include <memory>
00015 #include <unistd.h>
00016
00017
00018 #include "FWCore/Framework/interface/Frameworkfwd.h"
00019 #include "FWCore/Framework/interface/EDAnalyzer.h"
00020
00021 #include "FWCore/Framework/interface/Event.h"
00022 #include "FWCore/Framework/interface/MakerMacros.h"
00023
00024 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00025
00026 #include "DQMServices/Core/interface/DQMStore.h"
00027 #include "DQMServices/Core/interface/MonitorElement.h"
00028 #include "FWCore/ServiceRegistry/interface/Service.h"
00029 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00030
00031 #include <iostream>
00032 #include <fstream>
00033 #include <vector>
00034
00035
00036
00037
00038
00039 class L1TGT : public edm::EDAnalyzer {
00040
00041 public:
00042
00043
00044 L1TGT(const edm::ParameterSet& ps);
00045
00046
00047 virtual ~L1TGT();
00048
00049 protected:
00050
00051 void analyze(const edm::Event& e, const edm::EventSetup& c);
00052
00053
00054 void beginJob();
00055
00056
00057 void endJob(void);
00058
00059 private:
00060
00061 bool isActive(int word, int bit);
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072 enum activeDAQ { FDL=0, PSB9, PSB13, PSB14, PSB15, PSB19, PSB20, PSB21, GMT };
00073
00074
00075
00076 enum activeEVM { TCS, FDLEVM };
00077
00078
00079 DQMStore * dbe;
00080
00081 MonitorElement* algo_bits;
00082 MonitorElement* algo_bits_corr;
00083 MonitorElement* tt_bits;
00084 MonitorElement* tt_bits_corr;
00085 MonitorElement* algo_tt_bits_corr;
00086 MonitorElement* algo_bits_lumi;
00087 MonitorElement* tt_bits_lumi;
00088 MonitorElement* event_type;
00089
00090 MonitorElement* event_number;
00091 MonitorElement* event_lumi;
00092 MonitorElement* trigger_number;
00093 MonitorElement* trigger_lumi;
00094 MonitorElement* evnum_trignum_lumi;
00095 MonitorElement* orbit_lumi;
00096 MonitorElement* setupversion_lumi;
00097
00098 MonitorElement* gtfe_bx;
00099 MonitorElement* dbx_module;
00100
00101 MonitorElement* BST_MasterStatus;
00102 MonitorElement* BST_turnCountNumber;
00103 MonitorElement* BST_lhcFillNumber;
00104 MonitorElement* BST_beamMode;
00105 MonitorElement* BST_beamMomentum;
00106 MonitorElement* BST_intensityBeam1;
00107 MonitorElement* BST_intensityBeam2;
00108 MonitorElement* gpsfreq;
00109 MonitorElement* gpsfreqwide;
00110 MonitorElement* gpsfreqlum;
00111
00112 MonitorElement* m_monL1PrescaleFactorSet;
00113
00114
00115
00116
00117 int nev_;
00118 std::string outputFile_;
00119 bool verbose_;
00120 bool monitorDaemon_;
00121 ofstream logFile_;
00122 edm::InputTag gtSource_;
00123 edm::InputTag gtEvmSource_;
00124
00125 boost::uint64_t preGps_;
00126 boost::uint64_t preOrb_;
00127 };
00128
00129 #endif