File indexing completed on 2024-04-06 12:07:25
0001 #ifndef DQM_GEM_GEMEffByGEMCSCSegmentSource_h
0002 #define DQM_GEM_GEMEffByGEMCSCSegmentSource_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include "DQM/GEM/interface/GEMDQMEfficiencySourceBase.h"
0013
0014 #include "FWCore/Utilities/interface/EDGetToken.h"
0015 #include "FWCore/Framework/interface/ESHandle.h"
0016 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0017
0018 #include "DataFormats/GEMRecHit/interface/GEMCSCSegmentCollection.h"
0019 #include "DataFormats/MuonReco/interface/Muon.h"
0020 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0021 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0022
0023 class GEMEffByGEMCSCSegmentSource : public GEMDQMEfficiencySourceBase {
0024 public:
0025 explicit GEMEffByGEMCSCSegmentSource(const edm::ParameterSet &);
0026 ~GEMEffByGEMCSCSegmentSource() override;
0027 static void fillDescriptions(edm::ConfigurationDescriptions &);
0028
0029 private:
0030 void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0031 void analyze(const edm::Event &event, const edm::EventSetup &eventSetup) override;
0032
0033 MonitorElement *bookCSCChamberType(DQMStore::IBooker &, const TString &, const TString &);
0034
0035
0036 void analyzeGE11ME11Segment(const GEMCSCSegment &, const GEMOHStatusCollection *, const GEMVFATStatusCollection *);
0037 void checkCoincidenceGE11(const GEMRecHit *, const GEMRecHit *, const GEMCSCSegment &);
0038 void findMatchedME11Segments(const reco::MuonCollection *);
0039 bool isME11SegmentMatched(const CSCSegment &);
0040
0041
0042
0043
0044
0045 const edm::ESGetToken<GEMGeometry, MuonGeometryRecord> kGEMGeometryTokenBeginRun_;
0046 const edm::EDGetTokenT<GEMCSCSegmentCollection> kGEMCSCSegmentCollectionToken_;
0047 const edm::EDGetTokenT<reco::MuonCollection> kMuonCollectionToken_;
0048 const int kMinCSCRecHits_;
0049 const bool kModeDev_;
0050 const bool kUseMuonSegment_;
0051 const std::string kFolder_;
0052
0053
0054
0055
0056 std::vector<const CSCSegment *> matched_me11_segment_vector_;
0057
0058
0059 MEMap me_chamber_;
0060 MEMap me_chamber_matched_;
0061
0062 MEMap me_num_csc_hits_;
0063 MEMap me_num_csc_hits_matched_;
0064 MEMap me_csc_reduced_chi2_;
0065 MEMap me_csc_reduced_chi2_matched_;
0066 MEMap me_csc_chamber_type_;
0067 MEMap me_csc_chamber_type_matched_;
0068
0069 MEMap me_chamber_muon_segment_;
0070 MEMap me_chamber_muon_segment_matched_;
0071 };
0072
0073 #endif