45 auto number = std::make_unique<unsigned int>(0);
46 auto chi2 = std::make_unique<std::vector<double>>();
47 auto ndof = std::make_unique<std::vector<double>>();
48 auto chi2ndof = std::make_unique<std::vector<double>>();
49 auto charge = std::make_unique<std::vector<float>>();
50 auto momentum = std::make_unique<std::vector<float>>();
51 auto pt = std::make_unique<std::vector<float>>();
52 auto pterr = std::make_unique<std::vector<float>>();
53 auto hitsvalid = std::make_unique<std::vector<unsigned int>>();
54 auto hitslost = std::make_unique<std::vector<unsigned int>>();
55 auto theta = std::make_unique<std::vector<double>>();
56 auto thetaerr = std::make_unique<std::vector<double>>();
57 auto phi = std::make_unique<std::vector<double>>();
58 auto phierr = std::make_unique<std::vector<double>>();
59 auto eta = std::make_unique<std::vector<double>>();
60 auto etaerr = std::make_unique<std::vector<double>>();
61 auto dxy = std::make_unique<std::vector<double>>();
62 auto dxyerr = std::make_unique<std::vector<double>>();
63 auto dsz = std::make_unique<std::vector<double>>();
64 auto dszerr = std::make_unique<std::vector<double>>();
65 auto qoverp = std::make_unique<std::vector<double>>();
66 auto qoverperr = std::make_unique<std::vector<double>>();
67 auto vx = std::make_unique<std::vector<double>>();
68 auto vy = std::make_unique<std::vector<double>>();
69 auto vz = std::make_unique<std::vector<double>>();
70 auto algo = std::make_unique<std::vector<int>>();
74 *number = tracks->size();
76 chi2->push_back( track.
chi2() );
77 ndof->push_back( track.
ndof() );
78 chi2ndof->push_back( track.
chi2()/track.
ndof() );
79 charge->push_back( track.
charge() );
80 momentum->push_back( track.
p() );
81 pt->push_back( track.
pt() );
82 pterr->push_back( track.
ptError() );
85 theta->push_back( track.
theta() );
87 phi->push_back( track.
phi() );
88 phierr->push_back( track.
phiError() );
89 eta->push_back( track.
eta() );
90 etaerr->push_back( track.
etaError() );
91 dxy->push_back( track.
dxy() );
92 dxyerr->push_back( track.
dxyError() );
93 dsz->push_back( track.
dsz() );
94 dszerr->push_back( track.
dszError() );
95 qoverp->push_back( track.
qoverp() );
97 vx->push_back( track.
vx() );
98 vy->push_back( track.
vy() );
99 vz->push_back( track.
vz() );
100 algo->push_back( (
int) track.
algo() );
double qoverp() const
q / p
double p() const
momentum vector magnitude
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
double theta() const
polar angle
double dxyError() const
error on dxy
Geom::Theta< T > theta() const
double etaError() const
error on eta
double phi() const
azimuthal angle of momentum vector
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
double dsz() const
dsz parameter (THIS IS NOT the SZ impact parameter to (0,0,0) if refPoint is far from (0...
const edm::EDGetTokenT< edm::View< reco::Track > > tracks_token_
TrackAlgorithm algo() const
double dszError() const
error on dsz
double eta() const
pseudorapidity of momentum vector
double chi2() const
chi-squared of the fit
double ndof() const
number of degrees of freedom of the fit
double pt() const
track transverse momentum
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
double phiError() const
error on phi
unsigned short numberOfValidHits() const
number of valid hits found
double qoverpError() const
error on signed transverse curvature
double vz() const
z coordinate of the reference point on track
double vy() const
y coordinate of the reference point on track
int charge() const
track electric charge
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
double vx() const
x coordinate of the reference point on track
double thetaError() const
error on theta