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 #ifndef RecoMET_MuonMETAlgo_h
2 #define RecoMET_MuonMETAlgo_h
3 
14 
17 
29 
30 
33 {
34  public:
35  MuonMETAlgo();
36  virtual ~MuonMETAlgo();
37 
38  reco::CaloMET makeMET(const reco::CaloMET& fMet, double fSumEt,
39  const std::vector<CorrMETData>& fCorrections,
41  reco::MET makeMET(const reco::MET&, double fSumEt,
42  const std::vector<CorrMETData>& fCorrections,
43  const reco::MET::LorentzVector& fP4);
44 
45  virtual void run(const edm::View<reco::Muon>& inputMuons,
46  const edm::ValueMap<reco::MuonMETCorrectionData>& vm_muCorrData,
47  const edm::View<reco::MET>& uncorMET,
48  reco::METCollection *corMET);
49 
50  virtual void run(const edm::View<reco::Muon>& inputMuons,
51  const edm::ValueMap<reco::MuonMETCorrectionData>& vm_muCorrData,
52  const edm::View<reco::CaloMET>& uncorMET,
53  reco::CaloMETCollection *corMET);
54 
55 
56  void GetMuDepDeltas(const reco::Muon* inputMuon,
58  bool useTrackAssociatorPositions,
59  bool useRecHits,
60  bool useHO,
61  double towerEtThreshold,
62  double& deltax, double& deltay, double Bfield);
63 
64  template <class T> void MuonMETAlgo_run(const edm::View<reco::Muon>& inputMuons,
65  const edm::ValueMap<reco::MuonMETCorrectionData>& vm_muCorrData,
66  const edm::View<T>& v_uncorMET,
67  std::vector<T>* v_corMET);
68 
69  static void correctMETforMuon(double& deltax, double& deltay,
70  double bfield, int muonCharge,
71  const math::XYZTLorentzVector muonP4,
72  const math::XYZPoint muonVertex,
73  MuonMETInfo&);
74 
75 };
76 
77 #endif // Type1MET_MuonMETAlgo_h
78 
79 /* LocalWords: MuonMETAlgo
80  */
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:30
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:102
Definition: MET.h:32
std::vector< reco::CaloMET > CaloMETCollection
collection of CaloMET objects
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:13
virtual ~MuonMETAlgo()
Definition: MuonMETAlgo.cc:437
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:39
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 &)
static void correctMETforMuon(double &deltax, double &deltay, double bfield, int muonCharge, const math::XYZTLorentzVector muonP4, const math::XYZPoint muonVertex, MuonMETInfo &)
Definition: MuonMETAlgo.cc:194