Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:09:38

0001 #ifndef MuonRecoOneHLT_H
0002 #define MuonRecoOneHLT_H
0003 
0004 #include <memory>
0005 #include <fstream>
0006 #include "FWCore/Framework/interface/Frameworkfwd.h"
0007 #include "FWCore/Framework/interface/Event.h"
0008 #include "FWCore/Framework/interface/MakerMacros.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0010 #include "FWCore/ServiceRegistry/interface/Service.h"
0011 #include "DQMServices/Core/interface/DQMStore.h"
0012 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0013 
0014 #include "DataFormats/Common/interface/TriggerResults.h"
0015 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
0016 #include "DataFormats/HLTReco/interface/TriggerObject.h"
0017 #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h"
0018 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
0019 #include "CommonTools/TriggerUtils/interface/GenericTriggerEventFlag.h"
0020 
0021 #include "DataFormats/Common/interface/Handle.h"
0022 #include "DataFormats/MuonReco/interface/Muon.h"
0023 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0024 #include "DataFormats/MuonReco/interface/MuonEnergy.h"
0025 
0026 #include "FWCore/Common/interface/TriggerNames.h"
0027 
0028 #include "DataFormats/TrackReco/interface/Track.h"
0029 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0030 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0031 
0032 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0033 
0034 #include "DataFormats/VertexReco/interface/Vertex.h"
0035 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0036 #include "DataFormats/MuonReco/interface/MuonSelectors.h"
0037 #include "DataFormats/Common/interface/TriggerResults.h"
0038 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
0039 #include "DataFormats/HLTReco/interface/TriggerObject.h"
0040 #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h"
0041 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
0042 
0043 class MuonRecoOneHLT : public DQMEDAnalyzer {
0044 public:
0045   /// Constructor
0046   MuonRecoOneHLT(const edm::ParameterSet&);
0047 
0048   /// Destructor
0049   ~MuonRecoOneHLT() override;
0050 
0051   void analyze(const edm::Event&, const edm::EventSetup&) override;
0052   void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0053 
0054 private:
0055   // ----------member data ---------------------------
0056   edm::ParameterSet parameters;
0057 
0058   // Switch for verbosity
0059   std::string metname;
0060 
0061   // STA Label
0062   edm::EDGetTokenT<reco::MuonCollection> theMuonCollectionLabel_;
0063   edm::EDGetTokenT<reco::VertexCollection> theVertexLabel_;
0064   edm::EDGetTokenT<reco::BeamSpot> theBeamSpotLabel_;
0065   edm::EDGetTokenT<edm::TriggerResults> theTriggerResultsLabel_;
0066 
0067   std::vector<std::string> singlemuonExpr_;
0068   std::vector<std::string> doublemuonExpr_;
0069   GenericTriggerEventFlag* _SingleMuonEventFlag;
0070   GenericTriggerEventFlag* _DoubleMuonEventFlag;
0071 
0072   //histo binning parameters
0073   int ptBin;
0074   float ptMin;
0075   float ptMax;
0076 
0077   int etaBin;
0078   float etaMin;
0079   float etaMax;
0080 
0081   int phiBin;
0082   float phiMin;
0083   float phiMax;
0084 
0085   int chi2Bin;
0086   float chi2Min;
0087   float chi2Max;
0088 
0089   //the histos
0090   MonitorElement* muReco;
0091 
0092   // global muon
0093   std::vector<MonitorElement*> etaGlbTrack;
0094   std::vector<MonitorElement*> phiGlbTrack;
0095   std::vector<MonitorElement*> chi2OvDFGlbTrack;
0096   std::vector<MonitorElement*> ptGlbTrack;
0097 
0098   // tight muon
0099   MonitorElement* etaTight;
0100   MonitorElement* phiTight;
0101   MonitorElement* chi2OvDFTight;
0102   MonitorElement* ptTight;
0103 
0104   // tracker muon
0105   MonitorElement* etaTrack;
0106   MonitorElement* phiTrack;
0107   MonitorElement* chi2OvDFTrack;
0108   MonitorElement* ptTrack;
0109   // sta muon
0110   MonitorElement* etaStaTrack;
0111   MonitorElement* phiStaTrack;
0112   MonitorElement* chi2OvDFStaTrack;
0113   MonitorElement* ptStaTrack;
0114 };
0115 #endif