CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ShiftedPFCandidateProducerForPFMEtMVA.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_PatUtils_ShiftedPFCandidateProducerForPFMEtMVA_h
2 #define PhysicsTools_PatUtils_ShiftedPFCandidateProducerForPFMEtMVA_h
3 
26 
28 
29 #include <string>
30 #include <vector>
31 
33 {
34  public:
35 
38 
39  private:
40 
41  void produce(edm::Event&, const edm::EventSetup&);
42 
43  std::string moduleLabel_;
44 
48 
51 
53  {
55  const reco::Candidate::LorentzVector& unshiftedObjectP4, double dRmatch)
56  : shiftedObjectP4_(shiftedObjectP4),
57  unshiftedObjectP4_(unshiftedObjectP4),
58  dRmatch_(dRmatch),
60  {
61  if ( unshiftedObjectP4.energy() > 0. ) {
62  shift_ = (shiftedObjectP4.energy()/unshiftedObjectP4.energy()) - 1.;
63  isValidMatch_ = true;
64  }
65  }
69  double dRmatch_;
70  double shift_;
72  };
73 
74  std::vector<objectEntryType> objects_;
75 };
76 
77 #endif
78 
79 
80 
81 
objectEntryType(const reco::Candidate::LorentzVector &shiftedObjectP4, const reco::Candidate::LorentzVector &unshiftedObjectP4, double dRmatch)
void produce(edm::Event &, const edm::EventSetup &)
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:38