DataFormats
ParticleFlowReco
src
PFBlockElementBrem.cc
Go to the documentation of this file.
1
#include "
DataFormats/ParticleFlowReco/interface/PFBlockElementBrem.h
"
2
#include "
DataFormats/ParticleFlowReco/interface/PFRecTrack.h
"
3
#include "
DataFormats/Common/interface/Ref.h
"
4
#include "
DataFormats/TrackReco/interface/Track.h
"
5
#include "
DataFormats/ParticleFlowReco/interface/PFTrajectoryPoint.h
"
6
7
#include <iomanip>
8
9
using namespace
reco
;
10
using namespace
std
;
11
12
PFBlockElementBrem::PFBlockElementBrem
(
const
GsfPFRecTrackRef
& gsfref,
13
const
double
DeltaP,
14
const
double
SigmaDeltaP,
15
const
unsigned
int
indTrajPoint)
16
:
PFBlockElement
(BREM),
17
GsftrackRefPF_(gsfref),
18
GsftrackRef_(gsfref->gsfTrackRef()),
19
deltaP_(DeltaP),
20
sigmadeltaP_(SigmaDeltaP),
21
indPoint_(indTrajPoint) {
22
const
reco::PFTrajectoryPoint
& atECAL =
23
((*
GsftrackRefPF
()).PFRecBrem()[(
indPoint_
- 2)]).extrapolatedPoint(
reco::PFTrajectoryPoint::ECALEntrance
);
24
if
(atECAL.
isValid
())
25
positionAtECALEntrance_
.SetCoordinates(atECAL.
position
().x(), atECAL.
position
().y(), atECAL.
position
().z());
26
}
27
28
void
PFBlockElementBrem::Dump
(ostream&
out
,
const
char
* tab)
const
{
29
if
(!
out
)
30
return
;
31
32
if
(!
GsftrackRefPF_
.
isNull
()) {
33
double
charge
= 0.;
34
double
dp
=
deltaP_
;
35
double
sigmadp =
sigmadeltaP_
;
36
int
indextrj = (
indPoint_
- 2);
37
out
<< setprecision(0);
38
out
<< tab << setw(7) <<
"charge="
<< setw(3) <<
charge
;
39
out
<< setprecision(3);
40
out
<< setiosflags(ios::right);
41
out
<< setiosflags(
ios::fixed
);
42
out
<<
", DeltaP= "
<<
dp
;
43
out
<<
", SigmaDeltaP= "
<< sigmadp;
44
out
<<
", Traj Point= "
<< indextrj;
45
out
<< resetiosflags(ios::right |
ios::fixed
);
46
}
47
}
alignBH_cfg.fixed
fixed
Definition:
alignBH_cfg.py:54
reco::PFBlockElementBrem::positionAtECALEntrance_
math::XYZPointF positionAtECALEntrance_
Definition:
PFBlockElementBrem.h:53
reco::PFBlockElementBrem::GsftrackRefPF
const GsfPFRecTrackRef & GsftrackRefPF() const
Definition:
PFBlockElementBrem.h:29
edm::Ref::isNull
bool isNull() const
Checks for null.
Definition:
Ref.h:235
reco::PFBlockElementBrem::sigmadeltaP_
double sigmadeltaP_
Definition:
PFBlockElementBrem.h:51
reco
fixed size matrix
Definition:
AlignmentAlgorithmBase.h:45
PFBlockElementBrem.h
reco::PFBlockElementBrem::PFBlockElementBrem
PFBlockElementBrem()
Definition:
PFBlockElementBrem.h:19
edm::Ref< GsfPFRecTrackCollection >
Track.h
Calorimetry_cff.dp
dp
Definition:
Calorimetry_cff.py:158
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition:
ALCARECOTkAlJpsiMuMu_cff.py:47
reco::PFBlockElementBrem::GsftrackRefPF_
GsfPFRecTrackRef GsftrackRefPF_
reference to the corresponding track (transient)
Definition:
PFBlockElementBrem.h:45
reco::PFBlockElementBrem::indPoint_
unsigned int indPoint_
Definition:
PFBlockElementBrem.h:52
reco::PFTrajectoryPoint::position
const math::XYZPoint & position() const
cartesian position (x, y, z)
Definition:
PFTrajectoryPoint.h:100
reco::PFBlockElementBrem::deltaP_
double deltaP_
Definition:
PFBlockElementBrem.h:50
PFRecTrack.h
reco::PFTrajectoryPoint::isValid
bool isValid() const
is this point valid ?
Definition:
PFTrajectoryPoint.h:84
reco::PFBlockElement
Abstract base class for a PFBlock element (track, cluster...)
Definition:
PFBlockElement.h:26
reco::PFTrajectoryPoint::ECALEntrance
ECAL front face.
Definition:
PFTrajectoryPoint.h:43
std
Definition:
JetResolutionObject.h:76
Ref.h
reco::PFTrajectoryPoint
A PFTrack holds several trajectory points, which basically contain the position and momentum of a tra...
Definition:
PFTrajectoryPoint.h:26
reco::PFBlockElementBrem::Dump
void Dump(std::ostream &out=std::cout, const char *tab=" ") const override
print the object inside the element
Definition:
PFBlockElementBrem.cc:28
MillePedeFileConverter_cfg.out
out
Definition:
MillePedeFileConverter_cfg.py:31
PFTrajectoryPoint.h
Generated for CMSSW Reference Manual by
1.8.16