CMS 3D CMS Logo

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 
20 // system include files
21 #include <memory>
22 
23 // user include files
28 
30 
33 
35 
36 #include "TROOT.h"
37 #include "TH1F.h"
38 #include "TFile.h"
39 #include "TSystem.h"
40 #include <iostream>
41 
42 using namespace edm;
43 using namespace std;
44 using namespace reco;
45 
46 //
47 // class declaration
48 //
49 
50 class NJetsMC : public edm::EDFilter
51 {
52 public:
53  explicit NJetsMC(const edm::ParameterSet&);
54  ~NJetsMC() override;
55 
56 private:
57  void beginJob() override ;
58  bool filter(edm::Event&, const edm::EventSetup&) override;
59  void endJob() override ;
60 
61  // ----------member data ---------------------------
62 
64  Int_t njets_;
65  double minpt_;
66 
67 };
68 
70  GenToken_(consumes<reco::GenJetCollection>(iConfig.getUntrackedParameter<edm::InputTag>("GenTag"))),
71  njets_(iConfig.getParameter<int32_t>("Njets")),
72  minpt_(iConfig.getParameter<double>("MinPt"))
73 {
74 }
75 
76 
78 {
79 }
80 
82 {
83  using namespace edm;
84 
86  iEvent.getByToken(GenToken_, GenJets);
87 
88  Int_t count = 0;
89  bool result = false;
90 
91  for(GenJetCollection::const_iterator iJet = GenJets->begin(); iJet != GenJets->end(); ++iJet)
92  {
93  reco::GenJet myJet = reco::GenJet(*iJet);
94 
95  if(myJet.pt() > minpt_) ++count;
96  }
97 
98  if( count >= njets_ )
99  result = true;
100 
101  return result;
102 }
103 
105 {
106 }
107 
109 {
110 }
111 
112 //define this as a plug-in
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
std::vector< GenJet > GenJetCollection
collection of GenJet objects
double pt() const final
transverse momentum
void beginJob()
Definition: Breakpoints.cc:15
edm::EDGetTokenT< reco::GenJetCollection > GenToken_
Definition: NJetsMC.cc:63
int iEvent
Definition: GenABIO.cc:230
Jets made from MC generator particles.
Definition: GenJet.h:24
void beginJob() override
Definition: NJetsMC.cc:104
~NJetsMC() override
Definition: NJetsMC.cc:77
bool filter(edm::Event &, const edm::EventSetup &) override
Definition: NJetsMC.cc:81
fixed size matrix
HLT enums.
double minpt_
Definition: NJetsMC.cc:65
Int_t njets_
Definition: NJetsMC.cc:64
NJetsMC(const edm::ParameterSet &)
Definition: NJetsMC.cc:69
void endJob() override
Definition: NJetsMC.cc:108