cms-L1TK / cmssw

Fork of CMSSW where improvements to L1 tracking code are developed.
http://cms-sw.github.io/
Apache License 2.0
4 stars 5 forks source link

L1 tk dev 12 0 0 pre4 hph #94

Closed Jingyan95 closed 3 years ago

Jingyan95 commented 3 years ago

PR description:

This PR includes a helper function that can be used to decode hitpattern. The prediction done by this helper function is more accurate than the prediction done by TrackQuality code itself (which is less sophisticated). L1TK_HPH_TPR L1TK_HPH_FPR More details can be found at [1].

When switching to D76 geometry and CMSSW-12-0-0, the performance of this helper function is consistent with the results shown in [1]: L1TK_elec-pu0_TPR_layer L1TK_elec-pu0_FPR_layer

PR validation:

Code check/Format recommended by [2] have been done.

[1]https://indico.cern.ch/event/1041379/ [2]https://cms-sw.github.io/PRWorkflow.html

Jingyan95 commented 3 years ago

@Chriisbrown Can you help review the following two files? L1Trigger/TrackTrigger/src/TrackQuality.cc L1Trigger/TrackTrigger/interface/TrackQuality.h

@skinnari Can you help review files under L1Trigger/TrackFindingTracklet/ ?

@tomalin Can you help review files under L1Trigger/TrackTrigger/ ? (Other than TrackQuality)

tomalin commented 3 years ago

Can you clarify if this utility improves the performance of the TrackQuality? Or will the only user of it be the L1 trigger group?

Jingyan95 commented 3 years ago

Can you clarify if this utility improves the performance of the TrackQuality? Or will the only user of it be the L1 trigger group?

The bonus features derived from hitpattern don't seem to be helpful to the general classifier trained by track quality code. The improvement is very minor. It is more helpful when it comes to an electron-specific classifier with a low pt cut (5 GeV).

Jingyan95 commented 3 years ago

Additions to the track quality C++ all seem good. We will need to add the bonus features to the BDT training scripts here https://github.com/cms-L1TK/TrainTrackQuality, either through adding them in the track ntuples or having a python version of the hitpattern helper so we can train with the extra features too

OK, I think it would be easier to add them in the tuple maker. I will do it with the next commit.

tomalin commented 3 years ago

Additions to the track quality C++ all seem good. We will need to add the bonus features to the BDT training scripts here https://github.com/cms-L1TK/TrainTrackQuality, either through adding them in the track ntuples or having a python version of the hitpattern helper so we can train with the extra features too

OK, I think it would be easier to add them in the tuple maker. I will do it with the next commit.

Could you clarify if you will make this commit as part of this PR (so we should wait before merging it), or a future PR?

sarafiorendi commented 3 years ago

hi, while running the emulator after this PR was merged I get into this error [1]. I think this parameter here https://github.com/Jingyan95/cmssw/blob/1d9a492e7298928bb679bf2d63f32ff5f004420b/L1Trigger/TrackTrigger/python/ProducerHPH_cfi.py#L5 should be changed to be "hphDebug".

s.

[1] ----- Begin Fatal Exception 15-Oct-2021 23:28:30 CEST----------------------- An exception of category 'Configuration' occurred while [0] Processing Event run: 1 lumi: 59 event: 5806 stream: 0 [1] Running path 'TTTracksEmulationWithTruth' [2] Calling method for module L1FPGATrackProducer/'TTTracksFromTrackletEmulation' Exception Message: MissingParameter: Parameter 'hphDebug' not found. ----- End Fatal Exception -------------------------------------------------

tomalin commented 3 years ago

I unmerged this. We can remerge it once the crash report is addressed.

Jingyan95 commented 3 years ago

I unmerged this. We can remerge it once the crash report is addressed. sara is right, the naming is wrong: I changed the naming of the parameter but didn't commit it. This should be a simple fix.