Back to home page

Project CMSSW displayed by LXR

 
 

    


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