CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PFMETProducerMVA.h
Go to the documentation of this file.
1 #ifndef RecoMET_METPUSubtraction_PFMETProducerMVA_h
2 #define RecoMET_METPUSubtraction_PFMETProducerMVA_h
3 
19 
27 
32 
34 
35 #include <vector>
36 
37 namespace reco
38 {
40  {
41  public:
42 
45 
46  private:
47 
48  void produce(edm::Event&, const edm::EventSetup&);
49 
50  // auxiliary functions
51  std::vector<mvaMEtUtilities::JetInfo> computeJetInfo(const reco::PFJetCollection&, const reco::PFJetCollection&, const reco::VertexCollection&, const reco::Vertex*,
52  const JetCorrector &iCorr,edm::Event & iEvent,const edm::EventSetup &iSetup,
53  std::vector<mvaMEtUtilities::leptonInfo> &iLeptons,std::vector<mvaMEtUtilities::pfCandInfo> &iCands);
54 
55  std::vector<mvaMEtUtilities::pfCandInfo> computePFCandidateInfo(const reco::PFCandidateCollection&, const reco::Vertex*);
56  std::vector<reco::Vertex::Point> computeVertexInfo(const reco::VertexCollection&);
57  double chargedFrac(const reco::Candidate *iCand,const reco::PFCandidateCollection& pfCandidates,const reco::Vertex* hardScatterVertex);
58 
59  bool passPFLooseId(const reco::PFJet *iJet);
60  bool istau (const reco::Candidate *iCand);
61  double chargedFracInCone(const reco::Candidate *iCand,const reco::PFCandidateCollection& pfCandidates,const reco::Vertex* hardScatterVertex,double iDRMax=0.2);
62 
63  // configuration parameter
69  typedef std::vector<edm::InputTag> vInputTag;
70  std::vector<edm::EDGetTokenT<edm::View<reco::Candidate> > > srcLeptons_;
71  int minNumLeptons_; // CV: option to skip MVA MET computation in case there are less than specified number of leptons in the event
73 
75  bool isOld42_ ;
76  bool useType1_;
77 
79 
80  double minCorrJetPt_;
81 
87 
89  };
90 }
91 
92 #endif
PFMETAlgorithmMVA mvaMEtAlgo_
PFMETProducerMVA(const edm::ParameterSet &)
PFSpecificAlgo pfMEtSpecificAlgo_
void produce(edm::Event &, const edm::EventSetup &)
std::vector< reco::Vertex::Point > computeVertexInfo(const reco::VertexCollection &)
PileupJetIdAlgo mvaJetIdAlgo_
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
edm::EDGetTokenT< reco::PFCandidateCollection > srcPFCandidates_
Jets made from PFObjects.
Definition: PFJet.h:21
std::vector< PFCandidatePtr > pfCandidates(const PFJet &jet, int particleId, bool sort=true)
bool istau(const reco::Candidate *iCand)
int iEvent
Definition: GenABIO.cc:230
edm::EDGetTokenT< edm::View< reco::Candidate > > srcPFCandidatesView_
std::vector< mvaMEtUtilities::pfCandInfo > computePFCandidateInfo(const reco::PFCandidateCollection &, const reco::Vertex *)
bool passPFLooseId(const reco::PFJet *iJet)
edm::EDGetTokenT< reco::PFJetCollection > srcCorrJets_
std::vector< edm::InputTag > vInputTag
edm::EDGetTokenT< reco::VertexCollection > srcVertices_
double chargedFrac(const reco::Candidate *iCand, const reco::PFCandidateCollection &pfCandidates, const reco::Vertex *hardScatterVertex)
std::vector< reco::PFCandidate > PFCandidateCollection
collection of PFCandidates
double chargedFracInCone(const reco::Candidate *iCand, const reco::PFCandidateCollection &pfCandidates, const reco::Vertex *hardScatterVertex, double iDRMax=0.2)
edm::EDGetTokenT< edm::Handle< double > > srcRho_
std::vector< PFJet > PFJetCollection
collection of PFJet objects
std::vector< edm::EDGetTokenT< edm::View< reco::Candidate > > > srcLeptons_
edm::EDGetTokenT< reco::PFJetCollection > srcUncorrJets_
std::vector< mvaMEtUtilities::JetInfo > computeJetInfo(const reco::PFJetCollection &, const reco::PFJetCollection &, const reco::VertexCollection &, const reco::Vertex *, const JetCorrector &iCorr, edm::Event &iEvent, const edm::EventSetup &iSetup, std::vector< mvaMEtUtilities::leptonInfo > &iLeptons, std::vector< mvaMEtUtilities::pfCandInfo > &iCands)