Skip to content

Commit

Permalink
Merge changes for the new TrackingParticle, see branch NewTPfor620 fo…
Browse files Browse the repository at this point in the history
…r details
  • Loading branch information
Thomas Speer committed Jun 24, 2013
1 parent 64f73ba commit 8b485da
Show file tree
Hide file tree
Showing 11 changed files with 55 additions and 53 deletions.
10 changes: 5 additions & 5 deletions Validation/RecoTrack/interface/MTVHistoProducerAlgo.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,18 @@ class MTVHistoProducerAlgo{
virtual void bookRecoHistos()=0;
virtual void bookRecoHistosForStandaloneRunning()=0;

virtual void fill_generic_simTrack_histos(int counter,const ParticleBase::Vector&, const ParticleBase::Point& vertex, int bx)=0;
virtual void fill_generic_simTrack_histos(int counter,const TrackingParticle::Vector&,const TrackingParticle::Point& vertex, int bx)=0;

virtual void fill_recoAssociated_simTrack_histos(int count,
const TrackingParticle& tp,
const ParticleBase::Vector& momentumTP,const ParticleBase::Point& vertexTP,
const TrackingParticle::Vector& momentumTP, const TrackingParticle::Point& vertexTP,
double dxy, double dz, int nSimHits,
const reco::Track* track,
int numVertices, double vertz)=0;

virtual void fill_recoAssociated_simTrack_histos(int count,
const reco::GenParticle& tp,
const ParticleBase::Vector& momentumTP,const ParticleBase::Point& vertexTP,
const TrackingParticle::Vector & momentumTP, const TrackingParticle::Point & vertexTP,
double dxy, double dz, int nSimHits,
const reco::Track* track,
int numVertices, double vertz)=0;
Expand Down Expand Up @@ -77,8 +77,8 @@ class MTVHistoProducerAlgo{
int numSimTracks)=0;

virtual void fill_ResoAndPull_recoTrack_histos(int count,
const ParticleBase::Vector& momentumTP,
const ParticleBase::Point& vertexTP,
const TrackingParticle::Vector& momentumTP,
const TrackingParticle::Point& vertexTP,
int chargeTP,
const reco::Track& track,
const math::XYZPoint& bsPosition)=0;
Expand Down
10 changes: 5 additions & 5 deletions Validation/RecoTrack/interface/MTVHistoProducerAlgoForTracker.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,19 +34,19 @@ class MTVHistoProducerAlgoForTracker: public MTVHistoProducerAlgo {
void bookRecoHistosForStandaloneRunning();


void fill_generic_simTrack_histos(int counter,const ParticleBase::Vector&, const ParticleBase::Point& vertex, int bx);
void fill_generic_simTrack_histos(int counter,const TrackingParticle::Vector&,const TrackingParticle::Point& vertex, int bx);


void fill_recoAssociated_simTrack_histos(int count,
const TrackingParticle& tp,
const ParticleBase::Vector& momentumTP,const ParticleBase::Point& vertexTP,
const TrackingParticle::Vector& momentumTP, const TrackingParticle::Point& vertexTP,
double dxy, double dz, int nSimHits,
const reco::Track* track,
int numVertices, double vertz);

void fill_recoAssociated_simTrack_histos(int count,
const reco::GenParticle& tp,
const ParticleBase::Vector& momentumTP, const ParticleBase::Point& vertexTP,
const TrackingParticle::Vector& momentumTP, const TrackingParticle::Point& vertexTP,
double dxy, double dz, int nSimHits,
const reco::Track* track,
int numVertices, double vertz);
Expand Down Expand Up @@ -77,8 +77,8 @@ class MTVHistoProducerAlgoForTracker: public MTVHistoProducerAlgo {


void fill_ResoAndPull_recoTrack_histos(int count,
const ParticleBase::Vector& momentumTP,
const ParticleBase::Point& vertexTP,
const TrackingParticle::Vector& momentumTP,
const TrackingParticle::Point& vertexTP,
int chargeTP,
const reco::Track& track,
const math::XYZPoint& bsPosition);
Expand Down
18 changes: 8 additions & 10 deletions Validation/RecoTrack/plugins/MultiTrackValidator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -250,8 +250,8 @@ void MultiTrackValidator::analyze(const edm::Event& event, const edm::EventSetup
for (TrackingParticleCollection::size_type i=0; i<tPCeff.size(); i++){ //loop over TPs collection for tracking efficiency
TrackingParticleRef tpr(TPCollectionHeff, i);
TrackingParticle* tp=const_cast<TrackingParticle*>(tpr.get());
ParticleBase::Vector momentumTP;
ParticleBase::Point vertexTP;
TrackingParticle::Vector momentumTP;
TrackingParticle::Point vertexTP;
double dxySim(0);
double dzSim(0);

Expand All @@ -263,8 +263,8 @@ void MultiTrackValidator::analyze(const edm::Event& event, const edm::EventSetup
momentumTP = tp->momentum();
vertexTP = tp->vertex();
//Calcualte the impact parameters w.r.t. PCA
ParticleBase::Vector momentum = parametersDefinerTP->momentum(event,setup,*tp);
ParticleBase::Point vertex = parametersDefinerTP->vertex(event,setup,*tp);
TrackingParticle::Vector momentum = parametersDefinerTP->momentum(event,setup,*tp);
TrackingParticle::Point vertex = parametersDefinerTP->vertex(event,setup,*tp);
dxySim = (-vertex.x()*sin(momentum.phi())+vertex.y()*cos(momentum.phi()));
dzSim = vertex.z() - (vertex.x()*momentum.x()+vertex.y()*momentum.y())/sqrt(momentum.perp2())
* momentum.z()/sqrt(momentum.perp2());
Expand Down Expand Up @@ -321,8 +321,7 @@ void MultiTrackValidator::analyze(const edm::Event& event, const edm::EventSetup



std::vector<PSimHit> simhits=tp->trackPSimHit(DetId::Tracker);
int nSimHits = simhits.end()-simhits.begin();
int nSimHits = tp->numberOfTrackerHits();

double vtx_z_PU = vertexTP.z();
for (size_t j = 0; j < tv.size(); j++) {
Expand Down Expand Up @@ -396,8 +395,7 @@ void MultiTrackValidator::analyze(const edm::Event& event, const edm::EventSetup
if(recSimColl.find(track) != recSimColl.end()){
tp = recSimColl[track];
if (tp.size()!=0) {
std::vector<PSimHit> simhits=tp[0].first->trackPSimHit(DetId::Tracker);
nSimHits = simhits.end()-simhits.begin();
nSimHits = tp[0].first->numberOfTrackerHits();
sharedFraction = tp[0].second;
isSimMatched = true;
if (tp[0].first->charge() != track->charge()) isChargeMatched = false;
Expand Down Expand Up @@ -455,8 +453,8 @@ void MultiTrackValidator::analyze(const edm::Event& event, const edm::EventSetup


//Get tracking particle parameters at point of closest approach to the beamline
ParticleBase::Vector momentumTP = parametersDefinerTP->momentum(event,setup,*(tpr.get()));
ParticleBase::Point vertexTP = parametersDefinerTP->vertex(event,setup,*(tpr.get()));
TrackingParticle::Vector momentumTP = parametersDefinerTP->momentum(event,setup,*(tpr.get()));
TrackingParticle::Point vertexTP = parametersDefinerTP->vertex(event,setup,*(tpr.get()));
int chargeTP = tpr->charge();

histoProducerAlgo_->fill_ResoAndPull_recoTrack_histos(w,momentumTP,vertexTP,chargeTP,
Expand Down
12 changes: 6 additions & 6 deletions Validation/RecoTrack/plugins/MultiTrackValidatorGenPs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -160,8 +160,8 @@ void MultiTrackValidatorGenPs::analyze(const edm::Event& event, const edm::Event
for (GenParticleCollection::size_type i=0; i<tPCeff.size(); i++){ //loop over TPs collection for tracking efficiency
GenParticleRef tpr(TPCollectionHeff, i);
GenParticle* tp=const_cast<GenParticle*>(tpr.get());
ParticleBase::Vector momentumTP;
ParticleBase::Point vertexTP;
TrackingParticle::Vector momentumTP;
TrackingParticle::Point vertexTP;
double dxyGen(0);
double dzGen(0);

Expand All @@ -175,8 +175,8 @@ void MultiTrackValidatorGenPs::analyze(const edm::Event& event, const edm::Event
momentumTP = tp->momentum();
vertexTP = tp->vertex();
//Calcualte the impact parameters w.r.t. PCA
ParticleBase::Vector momentum = parametersDefinerTP->momentum(event,setup,*tp);
ParticleBase::Point vertex = parametersDefinerTP->vertex(event,setup,*tp);
TrackingParticle::Vector momentum = parametersDefinerTP->momentum(event,setup,*tp);
TrackingParticle::Point vertex = parametersDefinerTP->vertex(event,setup,*tp);
dxyGen = (-vertex.x()*sin(momentum.phi())+vertex.y()*cos(momentum.phi()));
dzGen = vertex.z() - (vertex.x()*momentum.x()+vertex.y()*momentum.y())/sqrt(momentum.perp2())
* momentum.z()/sqrt(momentum.perp2());
Expand Down Expand Up @@ -378,8 +378,8 @@ void MultiTrackValidatorGenPs::analyze(const edm::Event& event, const edm::Event


//Get tracking particle parameters at point of closest approach to the beamline
ParticleBase::Vector momentumTP = parametersDefinerTP->momentum(event,setup,*(tpr.get()));
ParticleBase::Point vertexTP = parametersDefinerTP->vertex(event,setup,*(tpr.get()));
TrackingParticle::Vector momentumTP = parametersDefinerTP->momentum(event,setup,*(tpr.get()));
TrackingParticle::Point vertexTP = parametersDefinerTP->vertex(event,setup,*(tpr.get()));
int chargeTP = tpr->charge();

histoProducerAlgo_->fill_ResoAndPull_recoTrack_histos(w,momentumTP,vertexTP,chargeTP,
Expand Down
18 changes: 8 additions & 10 deletions Validation/RecoTrack/plugins/TrackerSeedValidator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -198,11 +198,11 @@ void TrackerSeedValidator::analyze(const edm::Event& event, const edm::EventSetu

if(! tpSelector(*tp)) continue;

ParticleBase::Vector momentumTP = tp->momentum();
ParticleBase::Point vertexTP = tp->vertex();
TrackingParticle::Vector momentumTP = tp->momentum();
TrackingParticle::Point vertexTP = tp->vertex();
//Calcualte the impact parameters w.r.t. PCA
ParticleBase::Vector momentum = parametersDefinerTP->momentum(event,setup,*tp);
ParticleBase::Point vertex = parametersDefinerTP->vertex(event,setup,*tp);
TrackingParticle::Vector momentum = parametersDefinerTP->momentum(event,setup,*tp);
TrackingParticle::Point vertex = parametersDefinerTP->vertex(event,setup,*tp);
double dxySim = (-vertex.x()*sin(momentum.phi())+vertex.y()*cos(momentum.phi()));
double dzSim = vertex.z() - (vertex.x()*momentum.x()+vertex.y()*momentum.y())/sqrt(momentum.perp2())
* momentum.z()/sqrt(momentum.perp2());
Expand All @@ -228,8 +228,7 @@ void TrackerSeedValidator::analyze(const edm::Event& event, const edm::EventSetu
<< " NOT associated to any TrajectorySeed" << "\n";
}

std::vector<PSimHit> simhits=tp->trackPSimHit(DetId::Tracker);
int nSimHits = simhits.end()-simhits.begin();
int nSimHits = tp->numberOfTrackerHits();

double vtx_z_PU = tp->vertex().z();
for (size_t j = 0; j < tv.size(); j++) {
Expand Down Expand Up @@ -321,8 +320,7 @@ void TrackerSeedValidator::analyze(const edm::Event& event, const edm::EventSetu
tp = recSimColl[seed];
if (tp.size()!=0) {

std::vector<PSimHit> simhits=tp[0].first->trackPSimHit(DetId::Tracker);
nSimHits = simhits.end()-simhits.begin();
nSimHits = tp[0].first->numberOfTrackerHits();
sharedFraction = tp[0].second;
isSimMatched = true;
if (tp[0].first->charge() != seed->startingState().parameters().charge()) isChargeMatched = false;
Expand Down Expand Up @@ -361,8 +359,8 @@ void TrackerSeedValidator::analyze(const edm::Event& event, const edm::EventSetu
TrackingParticleRef tpr = tp.begin()->first;

//compute tracking particle parameters at point of closest approach to the beamline
ParticleBase::Vector momentumTP = parametersDefinerTP->momentum(event,setup,*(tpr.get()));
ParticleBase::Point vertexTP = parametersDefinerTP->vertex(event,setup,*(tpr.get()));
TrackingParticle::Vector momentumTP = parametersDefinerTP->momentum(event,setup,*(tpr.get()));
TrackingParticle::Point vertexTP = parametersDefinerTP->vertex(event,setup,*(tpr.get()));

// LogTrace("SeedValidatorTEST") << "assocChi2=" << tp.begin()->second << "\n"
// << "" << "\n"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
### sim input configuration ###
label_tp_effic = cms.InputTag("genParticles"),
label_tp_fake = cms.InputTag("genParticles"),
label_tv = cms.InputTag("mergedtruth","MergedTrackTruth"),#this is not used
label_tv = cms.InputTag("mix","MergedTrackTruth"),#this is not used
label_pileupinfo = cms.InputTag("addPileupInfo"),
sim = cms.string('g4SimHits'),#this is not used
parametersDefiner = cms.string('LhcParametersDefinerForTP'), # collision like tracks
Expand Down
6 changes: 3 additions & 3 deletions Validation/RecoTrack/python/MultiTrackValidator_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@
UseAssociators = cms.bool(True), # if False, the TP-RecoTrack maps has to be specified

### sim input configuration ###
label_tp_effic = cms.InputTag("mergedtruth","MergedTrackTruth"),
label_tp_fake = cms.InputTag("mergedtruth","MergedTrackTruth"),
label_tv = cms.InputTag("mergedtruth","MergedTrackTruth"),
label_tp_effic = cms.InputTag("mix","MergedTrackTruth"),
label_tp_fake = cms.InputTag("mix","MergedTrackTruth"),
label_tv = cms.InputTag("mix","MergedTrackTruth"),
label_pileupinfo = cms.InputTag("addPileupInfo"),
sim = cms.string('g4SimHits'),
parametersDefiner = cms.string('LhcParametersDefinerForTP'), # collision like tracks
Expand Down
5 changes: 4 additions & 1 deletion Validation/RecoTrack/python/TrackValidation_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,11 @@
from Validation.RecoTrack.PostProcessorTracker_cfi import *
import PhysicsTools.RecoAlgos.recoTrackSelector_cfi

from SimTracker.TrackerHitAssociation.clusterTpAssociationProducer_cfi import *

TrackAssociatorByHitsRecoDenom= SimTracker.TrackAssociation.quickTrackAssociatorByHits_cfi.quickTrackAssociatorByHits.clone(
ComponentName = cms.string('TrackAssociatorByHitsRecoDenom'),
useClusterTPAssociation = cms.bool(True),
SimToRecoDenominator = cms.string('reco')
)
# Validation iterative steps
Expand Down Expand Up @@ -131,6 +134,6 @@
cutsRecoTracksTenthHp )

# selectors go into separate "prevalidation" sequence
tracksValidation = cms.Sequence( trackValidator)
tracksValidation = cms.Sequence( tpClusterProducer * trackValidator)
tracksValidationFS = cms.Sequence( trackValidator )

6 changes: 3 additions & 3 deletions Validation/RecoTrack/python/TrackerSeedValidator_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@
associators = cms.vstring('TrackAssociatorByHits'),

### sim input configuration ###
label_tp_effic = cms.InputTag("mergedtruth","MergedTrackTruth"),
label_tp_fake = cms.InputTag("mergedtruth","MergedTrackTruth"),
label_tv = cms.InputTag("mergedtruth","MergedTrackTruth"),
label_tp_effic = cms.InputTag("mix","MergedTrackTruth"),
label_tp_fake = cms.InputTag("mix","MergedTrackTruth"),
label_tv = cms.InputTag("mix","MergedTrackTruth"),
label_pileupinfo = cms.InputTag("addPileupInfo"),
sim = cms.string('g4SimHits'),
parametersDefiner = cms.string('LhcParametersDefinerForTP'), # collision like tracks
Expand Down
16 changes: 8 additions & 8 deletions Validation/RecoTrack/src/MTVHistoProducerAlgoForTracker.cc
Original file line number Diff line number Diff line change
Expand Up @@ -816,8 +816,8 @@ void MTVHistoProducerAlgoForTracker::bookRecoHistosForStandaloneRunning(){
}

void MTVHistoProducerAlgoForTracker::fill_generic_simTrack_histos(int count,
const ParticleBase::Vector& momentumTP,
const ParticleBase::Point& vertexTP,
const TrackingParticle::Vector& momentumTP,
const TrackingParticle::Point& vertexTP,
int bx){
h_ptSIM[count]->Fill(sqrt(momentumTP.perp2()));
h_etaSIM[count]->Fill(momentumTP.eta());
Expand All @@ -830,8 +830,8 @@ void MTVHistoProducerAlgoForTracker::fill_generic_simTrack_histos(int count,
// TO BE FIXED USING PLAIN HISTOGRAMS INSTEAD OF RE-IMPLEMENTATION OF HISTOGRAMS (i.d. vectors<int/double>)
void MTVHistoProducerAlgoForTracker::fill_recoAssociated_simTrack_histos(int count,
const TrackingParticle& tp,
const ParticleBase::Vector& momentumTP,
const ParticleBase::Point& vertexTP,
const TrackingParticle::Vector& momentumTP,
const TrackingParticle::Point& vertexTP,
double dxySim, double dzSim, int nSimHits,
const reco::Track* track,
int numVertices, double vertz){
Expand Down Expand Up @@ -1206,8 +1206,8 @@ void MTVHistoProducerAlgoForTracker::fill_trackBased_histos(int count, int assTr


void MTVHistoProducerAlgoForTracker::fill_ResoAndPull_recoTrack_histos(int count,
const ParticleBase::Vector& momentumTP,
const ParticleBase::Point& vertexTP,
const TrackingParticle::Vector& momentumTP,
const TrackingParticle::Point& vertexTP,
int chargeTP,
const reco::Track& track,
const math::XYZPoint& bsPosition){
Expand Down Expand Up @@ -1667,8 +1667,8 @@ void MTVHistoProducerAlgoForTracker::fillHistosFromVectors(int counter){

void MTVHistoProducerAlgoForTracker::fill_recoAssociated_simTrack_histos(int count,
const reco::GenParticle& tp,
const ParticleBase::Vector& momentumTP,
const ParticleBase::Point& vertexTP,
const TrackingParticle::Vector& momentumTP,
const TrackingParticle::Point& vertexTP,
double dxySim, double dzSim, int nSimHits,
const reco::Track* track,
int numVertices, double vertz){
Expand Down
5 changes: 4 additions & 1 deletion Validation/RecoTrack/test/MultiTrackValidator_cfg.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,11 @@
#process.cutsRecoTracks.minRapidity = cms.int32(-1.0)
#process.cutsRecoTracks.maxRapidity = cms.int32(1.0)

process.quickTrackAssociatorByHits.useClusterTPAssociation = cms.bool(True)
process.load("SimTracker.TrackerHitAssociation.clusterTpAssociationProducer_cfi")

process.validation = cms.Sequence(
#process.cutsRecoTracks *
process.tpClusterProducer *
process.multiTrackValidator
)

Expand Down

0 comments on commit 8b485da

Please sign in to comment.