File indexing completed on 2024-04-06 12:32:50
0001 #ifndef Validation_MuonGEMHits_GEMSimHitValidation_h
0002 #define Validation_MuonGEMHits_GEMSimHitValidation_h
0003
0004 #include "Validation/MuonGEMHits/interface/GEMBaseValidation.h"
0005
0006 #include <tuple>
0007 #include <map>
0008 #include <vector>
0009 #include <string>
0010
0011 class GEMSimHitValidation : public GEMBaseValidation {
0012 public:
0013 explicit GEMSimHitValidation(const edm::ParameterSet&);
0014 ~GEMSimHitValidation() override;
0015 void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0016 void analyze(const edm::Event&, const edm::EventSetup&) override;
0017
0018 private:
0019 std::tuple<Double_t, Double_t> getTOFRange(Int_t station_id);
0020
0021
0022 edm::EDGetTokenT<edm::PSimHitContainer> simhit_token_;
0023 edm::ESGetToken<GEMGeometry, MuonGeometryRecord> geomToken_;
0024 edm::ESGetToken<GEMGeometry, MuonGeometryRecord> geomTokenBeginRun_;
0025 std::vector<Double_t> tof_range_;
0026
0027
0028 MEMap2Ids me_tof_mu_;
0029 MEMap2Ids me_tof_others_;
0030 MEMap3Ids me_detail_tof_;
0031 MEMap3Ids me_detail_tof_mu_;
0032
0033 MEMap1Ids me_eloss_mu_;
0034 MEMap1Ids me_eloss_others_;
0035 MEMap3Ids me_detail_eloss_;
0036 MEMap3Ids me_detail_eloss_mu_;
0037
0038 MEMap3Ids me_occ_eta_mu_;
0039 MEMap3Ids me_occ_phi_mu_;
0040 MEMap3Ids me_occ_pid_;
0041 MEMap1Ids me_detail_occ_zr_;
0042 MEMap2Ids me_detail_occ_det_;
0043 MEMap2Ids me_detail_occ_det_mu_;
0044 MEMap3Ids me_detail_occ_xy_;
0045
0046
0047 const Float_t kEnergyCF_ = 1e6f;
0048 };
0049
0050 #endif