CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FlavorHistoryProducer.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_HepMCCandAlgos_interface_FlavorHistoryProducer_h
2 #define PhysicsTools_HepMCCandAlgos_interface_FlavorHistoryProducer_h
3 
13 // -------------------------------------------------------------
14 // Identify the ancestry of the Quark
15 //
16 //
17 // Matrix Element:
18 // Status 3 parent with precisely 2 "grandparents" that
19 // is outside of the "initial" section (0-5) that has the
20 // same ID as the status 2 parton in question.
21 //
22 // Flavor excitation:
23 // Almost the same as the matrix element classification,
24 // but has only one outgoing parton product instead of two.
25 //
26 // Gluon splitting:
27 // Parent is a quark of a different flavor than the parton
28 // in question, or a gluon. Can come from either ISR or FSR.
29 //
30 // True decay:
31 // Decays from a resonance like top, Higgs, etc.
32 // -------------------------------------------------------------
33 
35 #include <string>
36 #include <vector>
37 #include <set>
38 #include <utility>
39 #include <algorithm>
40 
54 #include <fstream>
55 
56 
58  public:
63 
64  private:
66  void produce( edm::Event& e, const edm::EventSetup&) override;
67 
68  void getAncestors(const reco::Candidate &c,
69  std::vector<reco::Candidate const * > & moms );
70 
71  reco::Candidate const * getSister(const reco::Candidate &c);
72 
73 
76  reco::Candidate const & parton ) const ;
77 
78  edm::EDGetTokenT<reco::CandidateView> srcToken_; // GenParticles source collection name
79  edm::EDGetTokenT<reco::CandidateView> matchedSrcToken_; // matched particles source collection name
80  double matchDR_; // delta r to match matched particles
81  int pdgIdToSelect_; // pdg of hf partons to select
82  double ptMinParticle_; // minimum pt of the partons
83  double ptMinShower_; // minimum pt of the shower
84  double etaMaxParticle_; // max eta of the parton
85  double etaMaxShower_; // max eta of the shower
86  std::string flavorHistoryName_; // name to give flavor history
87  bool verbose_; // verbose flag
88 };
89 
90 #endif
FlavorHistoryProducer(const edm::ParameterSet &)
constructor
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:81
void produce(edm::Event &e, const edm::EventSetup &) override
process one event
reco::CandidateView::const_iterator getClosestJet(edm::Handle< reco::CandidateView > const &pJets, reco::Candidate const &parton) const
edm::EDGetTokenT< reco::CandidateView > srcToken_
void getAncestors(const reco::Candidate &c, std::vector< reco::Candidate const * > &moms)
reco::Candidate const * getSister(const reco::Candidate &c)
edm::EDGetTokenT< reco::CandidateView > matchedSrcToken_