File indexing completed on 2024-04-06 12:30:44
0001 #ifndef SimMuon_DTDigiAnalyzer_h
0002 #define SimMuon_DTDigiAnalyzer_h
0003
0004
0005
0006
0007
0008
0009
0010 #include "FWCore/Framework/interface/ConsumesCollector.h"
0011
0012 #include "DataFormats/DTDigi/interface/DTDigiCollection.h"
0013 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
0014 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
0015 #include "SimMuon/DTDigitizer/interface/Histograms.h"
0016 #include <DataFormats/MuonDetId/interface/DTWireId.h>
0017 #include <FWCore/Framework/interface/one/EDAnalyzer.h>
0018 #include "Geometry/DTGeometry/interface/DTGeometry.h"
0019 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0020
0021 class TH1F;
0022 class TFile;
0023 class PSimHit;
0024
0025
0026
0027 class hDigis;
0028
0029 namespace edm {
0030 class ParameterSet;
0031 class Event;
0032 class EventSetup;
0033 }
0034
0035 class DTDigiAnalyzer : public edm::one::EDAnalyzer<> {
0036 public:
0037 explicit DTDigiAnalyzer(const edm::ParameterSet &pset);
0038 ~DTDigiAnalyzer() override;
0039 void endJob() override;
0040 void analyze(const edm::Event &event, const edm::EventSetup &eventSetup) override;
0041 hDigis *WheelHistos(int wheel);
0042
0043 private:
0044 typedef std::map<DTWireId, std::vector<const PSimHit *>> DTWireIdMap;
0045
0046 TH1F *DigiTimeBox;
0047 TFile *file;
0048 std::string label;
0049 edm::ESGetToken<DTGeometry, MuonGeometryRecord> tokGeo_;
0050
0051
0052
0053
0054
0055 edm::EDGetTokenT<edm::PSimHitContainer> psim_token;
0056 edm::EDGetTokenT<DTDigiCollection> DTd_token;
0057
0058 hDigis hDigis_global;
0059 hDigis hDigis_W0;
0060 hDigis hDigis_W1;
0061 hDigis hDigis_W2;
0062
0063 hHits hAllHits;
0064 };
0065
0066 #endif