File indexing completed on 2024-04-06 12:09:13
0001 #ifndef L1TScalersSCAL_H
0002 #define L1TScalersSCAL_H
0003
0004 #include <vector>
0005
0006 #include "FWCore/Framework/interface/Frameworkfwd.h"
0007 #include "DQMServices/Core/interface/DQMStore.h"
0008 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0009 #include "FWCore/Utilities/interface/InputTag.h"
0010
0011 #include "DataFormats/Scalers/interface/Level1TriggerScalers.h"
0012 #include "DataFormats/Scalers/interface/LumiScalers.h"
0013 #include "DataFormats/Scalers/interface/L1AcceptBunchCrossing.h"
0014
0015 class L1TScalersSCAL : public DQMEDAnalyzer {
0016 public:
0017 enum { N_LUMISECTION_TIME = 93 };
0018
0019 L1TScalersSCAL(const edm::ParameterSet& ps);
0020 ~L1TScalersSCAL() override;
0021 void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0022 void analyze(const edm::Event& e, const edm::EventSetup& c) override;
0023
0024 private:
0025 edm::EDGetTokenT<Level1TriggerScalersCollection> l1triggerscalers_;
0026 edm::EDGetTokenT<LumiScalersCollection> lumiscalers_;
0027 edm::EDGetTokenT<L1AcceptBunchCrossingCollection> l1acceptBX_;
0028
0029 bool verbose_, denomIsTech_, monitorDaemon_;
0030 unsigned int denomBit_, muonBit_, egammaBit_, jetBit_;
0031 int nev_;
0032 long reftime_, buffertime_;
0033 std::vector<double> algorithmRates_;
0034 std::vector<double> bufferAlgoRates_;
0035 std::vector<double> technicalRates_;
0036 std::vector<double> bufferTechRates_;
0037 std::vector<double> integral_algo_;
0038 std::vector<double> integral_tech_;
0039 double integral_tech_42_OR_43_;
0040 unsigned int bufferLumi_;
0041
0042 MonitorElement* orbitNum;
0043 MonitorElement* trigNum;
0044 MonitorElement* eventNum;
0045 MonitorElement* physTrig;
0046 MonitorElement* randTrig;
0047 MonitorElement* numberResets;
0048 MonitorElement* deadTime;
0049 MonitorElement* lostFinalTriggers;
0050 MonitorElement* algoRate[128];
0051 MonitorElement* techRate[64];
0052 MonitorElement* integralAlgo[128];
0053 MonitorElement* integralTech[64];
0054 MonitorElement* integralTech_42_OR_43;
0055 MonitorElement* techRateRatio_33_over_32;
0056 MonitorElement* techRateRatio_8;
0057 MonitorElement* techRateRatio_9;
0058 MonitorElement* techRateRatio_10;
0059 MonitorElement* techRateRatio_36;
0060 MonitorElement* techRateRatio_37;
0061 MonitorElement* techRateRatio_38;
0062 MonitorElement* techRateRatio_39;
0063 MonitorElement* techRateRatio_40;
0064 MonitorElement* techRateRatio_41;
0065 MonitorElement* techRateRatio_42;
0066 MonitorElement* techRateRatio_43;
0067 MonitorElement* rateRatio_mu;
0068 MonitorElement* rateRatio_egamma;
0069 MonitorElement* rateRatio_jet;
0070
0071 MonitorElement* physRate;
0072 MonitorElement* randRate;
0073 MonitorElement* deadTimePercent;
0074 MonitorElement* lostPhysRate;
0075 MonitorElement* lostPhysRateBeamActive;
0076 MonitorElement* instTrigRate;
0077 MonitorElement* instEventRate;
0078
0079 MonitorElement* instLumi;
0080 MonitorElement* instLumiErr;
0081 MonitorElement* instLumiQlty;
0082 MonitorElement* instEtLumi;
0083 MonitorElement* instEtLumiErr;
0084 MonitorElement* instEtLumiQlty;
0085 MonitorElement* sectionNum;
0086 MonitorElement* startOrbit;
0087 MonitorElement* numOrbits;
0088
0089 MonitorElement* orbitNumL1A[4];
0090 MonitorElement* bunchCrossingL1A[4];
0091 MonitorElement* bunchCrossingCorr[3];
0092 MonitorElement* bunchCrossingDiff[3];
0093 MonitorElement* bunchCrossingDiff_small[3];
0094 };
0095
0096 #endif