Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef QcdPhotonsDQM_H
0002 #define QcdPhotonsDQM_H
0003 
0004 /** \class QcdPhotonsDQM
0005  *
0006  *  DQM offline for QCD-Photons
0007  *
0008  *  \author Michael B. Anderson, University of Wisconsin Madison
0009  */
0010 
0011 #include "FWCore/Framework/interface/Frameworkfwd.h"
0012 
0013 // Trigger stuff
0014 #include "DataFormats/Common/interface/TriggerResults.h"
0015 
0016 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
0017 #include "DataFormats/EgammaCandidates/interface/PhotonFwd.h"
0018 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0019 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0020 #include "DQMServices/Core/interface/DQMStore.h"
0021 
0022 #include "RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h"
0023 
0024 namespace reco {
0025   class Jet;
0026 }
0027 
0028 class QcdPhotonsDQM : public DQMEDAnalyzer {
0029 public:
0030   /// Constructor
0031   QcdPhotonsDQM(const edm::ParameterSet&);
0032 
0033   /// Destructor
0034   ~QcdPhotonsDQM() override;
0035 
0036   //Book histograms
0037   void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0038 
0039   /// Get the analysis
0040   void analyze(const edm::Event&, const edm::EventSetup&) override;
0041 
0042 private:
0043   // ----------member data ---------------------------
0044 
0045   // Switch for verbosity
0046   std::string logTraceName;
0047 
0048   // Variables from config file
0049   std::string theTriggerPathToPass_;
0050   std::vector<std::string> thePlotTheseTriggersToo_;
0051   edm::InputTag theJetCollectionLabel_;
0052   edm::EDGetTokenT<edm::TriggerResults> trigTagToken_;
0053   edm::EDGetTokenT<reco::PhotonCollection> thePhotonCollectionToken_;
0054   edm::EDGetTokenT<edm::View<reco::Jet> > theJetCollectionToken_;
0055   edm::EDGetTokenT<reco::VertexCollection> theVertexCollectionToken_;
0056   double theMinJetPt_;
0057   double theMinPhotonEt_;
0058   bool theRequirePhotonFound_;
0059   double thePlotPhotonMaxEt_;
0060   double thePlotPhotonMaxEta_;
0061   double thePlotJetMaxEta_;
0062 
0063   edm::InputTag theBarrelRecHitTag_;
0064   edm::InputTag theEndcapRecHitTag_;
0065   edm::EDGetTokenT<EcalRecHitCollection> theBarrelRecHitToken_;
0066   edm::EDGetTokenT<EcalRecHitCollection> theEndcapRecHitToken_;
0067   EcalClusterLazyTools::ESGetTokens ecalClusterToolsESGetTokens_;
0068 
0069   // Histograms
0070   MonitorElement* h_triggers_passed;
0071   MonitorElement* h_photon_et_beforeCuts;
0072   MonitorElement* h_photon_et;
0073   MonitorElement* h_photon_eta;
0074   MonitorElement* h_photon_count_bar;
0075   MonitorElement* h_photon_count_end;
0076   MonitorElement* h_jet_pt;
0077   MonitorElement* h_jet_eta;
0078   MonitorElement* h_jet_count;
0079   MonitorElement* h_deltaPhi_photon_jet;
0080   MonitorElement* h_deltaPhi_jet_jet2;
0081   MonitorElement* h_deltaEt_photon_jet;
0082   MonitorElement* h_jet2_ptOverPhotonEt;
0083   MonitorElement* h_jet2_pt;
0084   MonitorElement* h_jet2_eta;
0085   MonitorElement* h_deltaPhi_photon_jet2;
0086   MonitorElement* h_deltaR_jet_jet2;
0087   MonitorElement* h_deltaR_photon_jet2;
0088 
0089   MonitorElement* h_photon_et_jetcs;
0090   MonitorElement* h_photon_et_jetco;
0091   MonitorElement* h_photon_et_jetfs;
0092   MonitorElement* h_photon_et_jetfo;
0093 };
0094 #endif
0095 
0096 /* Local Variables: */
0097 /* show-trailing-whitespace: t */
0098 /* truncate-lines: t */
0099 /* End: */