CMS 3D CMS Logo

HGCalTriggerNtupleGenJet.cc
Go to the documentation of this file.
4 
6 
8 public:
10 
11  void initialize(TTree&, const edm::ParameterSet&, edm::ConsumesCollector&&) final;
12  void fill(const edm::Event&, const edm::EventSetup&) final;
13 
14 private:
15  void clear() final;
16 
18 
19  int genjet_n_;
20  std::vector<float> genjet_energy_;
21  std::vector<float> genjet_pt_;
22  std::vector<float> genjet_eta_;
23  std::vector<float> genjet_phi_;
24 };
25 
27 
29 
31  const edm::ParameterSet& conf,
32  edm::ConsumesCollector&& collector) {
33  genjet_token_ = collector.consumes<reco::GenJetCollection>(conf.getParameter<edm::InputTag>("GenJets"));
34  tree.Branch("genjet_n", &genjet_n_, "genjet_n/I");
35  tree.Branch("genjet_energy", &genjet_energy_);
36  tree.Branch("genjet_pt", &genjet_pt_);
37  tree.Branch("genjet_eta", &genjet_eta_);
38  tree.Branch("genjet_phi", &genjet_phi_);
39 }
40 
43  e.getByToken(genjet_token_, genjets_h);
44  const reco::GenJetCollection& genjets = *genjets_h;
45 
46  clear();
47  genjet_n_ = genjets.size();
48  genjet_energy_.reserve(genjet_n_);
49  genjet_pt_.reserve(genjet_n_);
50  genjet_eta_.reserve(genjet_n_);
51  genjet_phi_.reserve(genjet_n_);
52  for (const auto& jet : genjets) {
53  genjet_energy_.emplace_back(jet.energy());
54  genjet_pt_.emplace_back(jet.pt());
55  genjet_eta_.emplace_back(jet.eta());
56  genjet_phi_.emplace_back(jet.phi());
57  }
58 }
59 
61  genjet_n_ = 0;
62  genjet_energy_.clear();
63  genjet_pt_.clear();
64  genjet_eta_.clear();
65  genjet_phi_.clear();
66 }
T getParameter(std::string const &) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
HGCalTriggerNtupleGenJet(const edm::ParameterSet &)
std::vector< GenJet > GenJetCollection
collection of GenJet objects
void fill(const edm::Event &, const edm::EventSetup &) final
std::vector< float > genjet_energy_
#define DEFINE_EDM_PLUGIN(factory, type, name)
Definition: tree.py:1
void initialize(TTree &, const edm::ParameterSet &, edm::ConsumesCollector &&) final