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

Update Phase 1 pixel gains in digitizer/clusterizer #19181

Merged
merged 8 commits into from Jun 15, 2017

Conversation

jkarancs
Copy link
Contributor

@jkarancs jkarancs commented Jun 9, 2017

Contents of this PR:

  • Update VCal to electron unit for the phase 1 detector using eras (gains and offsets)
  • Allow separate values for layer 1
  • Lower the cluster threshold for Layer 1

This PR will not affect Phase 0 Data/MC. There are minor changes for simulation, because the values were updated both in the digitizer and the clusterizer (to remain consistent). Data on the other hand will have better agreement to MC now.

clucharge_vcalcalib_lay1
clucharge_vcalcalib_lay2
clucharge_vcalcalib_lay3
clucharge_vcalcalib_lay4
clucharge_vcalcalib_diskp1
clucharge_vcalcalib_diskp2
clucharge_vcalcalib_diskp3

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 9, 2017

A new Pull Request was created by @jkarancs (János Karancsi) for master.

It involves the following packages:

RecoLocalTracker/SiPixelClusterizer
SimGeneral/MixingModule
SimTracker/SiPixelDigitizer

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

cms-bot commands are listed here

@jkarancs
Copy link
Contributor Author

jkarancs commented Jun 9, 2017

@veszpv @boudoul @tsusa @dkotlins may be also interested about this pr.

@slava77
Copy link
Contributor

slava77 commented Jun 9, 2017

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 9, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/20478/console Started: 2017/06/09 21:37

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 9, 2017

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 9, 2017

Comparison job queued.

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 9, 2017

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

Comparison Summary:

  • You potentially added 5 lines to the logs
  • Reco comparison results: 1359 differences found in the comparisons
  • DQMHistoTests: Total files compared: 23
  • DQMHistoTests: Total histograms compared: 1872323
  • DQMHistoTests: Total failures: 21878
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 1850272
  • DQMHistoTests: Total skipped: 173
  • DQMHistoTests: Total Missing objects: 0
  • Checked 94 log files, 14 edm output root files, 23 DQM output files

@@ -427,6 +443,11 @@ PixelThresholdClusterizer::make_cluster( const SiPixelCluster::PixelPos& pix,

if (dead_flag && doSplitClusters)
{
// Set separate cluster threshold for L1 (needed for phase1)
double clusterThreshold = theClusterThreshold;
Copy link
Contributor

Choose a reason for hiding this comment

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

not double, use auto

@@ -324,6 +324,8 @@ class SiPixelDigitizerAlgorithm {

const double electronsPerVCAL; // for electrons - VCAL conversion
const double electronsPerVCAL_Offset; // in misscalibrate()
const double electronsPerVCAL_L1; // same for Layer 1
Copy link
Contributor

Choose a reason for hiding this comment

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

if float are used in the algo, please use float here as well (conversion IS expensive)

@@ -138,7 +146,7 @@ void PixelThresholdClusterizer::clusterizeDetUnitT( const T & input,

// Check if the cluster is above threshold
// (TO DO: one is signed, other unsigned, gcc warns...)
if ( cluster.charge() >= theClusterThreshold)
if ( cluster.charge() >= clusterThreshold)
Copy link
Contributor

Choose a reason for hiding this comment

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

actually given that cluster.charge() is a int please use a int for clusterThreshold!
moving to int the computation of cluster.charge() was a major speed-up improvement

@@ -119,6 +122,11 @@ void PixelThresholdClusterizer::clusterizeDetUnitT( const T & input,

detid_ = input.detId();

// Set separate cluster threshold for L1 (needed for phase1)
double clusterThreshold = theClusterThreshold;
Copy link
Contributor

Choose a reason for hiding this comment

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

auto

const float theClusterThreshold; // Cluster threshold in electrons
const int theConversionFactor; // adc to electron conversion factor
const int theOffset; // adc to electron conversion offset
const float theClusterThreshold; // Cluster threshold in electrons
Copy link
Contributor

Choose a reason for hiding this comment

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

let's move to int

VCaltoElectronGain = cms.int32(47), # L2-4: 47 +- 4.7
VCaltoElectronGain_L1 = cms.untracked.int32(50), # L1: 49.6 +- 2.6
VCaltoElectronOffset = cms.int32(-60), # L2-4: -60 +- 130
VCaltoElectronOffset_L1 = cms.untracked.int32(-670), # L1: -670 +- 220
Copy link
Contributor

Choose a reason for hiding this comment

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

this is not allowed to be untracked as it modify physics objects
btw I suggest to move to fillDescriptions

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 15, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/20581/console Started: 2017/06/15 03:06
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/20582/console Started: 2017/06/15 07:47

desc.add<int>("ClusterThreshold", 4000);
desc.add<int>("maxNumberOfClusters", -1);
descriptions.add("siPixelClusters", desc);
}
Copy link
Contributor

Choose a reason for hiding this comment

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

If I'm not mistaken, currently this method is a dead code.
Perhaps in the future refactoring this can become useful.

@slava77
Copy link
Contributor

slava77 commented Jun 15, 2017

+1

for #19181 973ad66

  • changes are in line with the description and the follow up review and discussion.
  • jenkins tests pass and comparisons with baseline show differences only in phase-1 tracking workflows (2017 and 2018)
  • local tests show expected behavior (notes below)

In 923patch1:

ttbar PU35 wf 10224
there is a small increase in measured charge in dEdX units
all_sign927vsorig_ttbar13tevpu2017wf10224p0c_minrecodedxdataedmvaluemap_dedxpixelharmonic2__reco_obj_values__dedx 30
just a small increase here

Compare to data
where the peak moves back up to 3 as it is in MC
all_sign927vsorig_jetht296174c_minrecodedxdataedmvaluemap_dedxpixelharmonic2__reco_obj_values__dedx 30

On individual layers:
BPIX1
MC ~unchanged
wf10224_bpix1_charge_ontrack

data
wfjetht296174_bpix1_charge_ontrack
This is roughly in line with the plots in the PR description

Higher level tracking quantities have little effect from this change
wf10224_glbeff_hp
wfjetht296174_glbeff_hp
It seems like there is an epsilon improvement in BPIX1 eff, but that's a small effect.

@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-19181/20582/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 1370 differences found in the comparisons
  • DQMHistoTests: Total files compared: 22
  • DQMHistoTests: Total histograms compared: 1817590
  • DQMHistoTests: Total failures: 36225
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 1781199
  • DQMHistoTests: Total skipped: 166
  • DQMHistoTests: Total Missing objects: 0
  • Checked 90 log files, 14 edm output root files, 22 DQM output files

@slava77
Copy link
Contributor

slava77 commented Jun 15, 2017

@Martin-Grunewald @silviodonato @fwyzard
this PR needs an HLT signature.
Please check and suggest changes or sign.
Thank you.

@Martin-Grunewald
Copy link
Contributor

yes, our tests are running....

@Martin-Grunewald
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 requires discussion in the ORP meeting before it's merged. @davidlange6, @smuzaffar

@davidlange6
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 3e65ff2 into cms-sw:master Jun 15, 2017
@davidlange6
Copy link
Contributor

from the ops meeting Friday we understand that this PR needs conditions adjustments. We'll add it to 930pre1 but not yet 92x

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