Skip to content

Commit

Permalink
Merge pull request #31151 from hatakeyamak/PFTrackClassCleanup
Browse files Browse the repository at this point in the history
Cleanup of the PFTrack class
  • Loading branch information
cmsbuild committed Aug 18, 2020
2 parents 7fc34ec + 8e55e57 commit 70f3595
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 46 deletions.
11 changes: 0 additions & 11 deletions DataFormats/ParticleFlowReco/interface/PFTrack.h
Expand Up @@ -77,10 +77,6 @@ namespace reco {
trajectoryPoints_[index] = measurement;
}

/// calculate posrep_ once and for all for each point
/// \todo where is posrep? profile and see if it's necessary.
void calculatePositionREP();

/// \return electric charge
double charge() const { return charge_; }

Expand Down Expand Up @@ -112,10 +108,6 @@ namespace reco {
return trajectoryPoints_.begin() + indexOutermost_;
}

void setColor(int color) { color_ = color; }

int color() const { return color_; }

protected:
/// maximal number of tracking layers
static const unsigned int nMaxTrackingLayers_;
Expand All @@ -131,9 +123,6 @@ namespace reco {

/// index outermost tracker measurement
unsigned int indexOutermost_;

/// color (transient)
int color_;
};
std::ostream& operator<<(std::ostream& out, const PFTrack& track);

Expand Down
6 changes: 0 additions & 6 deletions DataFormats/ParticleFlowReco/src/GsfPFRecTrack.cc
Expand Up @@ -2,7 +2,6 @@
#include "DataFormats/TrackReco/interface/TrackFwd.h"
#include "Math/GenVector/PositionVector3D.h"
#include "DataFormats/Math/interface/Point3D.h"
// #include "FWCore/MessageLogger/interface/MessageLogger.h"

using namespace reco;
GsfPFRecTrack::GsfPFRecTrack(double charge,
Expand All @@ -16,11 +15,6 @@ GsfPFRecTrack::GsfPFRecTrack(double charge,

void GsfPFRecTrack::addBrem(const reco::PFBrem& brem) { pfBremVec_.push_back(brem); }

void GsfPFRecTrack::calculateBremPositionREP() {
for (unsigned j = 0; j < pfBremVec_.size(); ++j)
pfBremVec_[j].calculatePositionREP();
}

void GsfPFRecTrack::addConvBremPFRecTrackRef(const reco::PFRecTrackRef& pfrectracksref) {
assoPFRecTrack_.push_back(pfrectracksref);
}
Expand Down
23 changes: 5 additions & 18 deletions DataFormats/ParticleFlowReco/src/PFTrack.cc
Expand Up @@ -2,18 +2,19 @@
#include "Math/GenVector/PositionVector3D.h"
#include "DataFormats/Math/interface/Point3D.h"
#include "FWCore/Utilities/interface/Exception.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"

using namespace reco;
using namespace std;

const unsigned PFTrack::nMaxTrackingLayers_ = 17;

PFTrack::PFTrack() : charge_(0.), indexInnermost_(0), indexOutermost_(0), color_(1) {
PFTrack::PFTrack() : charge_(0.), indexInnermost_(0), indexOutermost_(0) {
// prepare vector of trajectory points for propagated positions
trajectoryPoints_.reserve(PFTrajectoryPoint::NLayers + nMaxTrackingLayers_);
}

PFTrack::PFTrack(double charge) : charge_(charge), indexInnermost_(0), indexOutermost_(0), color_(1) {
PFTrack::PFTrack(double charge) : charge_(charge), indexInnermost_(0), indexOutermost_(0) {
// prepare vector of trajectory points for propagated positions
trajectoryPoints_.reserve(PFTrajectoryPoint::NLayers + nMaxTrackingLayers_);
}
Expand All @@ -22,37 +23,24 @@ PFTrack::PFTrack(const PFTrack& other)
: charge_(other.charge_),
trajectoryPoints_(other.trajectoryPoints_),
indexInnermost_(other.indexInnermost_),
indexOutermost_(other.indexOutermost_),
color_(other.color_) {}
indexOutermost_(other.indexOutermost_) {}

void PFTrack::addPoint(const PFTrajectoryPoint& trajPt) {
// cout<<"adding "<<trajPt<<endl;

if (trajPt.isTrackerLayer()) {
if (!indexOutermost_) { // first time a measurement is added
if (trajectoryPoints_.size() < PFTrajectoryPoint::BeamPipeOrEndVertex + 1) {
PFTrajectoryPoint dummyPt;
for (unsigned iPt = trajectoryPoints_.size(); iPt < PFTrajectoryPoint::BeamPipeOrEndVertex + 1; iPt++)
trajectoryPoints_.push_back(dummyPt);
} else if (trajectoryPoints_.size() > PFTrajectoryPoint::BeamPipeOrEndVertex + 1) {
// throw an exception here
// edm::LogError("PFTrack")<<"trajectoryPoints_.size() is too large = "
// <<trajectoryPoints_.size()<<"\n";
edm::LogWarning("PFTrack") << "trajectoryPoints_.size() is too large = " << trajectoryPoints_.size();
}
indexOutermost_ = indexInnermost_ = PFTrajectoryPoint::BeamPipeOrEndVertex + 1;
} else
indexOutermost_++;
}
// Use push_back instead of insert in order to gain time
trajectoryPoints_.push_back(trajPt);

// cout<<"adding point "<<*this<<endl;
}

void PFTrack::calculatePositionREP() {
//for(unsigned i=0; i<trajectoryPoints_.size(); i++) {
// trajectoryPoints_[i].calculatePositionREP();
//}
}

const reco::PFTrajectoryPoint& PFTrack::extrapolatedPoint(unsigned layerid) const {
Expand All @@ -62,7 +50,6 @@ const reco::PFTrajectoryPoint& PFTrack::extrapolatedPoint(unsigned layerid) cons
<< " #traj meas = " << nTrajectoryMeasurements()
<< " #traj points = " << trajectoryPoints_.size() << endl
<< (*this);
// assert(0);
}
if (layerid < indexInnermost_)
return trajectoryPoints_[layerid];
Expand Down
15 changes: 10 additions & 5 deletions DataFormats/ParticleFlowReco/src/classes_def_2.xml
Expand Up @@ -74,7 +74,8 @@



<class name="reco::PFTrack" ClassVersion="10">
<class name="reco::PFTrack" ClassVersion="11">
<version ClassVersion="11" checksum="1666908047"/>
<version ClassVersion="10" checksum="496926148"/>
</class>
<!-- <class name="edm::RefToBase<reco::Track>"/>
Expand All @@ -96,7 +97,8 @@
<class name="edm::Wrapper<std::vector<reco::PFTrajectoryPoint> >"/>

<class name="edm::RefVector<std::vector<reco::PFBlock>,reco::PFBlock,edm::refhelper::FindUsingAdvance<std::vector<reco::PFBlock>,reco::PFBlock> >"/>
<class name="reco::PFRecTrack" ClassVersion="12">
<class name="reco::PFRecTrack" ClassVersion="13">
<version ClassVersion="13" checksum="2549841209"/>
<version ClassVersion="12" checksum="2850643502"/>
<version ClassVersion="11" checksum="2924298092"/>
<version ClassVersion="10" checksum="2979491836"/>
Expand All @@ -106,7 +108,8 @@
<class name="std::vector<reco::PFRecTrack>"/>
<class name="edm::Wrapper<std::vector<reco::PFRecTrack> >"/>

<class name="reco::GsfPFRecTrack" ClassVersion="12">
<class name="reco::GsfPFRecTrack" ClassVersion="13">
<version ClassVersion="13" checksum="974620889"/>
<version ClassVersion="12" checksum="2203231294"/>
<version ClassVersion="11" checksum="2592328732"/>
<version ClassVersion="10" checksum="3411096264"/>
Expand All @@ -116,15 +119,17 @@
<class name="std::vector<reco::GsfPFRecTrack>"/>
<class name="edm::Wrapper<std::vector<reco::GsfPFRecTrack> >"/>

<class name="reco::PFBrem" ClassVersion="12">
<class name="reco::PFBrem" ClassVersion="13">
<version ClassVersion="13" checksum="1718201023"/>
<version ClassVersion="12" checksum="3001582852"/>
<version ClassVersion="11" checksum="1785919010"/>
<version ClassVersion="10" checksum="3922569476"/>
</class>
<class name="std::vector<reco::PFBrem>"/>


<class name="reco::PFSimParticle" ClassVersion="11">
<class name="reco::PFSimParticle" ClassVersion="12">
<version ClassVersion="12" checksum="3693440976"/>
<version ClassVersion="11" checksum="3190131965"/>
<version ClassVersion="10" checksum="545237333"/>
</class>
Expand Down
2 changes: 0 additions & 2 deletions RecoParticleFlow/PFTracking/src/ConvBremPFTrackFinder.cc
Expand Up @@ -55,7 +55,6 @@ void ConvBremPFTrackFinder::runConvBremFinder(const Handle<PFRecTrackCollection>
const PFRecTrackCollection& PfRTkColl = *(thePfRecTrackCol.product());
reco::PFRecTrackCollection::const_iterator pft = PfRTkColl.begin();
reco::PFRecTrackCollection::const_iterator pftend = PfRTkColl.end();
//PFEnergyCalibration pfcalib_;

vector<PFRecTrackRef> AllPFRecTracks;
AllPFRecTracks.clear();
Expand Down Expand Up @@ -264,7 +263,6 @@ void ConvBremPFTrackFinder::runConvBremFinder(const Handle<PFRecTrackCollection>
float MinDist = 100000.;
float EE_calib = 0.;
PFRecTrack pfrectrack = *AllPFRecTracks[iPF];
pfrectrack.calculatePositionREP();
// Find and ECAL associated cluster
for (PFClusterCollection::const_iterator clus = theEClus.begin(); clus != theEClus.end(); clus++) {
// Removed unusd variable, left this in case it has side effects
Expand Down
4 changes: 0 additions & 4 deletions RecoParticleFlow/PFTracking/src/PFTrackTransformer.cc
Expand Up @@ -545,7 +545,6 @@ bool PFTrackTransformer::addPointsAndBrems(reco::GsfPFRecTrack& pftrack,
brem.addPoint(dummyHOLayer);
}
}
brem.calculatePositionREP();
pftrack.addBrem(brem);
iTrajPos++;
}
Expand Down Expand Up @@ -744,7 +743,6 @@ bool PFTrackTransformer::addPointsAndBrems(reco::GsfPFRecTrack& pftrack,
}
}

brem.calculatePositionREP();
pftrack.addBrem(brem);
iTrajPos++;

Expand Down Expand Up @@ -908,7 +906,6 @@ bool PFTrackTransformer::addPointsAndBrems(reco::GsfPFRecTrack& pftrack,
}
}

brem.calculatePositionREP();
pftrack.addBrem(brem);
iTrajPos++;
}
Expand Down Expand Up @@ -1161,7 +1158,6 @@ bool PFTrackTransformer::addPointsAndBrems(reco::GsfPFRecTrack& pftrack,
brem.addPoint(dummyHOLayer);
}
}
brem.calculatePositionREP();
pftrack.addBrem(brem);
iTrajPos++;
}
Expand Down

0 comments on commit 70f3595

Please sign in to comment.