File indexing completed on 2023-03-17 11:28:13
0001 #ifndef ME0BaseValidation_H
0002 #define ME0BaseValidation_H
0003
0004 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0005 #include "DQMServices/Core/interface/DQMStore.h"
0006
0007 #include "Geometry/CommonTopologies/interface/StripTopology.h"
0008 #include "Geometry/GEMGeometry/interface/ME0EtaPartitionSpecs.h"
0009 #include "Geometry/GEMGeometry/interface/ME0Geometry.h"
0010 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0011
0012 #include "FWCore/Framework/interface/Event.h"
0013 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0015 #include "FWCore/Utilities/interface/EDGetToken.h"
0016 #include "SimDataFormats/Track/interface/SimTrackContainer.h"
0017 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
0018
0019 class ME0BaseValidation : public DQMEDAnalyzer {
0020 public:
0021 explicit ME0BaseValidation(const edm::ParameterSet &ps);
0022 ~ME0BaseValidation() override;
0023 void analyze(const edm::Event &e, const edm::EventSetup &) override = 0;
0024 MonitorElement *BookHistZR(
0025 DQMStore::IBooker &, const char *name, const char *label, unsigned int region_num, unsigned int layer_num = 99);
0026 MonitorElement *BookHistXY(
0027 DQMStore::IBooker &, const char *name, const char *label, unsigned int region_num, unsigned int layer_num = 99);
0028
0029 protected:
0030 std::vector<std::string> regionLabel;
0031 std::vector<std::string> layerLabel;
0032 std::vector<double> nBinZR_;
0033 std::vector<double> RangeZR_;
0034 edm::EDGetToken InputTagToken_;
0035 int nBinXY_;
0036 edm::ESGetToken<ME0Geometry, MuonGeometryRecord> geomToken_;
0037
0038 private:
0039 };
0040
0041 #endif