Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:08:03

0001 #ifndef EwkMuDQM_H
0002 #define EwkMuDQM_H
0003 
0004 /** \class EwkMuDQM
0005  *
0006  *  DQM offline for EWKMu
0007  *
0008  */
0009 
0010 #include "FWCore/Framework/interface/Frameworkfwd.h"
0011 #include "FWCore/Framework/interface/MakerMacros.h"
0012 #include "HLTrigger/HLTcore/interface/HLTPrescaleProvider.h"
0013 
0014 #include "FWCore/Utilities/interface/InputTag.h"
0015 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0016 #include "DQMServices/Core/interface/DQMStore.h"
0017 
0018 namespace reco {
0019   class Muon;
0020   class Jet;
0021   class MET;
0022   class Vertex;
0023   class Photon;
0024   class BeamSpot;
0025 }  // namespace reco
0026 
0027 class EwkMuDQM : public DQMEDAnalyzer {
0028 public:
0029   EwkMuDQM(const edm::ParameterSet&);
0030   void analyze(const edm::Event&, const edm::EventSetup&) override;
0031 
0032 protected:
0033   //Book histograms
0034   void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0035   void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
0036 
0037   void init_histograms();
0038 
0039 private:
0040   edm::InputTag metTag_;
0041   edm::InputTag jetTag_;
0042   edm::EDGetTokenT<edm::TriggerResults> trigTag_;
0043   edm::EDGetTokenT<edm::View<reco::Muon> > muonTag_;
0044   edm::EDGetTokenT<edm::View<reco::MET> > metToken_;
0045   edm::EDGetTokenT<edm::View<reco::Jet> > jetToken_;
0046   edm::EDGetTokenT<edm::View<reco::Photon> > phoTag_;
0047   edm::EDGetTokenT<edm::View<reco::Vertex> > vertexTag_;
0048   edm::EDGetTokenT<reco::BeamSpot> beamSpotTag_;
0049   std::vector<std::string> trigPathNames_;
0050 
0051   bool isAlsoTrackerMuon_;
0052   double dxyCut_;
0053   double normalizedChi2Cut_;
0054   int trackerHitsCut_;
0055   int pixelHitsCut_;
0056   int muonHitsCut_;
0057   int nMatchesCut_;
0058 
0059   bool isRelativeIso_;
0060   bool isCombinedIso_;
0061   double isoCut03_;
0062 
0063   double acopCut_;
0064   double metMin_;
0065   double metMax_;
0066   double mtMin_;
0067   double mtMax_;
0068 
0069   double ptCut_;
0070   double etaCut_;
0071 
0072   double ptThrForZ1_;
0073   double ptThrForZ2_;
0074 
0075   double dimuonMassMin_;
0076   double dimuonMassMax_;
0077 
0078   double eJetMin_;
0079   int nJetMax_;
0080 
0081   double ptThrForPhoton_;
0082   int nPhoMax_;
0083 
0084   bool isValidHltConfig_;
0085   HLTPrescaleProvider hltPrescaleProvider_;
0086 
0087   unsigned int nall;
0088   unsigned int nrec;
0089   unsigned int niso;
0090   unsigned int nhlt;
0091   unsigned int nmet;
0092   unsigned int nsel;
0093   unsigned int nz;
0094 
0095   MonitorElement* pt_before_;
0096   MonitorElement* pt_after_;
0097   MonitorElement* eta_before_;
0098   MonitorElement* eta_after_;
0099   MonitorElement* dxy_before_;
0100   MonitorElement* dxy_after_;
0101   MonitorElement* goodewkmuon_before_;
0102   MonitorElement* goodewkmuon_after_;
0103   MonitorElement* iso_before_;
0104   MonitorElement* iso_after_;
0105   MonitorElement* trig_before_;
0106   MonitorElement* trig_after_;
0107   MonitorElement* mt_before_;
0108   MonitorElement* mt_after_;
0109   MonitorElement* met_before_;
0110   MonitorElement* met_after_;
0111   MonitorElement* acop_before_;
0112   MonitorElement* acop_after_;
0113 
0114   MonitorElement* njets_before_;
0115   MonitorElement* njets_after_;
0116   MonitorElement* njets_afterZ_;
0117   MonitorElement* leadingjet_pt_before_;
0118   MonitorElement* leadingjet_pt_after_;
0119   MonitorElement* leadingjet_pt_afterZ_;
0120   MonitorElement* leadingjet_eta_before_;
0121   MonitorElement* leadingjet_eta_after_;
0122   MonitorElement* leadingjet_eta_afterZ_;
0123 
0124   // MonitorElement* ptPlus_before_;
0125   // MonitorElement* ptMinus_before_;
0126   MonitorElement* ptDiffPM_before_;
0127   // MonitorElement* ptPlus_afterW_;
0128   // MonitorElement* ptMinus_afterW_;
0129   // MonitorElement* ptPlus_afterZ_;
0130   // MonitorElement* ptMinus_afterZ_;
0131   MonitorElement* ptDiffPM_afterZ_;
0132 
0133   MonitorElement* met_afterZ_;
0134   MonitorElement* pt1_afterZ_;
0135   MonitorElement* eta1_afterZ_;
0136   MonitorElement* dxy1_afterZ_;
0137   MonitorElement* goodewkmuon1_afterZ_;
0138   MonitorElement* iso1_afterZ_;
0139   MonitorElement* pt2_afterZ_;
0140   MonitorElement* eta2_afterZ_;
0141   MonitorElement* dxy2_afterZ_;
0142   MonitorElement* goodewkmuon2_afterZ_;
0143   MonitorElement* iso2_afterZ_;
0144 
0145   // filled if there is a Z-candidate
0146   MonitorElement* n_zselPt1thr_;  // number of muons in the event with pt>pt1thr
0147   MonitorElement* n_zselPt2thr_;  // number of muons in the event with pt>pt2thr
0148 
0149   MonitorElement* ztrig_afterZ_;
0150   MonitorElement* dimuonmass_before_;
0151   MonitorElement* dimuonmass_afterZ_;
0152 
0153   MonitorElement* npvs_before_;
0154   MonitorElement* npvs_after_;
0155   MonitorElement* npvs_afterZ_;
0156 
0157   MonitorElement* muoncharge_before_;
0158   MonitorElement* muoncharge_after_;
0159   MonitorElement* muoncharge_afterZ_;
0160 
0161   MonitorElement* nmuons_;
0162   MonitorElement* ngoodmuons_;
0163 
0164   MonitorElement* npfph_;
0165   MonitorElement* nph_;
0166   MonitorElement* pfphPt_;
0167   MonitorElement* phPt_;
0168   MonitorElement* pfphEta_;
0169   MonitorElement* phEta_;
0170 };
0171 
0172 #endif
0173 
0174 // Local Variables:
0175 // show-trailing-whitespace: t
0176 // truncate-lines: t
0177 // End: