Class Reference for E1039 Core & Analysis Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PHPy8ParticleTrigger.h
Go to the documentation of this file.
1 #ifndef __PHPY8PARTICLETRIGGER_H__
2 #define __PHPY8PARTICLETRIGGER_H__
3 
4 #include "PHPy8GenTrigger.h"
5 #include <string>
6 
7 namespace Pythia8 {
8  class Pythia;
9 };
10 
12 
13  public:
14 
15  PHPy8ParticleTrigger(const std::string &name = "PHPy8ParticleTrigger");
16  virtual ~PHPy8ParticleTrigger();
17 
18  #ifndef __CINT__
19  bool Apply(Pythia8::Pythia *pythia);
20  #endif
21 
22  void AddParticles(std::string particles);
23  void AddParticles(int particle);
24  void AddParticles(std::vector<int> particles);
25 
26  void AddParents(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 
38  void SetEtaHigh(double eta);
39  void SetEtaLow(double eta);
40  void SetEtaHighLow(double etaHigh, double etaLow);
41 
42  void SetAbsEtaHigh(double eta);
43  void SetAbsEtaLow(double eta);
44  void SetAbsEtaHighLow(double etaHigh, double etaLow);
45 
46  void SetPxHigh(double pz);
47  void SetPxLow(double pz);
48  void SetPxHighLow(double pzHigh, double pzLow);
49 
50  void SetPyHigh(double pz);
51  void SetPyLow(double pz);
52  void SetPyHighLow(double pzHigh, double pzLow);
53 
54  void SetPzHigh(double pz);
55  void SetPzLow(double pz);
56  void SetPzHighLow(double pzHigh, double pzLow);
57 
58  void PrintConfig();
59 
60  private:
61 
62  std::vector<int> _theParents;
63  std::vector<int> _theParticles;
64 
65  double _theEtaHigh, _theEtaLow;
66  double _thePtHigh, _thePtLow;
67  double _thePHigh, _thePLow;
68  double _thePxHigh, _thePxLow;
69  double _thePyHigh, _thePyLow;
70  double _thePzHigh, _thePzLow;
71 
72  bool _doEtaHighCut, _doEtaLowCut, _doBothEtaCut;
73  bool _doAbsEtaHighCut, _doAbsEtaLowCut, _doBothAbsEtaCut;
74  bool _doPtHighCut, _doPtLowCut, _doBothPtCut;
75  bool _doPHighCut, _doPLowCut, _doBothPCut;
76  bool _doPxHighCut, _doPxLowCut, _doBothPxCut;
77  bool _doPyHighCut, _doPyLowCut, _doBothPyCut;
78  bool _doPzHighCut, _doPzLowCut, _doBothPzCut;
79 };
80 
81 #endif
void AddParents(std::string parents)
bool Apply(Pythia8::Pythia *pythia)
void AddParticles(std::string particles)
void SetEtaHigh(double eta)
void SetPHighLow(double pHigh, double pLow)
void SetPyHighLow(double pzHigh, double pzLow)
void SetAbsEtaLow(double eta)
void SetPzHighLow(double pzHigh, double pzLow)
void SetAbsEtaHigh(double eta)
void SetEtaLow(double eta)
void SetPxHighLow(double pzHigh, double pzLow)
void SetEtaHighLow(double etaHigh, double etaLow)
void SetAbsEtaHighLow(double etaHigh, double etaLow)
void SetPtHighLow(double ptHigh, double ptLow)
PHPy8ParticleTrigger(const std::string &name="PHPy8ParticleTrigger")