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 {
35  public:
36 
39 
40  private:
42 
43  void produce(edm::Event&, const edm::EventSetup&);
44 
46 
50 
53 
56 
57 
59  {
61  const reco::Candidate::LorentzVector& unshiftedObjectP4, double dRmatch)
62  : shiftedObjectP4_(shiftedObjectP4),
63  unshiftedObjectP4_(unshiftedObjectP4),
64  dRmatch_(dRmatch),
66  {
67  if ( unshiftedObjectP4.energy() > 0. ) {
68  shift_ = (shiftedObjectP4.energy()/unshiftedObjectP4.energy()) - 1.;
69  isValidMatch_ = true;
70  }
71  }
75  double dRmatch_;
76  double shift_;
78  };
79 
80  std::vector<objectEntryType> objects_;
81 };
82 
83 #endif
84 
85 
86 
87 
void produce(edm::Event &, const edm::EventSetup &)
objectEntryType(const reco::Candidate::LorentzVector &shiftedObjectP4, const reco::Candidate::LorentzVector &unshiftedObjectP4, double dRmatch)
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
edm::EDGetTokenT< CandidateView > srcUnshiftedObjectsToken_
edm::EDGetTokenT< reco::PFCandidateCollection > srcPFCandidatesToken_