CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
NJetsMC.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: NJetsMC
4 // Class: NJetsMC
5 //
13 //
14 // Original Author: "Nathaniel Odell"
15 // Created: Thu Aug 12 09:24:46 CDT 2010
16 // then moved to more general N-jets purpose in GeneratorInterface/GenFilters
17 //
18 
19 // system include files
20 #include <memory>
21 
22 // user include files
27 
29 
32 
34 
35 #include "TROOT.h"
36 #include "TH1F.h"
37 #include "TFile.h"
38 #include "TSystem.h"
39 #include <iostream>
40 
41 using namespace edm;
42 using namespace std;
43 using namespace reco;
44 
45 //
46 // class declaration
47 //
48 
49 class NJetsMC : public edm::EDFilter {
50 public:
51  explicit NJetsMC(const edm::ParameterSet&);
52  ~NJetsMC() override;
53 
54 private:
55  void beginJob() override;
56  bool filter(edm::Event&, const edm::EventSetup&) override;
57  void endJob() override;
58 
59  // ----------member data ---------------------------
60 
62  Int_t njets_;
63  double minpt_;
64 };
65 
67  : GenToken_(consumes<reco::GenJetCollection>(iConfig.getUntrackedParameter<edm::InputTag>("GenTag"))),
68  njets_(iConfig.getParameter<int32_t>("Njets")),
69  minpt_(iConfig.getParameter<double>("MinPt")) {}
70 
72 
74  using namespace edm;
75 
77  iEvent.getByToken(GenToken_, GenJets);
78 
79  Int_t count = 0;
80  bool result = false;
81 
82  for (GenJetCollection::const_iterator iJet = GenJets->begin(); iJet != GenJets->end(); ++iJet) {
83  reco::GenJet myJet = reco::GenJet(*iJet);
84 
85  if (myJet.pt() > minpt_)
86  ++count;
87  }
88 
89  if (count >= njets_)
90  result = true;
91 
92  return result;
93 }
94 
96 
97 void NJetsMC::endJob() {}
98 
99 //define this as a plug-in
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
std::vector< GenJet > GenJetCollection
collection of GenJet objects
double pt() const final
transverse momentum
void beginJob()
Definition: Breakpoints.cc:14
edm::EDGetTokenT< reco::GenJetCollection > GenToken_
Definition: NJetsMC.cc:61
int iEvent
Definition: GenABIO.cc:224
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
Jets made from MC generator particles.
Definition: GenJet.h:23
void beginJob() override
Definition: NJetsMC.cc:95
~NJetsMC() override
Definition: NJetsMC.cc:71
bool filter(edm::Event &, const edm::EventSetup &) override
Definition: NJetsMC.cc:73
fixed size matrix
HLT enums.
double minpt_
Definition: NJetsMC.cc:63
Int_t njets_
Definition: NJetsMC.cc:62
NJetsMC(const edm::ParameterSet &)
Definition: NJetsMC.cc:66
void endJob() override
Definition: NJetsMC.cc:97