EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
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
14
class
PHPy8ParticleTrigger
:
public
PHPy8GenTrigger
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
56
void
SetStableParticleOnly
(
bool
b) {
m_doStableParticleOnly
= b; }
57
58
void
PrintConfig
();
59
60
private
:
61
std::vector<int>
_theParents
;
62
std::vector<int>
_theParticles
;
63
64
double
_theYHigh
= 999,
_theYLow
= -999;
65
double
_theEtaHigh
,
_theEtaLow
;
66
double
_thePtHigh
,
_thePtLow
;
67
double
_thePHigh
,
_thePLow
;
68
double
_thePzHigh
,
_thePzLow
;
69
70
bool
_doYHighCut
=
false
,
_doYLowCut
=
false
,
_doBothYCut
=
false
;
71
bool
_doEtaHighCut
,
_doEtaLowCut
,
_doBothEtaCut
;
72
bool
_doAbsEtaHighCut
,
_doAbsEtaLowCut
,
_doBothAbsEtaCut
;
73
bool
_doPtHighCut
,
_doPtLowCut
,
_doBothPtCut
;
74
bool
_doPHighCut
,
_doPLowCut
,
_doBothPCut
;
75
bool
_doPzHighCut
,
_doPzLowCut
,
_doBothPzCut
;
76
77
bool
m_doStableParticleOnly
=
true
;
78
};
79
80
#endif
fun4all_coresoftware
blob
master
generators
PHPythia8
PHPy8ParticleTrigger.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:42
using
1.8.2 with
EIC GitHub integration