Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deterministic Annealing Filter for track reconstruction #4205

Merged
merged 17 commits into from Jul 2, 2014

Conversation

ebrondol
Copy link
Contributor

This branch add the possibility to use DAF in track reconstruction procedure.
In general, DAF is an iterated Kalman Filter that assigns a weight to every competing hit. The wrong hit assignment to the track is avoided introducing an annealing factor which changes iteration by iteration.
Thanks to these features, DAF is particularly suited for noisy environments, where the electronic noise or pile up e�ffects can not be neglected.

The basic components are:

  • SiTrackerMultiRecHit: This is a TackingRecHit with virtual position and virtual covariance matrix built in order to incorporate several competing hits.
  • MultiRecHitCollector: which build the SiTrackerMultiRecHit collecting hits with the same IdDet (Simple one).
  • SiTrackerMultiRecHitUpdator: which builds the SiTrackerMultiRecHit or updates an existing one.
  • MRHChi2MeasurementEstimator: it performs the chi2 estimate.

ebrondol and others added 7 commits June 5, 2014 11:17
Resolved conflicts:
	RecoTracker/TrackProducer/plugins/TrackRefitter.cc
	TrackingTools/TrackFitters/src/KFTrajectoryFitter.cc
	TrackingTools/TrackFitters/src/KFTrajectorySmoother.cc
	TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h
@cmsbuild
Copy link
Contributor

A new Pull Request was created by @ebrondol for CMSSW_7_2_X.

Deterministic Annealing Filter for track reconstruction

It involves the following packages:

DataFormats/TrackerRecHit2D
RecoTracker/SiTrackerMRHTools
RecoTracker/TrackProducer
RecoTracker/TransientTrackingRecHit
TrackingTools/KalmanUpdators
TrackingTools/PatternTools
TrackingTools/TrackFitters

The following packages do not have a category, yet:

RecoTracker/SiTrackerMRHTools

@nclopezo, @cmsbuild, @StoyanStoynev, @slava77, @Degano, @ktf can you please review it and eventually sign? Thanks.
@ghellwig, @GiacomoSguazzoni, @rovere, @gpetruc, @cerati, @venturia this is something you requested to watch as well.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.

@cmsbuild
Copy link
Contributor

-1
Tested at: ffeec43
I found an error when building:

>> Compiling capabilities tmp/slc6_amd64_gcc481/src/SimTracker/TrackerHitAssociation/src/SimTrackerTrackerHitAssociation/a/seal_cap.cc 
>> Compiling capabilities tmp/slc6_amd64_gcc481/src/TrackingTools/PatternTools/src/TrackingToolsPatternTools/a/seal_cap.cc 
>> Compiling edm plugin /build/cmsbuild/jenkins-workarea/workspace/ib-integration-CMSSW_7_2_X-slc6_amd64_gcc481/CMSSW_7_2_X_2014-06-11-0200/src/RecoMuon/GlobalMuonProducer/src/GlobalMuonProducer.cc 
>> Compiling edm plugin /build/cmsbuild/jenkins-workarea/workspace/ib-integration-CMSSW_7_2_X-slc6_amd64_gcc481/CMSSW_7_2_X_2014-06-11-0200/src/RecoMuon/GlobalMuonProducer/src/SealModule.cc 
In file included from /build/cmsbuild/jenkins-workarea/workspace/ib-integration-CMSSW_7_2_X-slc6_amd64_gcc481/CMSSW_7_2_X_2014-06-11-0200/src/DPGAnalysis/SiStripTools/plugins/TrackerDpgAnalysis.cc:92:0:
/build/cmsbuild/jenkins-workarea/workspace/ib-integration-CMSSW_7_2_X-slc6_amd64_gcc481/CMSSW_7_2_X_2014-06-11-0200/poison/RecoTracker/TransientTrackingRecHit/interface/TSiTrackerMultiRecHit.h:1:2: error: #error THIS FILE HAS BEEN REMOVED FROM THE PACKAGE.
 #error THIS FILE HAS BEEN REMOVED FROM THE PACKAGE.
  ^
>> Compiling edm plugin /build/cmsbuild/jenkins-workarea/workspace/ib-integration-CMSSW_7_2_X-slc6_amd64_gcc481/CMSSW_7_2_X_2014-06-11-0200/src/RecoMuon/GlobalMuonProducer/src/TevMuonProducer.cc 
>> Compiling edm plugin /build/cmsbuild/jenkins-workarea/workspace/ib-integration-CMSSW_7_2_X-slc6_amd64_gcc481/CMSSW_7_2_X_2014-06-11-0200/src/SimMuon/MCTruth/plugins/MuonAssociatorEDProducer.cc 
>> Compiling edm plugin /build/cmsbuild/jenkins-workarea/workspace/ib-integration-CMSSW_7_2_X-slc6_amd64_gcc481/CMSSW_7_2_X_2014-06-11-0200/src/SimMuon/MCTruth/plugins/MuonAssociatorESProducer.cc 


you can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4205/89/summary.html

@cmsbuild
Copy link
Contributor

Pull request #4205 was updated. @nclopezo, @monttj, @cmsbuild, @StoyanStoynev, @slava77, @vadler, @Degano, @ktf can you please check and sign again.

@cmsbuild
Copy link
Contributor

-1
Tested at: 8ec8286
When I ran the RelVals I found an error in the following worklfows:
5.1 step1

runTheMatrix-results/5.1_TTbar+TTbarFS+HARVESTFS/step1_TTbar+TTbarFS+HARVESTFS.log
----- Begin Fatal Exception 12-Jun-2014 10:37:19 CEST-----------------------
An exception of category 'NoProxyException' occurred while
   [0] Processing run: 1
   [1] Calling beginRun for unscheduled module EventSetupRecordDataGetter/'hltGetConditions'
   [2] Using EventSetup component KFTrajectoryFitterESProducer/'MRHTrajectoryFitter' to make data TrajectoryFitter/'MRHFitter' in record TrajectoryFitterRecord
Exception Message:
No data of type "Chi2MeasurementEstimatorBase" with label "MRHChi2" in record "TrackingComponentsRecord"
 Please add an ESSource or ESProducer to your job which can deliver this data.
----- End Fatal Exception -------------------------------------------------

401.0 step1

runTheMatrix-results/401.0_TTbarNewMix+TTbarFSPU2+HARVESTFS/step1_TTbarNewMix+TTbarFSPU2+HARVESTFS.log
----- Begin Fatal Exception 12-Jun-2014 10:39:32 CEST-----------------------
An exception of category 'NoProxyException' occurred while
   [0] Processing run: 1
   [1] Calling beginRun for unscheduled module EventSetupRecordDataGetter/'hltGetConditions'
   [2] Using EventSetup component KFTrajectoryFitterESProducer/'MRHTrajectoryFitter' to make data TrajectoryFitter/'MRHFitter' in record TrajectoryFitterRecord
Exception Message:
No data of type "Chi2MeasurementEstimatorBase" with label "MRHChi2" in record "TrackingComponentsRecord"
 Please add an ESSource or ESProducer to your job which can deliver this data.
----- End Fatal Exception -------------------------------------------------

50101.0 step2

runTheMatrix-results/50101.0_SingleMuPt10+SingleMuPt10FSIdINPUT+SingleMuPt10FS_ID/step2_SingleMuPt10+SingleMuPt10FSIdINPUT+SingleMuPt10FS_ID.log
----- Begin Fatal Exception 12-Jun-2014 10:44:26 CEST-----------------------
An exception of category 'NoProxyException' occurred while
   [0] Processing run: 1
   [1] Calling beginRun for unscheduled module EventSetupRecordDataGetter/'hltGetConditions'
   [2] Using EventSetup component KFTrajectoryFitterESProducer/'MRHTrajectoryFitter' to make data TrajectoryFitter/'MRHFitter' in record TrajectoryFitterRecord
Exception Message:
No data of type "Chi2MeasurementEstimatorBase" with label "MRHChi2" in record "TrackingComponentsRecord"
 Please add an ESSource or ESProducer to your job which can deliver this data.
----- End Fatal Exception -------------------------------------------------

you can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4205/97/summary.html

@monttj
Copy link
Contributor

monttj commented Jul 2, 2014

+1

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 2, 2014

@@ -0,0 +1,44 @@
#ifndef DataFormats_TrajAnnealing_h
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my last comment here I meant that
this line should be smth like TrackingTools_PatternTools_TrajAnnealing_h to denote this particular package location.
Chances for a collision are small though

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sounds like something to do in a follow on PR. What else remains for signing this one?

On Jul 2, 2014, at 8:05 PM, Slava Krutelyov notifications@github.com
wrote:

In TrackingTools/PatternTools/interface/TrajAnnealing.h:

@@ -0,0 +1,44 @@
+#ifndef DataFormats_TrajAnnealing_h

In my last comment here I meant that
this line should be smth like TrackingTools_PatternTools_TrajAnnealing_h to denote this particular package location.
Chances for a collision are small though


Reply to this email directly or view it on GitHub.

@slava77
Copy link
Contributor

slava77 commented Jul 2, 2014

the test file RecoTracker/SiTrackerMRHTools/test/DAFRecoTrack_debug_cfg.py is now crashing with a segfault.

@slava77
Copy link
Contributor

slava77 commented Jul 2, 2014

if the config wasn't updated, that's ok, could sign now,
but if the recent changes broke the proposed code, then it better be fixed before going into the release.


for( Trajectory::DataContainer::const_iterator imeas = ibegin; imeas != iend; imeas += increment ){
theHits_.push_back(imeas->recHit());
if (imeas->recHit()->isValid()){
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The crash is here.
The last version of the code had some different logic (no direction-related logic)

@slava77
Copy link
Contributor

slava77 commented Jul 2, 2014

+1

for #4205 e944563

checked in CMSSW_7_2_X_2014-06-30-0200
No differences in standard workflows.

test config using 68c5617 was running OK
now it's broken: looking at details, it seems like the broken part is localized to the new code in TrajAnnealing implementation.
Since that's for development purposes and is apparently only in .cc, let it go.

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 2, 2014

This pull request is fully signed and it will be integrated in one of the next CMSSW_7_2_X IBs unless changes (tests are also fine).

ktf added a commit that referenced this pull request Jul 2, 2014
Deterministic Annealing Filter for track reconstruction
@ktf ktf merged commit e9b0439 into cms-sw:CMSSW_7_2_X Jul 2, 2014
@slava77 slava77 mentioned this pull request Mar 2, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants