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
Vertex Reconstruction with Timing 810 #15710
Conversation
A new Pull Request was created by @lgray (Lindsey Gray) for CMSSW_8_1_X. It involves the following packages: DataFormats/GeometryCommonDetAlgo @smuzaffar, @civanch, @Dr15Jones, @cvuosalo, @mdhildreth, @monttj, @cmsbuild, @slava77, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are list here #13028 |
@cmsbuild please test |
The tests are being triggered in jenkins. |
@@ -43,19 +43,27 @@ namespace reco { | |||
typedef math::Error<dimension>::type Error; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
better defind dimension4D = 4 enum and use it instead of "dimension+1" everywhere
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this comment was not addressed
I think we will have to see detailed cost estimates from changes in the data formats before this can go in. For the TransientTrack* edits, my first thought is that they are not necessary and the "(time, timeError)" should instead be carried in parallel to the methods that need them (only vertexing, apparently). |
@slava77 If we want to really calculate covariances and do a proper vertex fit the time will need to be in the TransientTracks anyway. |
@slava77 Of course, right now, that is not done and something approximate is used. |
-1 Tested at: 975fed1 You can see the results of the tests here: I found follow errors while testing this PR Failed tests: RelVals
When I ran the RelVals I found an error in the following worklfows: runTheMatrix-results/1003.0_RunMinBias2012A+RunMinBias2012A+RECODDQM+HARVESTDDQM/step2_RunMinBias2012A+RunMinBias2012A+RECODDQM+HARVESTDDQM.log1000.0 step2 runTheMatrix-results/1000.0_RunMinBias2011A+RunMinBias2011A+TIER0+SKIMD+HARVESTDfst2+ALCASPLIT/step2_RunMinBias2011A+RunMinBias2011A+TIER0+SKIMD+HARVESTDfst2+ALCASPLIT.log1001.0 step2 runTheMatrix-results/1001.0_RunMinBias2011A+RunMinBias2011A+TIER0EXP+ALCAEXP+ALCAHARVD1+ALCAHARVD2+ALCAHARVD3+ALCAHARVD4+ALCAHARVD5/step2_RunMinBias2011A+RunMinBias2011A+TIER0EXP+ALCAEXP+ALCAHARVD1+ALCAHARVD2+ALCAHARVD3+ALCAHARVD4+ALCAHARVD5.log1306.0 step3 runTheMatrix-results/1306.0_SingleMuPt1_UP15+SingleMuPt1_UP15+DIGIUP15+RECOUP15+HARVESTUP15/step3_SingleMuPt1_UP15+SingleMuPt1_UP15+DIGIUP15+RECOUP15+HARVESTUP15.log10021.0 step3 runTheMatrix-results/10021.0_TenMuE_0_200+TenMuE_0_200_pythia8_2017_GenSimFull+DigiFull_2017+RecoFull_2017+HARVESTFull_2017/step3_TenMuE_0_200+TenMuE_0_200_pythia8_2017_GenSimFull+DigiFull_2017+RecoFull_2017+HARVESTFull_2017.log1330.0 step3 runTheMatrix-results/1330.0_ZMM_13+ZMM_13+DIGIUP15+RECOUP15+HARVESTUP15/step3_ZMM_13+ZMM_13+DIGIUP15+RECOUP15+HARVESTUP15.log136.731 step3 runTheMatrix-results/136.731_RunSinglePh2016B+RunSinglePh2016B+HLTDR2_2016+RECODR2_2016reHLT_HIPM+HARVESTDR2/step3_RunSinglePh2016B+RunSinglePh2016B+HLTDR2_2016+RECODR2_2016reHLT_HIPM+HARVESTDR2.log9.0 step3 runTheMatrix-results/9.0_Higgs200ChargedTaus+Higgs200ChargedTaus+DIGI+RECO+HARVEST/step3_Higgs200ChargedTaus+Higgs200ChargedTaus+DIGI+RECO+HARVEST.log10424.0 step3 runTheMatrix-results/10424.0_TTbar_13+TTbar_13TeV_TuneCUETP8M1_2023D1_GenSimFull+DigiFull_2023D1+RecoFullGlobal_2023D1+HARVESTFullGlobal_2023D1/step3_TTbar_13+TTbar_13TeV_TuneCUETP8M1_2023D1_GenSimFull+DigiFull_2023D1+RecoFullGlobal_2023D1+HARVESTFullGlobal_2023D1.log25.0 step3 runTheMatrix-results/25.0_TTbar+TTbar+DIGI+RECOAlCaCalo+HARVEST+ALCATT/step3_TTbar+TTbar+DIGI+RECOAlCaCalo+HARVEST+ALCATT.log10024.0 step3 runTheMatrix-results/10024.0_TTbar_13+TTbar_13TeV_TuneCUETP8M1_2017_GenSimFull+DigiFull_2017+RecoFull_2017+HARVESTFull_2017/step3_TTbar_13+TTbar_13TeV_TuneCUETP8M1_2017_GenSimFull+DigiFull_2017+RecoFull_2017+HARVESTFull_2017.log50202.0 step3 runTheMatrix-results/50202.0_TTbar_13+TTbar_13+DIGIUP15_PU50+RECOUP15_PU50+HARVESTUP15_PU50/step3_TTbar_13+TTbar_13+DIGIUP15_PU50+RECOUP15_PU50+HARVESTUP15_PU50.log25202.0 step3 runTheMatrix-results/25202.0_TTbar_13+TTbar_13+DIGIUP15_PU25+RECOUP15_PU25+HARVESTUP15_PU25/step3_TTbar_13+TTbar_13+DIGIUP15_PU25+RECOUP15_PU25+HARVESTUP15_PU25.log11224.0 step3 runTheMatrix-results/11224.0_TTbar_13+TTbar_13TeV_TuneCUETP8M1_2023D3_GenSimFull+DigiFull_2023D3+RecoFullGlobal_2023D3+HARVESTFullGlobal_2023D3/step3_TTbar_13+TTbar_13TeV_TuneCUETP8M1_2023D3_GenSimFull+DigiFull_2023D3+RecoFullGlobal_2023D3+HARVESTFullGlobal_2023D3.log |
OK... fun. that ran locally. |
Anyway, I'll come to it over the weekend, tell me what size impact estimates you want to see and in what samples you want to see them. |
On 9/2/16 2:28 PM, Lindsey Gray wrote:
GlobalError is used in alignment. I recall it's a memory-demanding workflow.
|
IB is broken, apparently. |
Are there any runTheMatrix WFs for production processing or can you toss me configs? |
The tests are being triggered in jenkins. |
Hi everyone, OK - looks like we're OK to go here with the new IB. Please resign! |
+1 |
Comparison is ready The workflows 140.53, 4.22 have different files in step1_dasquery.log than the ones found in the baseline. You may want to check and retrigger the tests if necessary. You can check it in the "files" directory in the results of the comparisons |
@davidlange6 Please merge this when able. |
FYI This was previously signed off by simulation as well. The last commit didn't touch simulation packages. |
@davidlange6 (for the morning) I was aiming for pre12 with this PR and it is able to go in (no conflicts or adverse effects...). Please include it in the release. Thanks! |
+1 |
@lgray - two things for a future PR - I echo @slava77 comments about dimension+1 becoming a constant instead of repeatedly appearing as dimension+1. Second, naively seems better to use floats instead of doubles in the data formats unless there is some reason to expect the need for the extra precision on the timing variables (or that some piece is already committed to using doubles...) |
Yep, agreed with Slava to put this in another PR. Along with remaining code -L (Sent from my Nexus 6) On Sep 21, 2016 3:30 AM, "David Lange" notifications@github.com wrote:
|
@davidlange6 Concerning time in |
More or less for consistency in precision... |
This is a forward port of:
It implements in reco::Vertex and the vertex finding/fitting machinery the ability to cluster in time in addition to space.
The track times are extracted from the matched sim-track of the reconstructed track and saved as ValueMaps.
In order to seemlessly switch between timing and no timing I have implemented the underlying GlobalError and Positions as four vectors instead of three vectors. Extending an interface to deal with the new dimension, and using the old interface for the original 3D algorithms.
The physics performance of the 3D algorithms (i.e. present LHC vertex reco) should be (and from local tests is) unaffected by this change. There may be minor performance drawbacks due to the way the backwards compatibility is kept. Alternative recommendations are welcome.
The timing is integrated directly into the phase 2 tracking reconstruction era. The overhead is fairly small.
@bendavid @kpedro88