File indexing completed on 2024-04-06 12:09:26
0001 #ifndef DQMOffline_JetMET_JetMETDQMDCSFilter_H
0002 #define DQMOffline_JetMET_JetMETDQMDCSFilter_H
0003
0004 #include "DataFormats/Common/interface/Handle.h"
0005 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
0006 #include "DataFormats/JetReco/interface/PFJetCollection.h"
0007 #include "DataFormats/OnlineMetaData/interface/DCSRecord.h"
0008 #include "DataFormats/Scalers/interface/DcsStatus.h"
0009 #include "FWCore/Framework/interface/ConsumesCollector.h"
0010 #include "FWCore/Framework/interface/EDConsumerBase.h"
0011 #include "FWCore/Framework/interface/Event.h"
0012 #include "FWCore/Framework/interface/Frameworkfwd.h"
0013 #include "FWCore/Framework/interface/MakerMacros.h"
0014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0015 #include "FWCore/PluginManager/interface/ModuleDef.h"
0016 #include "FWCore/Utilities/interface/EDGetToken.h"
0017
0018 class JetMETDQMDCSFilter {
0019 public:
0020 JetMETDQMDCSFilter(const edm::ParameterSet&, edm::ConsumesCollector&);
0021 JetMETDQMDCSFilter(const std::string& detectorTypes,
0022 edm::ConsumesCollector&,
0023 const bool verbose = false,
0024 const bool alwaysPass = false);
0025 ~JetMETDQMDCSFilter();
0026 bool filter(const edm::Event& evt, const edm::EventSetup& es);
0027 bool passPIX, passSiStrip, passECAL, passHBHE, passHF, passHO, passES, passMuon;
0028 edm::EDGetTokenT<DcsStatusCollection> scalarsToken_;
0029 edm::EDGetTokenT<DCSRecord> dcsRecordToken_;
0030
0031 private:
0032 template <typename T>
0033 void checkDCSInfoPerPartition(const T& DCS);
0034 void initializeVars();
0035 bool verbose_;
0036 bool filter_;
0037 bool detectorOn_;
0038 std::string detectorTypes_;
0039 std::map<std::string, std::vector<int>> associationMap_;
0040 std::map<std::string, bool> passPerDet_;
0041 };
0042
0043 #endif