File indexing completed on 2024-04-06 12:32:53
0001 #ifndef ME0SegmentsValidation_H
0002 #define ME0SegmentsValidation_H
0003
0004 #include "Validation/MuonME0Validation/interface/ME0BaseValidation.h"
0005 #include "DataFormats/GEMDigi/interface/ME0DigiPreRecoCollection.h"
0006 #include "DataFormats/GEMRecHit/interface/ME0SegmentCollection.h"
0007 #include "DataFormats/GEMRecHit/interface/ME0RecHitCollection.h"
0008
0009 class ME0SegmentsValidation : public ME0BaseValidation {
0010 public:
0011 explicit ME0SegmentsValidation(const edm::ParameterSet &);
0012 ~ME0SegmentsValidation() override;
0013 void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0014 void analyze(const edm::Event &e, const edm::EventSetup &) override;
0015 std::pair<int, int> isMatched(ME0DetId, LocalPoint, edm::Handle<ME0DigiPreRecoCollection>);
0016 bool isSimTrackGood(edm::SimTrackContainer::const_iterator simTrack);
0017 bool isSimMatched(edm::SimTrackContainer::const_iterator, edm::PSimHitContainer::const_iterator);
0018
0019 private:
0020 MonitorElement *me0_specRH_xy[2][6];
0021 MonitorElement *me0_rh_xy_Muon[2][6];
0022 MonitorElement *me0_specRH_zr[2];
0023
0024 MonitorElement *me0_segment_chi2, *me0_segment_redchi2, *me0_segment_ndof;
0025 MonitorElement *me0_segment_time, *me0_segment_timeErr;
0026 MonitorElement *me0_segment_numRH, *me0_segment_numRHSig, *me0_segment_numRHBkg;
0027 MonitorElement *me0_segment_EtaRH, *me0_segment_PhiRH, *me0_segment_size;
0028
0029 MonitorElement *me0_simsegment_eta, *me0_simsegment_pt, *me0_simsegment_phi;
0030 MonitorElement *me0_matchedsimsegment_eta, *me0_matchedsimsegment_pt, *me0_matchedsimsegment_phi;
0031
0032 MonitorElement *me0_specRH_DeltaX[2][6];
0033 MonitorElement *me0_specRH_DeltaY[2][6];
0034 MonitorElement *me0_specRH_PullX[2][6];
0035 MonitorElement *me0_specRH_PullY[2][6];
0036
0037 edm::EDGetToken InputTagToken_Segments;
0038 edm::EDGetToken InputTagToken_Digis;
0039 edm::EDGetToken InputTagToken_;
0040 edm::EDGetToken InputTagTokenST_;
0041
0042 int npart;
0043 double sigma_x_, sigma_y_;
0044 double eta_max_, eta_min_;
0045 double pt_min_;
0046 bool isMuonGun_;
0047
0048 typedef std::map<edm::SimTrackContainer::const_iterator, edm::PSimHitContainer> MapTypeSim;
0049 typedef std::map<ME0SegmentCollection::const_iterator, std::vector<ME0RecHit>> MapTypeSeg;
0050 };
0051
0052 #endif