EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHPy8ParticleTrigger.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHPy8ParticleTrigger.h
1 #ifndef PHPYTHIA8_PHPY8PARTICLETRIGGER_H
2 #define PHPYTHIA8_PHPY8PARTICLETRIGGER_H
3 
4 #include "PHPy8GenTrigger.h"
5 
6 #include <string>
7 #include <vector> // for vector
8 
9 namespace Pythia8
10 {
11  class Pythia;
12 }
13 
15 {
16  public:
17  PHPy8ParticleTrigger(const std::string &name = "PHPy8ParticleTrigger");
18  ~PHPy8ParticleTrigger() override;
19 
20  bool Apply(Pythia8::Pythia *pythia) override;
21 
22  void AddParticles(const std::string &particles);
23  void AddParticles(int particle);
24  void AddParticles(std::vector<int> particles);
25 
26  void AddParents(const std::string &parents);
27  void AddParents(int parent);
28  void AddParents(std::vector<int> parents);
29 
30  void SetPtHigh(double pt);
31  void SetPtLow(double pt);
32  void SetPtHighLow(double ptHigh, double ptLow);
33 
34  void SetPHigh(double p);
35  void SetPLow(double p);
36  void SetPHighLow(double pHigh, double pLow);
37 
39  void SetYHigh(double eta);
40  void SetYLow(double eta);
41  void SetYHighLow(double etaHigh, double etaLow);
42 
43  void SetEtaHigh(double eta);
44  void SetEtaLow(double eta);
45  void SetEtaHighLow(double etaHigh, double etaLow);
46 
47  void SetAbsEtaHigh(double eta);
48  void SetAbsEtaLow(double eta);
49  void SetAbsEtaHighLow(double etaHigh, double etaLow);
50 
51  void SetPzHigh(double pz);
52  void SetPzLow(double pz);
53  void SetPzHighLow(double pzHigh, double pzLow);
54 
57 
58  void PrintConfig();
59 
60  private:
61  std::vector<int> _theParents;
62  std::vector<int> _theParticles;
63 
64  double _theYHigh = 999, _theYLow = -999;
69 
70  bool _doYHighCut = false, _doYLowCut = false, _doBothYCut = false;
76 
78 };
79 
80 #endif