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
Calo towers speed-up #2240
Calo towers speed-up #2240
Conversation
for the history please refer to 1885 and 1404 |
A new Pull Request was created by @ktf (Giulio Eulisse) for CMSSW_7_1_X. Calo towers speed-up It involves the following packages: DataFormats/CaloTowers @civanch, @Dr15Jones, @ianna, @mdhildreth, @cmsbuild, @anton-a, @thspeer, @slava77, @vadler, @Degano, @ktf, @nclopezo can you please review it and eventually sign? Thanks. |
+1 |
+1 |
sorry Slava, are you sure that the plot you refer to was run with my latest correction e76ebb0 ? about logic: I think you missed something not so big but relevant: new code tries to emulate this logic could you please run your DQM test again? |
@nclopezo can you check what is going on? Ciao, |
Hi, |
Hi Vincenzo I will let you know what I see in the validation with the latest IB shortly. From the code it seems to me that it is not implemented to give logically the same result, while it seems possible to do so without going back to the old implementation. (I'm ignoring long-distance relationship between frequencies of channels vs hits being bad). On your comment about the logic for the old
what I wrote is
so, only the cells which have constituent hits that are "not.bad and pass the threshold" are checked for the "hit or channel" (same as badHit +((not badHit) && channelBad)) severity. In your case, as I see it, you are also adding "channel" severity for hits that are bad (and which severity is not listed in the severities to exclude list) in the mt.numBad. This subset is probably empty, but it's still there in the code. |
hope that |
slava, I do not follow you |
Hi. The comparison results are ready here: |
Right, that's what I said in my summary. Constituents are counted here
In your proposal you also increment numBad in https://github.com/cms-sw/cmssw/pull/2240/files#diff-161bc85b60d87e850649585423571364R546 for hits that wouldn't make it to the constituents list |
I see only |
line 546 |
at line 547 are not constituents of the tower. these are hits in the current tower-object. I do not remember the hLT regression (also because I tested mainly on HLT) |
sorry slava, can you give me the html link |
Slava: two electrons back to back? |
Vincenzo
|
Not tell to me about the spagettis. As you can imagine I had to follow way many more leads to be able to fix performance and keep behavior the same!
different handling of recovered Xstals. In the old code they are not used and NOT counter bad. In my code they are counted bad (also because is difficult to do it differently). In future we may wish to use the recovered energy: after all if it is ok for PF and Ecal, why should be bad for CaloTower? |
From the point of view of rechit selection and calotower energy assignment the old/new code look consistent. There is indeed an omission in the counting of bad EE/EB cells in the old code due to not adding the "recovered" cells in the count of "bad" when the flag is set not to use them. This is literally a two-line fix. After implementing this fix and comparing the "fixed old code" to PR2240 the count of bad cells is identical as they both follow the proper and intended logic now. The test was done with wf16 - same as in Slava's example of the discrepancy. At the same time, the implementation of the bad channel counting in PR2240 still needs to be modified. The current counting logic cannot handle properly the case when recovered EE/EB channels are set to be used (they will be counted both as recovered and bad). I would also suggest that the logic behind the handling of the count of bad channels for the currently active configuration (not to use recovered channels) is made more transparent and robust. It works if channels marked as bad in the DB can only enter the rechit collection as recovered. While this is reasonable, it may not cover some future changes of DB content. Furthermore, the logic is not transparent in the code. In worst case, please make clear comments on the assumed relation between flags in DB and the rechit status word in the code for future reference. There are some other minor suggestions that can wait for future iterations. In summary, I think that we are very close to closing the discussion. Hope we can address the weird discrepancy in PFJets and the tau trigger stuff... |
On 27 Feb, 2014, at 4:19 AM, slava77 notifications@github.com wrote:
v. |
On 27 Feb, 2014, at 8:01 AM, anton-a notifications@github.com wrote:
I suggest to merge this PR now and do the other changes later on as it fully satifly the needs oc current HLT and Reco. v,
Il est bon de suivre sa pente, pourvu que ce soit en montant. |
Merging this - lets move further discussion of the details of CaloTowers to the reco meeting or other appropriate forum and meanwhile rely on the validation team to look in more detail in the context of pre4. |
On 2/27/14, 1:43 AM, Vincenzo Innocente wrote:
I haven't investigated this. The gun parameters are So, we shouldn't expect anything outside 2.5.
right.
back-to-back.
Vyacheslav (Slava) Krutelyov |
Advance data for L1Trigger/ L1TCalorimeter and L1TGlobal.
Forward port of #1885 which itself is a rebase of #1404.