CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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&);
43 
44  private:
45  virtual bool filter(edm::Event&, const edm::EventSetup&);
46  virtual void endJob();
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
virtual bool filter(edm::Event &, const edm::EventSetup &)
edm::EDGetTokenT< LHEEventProduct > src_
virtual void endJob()
std::string acceptLogic_
LHEGenericFilter(const edm::ParameterSet &)
std::vector< int > particleID_