CMS 3D CMS Logo

ShiftedPFCandidateProducerForPFMVAMEt.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_PatUtils_ShiftedPFCandidateProducerForPFMVAMEt_h
2 #define PhysicsTools_PatUtils_ShiftedPFCandidateProducerForPFMVAMEt_h
3 
24 
29 
30 #include <string>
31 #include <vector>
32 
34 public:
37 
38 private:
40 
41  void produce(edm::Event&, const edm::EventSetup&) override;
42 
44 
48 
51 
54 
55  struct objectEntryType {
57  const reco::Candidate::LorentzVector& unshiftedObjectP4,
58  double dRmatch)
59  : shiftedObjectP4_(shiftedObjectP4),
60  unshiftedObjectP4_(unshiftedObjectP4),
61  dRmatch_(dRmatch),
63  if (unshiftedObjectP4.energy() > 0.) {
64  shift_ = (shiftedObjectP4.energy() / unshiftedObjectP4.energy()) - 1.;
65  isValidMatch_ = true;
66  }
67  }
71  double dRmatch_;
72  double shift_;
74  };
75 
76  std::vector<objectEntryType> objects_;
77 };
78 
79 #endif
objectEntryType(const reco::Candidate::LorentzVector &shiftedObjectP4, const reco::Candidate::LorentzVector &unshiftedObjectP4, double dRmatch)
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
void produce(edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< CandidateView > srcUnshiftedObjectsToken_
edm::EDGetTokenT< reco::PFCandidateCollection > srcPFCandidatesToken_