Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:32:47

0001 #ifndef Validation_MuonCSCDigis_CSCDigiValidation_H
0002 #define Validation_MuonCSCDigis_CSCDigiValidation_H
0003 
0004 // user include files
0005 
0006 #include "FWCore/Framework/interface/Event.h"
0007 #include "FWCore/Utilities/interface/ESGetToken.h"
0008 
0009 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0010 #include "DQMServices/Core/interface/DQMStore.h"
0011 
0012 #include "Geometry/CSCGeometry/interface/CSCGeometry.h"
0013 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0014 #include "SimMuon/MCTruth/interface/PSimHitMap.h"
0015 
0016 class CSCStripDigiValidation;
0017 class CSCWireDigiValidation;
0018 class CSCComparatorDigiValidation;
0019 class CSCALCTDigiValidation;
0020 class CSCCLCTDigiValidation;
0021 class CSCCLCTPreTriggerDigiValidation;
0022 class CSCCorrelatedLCTDigiValidation;
0023 class CSCStubEfficiencyValidation;
0024 class CSCStubResolutionValidation;
0025 
0026 class CSCDigiValidation : public DQMEDAnalyzer {
0027 public:
0028   explicit CSCDigiValidation(const edm::ParameterSet &);
0029   ~CSCDigiValidation() override;
0030   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0031   void analyze(const edm::Event &, const edm::EventSetup &) override;
0032 
0033 private:
0034   bool doSim_;
0035   PSimHitMap *theSimHitMap;
0036   const CSCGeometry *theCSCGeometry;
0037 
0038   // validation modules
0039   std::unique_ptr<CSCStripDigiValidation> theStripDigiValidation;
0040   std::unique_ptr<CSCWireDigiValidation> theWireDigiValidation;
0041   std::unique_ptr<CSCComparatorDigiValidation> theComparatorDigiValidation;
0042   std::unique_ptr<CSCALCTDigiValidation> theALCTDigiValidation;
0043   std::unique_ptr<CSCCLCTDigiValidation> theCLCTDigiValidation;
0044   std::unique_ptr<CSCCLCTPreTriggerDigiValidation> theCLCTPreTriggerDigiValidation;
0045   std::unique_ptr<CSCCorrelatedLCTDigiValidation> theCorrelatedLCTDigiValidation;
0046   std::unique_ptr<CSCStubEfficiencyValidation> theStubEfficiencyValidation;
0047   std::unique_ptr<CSCStubResolutionValidation> theStubResolutionValidation;
0048 
0049   // geometry
0050   edm::ESGetToken<CSCGeometry, MuonGeometryRecord> geomToken_;
0051 };
0052 
0053 #endif