Back to home page

Project CMSSW displayed by LXR

 
 

    


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   // Parameters
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   // Monitor elemnts
0028   MEMap2Ids me_tof_mu_;  // time of flight
0029   MEMap2Ids me_tof_others_;
0030   MEMap3Ids me_detail_tof_;
0031   MEMap3Ids me_detail_tof_mu_;
0032 
0033   MEMap1Ids me_eloss_mu_;  // energy loss
0034   MEMap1Ids me_eloss_others_;
0035   MEMap3Ids me_detail_eloss_;
0036   MEMap3Ids me_detail_eloss_mu_;
0037 
0038   MEMap3Ids me_occ_eta_mu_;  // occupancy
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   // Constants
0047   const Float_t kEnergyCF_ = 1e6f;  // energy loss conversion factor:
0048 };
0049 
0050 #endif  // Validation_MuonGEMHits_GEMSimHitValidation_h