CMS 3D CMS Logo

LHEGenericFilter.h
Go to the documentation of this file.
1 #ifndef LHEGenericFilter_h
2 #define LHEGenericFilter_h
3 // -*- C++ -*-
4 //
5 // Package: LHEGenericFilter
6 // Class: LHEGenericFilter
7 //
8 /*
9 
10  Description: Filter to select events with an arbitrary number of given particle(s).
11 
12  Implementation: derived from MCSingleParticleFilter
13 
14 */
15 //
16 // Original Author: Roberto Covarelli
17 // Created: Wed Feb 29 04:22:16 CST 2012
18 //
19 //
20 
21 // system include files
22 #include <memory>
23 #include <iostream>
24 
25 // user include files
28 
31 
34 
35 //
36 // class declaration
37 //
38 
40  public:
41  explicit LHEGenericFilter(const edm::ParameterSet&);
42  ~LHEGenericFilter() override;
43 
44  private:
45  bool filter(edm::Event&, const edm::EventSetup&) override;
46  void endJob() override;
47 
48  // ----------member data ---------------------------
49 
51  int numRequired_; // number of particles required to pass filter
52  std::string acceptLogic_; // LT meaning <
53  // GT >
54  // EQ =
55  // NE !=
56  std::vector<int> particleID_; // vector of particle IDs to look for
57  int totalEvents_; // counters
59  enum logic_ { LT, GT, EQ, NE};
61 };
62 #endif
~LHEGenericFilter() override
bool filter(edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< LHEEventProduct > src_
void endJob() override
std::string acceptLogic_
LHEGenericFilter(const edm::ParameterSet &)
std::vector< int > particleID_