16 #include "RecoVertex/MultiVertexFit/interface/DebuggingHarvester.h" 22 vector<reco::TransientTrack>
convert(
const vector<const reco::TransientTrack*>& ptrs) {
23 vector<reco::TransientTrack>
ret;
24 for (vector<const reco::TransientTrack*>::const_iterator
i = ptrs.begin();
i != ptrs.end(); ++
i) {
45 for (vector<reco::TransientTrack>::const_iterator
i =
trks.begin();
i !=
trks.end(); ++
i) {
57 GlobalPoint computeJetOrigin(
const vector<reco::TransientTrack>&
trks) {
59 vector<ModeFinder3d::PointAndDistance>
input;
60 for (vector<reco::TransientTrack>::const_iterator
i =
trks.begin();
i !=
trks.end(); ++
i) {
68 vector<ModeFinder3d::PointAndDistance>
input;
69 for (vector<reco::TransientTrack>::const_iterator
i =
trks.begin();
i !=
trks.end(); ++
i) {
92 DebuggingHarvester(
"out.txt").save(
ret,
"p<sub>tot</sub>");
97 vector<Cluster1D<reco::TransientTrack> > computeIPs(
const vector<reco::TransientTrack>&
trks) {
101 vector<Cluster1D<reco::TransientTrack> >
pts;
102 for (vector<reco::TransientTrack>::const_iterator
i =
trks.begin();
i !=
trks.end(); ++
i) {
105 pair<GlobalPoint, GlobalPoint>
pt = ttmd.
points();
106 double d = (
pt.first -
pt.second).
mag();
107 double w = 1. / (0.002 +
d);
108 double s = (
pt.first - axis.position()).
mag();
110 vector<const reco::TransientTrack*>
trk;
111 trk.push_back(&(*
i));
135 bool ascending =
false,
136 bool kalmanfit =
false) {
138 vector<const reco::TransientTrack*> trkptrs =
src.tracks();
139 vector<reco::TransientTrack>
trks =
convert(trkptrs);
152 w =
pow((
float)0.5, (
int)(
trks.size() - 1));
155 for (vector<reco::TransientTrack>::const_iterator
i =
trks.begin();
i !=
trks.end(); ++
i) {
184 vector<Cluster1D<reco::TransientTrack> > ips = computeIPs(
trks);
191 pair<vector<Cluster1D<reco::TransientTrack> >, vector<const reco::TransientTrack*> >
res;
196 map<string, harvest::MultiType> attrs;
197 attrs[
"point:mag"] = 0.75;
198 attrs[
"point:color"] =
"blue";
199 attrs[
"point:name"] =
"mode";
200 DebuggingHarvester(
"out.txt").save(
res.first,
jet, attrs,
"mode");
203 vector<TransientVertex>
ret;
205 ret.push_back(pseudoVertexFit(*
i,
206 i !=
res.first.begin(),
ret
prodAgent to be discontinued
std::map< reco::TransientTrack, float > TransientTrackToFloatMap
Global3DPoint GlobalPoint
std::vector< T > toVector(pybind11::list &l)
static std::string const input
bool calculate(const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) override
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &tracks) const override
static const double pts[33]
std::vector< reco::TransientTrack > const & originalTracks() const
std::pair< GlobalPoint, GlobalPoint > points() const override
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
Basic3DVector & operator/=(T t)
Scaling by a scalar value (division)
std::pair< GlobalPoint, float > PointAndDistance
MultiVertexBSeeder * clone() const override
MultiVertexBSeeder(double nsigma=50.)
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &) const override
Power< A, B >::type pow(const A &a, const B &b)
Basic3DVector & operator+=(const Basic3DVector< U > &p)
Global3DVector GlobalVector