DataFormats
HLTReco
interface
TriggerObject.h
Go to the documentation of this file.
1
#ifndef HLTReco_TriggerObject_h
2
#define HLTReco_TriggerObject_h
3
14
#include "
DataFormats/Candidate/interface/Particle.h
"
15
#include <cmath>
16
#include <vector>
17
18
namespace
trigger
{
19
21
class
TriggerObject
{
23
private
:
25
int
id_
;
27
float
pt_
,
eta_
,
phi_
,
mass_
;
28
30
public
:
32
TriggerObject
() :
id_
(),
pt_
(),
eta_
(),
phi_
(),
mass_
() {}
33
TriggerObject
(
int
id
,
float
pt
,
float
eta
,
float
phi
,
float
mass
)
34
:
id_
(
id
),
pt_
(
pt
),
eta_
(
eta
),
phi_
(
phi
),
mass_
(
mass
) {}
35
37
template
<
typename
T>
38
TriggerObject
(
int
id
,
const
T
&
o
) :
id_
(
id
),
pt_
(
o
.
pt
()),
eta_
(
o
.
eta
()),
phi_
(
o
.
phi
()),
mass_
(
o
.
mass
()) {}
40
template
<
typename
T>
41
TriggerObject
(
const
T
&
o
) :
id_
(
o
.
pdgId
()),
pt_
(
o
.
pt
()),
eta_
(
o
.
eta
()),
phi_
(
o
.
phi
()),
mass_
(
o
.
mass
()) {}
42
44
void
setId
(
int
id
) {
id_
=
id
; }
45
void
setPt
(
float
pt
) {
pt_
=
pt
; }
46
void
setEta
(
float
eta
) {
eta_
=
eta
; }
47
void
setPhi
(
float
phi
) {
phi_
=
phi
; }
48
void
setMass
(
float
mass
) {
mass_
=
mass
; }
49
51
int
id
()
const
{
return
id_
; }
52
float
pt
()
const
{
return
pt_
; }
53
float
eta
()
const
{
return
eta_
; }
54
float
phi
()
const
{
return
phi_
; }
55
float
mass
()
const
{
return
mass_
; }
56
57
float
px
()
const
{
return
pt_
*
std::cos
(
phi_
); }
58
float
py
()
const
{
return
pt_
*
std::sin
(
phi_
); }
59
float
pz
()
const
{
return
pt_
* std::sinh(
eta_
); }
60
float
p
()
const
{
return
pt_
* std::cosh(
eta_
); }
61
float
energy
()
const
{
return
std::sqrt
(
std::pow
(
mass_
, 2) +
std::pow
(
p
(), 2)); }
62
// et = energy/cosh(eta)
63
float
et
()
const
{
return
std::sqrt
(
std::pow
(
mass_
/ std::cosh(
eta_
), 2) +
std::pow
(
pt_
, 2)); }
64
65
reco::Particle
particle
(
reco::Particle::Charge
q
= 0,
66
const
reco::Particle::Point
&
vertex
=
reco::Particle::Point
(0, 0, 0),
67
int
status
= 0,
68
bool
integerCharge =
true
)
const
{
69
return
reco::Particle
(
70
q
,
reco::Particle::LorentzVector
(
px
(),
py
(),
pz
(),
energy
()),
vertex
,
id
(),
status
, integerCharge);
71
}
72
};
73
75
typedef
std::vector<TriggerObject>
TriggerObjectCollection
;
76
77
}
// namespace trigger
78
79
#endif
trigger::TriggerObject::phi
float phi() const
Definition:
TriggerObject.h:54
bphysicsOniaDQM_cfi.vertex
vertex
Definition:
bphysicsOniaDQM_cfi.py:7
trigger::TriggerObject::px
float px() const
Definition:
TriggerObject.h:57
trigger::TriggerObject::pz
float pz() const
Definition:
TriggerObject.h:59
TriggerObject
Definition:
TriggerObject.py:1
trigger::TriggerObject::setPt
void setPt(float pt)
Definition:
TriggerObject.h:45
funct::sin
Sin< T >::type sin(const T &t)
Definition:
Sin.h:22
EgammaValidation_cff.pdgId
pdgId
Definition:
EgammaValidation_cff.py:117
reco::Particle::Charge
int Charge
electric charge type
Definition:
Particle.h:19
trigger::TriggerObject::setEta
void setEta(float eta)
Definition:
TriggerObject.h:46
trigger::TriggerObject::pt
float pt() const
Definition:
TriggerObject.h:52
trigger::TriggerObject::energy
float energy() const
Definition:
TriggerObject.h:61
trigger::TriggerObject::mass
float mass() const
Definition:
TriggerObject.h:55
EcalTangentSkim_cfg.o
o
Definition:
EcalTangentSkim_cfg.py:42
trigger::TriggerObject::TriggerObject
TriggerObject()
methods
Definition:
TriggerObject.h:32
trigger::TriggerObject::setId
void setId(int id)
setters
Definition:
TriggerObject.h:44
mathSSE::sqrt
T sqrt(T t)
Definition:
SSEVec.h:19
funct::cos
Cos< T >::type cos(const T &t)
Definition:
Cos.h:22
reco::Particle::Point
math::XYZPoint Point
point in the space
Definition:
Particle.h:25
mps_update.status
status
Definition:
mps_update.py:68
trigger::TriggerObject::id
int id() const
getters
Definition:
TriggerObject.h:51
trigger::TriggerObject::setPhi
void setPhi(float phi)
Definition:
TriggerObject.h:47
trigger::TriggerObject::eta_
float eta_
Definition:
TriggerObject.h:27
submitPVResolutionJobs.q
q
Definition:
submitPVResolutionJobs.py:84
trigger::TriggerObject::setMass
void setMass(float mass)
Definition:
TriggerObject.h:48
trigger::TriggerObjectCollection
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition:
TriggerObject.h:75
trigger::TriggerObject::TriggerObject
TriggerObject(int id, float pt, float eta, float phi, float mass)
Definition:
TriggerObject.h:33
reco::Particle
Definition:
Particle.h:16
trigger::TriggerObject::TriggerObject
TriggerObject(const T &o)
... and pdgId()
Definition:
TriggerObject.h:41
trigger::TriggerObject::et
float et() const
Definition:
TriggerObject.h:63
trigger::TriggerObject::eta
float eta() const
Definition:
TriggerObject.h:53
trigger::TriggerObject::phi_
float phi_
Definition:
TriggerObject.h:27
trigger::TriggerObject::mass_
float mass_
Definition:
TriggerObject.h:27
trigger::TriggerObject::particle
reco::Particle particle(reco::Particle::Charge q=0, const reco::Particle::Point &vertex=reco::Particle::Point(0, 0, 0), int status=0, bool integerCharge=true) const
Definition:
TriggerObject.h:65
trigger::TriggerObject::py
float py() const
Definition:
TriggerObject.h:58
trigger::TriggerObject::p
float p() const
Definition:
TriggerObject.h:60
trigger
Definition:
HLTPrescaleTableCond.h:8
trigger::TriggerObject::id_
int id_
data members - similar to DataFormats/Candidate/interface/Particle.h
Definition:
TriggerObject.h:25
T
long double T
Definition:
Basic3DVectorLD.h:48
reco::Particle::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition:
Particle.h:21
Particle.h
trigger::TriggerObject::TriggerObject
TriggerObject(int id, const T &o)
any type T object implementing the methods pt(), eta(), phi(), mass()
Definition:
TriggerObject.h:38
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition:
Power.h:29
trigger::TriggerObject::pt_
float pt_
4-momentum of physics object
Definition:
TriggerObject.h:27
Generated for CMSSW Reference Manual by
1.8.14