CMS 3D CMS Logo

PythiaDauVFilter.h
Go to the documentation of this file.
1 #ifndef PYTHIADAUVFILTER_h
2 #define PYTHIADAUVFILTER_h
3 // -*- C++ -*-
4 //
5 // Package: PythiaDauVFilter
6 // Class: PythiaDauVFilter
7 //
15 //
16 // Original Author: Daniele Pedrini
17 // Created: Apr 29 2008
18 //
19 //
20 
21 
22 // system include files
23 #include <memory>
24 
25 // user include files
28 
31 
33 
34 #include "Pythia8/Pythia.h"
35 
36 //
37 // class decleration
38 //
39 namespace edm {
40  class HepMCProduct;
41 }
42 
44  public:
45  explicit PythiaDauVFilter(const edm::ParameterSet&);
46  ~PythiaDauVFilter() override;
47 
48 
49  bool filter(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
50  private:
51  const int fVerbose;
53  std::vector<int> dauIDs;
54  const int particleID;
55  const int motherID;
56  const bool chargeconju;
57  const int ndaughters;
58  std::vector<double> minptcut;
59  const double maxptcut;
60  std::vector<double> minetacut;
61  std::vector<double> maxetacut;
62  std::unique_ptr<Pythia8::Pythia> fLookupGen; // this instance is for accessing particleData information
63 };
64 #endif
std::unique_ptr< Pythia8::Pythia > fLookupGen
const double maxptcut
const edm::EDGetTokenT< edm::HepMCProduct > token_
std::vector< double > maxetacut
std::vector< int > dauIDs
std::vector< double > minetacut
const bool chargeconju
std::vector< double > minptcut
HLT enums.