Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef FSQDQM_H
0002 #define FSQDQM_H
0003 
0004 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0006 #include "FWCore/Framework/interface/ESHandle.h"
0007 #include "FWCore/Framework/interface/LuminosityBlock.h"
0008 #include "FWCore/Framework/interface/Run.h"
0009 #include "FWCore/Framework/interface/Event.h"
0010 #include "FWCore/Framework/interface/EventSetup.h"
0011 #include "FWCore/Utilities/interface/InputTag.h"
0012 #include "DataFormats/Candidate/interface/Candidate.h"
0013 #include "DataFormats/Candidate/interface/CandidateFwd.h"
0014 
0015 // Trigger stuff
0016 #include "DataFormats/Common/interface/TriggerResults.h"
0017 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
0018 
0019 #include "DataFormats/Common/interface/Handle.h"
0020 #include "FWCore/Framework/interface/DataKeyTags.h"
0021 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
0022 #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h"
0023 #include "DataFormats/MuonReco/interface/Muon.h"
0024 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0025 #include <DataFormats/EgammaCandidates/interface/GsfElectron.h>
0026 
0027 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
0028 #include "DataFormats/GeometryCommonDetAlgo/interface/Measurement1D.h"
0029 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
0030 #include "DataFormats/VertexReco/interface/Vertex.h"
0031 
0032 #include "DQMServices/Core/interface/DQMStore.h"
0033 
0034 // ParticleFlow
0035 #include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h"
0036 
0037 // EGamma
0038 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
0039 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
0040 #include "DataFormats/EgammaCandidates/interface/Electron.h"
0041 #include "DataFormats/EgammaCandidates/interface/ElectronFwd.h"
0042 
0043 // Muon
0044 #include "DataFormats/MuonReco/interface/Muon.h"
0045 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0046 #include "DataFormats/MuonReco/interface/MuonSelectors.h"
0047 #include "DataFormats/MuonReco/interface/MuonIsolation.h"
0048 
0049 // Jets
0050 #include "DataFormats/JetReco/interface/PFJetCollection.h"
0051 #include "DataFormats/JetReco/interface/BasicJetCollection.h"
0052 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
0053 
0054 // MET
0055 #include "DataFormats/METReco/interface/CaloMETCollection.h"
0056 #include "DataFormats/METReco/interface/PFMETCollection.h"
0057 #include "DataFormats/METReco/interface/GenMETCollection.h"
0058 #include "DataFormats/METReco/interface/CaloMET.h"
0059 #include "DataFormats/METReco/interface/PFMET.h"
0060 #include "DataFormats/METReco/interface/MET.h"
0061 #include "DataFormats/METReco/interface/METCollection.h"
0062 
0063 //
0064 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
0065 #include "RecoEcal/EgammaCoreTools/interface/EcalClusterTools.h"
0066 
0067 #include "CommonTools/Utils/interface/StringCutObjectSelector.h"
0068 
0069 #include "DataFormats/Math/interface/deltaPhi.h"
0070 
0071 #include <iostream>
0072 #include <fstream>
0073 #include <string>
0074 #include <vector>
0075 #include <map>
0076 #include <cmath>
0077 
0078 class FSQDQM : public DQMEDAnalyzer {
0079 public:
0080   FSQDQM(const edm::ParameterSet &ps);
0081   ~FSQDQM() override;
0082 
0083 protected:
0084   void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override;
0085 
0086 private:
0087   void bookHistograms(DQMStore::IBooker &bei, edm::Run const &, edm::EventSetup const &) override;
0088   void bookHistos(DQMStore *bei);
0089 
0090   edm::InputTag vertex_;
0091   std::string labelBS_, labelTrack_, labelPFJet_, labelCastorJet_;
0092   edm::EDGetTokenT<edm::View<reco::Vertex> > pvs_;
0093   edm::EDGetTokenT<reco::TrackCollection> tok_track_;
0094   edm::EDGetTokenT<reco::PFJetCollection> tok_pfjet_;
0095   edm::EDGetTokenT<reco::BasicJetCollection> tok_castorjet_;
0096 
0097   std::vector<int> hltresults;
0098   unsigned int runNumber_, eventNumber_, lumiNumber_, bxNumber_;
0099 
0100   //Histograms
0101   MonitorElement *PFJetpt;
0102   MonitorElement *PFJeteta;
0103   MonitorElement *PFJetphi;
0104 
0105   MonitorElement *CastorJetphi;
0106   MonitorElement *CastorJetMulti;
0107   MonitorElement *PFJetMulti;
0108   MonitorElement *PFJetRapidity;
0109   MonitorElement *Track_HP_Phi;
0110   MonitorElement *Track_HP_Eta;
0111   MonitorElement *Track_HP_Pt;
0112   MonitorElement *Track_HP_ptErr_over_pt;
0113   MonitorElement *Track_HP_dzvtx_over_dzerr;
0114   MonitorElement *Track_HP_dxyvtx_over_dxyerror;
0115   MonitorElement *NPV;
0116   MonitorElement *PV_chi2;
0117   MonitorElement *PV_d0;
0118   MonitorElement *PV_numTrks;
0119   MonitorElement *PV_sumTrks;
0120   MonitorElement *h_ptsum_towards;
0121   MonitorElement *h_ptsum_transverse;
0122   MonitorElement *h_ptsum_away;
0123   MonitorElement *h_ntracks_towards;
0124   MonitorElement *h_ntracks_transverse;
0125   MonitorElement *h_ntracks_away;
0126   MonitorElement *h_trkptsum;
0127   MonitorElement *h_ntracks;
0128 
0129   MonitorElement *h_leadingtrkpt_ntrk_away;
0130   MonitorElement *h_leadingtrkpt_ntrk_towards;
0131   MonitorElement *h_leadingtrkpt_ntrk_transverse;
0132   MonitorElement *h_leadingtrkpt_ptsum_away;
0133   MonitorElement *h_leadingtrkpt_ptsum_towards;
0134   MonitorElement *h_leadingtrkpt_ptsum_transverse;
0135 
0136   //  math::XYZPoint RefVtx;
0137 };
0138 #endif