CMS 3D CMS Logo

MCProcessRangeFilter.cc
Go to the documentation of this file.
1 
3 
5 #include <iostream>
6 
7 using namespace edm;
8 using namespace std;
9 
10 
12 token_(consumes<edm::HepMCProduct>(edm::InputTag(iConfig.getUntrackedParameter("moduleLabel",std::string("generator")),"unsmeared"))),
13 minProcessID(iConfig.getUntrackedParameter("MinProcessID",0)),
14 maxProcessID(iConfig.getUntrackedParameter("MaxProcessID",500)),
15 pthatMin(iConfig.getUntrackedParameter("MinPthat",0)),
16 pthatMax(iConfig.getUntrackedParameter("MaxPthat",14000))
17 {
18 
19 }
20 
21 
23 {
24 
25  // do anything here that needs to be done at desctruction time
26  // (e.g. close files, deallocate resources etc.)
27 
28 }
29 
30 
31 // ------------ method called to skim the data ------------
33 {
34  using namespace edm;
35  bool accepted = false;
37  iEvent.getByToken(token_, evt);
38 
39  const HepMC::GenEvent * myGenEvent = evt->GetEvent();
40 
41 
42  // do the selection -- processID 0 is always accepted
43 
44  if (myGenEvent->signal_process_id() > minProcessID && myGenEvent->signal_process_id() < maxProcessID) {
45 
46  if ( myGenEvent->event_scale() > pthatMin && myGenEvent->event_scale() < pthatMax ) {
47  accepted = true;
48  }
49 
50  }
51 
52 
53  if (accepted){ return true; } else {return false;}
54 
55 }
56 
MCProcessRangeFilter(const edm::ParameterSet &)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
int iEvent
Definition: GenABIO.cc:224
bool filter(edm::Event &, const edm::EventSetup &) override
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:38
bool accepted(std::vector< std::string_view > const &, std::string_view)
HLT enums.
edm::EDGetTokenT< edm::HepMCProduct > token_