CommonTools
RecoAlgos
src
StandAloneMuonTrackToCandidate.h
Go to the documentation of this file.
1
#ifndef RecoAlgos_StandAloneMuonTrackToCandidate_h
2
#define RecoAlgos_StandAloneMuonTrackToCandidate_h
3
#include "
CommonTools/RecoAlgos/src/MassiveCandidateConverter.h
"
4
#include "
CommonTools/RecoAlgos/src/CandidateProducer.h
"
5
#include "
DataFormats/TrackReco/interface/Track.h
"
6
#include "
DataFormats/RecoCandidate/interface/RecoStandAloneMuonCandidate.h
"
7
#include "
DataFormats/RecoCandidate/interface/RecoStandAloneMuonCandidateFwd.h
"
8
#include "
DataFormats/Candidate/interface/CandidateFwd.h
"
9
10
namespace
converter
{
11
12
struct
StandAloneMuonTrackToCandidate
:
public
MassiveCandidateConverter
{
13
typedef
reco::Track
value_type
;
14
typedef
reco::TrackCollection
Components
;
15
typedef
reco::RecoStandAloneMuonCandidate
Candidate
;
16
StandAloneMuonTrackToCandidate
(
const
edm::ParameterSet
&
cfg
) :
MassiveCandidateConverter
(
cfg
) {}
17
void
convert
(
reco::TrackRef
trkRef,
reco::RecoStandAloneMuonCandidate
&
c
)
const
{
18
const
reco::Track
& trk = *trkRef;
19
c
.setCharge(trk.
charge
());
20
c
.setVertex(trk.
vertex
());
21
const
reco::Track::Vector
&
p
= trk.
momentum
();
22
double
t
=
sqrt
(
massSqr_
+
p
.mag2());
23
c
.setP4(
reco::Candidate::LorentzVector
(
p
.x(),
p
.y(),
p
.z(),
t
));
24
c
.setTrack(trkRef);
25
c
.setPdgId(
particle_
.
pdgId
());
26
}
27
};
28
29
namespace
helper
{
30
template
<>
31
struct
CandConverter
<
reco
::Track> {
32
typedef
StandAloneMuonTrackToCandidate
type
;
33
};
34
}
// namespace helper
35
36
}
// namespace converter
37
38
#endif
converter::MassiveCandidateConverter
Definition:
MassiveCandidateConverter.h:12
converter::StandAloneMuonTrackToCandidate
Definition:
StandAloneMuonTrackToCandidate.h:12
PdtEntry::pdgId
int pdgId() const
PDG id.
Definition:
PdtEntry.cc:7
converter::StandAloneMuonTrackToCandidate::convert
void convert(reco::TrackRef trkRef, reco::RecoStandAloneMuonCandidate &c) const
Definition:
StandAloneMuonTrackToCandidate.h:17
converter::StandAloneMuonTrackToCandidate::Components
reco::TrackCollection Components
Definition:
StandAloneMuonTrackToCandidate.h:14
converter
Definition:
CandidateProducer.h:25
AlCaHLTBitMon_ParallelJobs.p
p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
converter::StandAloneMuonTrackToCandidate::value_type
reco::Track value_type
Definition:
StandAloneMuonTrackToCandidate.h:13
reco
fixed size matrix
Definition:
AlignmentAlgorithmBase.h:45
CandidateProducer.h
edm::Ref< TrackCollection >
CandidateFwd.h
RecoStandAloneMuonCandidate.h
Track.h
converter::StandAloneMuonTrackToCandidate::Candidate
reco::RecoStandAloneMuonCandidate Candidate
Definition:
StandAloneMuonTrackToCandidate.h:15
mathSSE::sqrt
T sqrt(T t)
Definition:
SSEVec.h:19
reco::Track
Definition:
Track.h:27
MassiveCandidateConverter.h
reco::TrackBase::charge
int charge() const
track electric charge
Definition:
TrackBase.h:596
edm::ParameterSet
Definition:
ParameterSet.h:47
helper
Definition:
helper.py:1
reco::RecoStandAloneMuonCandidate
Definition:
RecoStandAloneMuonCandidate.h:15
RecoStandAloneMuonCandidateFwd.h
reco::TrackBase::vertex
const Point & vertex() const
reference point on the track. This method is DEPRECATED, please use referencePoint() instead
Definition:
TrackBase.h:676
looper.cfg
cfg
Definition:
looper.py:297
converter::helper::CandConverter< reco::Track >::type
StandAloneMuonTrackToCandidate type
Definition:
StandAloneMuonTrackToCandidate.h:32
converter::StandAloneMuonTrackToCandidate::StandAloneMuonTrackToCandidate
StandAloneMuonTrackToCandidate(const edm::ParameterSet &cfg)
Definition:
StandAloneMuonTrackToCandidate.h:16
converter::MassiveCandidateConverter::massSqr_
double massSqr_
Definition:
MassiveCandidateConverter.h:17
converter::helper::CandConverter
Definition:
CandidateProducer.h:28
reco::Candidate::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition:
Candidate.h:36
c
auto & c
Definition:
CAHitNtupletGeneratorKernelsImpl.h:46
reco::TrackBase::momentum
const Vector & momentum() const
track momentum vector
Definition:
TrackBase.h:664
submitPVValidationJobs.t
string t
Definition:
submitPVValidationJobs.py:644
converter::MassiveCandidateConverter::particle_
PdtEntry particle_
Definition:
MassiveCandidateConverter.h:18
reco::TrackCollection
std::vector< Track > TrackCollection
collection of Tracks
Definition:
TrackFwd.h:14
reco::TrackBase::Vector
math::XYZVector Vector
spatial vector
Definition:
TrackBase.h:77
Generated for CMSSW Reference Manual by
1.8.16