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
Update Phase 1 pixel gains in digitizer/clusterizer #19181
Conversation
…), lower L1 cluster threshold
A new Pull Request was created by @jkarancs (János Karancsi) for master. It involves the following packages: RecoLocalTracker/SiPixelClusterizer @perrotta, @civanch, @mdhildreth, @cmsbuild, @slava77, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
@cmsbuild please test |
The tests are being triggered in jenkins. |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
@@ -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; |
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.
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 |
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.
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) |
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.
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; |
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.
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 |
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.
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 |
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 is not allowed to be untracked as it modify physics objects
btw I suggest to move to fillDescriptions
The tests are being triggered in jenkins. |
desc.add<int>("ClusterThreshold", 4000); | ||
desc.add<int>("maxNumberOfClusters", -1); | ||
descriptions.add("siPixelClusters", desc); | ||
} |
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.
If I'm not mistaken, currently this method is a dead code.
Perhaps in the future refactoring this can become useful.
Comparison job queued. |
Comparison is ready Comparison Summary:
|
@Martin-Grunewald @silviodonato @fwyzard |
yes, our tests are running.... |
+1 |
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 |
+1 |
from the ops meeting Friday we understand that this PR needs conditions adjustments. We'll add it to 930pre1 but not yet 92x |
Update Vcal Calibration (backport of PR #19181 in 92X)
Contents of this PR:
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.