Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef __L1Analysis_L1AnalysisRecoMuon2_H__
0002 #define __L1Analysis_L1AnalysisRecoMuon2_H__
0003 
0004 //-------------------------------------------------------------------------------
0005 // Created 05/03/2010 - A.C. Le Bihan
0006 //
0007 //
0008 // Original code : L1Trigger/L1TNtuples/L1RecoJetNtupleProducer - Jim Brooke
0009 //-------------------------------------------------------------------------------
0010 
0011 #include "JetMETCorrections/JetCorrector/interface/JetCorrector.h"
0012 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
0013 #include "DataFormats/JetReco/interface/JetID.h"
0014 #include "L1AnalysisRecoMuon2DataFormat.h"
0015 
0016 //muons
0017 #include "DataFormats/MuonReco/interface/Muon.h"
0018 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0019 #include "DataFormats/TrackReco/interface/Track.h"
0020 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0021 #include "DataFormats/GeometrySurface/interface/Cylinder.h"
0022 #include "DataFormats/GeometrySurface/interface/Plane.h"
0023 #include "DataFormats/MuonReco/interface/MuonEnergy.h"
0024 #include "DataFormats/MuonReco/interface/MuonTime.h"
0025 #include "CondFormats/AlignmentRecord/interface/TrackerSurfaceDeformationRcd.h"
0026 
0027 #include "FWCore/Framework/interface/Event.h"
0028 #include "FWCore/Framework/interface/EventSetup.h"
0029 #include "FWCore/Framework/interface/ConsumesCollector.h"
0030 
0031 //vertices bp
0032 #include "DataFormats/VertexReco/interface/Vertex.h"
0033 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0034 #include "L1Trigger/L1TNtuples/interface/L1AnalysisRecoVertexDataFormat.h"
0035 
0036 // track extrapolation
0037 #include "MuonAnalysis/MuonAssociators/interface/PropagateToMuonSetup.h"
0038 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
0039 
0040 namespace L1Analysis {
0041   class L1AnalysisRecoMuon2 {
0042   public:
0043     L1AnalysisRecoMuon2(const edm::ParameterSet& pset, edm::ConsumesCollector);
0044     ~L1AnalysisRecoMuon2();
0045 
0046     void init(const edm::EventSetup& eventSetup);
0047 
0048     //void Print(std::ostream &os = std::cout) const;
0049     void SetMuon(const edm::Event& event,
0050                  const edm::EventSetup& setup,
0051                  const edm::Handle<reco::MuonCollection> muons,
0052                  const edm::Handle<reco::VertexCollection> vertices,
0053                  double METx,
0054                  double METy,
0055                  unsigned maxMuon);
0056 
0057     /* bool isMediumMuon(const reco::Muon & recoMu) ; */
0058     /* bool isLooseMuon (const reco::Muon & recoMu); */
0059 
0060     L1AnalysisRecoMuon2DataFormat* getData() { return &recoMuon_; }
0061     void Reset() { recoMuon_.Reset(); }
0062 
0063   private:
0064     L1AnalysisRecoMuon2DataFormat recoMuon_;
0065 
0066     const PropagateToMuonSetup muPropagatorSetup1st_;
0067     const PropagateToMuonSetup muPropagatorSetup2nd_;
0068 
0069     PropagateToMuon muPropagator1st_;
0070     PropagateToMuon muPropagator2nd_;
0071   };
0072 }  // namespace L1Analysis
0073 #endif