Rivet
1.8.3
Main Page
Related Pages
Namespaces
Classes
Files
File List
include
Rivet
Projections
IdentifiedFinalState.hh
1
// -*- C++ -*-
2
#ifndef RIVET_IdentifiedFinalState_HH
3
#define RIVET_IdentifiedFinalState_HH
4
5
#include "Rivet/Tools/Logging.hh"
6
#include "Rivet/Rivet.hh"
7
#include "Rivet/Particle.hh"
8
#include "Rivet/Event.hh"
9
#include "Rivet/Projection.hh"
10
#include "Rivet/Projections/FinalState.hh"
11
12
namespace
Rivet {
13
14
16
class
IdentifiedFinalState
:
public
FinalState
{
17
public
:
18
20
21
23
IdentifiedFinalState
(
const
FinalState
& fsp);
24
26
IdentifiedFinalState
(
double
etamin=-
MAXRAPIDITY
,
27
double
etamax=
MAXRAPIDITY
,
28
double
ptMin
=0.0*GeV);
29
32
IdentifiedFinalState
(
const
vector<pair<double, double> >& etaRanges,
33
double
ptMin
=0.0*GeV);
34
36
virtual
const
Projection
*
clone
()
const
{
37
return
new
IdentifiedFinalState
(*
this
);
38
}
40
41
42
public
:
43
45
const
set<PdgId>&
acceptedIds
()
const
{
46
return
_pids;
47
}
48
50
IdentifiedFinalState
&
acceptId
(
PdgId
pid) {
51
_pids.insert(pid);
52
return
*
this
;
53
}
54
56
IdentifiedFinalState
&
acceptIds
(
const
vector<PdgId>& pids) {
57
foreach
(
const
PdgId
pid, pids) {
58
_pids.insert(pid);
59
}
60
return
*
this
;
61
}
62
64
IdentifiedFinalState
&
acceptIdPair
(
PdgId
pid) {
65
_pids.insert(pid);
66
_pids.insert(-pid);
67
return
*
this
;
68
}
69
71
IdentifiedFinalState
&
acceptIdPairs
(
const
vector<PdgId>& pids) {
72
foreach
(
const
PdgId
pid, pids) {
73
_pids.insert(pid);
74
_pids.insert(-pid);
75
}
76
return
*
this
;
77
}
78
80
IdentifiedFinalState
&
acceptNeutrinos
() {
81
acceptIdPair
(NU_E);
82
acceptIdPair
(NU_MU);
83
acceptIdPair
(NU_TAU);
84
return
*
this
;
85
}
86
88
IdentifiedFinalState
&
acceptChLeptons
() {
89
acceptIdPair
(ELECTRON);
90
acceptIdPair
(MUON);
91
acceptIdPair
(TAU);
92
return
*
this
;
93
}
94
96
void
reset
() {
97
_pids.clear();
98
}
99
100
101
protected
:
102
104
void
project
(
const
Event
& e);
105
107
int
compare
(
const
Projection
& p)
const
;
108
109
110
private
:
111
113
set<PdgId> _pids;
114
115
};
116
117
118
}
119
120
121
#endif
Generated on Wed May 8 2013 13:27:21 for Rivet by
1.8.1.2