CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MuonMETAlgo.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: METAlgorithms
4 // Class: MuonMETAlgo
5 //
11 //
12 // Original Authors: Michael Schmitt, Richard Cavanaugh The University of Florida
13 // Created: August 30, 2007
14 //
15 //
16 
17 //____________________________________________________________________________||
18 #ifndef RecoMET_MuonMETAlgo_h
19 #define RecoMET_MuonMETAlgo_h
20 
21 //____________________________________________________________________________||
23 
35 
36 
38 //____________________________________________________________________________||
39 
41 {
42 public:
44  virtual ~MuonMETAlgo() { }
45 
46  reco::CaloMET makeMET(const reco::CaloMET& fMet, double fSumEt,
47  const std::vector<CorrMETData>& fCorrections,
49  reco::MET makeMET(const reco::MET&, double fSumEt,
50  const std::vector<CorrMETData>& fCorrections,
51  const reco::MET::LorentzVector& fP4);
52 
53  virtual void run(const edm::View<reco::Muon>& inputMuons,
54  const edm::ValueMap<reco::MuonMETCorrectionData>& vm_muCorrData,
55  const edm::View<reco::MET>& uncorMET,
56  reco::METCollection *corMET);
57 
58  virtual void run(const edm::View<reco::Muon>& inputMuons,
59  const edm::ValueMap<reco::MuonMETCorrectionData>& vm_muCorrData,
60  const edm::View<reco::CaloMET>& uncorMET,
61  reco::CaloMETCollection *corMET);
62 
63 
64  void GetMuDepDeltas(const reco::Muon* inputMuon,
66  bool useTrackAssociatorPositions,
67  bool useRecHits,
68  bool useHO,
69  double towerEtThreshold,
70  double& deltax, double& deltay, double Bfield);
71 
72  template <class T> void MuonMETAlgo_run(const edm::View<reco::Muon>& inputMuons,
73  const edm::ValueMap<reco::MuonMETCorrectionData>& vm_muCorrData,
74  const edm::View<T>& v_uncorMET,
75  std::vector<T>* v_corMET);
76 
77  static void correctMETforMuon(double& deltax, double& deltay,
78  double bfield, int muonCharge,
79  const math::XYZTLorentzVector& muonP4,
80  const math::XYZPoint& muonVertex,
81  MuonMETInfo&);
82 
83 };
84 
85 //____________________________________________________________________________||
86 #endif // RecoMET_MuonMETAlgo_h
87 
static const TGPicture * info(bool iBackgroundIsBlack)
virtual ~MuonMETAlgo()
Definition: MuonMETAlgo.h:44
std::vector< reco::MET > METCollection
collection of MET objects
Definition: METCollection.h:23
void MuonMETAlgo_run(const edm::View< reco::Muon > &inputMuons, const edm::ValueMap< reco::MuonMETCorrectionData > &vm_muCorrData, const edm::View< T > &v_uncorMET, std::vector< T > *v_corMET)
Definition: MuonMETAlgo.cc:48
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
void GetMuDepDeltas(const reco::Muon *inputMuon, TrackDetMatchInfo &info, bool useTrackAssociatorPositions, bool useRecHits, bool useHO, double towerEtThreshold, double &deltax, double &deltay, double Bfield)
Definition: MuonMETAlgo.cc:101
Definition: MET.h:42
std::vector< reco::CaloMET > CaloMETCollection
collection of CaloMET objects
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
static void correctMETforMuon(double &deltax, double &deltay, double bfield, int muonCharge, const math::XYZTLorentzVector &muonP4, const math::XYZPoint &muonVertex, MuonMETInfo &)
Definition: MuonMETAlgo.cc:193
virtual void run(const edm::View< reco::Muon > &inputMuons, const edm::ValueMap< reco::MuonMETCorrectionData > &vm_muCorrData, const edm::View< reco::MET > &uncorMET, reco::METCollection *corMET)
reco::CaloMET makeMET(const reco::CaloMET &fMet, double fSumEt, const std::vector< CorrMETData > &fCorrections, const reco::MET::LorentzVector &)