44 auto number = std::make_unique<unsigned int>(0);
45 auto chi2 = std::make_unique<std::vector<double>>();
46 auto ndof = std::make_unique<std::vector<double>>();
47 auto chi2ndof = std::make_unique<std::vector<double>>();
48 auto charge = std::make_unique<std::vector<float>>();
49 auto momentum = std::make_unique<std::vector<float>>();
50 auto pt = std::make_unique<std::vector<float>>();
51 auto pterr = std::make_unique<std::vector<float>>();
52 auto hitsvalid = std::make_unique<std::vector<unsigned int>>();
53 auto hitslost = std::make_unique<std::vector<unsigned int>>();
54 auto theta = std::make_unique<std::vector<double>>();
55 auto thetaerr = std::make_unique<std::vector<double>>();
56 auto phi = std::make_unique<std::vector<double>>();
57 auto phierr = std::make_unique<std::vector<double>>();
58 auto eta = std::make_unique<std::vector<double>>();
59 auto etaerr = std::make_unique<std::vector<double>>();
60 auto dxy = std::make_unique<std::vector<double>>();
61 auto dxyerr = std::make_unique<std::vector<double>>();
62 auto dsz = std::make_unique<std::vector<double>>();
63 auto dszerr = std::make_unique<std::vector<double>>();
64 auto qoverp = std::make_unique<std::vector<double>>();
65 auto qoverperr = std::make_unique<std::vector<double>>();
66 auto vx = std::make_unique<std::vector<double>>();
67 auto vy = std::make_unique<std::vector<double>>();
68 auto vz = std::make_unique<std::vector<double>>();
69 auto algo = std::make_unique<std::vector<int>>();
73 *number = tracks->size();
74 for(
auto const&
track : *tracks) {
75 chi2->push_back(
track.chi2() );
76 ndof->push_back(
track.ndof() );
77 chi2ndof->push_back(
track.chi2()/
track.ndof() );
78 charge->push_back(
track.charge() );
79 momentum->push_back(
track.p() );
80 pt->push_back(
track.pt() );
81 pterr->push_back(
track.ptError() );
82 hitsvalid->push_back(
track.numberOfValidHits() );
83 hitslost->push_back(
track.numberOfLostHits() );
84 theta->push_back(
track.theta() );
85 thetaerr->push_back(
track.thetaError() );
86 phi->push_back(
track.phi() );
87 phierr->push_back(
track.phiError() );
88 eta->push_back(
track.eta() );
89 etaerr->push_back(
track.etaError() );
90 dxy->push_back(
track.dxy() );
91 dxyerr->push_back(
track.dxyError() );
92 dsz->push_back(
track.dsz() );
93 dszerr->push_back(
track.dszError() );
94 qoverp->push_back(
track.qoverp() );
95 qoverperr->push_back(
track.qoverpError() );
96 vx->push_back(
track.vx() );
97 vy->push_back(
track.vy() );
98 vz->push_back(
track.vz() );
99 algo->push_back( (
int)
track.algo() );
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Geom::Theta< T > theta() const
const edm::EDGetTokenT< edm::View< reco::Track > > tracks_token_