CMS 3D CMS Logo

PFMETProducerMVA.h
Go to the documentation of this file.
1 #ifndef RecoMET_METPUSubtraction_PFMETProducerMVA_h
2 #define RecoMET_METPUSubtraction_PFMETProducerMVA_h
3 
18 
31 
33 
38 
40 #include <TLorentzVector.h>
41 
42 namespace reco {
44  public:
46  ~PFMETProducerMVA() override;
47 
48  private:
49  void produce(edm::Event&, const edm::EventSetup&) override;
50 
51  // auxiliary functions
52  std::vector<reco::PUSubMETCandInfo> computeLeptonInfo(
55  const reco::Vertex* hardScatterVertex,
56  int& lId,
57  bool& lHasPhotons,
59 
60  std::vector<reco::PUSubMETCandInfo> computeJetInfo(const reco::PFJetCollection&,
62  const edm::ValueMap<float>&,
64  const reco::Vertex*,
65  const reco::JetCorrector& iCorr,
67  const edm::EventSetup& iSetup,
68  std::vector<reco::PUSubMETCandInfo>& iLeptons,
69  std::vector<reco::PUSubMETCandInfo>& iCands);
70 
71  std::vector<reco::PUSubMETCandInfo> computePFCandidateInfo(const reco::CandidateView&, const reco::Vertex*);
72  std::vector<reco::Vertex::Point> computeVertexInfo(const reco::VertexCollection&);
73  double chargedEnFrac(const reco::Candidate* iCand,
75  const reco::Vertex* hardScatterVertex);
76 
77  bool passPFLooseId(const reco::PFJet* iJet);
78  bool istau(const reco::Candidate* iCand);
79  double chargedFracInCone(const reco::Candidate* iCand,
81  const reco::Vertex* hardScatterVertex,
82  double iDRMax = 0.2);
83 
84  // configuration parameter
88  //edm::EDGetTokenT<reco::PFCandidateCollection> srcPFCandidates_;
92  typedef std::vector<edm::InputTag> vInputTag;
93  std::vector<edm::EDGetTokenT<reco::CandidateView> > srcLeptons_;
94  int minNumLeptons_; // CV: option to skip MVA MET computation in case there are less than specified number of leptons in the event
95 
96  bool useType1_;
97 
99 
101 
106  // PileupJetIdAlgo mvaJetIdAlgo_;
107 
109  };
110 } // namespace reco
111 
112 #endif
reco::PFMETProducerMVA::computeLeptonInfo
std::vector< reco::PUSubMETCandInfo > computeLeptonInfo(const std::vector< edm::EDGetTokenT< reco::CandidateView > > &srcLeptons_, const reco::CandidateView &pfCandidates, const reco::Vertex *hardScatterVertex, int &lId, bool &lHasPhotons, edm::Event &iEvent)
Definition: PFMETProducerMVA.cc:138
PFMETAlgorithmMVA
Definition: PFMETAlgorithmMVA.h:31
METAlgo
Definition: METAlgo.h:29
PFMETAlgorithmMVA.h
zmumugammaAnalyzer_cfi.pfCandidates
pfCandidates
Definition: zmumugammaAnalyzer_cfi.py:11
Muon.h
reco::PFMETProducerMVA::mJetCorrector_
edm::EDGetTokenT< reco::JetCorrector > mJetCorrector_
Definition: PFMETProducerMVA.h:91
PileupJetIdAlgo.h
METAlgo.h
edm::EDGetTokenT
Definition: EDGetToken.h:33
reco::VertexCollection
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
PFJet.h
reco::JetCorrector
Definition: JetCorrector.h:35
PFJetCollection.h
EDProducer.h
reco::PFMETProducerMVA::PFMETProducerMVA
PFMETProducerMVA(const edm::ParameterSet &)
Definition: PFMETProducerMVA.cc:9
PFMETCollection.h
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
reco::PFMETProducerMVA::srcPFCandidatesView_
edm::EDGetTokenT< edm::View< reco::Candidate > > srcPFCandidatesView_
Definition: PFMETProducerMVA.h:89
edm::Handle< reco::PFJetCollection >
Tau.h
reco::PFMETProducerMVA
Definition: PFMETProducerMVA.h:43
reco::PFMETProducerMVA::globalThreshold_
double globalThreshold_
Definition: PFMETProducerMVA.h:98
reco::PFMETProducerMVA::minCorrJetPt_
double minCorrJetPt_
Definition: PFMETProducerMVA.h:100
CandidateFwd.h
reco::PFMETProducerMVA::srcUncorrJets_
edm::EDGetTokenT< reco::PFJetCollection > srcUncorrJets_
Definition: PFMETProducerMVA.h:86
deltaR.h
reco::PFMETProducerMVA::chargedEnFrac
double chargedEnFrac(const reco::Candidate *iCand, const reco::CandidateView &pfCandidates, const reco::Vertex *hardScatterVertex)
Definition: PFMETProducerMVA.cc:333
reco::PFMETProducerMVA::computeVertexInfo
std::vector< reco::Vertex::Point > computeVertexInfo(const reco::VertexCollection &)
Definition: PFMETProducerMVA.cc:320
reco::PFMETProducerMVA::verbosity_
int verbosity_
Definition: PFMETProducerMVA.h:108
reco::PFMETProducerMVA::useType1_
bool useType1_
Definition: PFMETProducerMVA.h:96
reco::PFMETProducerMVA::mvaMEtAlgo_
PFMETAlgorithmMVA mvaMEtAlgo_
Definition: PFMETProducerMVA.h:104
reco::PFMETProducerMVA::minNumLeptons_
int minNumLeptons_
Definition: PFMETProducerMVA.h:94
JetCorrector.h
Vertex.h
edm::View
Definition: CaloClusterFwd.h:14
edm::ParameterSet
Definition: ParameterSet.h:36
reco::PFMETProducerMVA::srcJetIds_
edm::EDGetTokenT< edm::ValueMap< float > > srcJetIds_
Definition: PFMETProducerMVA.h:87
reco::PFMETProducerMVA::pfMEtSpecificAlgo_
PFSpecificAlgo pfMEtSpecificAlgo_
Definition: PFMETProducerMVA.h:103
Event.h
PackedCandidate.h
PFMET.h
iEvent
int iEvent
Definition: GenABIO.cc:224
reco::PFMETProducerMVA::vInputTag
std::vector< edm::InputTag > vInputTag
Definition: PFMETProducerMVA.h:92
reco::PFMETProducerMVA::srcLeptons_
std::vector< edm::EDGetTokenT< reco::CandidateView > > srcLeptons_
Definition: PFMETProducerMVA.h:93
edm::stream::EDProducer
Definition: EDProducer.h:38
CommonMETData.h
reco::PFMETProducerMVA::passPFLooseId
bool passPFLooseId(const reco::PFJet *iJet)
Definition: PFMETProducerMVA.cc:382
edm::EventSetup
Definition: EventSetup.h:57
MvaMEtUtilities.h
reco::PFMETProducerMVA::srcVertices_
edm::EDGetTokenT< reco::VertexCollection > srcVertices_
Definition: PFMETProducerMVA.h:90
reco::Candidate
Definition: Candidate.h:27
reco::PFJetCollection
std::vector< PFJet > PFJetCollection
collection of PFJet objects
Definition: PFJetCollection.h:14
PFSpecificAlgo.h
Frameworkfwd.h
edm::ValueMap< float >
reco::PFMETProducerMVA::mvaMEtAlgo_isInitialized_
bool mvaMEtAlgo_isInitialized_
Definition: PFMETProducerMVA.h:105
reco::PFJet
Jets made from PFObjects.
Definition: PFJet.h:20
reco::PFMETProducerMVA::computePFCandidateInfo
std::vector< reco::PUSubMETCandInfo > computePFCandidateInfo(const reco::CandidateView &, const reco::Vertex *)
Definition: PFMETProducerMVA.cc:289
EventSetup.h
reco::PFMETProducerMVA::chargedFracInCone
double chargedFracInCone(const reco::Candidate *iCand, const reco::CandidateView &pfCandidates, const reco::Vertex *hardScatterVertex, double iDRMax=0.2)
Definition: PFMETProducerMVA.cc:400
reco::PFMETProducerMVA::computeJetInfo
std::vector< reco::PUSubMETCandInfo > computeJetInfo(const reco::PFJetCollection &, const edm::Handle< reco::PFJetCollection > &, const edm::ValueMap< float > &, const reco::VertexCollection &, const reco::Vertex *, const reco::JetCorrector &iCorr, edm::Event &iEvent, const edm::EventSetup &iSetup, std::vector< reco::PUSubMETCandInfo > &iLeptons, std::vector< reco::PUSubMETCandInfo > &iCands)
Definition: PFMETProducerMVA.cc:204
PFSpecificAlgo
Definition: PFSpecificAlgo.h:28
Candidate.h
reco::PFMETProducerMVA::srcCorrJets_
edm::EDGetTokenT< reco::PFJetCollection > srcCorrJets_
Definition: PFMETProducerMVA.h:85
ParameterSet.h
edm::Event
Definition: Event.h:73
reco::PFMETProducerMVA::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: PFMETProducerMVA.cc:34
reco::PFMETProducerMVA::metAlgo_
METAlgo metAlgo_
Definition: PFMETProducerMVA.h:102
reco::Vertex
Definition: Vertex.h:35
reco::PFMETProducerMVA::istau
bool istau(const reco::Candidate *iCand)
Definition: PFMETProducerMVA.cc:373
reco::PFMETProducerMVA::~PFMETProducerMVA
~PFMETProducerMVA() override
Definition: PFMETProducerMVA.cc:32