Back to home page

Project CMSSW displayed by LXR

 
 

    


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