1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#include "DataFormats/ParticleFlowReco/interface/PFBlockElementGsfTrack.h"
#include "DataFormats/ParticleFlowReco/interface/PFRecTrack.h"
#include "DataFormats/Common/interface/Ref.h"
#include "DataFormats/TrackReco/interface/Track.h"
#include "DataFormats/ParticleFlowReco/interface/PFTrajectoryPoint.h"
#include <iomanip>
using namespace reco;
using namespace std;
PFBlockElementGsfTrack::PFBlockElementGsfTrack(const GsfPFRecTrackRef& gsfref,
const math::XYZTLorentzVector& Pin,
const math::XYZTLorentzVector& Pout)
: PFBlockElement(GSF),
GsftrackRefPF_(gsfref),
GsftrackRef_(gsfref->gsfTrackRef()),
Pin_(Pin),
Pout_(Pout),
trackType_(0) {
if (gsfref.isNull())
throw cms::Exception("NullRef") << " PFBlockElementGsfTrack constructed from a null reference to PFGsfRecTrack.";
const reco::PFTrajectoryPoint& atECAL = gsfref->extrapolatedPoint(reco::PFTrajectoryPoint::ECALEntrance);
if (atECAL.isValid())
positionAtECALEntrance_.SetCoordinates(atECAL.position().x(), atECAL.position().y(), atECAL.position().z());
setTrackType(DEFAULT, true);
}
void PFBlockElementGsfTrack::Dump(ostream& out, const char* tab) const {
if (!out)
return;
if (!GsftrackRefPF_.isNull()) {
// double charge = trackPF().charge;
double charge = GsftrackRefPF_->charge();
math::XYZTLorentzVector pin = Pin_;
math::XYZTLorentzVector pout = Pout_;
double ptin = pin.pt();
double etain = pin.eta();
double phiin = pin.phi();
double ptout = pout.pt();
double etaout = pout.eta();
double phiout = pout.phi();
out << setprecision(0);
out << tab << setw(7) << "charge=" << setw(3) << charge;
out << setprecision(3);
out << setiosflags(ios::right);
out << setiosflags(ios::fixed);
out << ", Inner pT =" << setw(7) << ptin;
out << " Inner (eta,phi)= (";
out << etain << ",";
out << phiin << ")";
out << ", Outer pT =" << setw(7) << ptout;
out << " Outer (eta,phi)= (";
out << etaout << ",";
out << phiout << ")";
out << resetiosflags(ios::right | ios::fixed);
}
}
|