CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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 
37 //____________________________________________________________________________||
38 
39 class MuonMETAlgo {
40 public:
42  virtual ~MuonMETAlgo() {}
43 
45  double fSumEt,
46  const std::vector<CorrMETData>& fCorrections,
49  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  void GetMuDepDeltas(const reco::Muon* inputMuon,
65  bool useTrackAssociatorPositions,
66  bool useRecHits,
67  bool useHO,
68  double towerEtThreshold,
69  double& deltax,
70  double& deltay,
71  double Bfield);
72 
73  template <class T>
74  void MuonMETAlgo_run(const edm::View<reco::Muon>& inputMuons,
75  const edm::ValueMap<reco::MuonMETCorrectionData>& vm_muCorrData,
76  const edm::View<T>& v_uncorMET,
77  std::vector<T>* v_corMET);
78 
79  static void correctMETforMuon(double& deltax,
80  double& deltay,
81  double bfield,
82  int muonCharge,
83  const math::XYZTLorentzVector& muonP4,
84  const math::XYZPoint& muonVertex,
85  MuonMETInfo&);
86 };
87 
88 //____________________________________________________________________________||
89 #endif // RecoMET_MuonMETAlgo_h
static const TGPicture * info(bool iBackgroundIsBlack)
virtual ~MuonMETAlgo()
Definition: MuonMETAlgo.h:42
std::vector< reco::MET > METCollection
collection of MET objects
Definition: METCollection.h:22
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:45
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:96
Definition: MET.h:41
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:36
static void correctMETforMuon(double &deltax, double &deltay, double bfield, int muonCharge, const math::XYZTLorentzVector &muonP4, const math::XYZPoint &muonVertex, MuonMETInfo &)
Definition: MuonMETAlgo.cc:188
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 &)