CMS 3D CMS Logo

PythiaProbeFilter.h
Go to the documentation of this file.
1 #ifndef PYTHIAPROBEFILTER_h
2 #define PYTHIAPROBEFILTER_h
3 // -*- C++ -*-
4 //
5 // Package: PythiaProbeFilter
6 // Class: PythiaProbeFilter
7 //
15 //
16 // Original Author: Georgios Karathanasis
17 // Created: Mar 14 2019
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 PythiaProbeFilter(const edm::ParameterSet&);
46  ~PythiaProbeFilter() override;
47 
48 
49  bool filter(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
50  bool AlreadyExcludedCheck(std::vector<unsigned int> excludedList, unsigned int current_part) const;
51  private:
52  // ----------memeber function----------------------
53 
54  // ----------member data ---------------------------
55 
57  std::vector<int> exclsisIDs;
58  std::vector<int> exclauntIDs;
59  const int particleID;
60  const int MomID;
61  const int GrandMomID;
62  const bool chargeconju;
63  const int nsisters;
64  const int naunts;
65  const double minptcut;
66  const double maxptcut;
67  const double minetacut;
68  const double maxetacut;
69  const bool countQEDCorPhotons;
71  std::unique_ptr<Pythia8::Pythia> fLookupGen; // this instance is for accessing particleData information
72 };
73 #endif
const double minetacut
const double maxptcut
std::vector< int > exclsisIDs
const double maxetacut
const edm::EDGetTokenT< edm::HepMCProduct > token_
HLT enums.
std::vector< int > exclauntIDs
const double minptcut
std::unique_ptr< Pythia8::Pythia > fLookupGen
const bool countQEDCorPhotons