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

Fix roc width in badComponents method #19881

Merged
merged 3 commits into from Jul 29, 2017
Merged

Fix roc width in badComponents method #19881

merged 3 commits into from Jul 29, 2017

Conversation

VinInn
Copy link
Contributor

@VinInn VinInn commented Jul 24, 2017

and activate again its use in vetoing missing inner/outer...
should be visible in scatter plot of missing inner for recent data

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @VinInn (Vincenzo Innocente) for master.

It involves the following packages:

RecoTracker/MeasurementDet
RecoTracker/TrackProducer

@perrotta, @cmsbuild, @slava77, @davidlange6 can you please review it and eventually sign? Thanks.
@ghellwig, @makortel, @felicepantaleo, @GiacomoSguazzoni, @rovere, @VinInn, @mschrode, @gpetruc, @ebrondol, @dgulhan this is something you requested to watch as well.
@davidlange6 you are the release manager for this.

cms-bot commands are listed here

@VinInn
Copy link
Contributor Author

VinInn commented Jul 24, 2017

@cmsbuild , please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 24, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/21710/console Started: 2017/07/24 17:20

@VinInn
Copy link
Contributor Author

VinInn commented Jul 24, 2017

it can be considered a bug-fix

@VinInn VinInn changed the title Fix roc width in badComponents methods Fix roc width in badComponents method Jul 24, 2017
@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-19881/21710/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 745 differences found in the comparisons
  • DQMHistoTests: Total files compared: 23
  • DQMHistoTests: Total histograms compared: 2355459
  • DQMHistoTests: Total failures: 30493
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2324800
  • DQMHistoTests: Total skipped: 166
  • DQMHistoTests: Total Missing objects: 0
  • Checked 93 log files, 14 edm output root files, 23 DQM output files

if(measDet.isActive()){
MeasurementDetWithData const & measDet = measTk->idToDet(id);
if(measDet.isActive() && !measDet.hasBadComponents(detWithState.front().second)){
// if(measDet.isActive()){
Copy link
Contributor

Choose a reason for hiding this comment

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

is this commented out code needed?
Please remove or add comments inline in the code why the commented out block is relevant

from the context, it looks like the idea is to allow to flip one way or the other. shouldn't there be a config flag to handle this rather than a hardcoded choice?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

it was already there (the opposite)
I just moved the comments from one line to the other...

not obvious, no reason to be configurable at run time.
In my opinion it was removed because of the bug (a factor 400 in the area covered by the Roc) that was giving too many false positive.
If (mini-aod) users wants count inactive as missing they can just ignore MissingInner all-together...

@cmsbuild
Copy link
Contributor

Pull request #19881 was updated. @perrotta, @cmsbuild, @slava77, @davidlange6 can you please check and sign again.

@VinInn
Copy link
Contributor Author

VinInn commented Jul 27, 2017

@cmsbuild, please test

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-19881/21800/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 745 differences found in the comparisons
  • DQMHistoTests: Total files compared: 23
  • DQMHistoTests: Total histograms compared: 2379966
  • DQMHistoTests: Total failures: 30911
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2348889
  • DQMHistoTests: Total skipped: 166
  • DQMHistoTests: Total Missing objects: 0
  • Checked 93 log files, 14 edm output root files, 23 DQM output files

@slava77
Copy link
Contributor

slava77 commented Jul 27, 2017 via email

@VinInn
Copy link
Contributor Author

VinInn commented Jul 27, 2017

what comes out of TkPixelMeasurementDet::measurements is irrelevant for BPIX1 as the track (out-in by definition) will stop anyhow and invalid-hits at the extremes of trajectories are evicted asap.
it affects loopers: let's ignore them for the time being....

the plots comes out of AOD (so HitPattern) for BPIX1
it is just the ratio of validHit over validHit+missingInner (the same as infamous plot in DQM vs PU)
in code
valid = pattern.getTrackerLayerCase(0,1,1)=0
missingInner=pattern.getTrackerLayerCase(1,1,1)=0
lost= pattern.getTrackerLayerCase(0,1,1)=1 (never happen for BPIX1)

so it is secondHitPattern-related

@VinInn
Copy link
Contributor Author

VinInn commented Jul 27, 2017

a breakdown between full inactive dets and the badComponents (bad ROCs)
would be nice to know.

this would be a long development and most probably irrelevant to physics (a ROC is big enough w/r/t tracking precision to produce a visible sharp hole)

@VinInn
Copy link
Contributor Author

VinInn commented Jul 27, 2017

in any case the info about "BAD ROC" at runtime (event by event) will be soon improved.
@veszpv may provide details as he is working on this.

@slava77
Copy link
Contributor

slava77 commented Jul 27, 2017 via email

//if(measDet->isActive() && !measDet->hasBadComponents(detWithState.front().second)){
if(measDet.isActive()){
MeasurementDetWithData const & measDet = measTk->idToDet(id);
if(measDet.isActive() && !measDet.hasBadComponents(detWithState.front().second)){
InvalidTrackingRecHit tmpHit(*detWithState.front().first, outIn ? TrackingRecHit::missing_outer : TrackingRecHit::missing_inner);
track.appendHitPattern(tmpHit, *ttopo);
//cout << "WARNING: this hit is marked as lost because the detector was marked as active" << endl;
Copy link
Contributor

Choose a reason for hiding this comment

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

from the discussion so far, it seems to me that we may benefit from having inactive hits added at least to the missing_inner pixel dets.
this way a relevant choice can be made downstream in AOD or miniAOD.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

sorry NO, this is the opposite of the logic used so far: inactive hits shall NOT be counted as missing. This is a corner stone of current classification.

Copy link
Contributor

Choose a reason for hiding this comment

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

it's a matter of HitPattern interface: the missingInner counts can stay to return what the intended design is;
I'm asking to add the hits for inactive so that they can be checked with relevant accessors.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ciao @slava77 I'm not sure I understand your statement. As @VinInn already said, an inactive hit should not be mixed with a missing hit, since they convey a completely different meaning and, I bet, many IDs/analyses will be fooled if we change this.

@VinInn
Copy link
Contributor Author

VinInn commented Jul 27, 2017

If I read the code right, all of the continuously bad parts of the
detector are coming through badComponents.
via SiPixelQualityFromDbRcd

this is my understanding as well. As said this is going to change soon.

@slava77
Copy link
Contributor

slava77 commented Jul 27, 2017 via email

@VinInn
Copy link
Contributor Author

VinInn commented Jul 27, 2017

Pixel bad componenents were never really filled consistently ( @veszpv to comment )
Actually in some cases the whole module was declared inactive: so in reality it was the opposite:
an active part of a module was considered inactive (and therefore not inefficient) and not counted in missing-inner...

This is going to change: inactive rocs will be now marked consistently and we need to avoid to consider them active and therefore assign an inefficiency to them.

@slava77
Copy link
Contributor

slava77 commented Jul 27, 2017 via email

@VinInn
Copy link
Contributor Author

VinInn commented Jul 27, 2017 via email

@VinInn
Copy link
Contributor Author

VinInn commented Jul 27, 2017 via email

@slava77
Copy link
Contributor

slava77 commented Jul 27, 2017 via email

@VinInn
Copy link
Contributor Author

VinInn commented Jul 27, 2017 via email

@slava77
Copy link
Contributor

slava77 commented Jul 27, 2017 via email

@slava77
Copy link
Contributor

slava77 commented Jul 27, 2017

+1

for #19881 7688dc9

  • bugfix to badComponents detection for TkPixelMeasurementDet; enable use of badComponents in selection of inactive areas used for definition of the second(ary) hit patterns for missing inner/outer hits. Prepared in connection with inactive ROC marking developments in the DPG. plots are provided in the thread body in support of the change.
  • jenkins tests pass and comparisons with baseline show differences in expected areas:
    • very small changes in the reconstructed tracks and parameters coming through TkPixelMeasurementDet::measurements
    • decrease in missing hit counts most visible in areas or in iterations around the bad components
  • local tests with 2017 data and MC confirm expected behavior on higher stats
    • o(0.01%) changes in reconstructed tracks (generalTracks etc)
    • somewhat more significant changes in the count of missing hits e.g in wf 10224:

wf10224_dettriplethp_missinginnerl

#19940 is created to possibly add ability to count inactive layers as well.

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @smuzaffar

@davidlange6
Copy link
Contributor

merge

@cmsbuild cmsbuild merged commit 0f88f98 into cms-sw:master Jul 29, 2017
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

5 participants