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 clusterizer to handle negative charge #20555

Merged

Conversation

dkotlins
Copy link
Contributor

This is a one line code addition to the pixel clusterizer to take care of very low pixel charges.
It has to be accompanied by the lowering of all pixel clusterizer thresholds. Especially the pixel
threshold (called channelThreshold) has to be below 100 in order to recover low charge pixels.

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/PR-20555/760

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @dkotlins for master.

It involves the following packages:

RecoLocalTracker/SiPixelClusterizer

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

cms-bot commands are listed here

@boudoul
Copy link
Contributor

boudoul commented Sep 18, 2017

Dear @perrotta and @slava77 , please note that this fix is important to get towards the next re-reco of 2017 data
@venturia @veszpv FYI

#ifdef PIXELREGRESSION
int adcOld = calibrate(di->adc(),col,row);
//assert(adc==adcOld);
if (adc!=adcOld) std::cout << "VI " << eqD <<' '<< ic <<' '<< end-begin <<' '<< i <<' '<< di->adc() <<' ' << adc <<' '<< adcOld << std::endl; else ++eqD;
#endif

//if(adc<0) cout<<" negative amplitude "<<adc<<" "<<row<<" "<<col<<" "<<calibrate(di->adc(),col,row)<<" "<<detid_<<endl;
Copy link
Contributor

Choose a reason for hiding this comment

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

Please remove unneded commented out code

float DBpedestal = theSiPixelGainCalibrationService_->getPedestal(detid_, col, row) * DBgain;
float pedestal = theSiPixelGainCalibrationService_->getPedestal(detid_, col, row);
float DBpedestal = pedestal * DBgain;
//float DBpedestal = theSiPixelGainCalibrationService_->getPedestal(detid_, col, row) * DBgain;
Copy link
Contributor

Choose a reason for hiding this comment

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

Please remove unneded commented out code

@@ -351,6 +358,26 @@ int PixelThresholdClusterizer::calibrate(int adc, int col, int row)
} else {
electrons = int( vcal * theConversionFactor + theOffset);
}


// if(adc<0 || adc>255) cout<<" adc wrong range "<<adc<<endl;
Copy link
Contributor

Choose a reason for hiding this comment

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

Please remove unneded commented out code, or add a comment which explains why it is needed here

// }

if(electrons<0)
cout<<" layer "<<layer_<<" "<<adc<<" "<<DBgain<<" "<<pedestal<<" "<<DBpedestal<<" "<<vcal
Copy link
Contributor

Choose a reason for hiding this comment

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

cout is not thread safe
I suspect anyhow that also this line was originally supposed to get commented out

@dkotlins
Copy link
Contributor Author

dkotlins commented Sep 18, 2017 via email

@perrotta
Copy link
Contributor

perrotta commented Sep 18, 2017 via email

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/PR-20555/761

@cmsbuild
Copy link
Contributor

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

@perrotta
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 18, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/23032/console Started: 2017/09/18 12:55

@slava77
Copy link
Contributor

slava77 commented Sep 18, 2017

@dkotlins
please add some slides to the PR description which would describe the effect of this PR on physics outputs.
If this affects inputs for tracking in a significant way, some tracking validation plots would be nice as well.

@makortel @VinInn may be able to help with the tracking validation plots.

@dkotlins
Copy link
Contributor Author

dkotlins commented Sep 21, 2017 via email

@dkotlins
Copy link
Contributor Author

dkotlins commented Sep 21, 2017 via email

@dkotlins
Copy link
Contributor Author

dkotlins commented Sep 21, 2017 via email

@davidlange6
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 22, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/23157/console Started: 2017/09/22 09:28

@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-20555/23157/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 1035 differences found in the comparisons
  • DQMHistoTests: Total files compared: 26
  • DQMHistoTests: Total histograms compared: 2661038
  • DQMHistoTests: Total failures: 2267
  • DQMHistoTests: Total nulls: 2
  • DQMHistoTests: Total successes: 2658580
  • DQMHistoTests: Total skipped: 189
  • DQMHistoTests: Total Missing objects: 0
  • Checked 107 log files, 15 edm output root files, 26 DQM output files

@perrotta
Copy link
Contributor

perrotta commented Sep 25, 2017

@makortel @VinInn

This fix does affect reco Tracks and all higher level quantities.

There is the request to integrate it in 940pre2, and have therefore it tested with the needed related payloads (see also https://indico.cern.ch/event/666794/contributions/2729097/attachments/1528713/2391465/tanjaReco_22092017.pdf) .

Did you already manage to make your validation plots combining this PR with the new payloads, or do you plan to provide some? Could you please comment about the request of integrating this PR in 94X?

Thank you.

@makortel
Copy link
Contributor

@perrotta

Did you already manage to make your usual multiTrack validation plots combining this PR with the new payloads, or do you plan to provide some?

No (I don't think we've promised such, and anyway to my understanding the effect on MC should be minimal so MTV wouldn't tell much on the effect on data).

Could you please comment about the request of integrating this PR in 94X?

Please integrate.

@perrotta
Copy link
Contributor

perrotta commented Sep 25, 2017 via email

@perrotta
Copy link
Contributor

Here are a few validation plots and comparisons from the SinglePh2017B wf 136.788 run by jenkins, to be kept here as a possible low stat reference (only 100 events run by jenkins). The new payloads that must be associated with this PR were not included .

  • bTag CVS efficiency of the discriminator cut basically unaffected:
    image

  • Increased number of tracking seeds
    image
    image

  • More general tracks, with a lower number of hits per tracks:
    image

  • Electron gsf track, jets, MET, vertices, muons obviously affected:, but no evidence of altered shapes of the distributions
    image
    image
    image
    image
    image

  • More conversions:
    image

@perrotta
Copy link
Contributor

+1

@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 will now be reviewed by the release team before it's merged. @davidlange6, @slava77, @smuzaffar (and backports should be raised in the release meeting by the corresponding L2)

@davidlange6
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 239fbbd into cms-sw:master Sep 25, 2017
@makortel
Copy link
Contributor

@perrotta Here is some "post-merge validation" with 2000 events of JetHT run 302131. Full DQM GUI can be found from
http://127.0.0.1:8081/dqm/relval/start?runnr=302131;dataset=/JetHT/CMSSW_9_3_0_pre5_SiPixelGainCalibration_2017_v5_PR20555-v1_2/DQMIO;sampletype=offline_data;filter=all;referencepos=ratiooverlay;referenceshow=all;referencenorm=True;referenceobj1=other%3A%3A/JetHT/CMSSW_9_3_0_pre5_SiPixelGainCalibration_2017_v5-v1_1/DQMIO%3A;referenceobj2=other%3A%3A/JetHT/CMSSW_9_3_0_pre5-Out_of_the_box-v1/DQMIO%3A;referenceobj3=none;referenceobj4=none;search=;striptype=object;stripruns=;stripaxis=run;stripomit=none;workspace=Everything;size=M;root=Tracking/TrackParameters;focus=;zoom=no;
with ssh -L8081:mkdev.cern.ch:8081 lxplus.cern.ch tunnel. Legend

  • black: 9_3_0_pre5 + SiPixelGainCalibration_2017_v5 + this PR
  • blue: 9_3_0_pre5 + SiPixelGainCalibration_2017_v5
  • orange: 9_3_0_pre5

With this PR (wrt. gain v5) we get a tiny bit more quadruplets
image

Resolution improves tiny bit
image

BPix1 hit efficiency (from track hit pattern) improves tiny bit
image

In conclusion the changes look small but are in good direction (as expected). Note that to profit maximally (in resolution) we need also new templates and alignment.

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.

8 participants