Skip to content
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
3e8abb6
Update Muon DataFormat
Jan 12, 2024
f3e3f50
Add Data and test script
Jan 15, 2024
0206a76
Adding new files from Michalis'
Jan 17, 2024
ea1326d
Remove Node.h
Jan 17, 2024
7493ec3
Reorganize the header files under plugins
Jan 18, 2024
1f7e438
Apply Code format
Jan 18, 2024
dc0155a
Code Check and Format
Jan 18, 2024
58c245f
Add python files
Jan 22, 2024
bf83f22
Update gmt_cfi file
Jan 22, 2024
5ec3103
Send TrackerMuon Quality score and isosum
Jan 27, 2024
241acd6
Fix bug of the qual score
Jan 28, 2024
573207d
Header Error fix and code formatting
Jan 30, 2024
f7439f9
Fix displaced KMTF bug
Feb 7, 2024
82f67b3
Update DataFormats/L1TMuonPhase2/interface/KMTFTrack.h
zhenbinwu Feb 13, 2024
7fe2ffc
Update DataFormats/L1TMuonPhase2/interface/KMTFTrack.h
zhenbinwu Feb 13, 2024
b475f99
Update L1Trigger/Phase2L1GMT/interface/KMTF.h
zhenbinwu Feb 13, 2024
10349c7
Update L1Trigger/Phase2L1GMT/interface/KMTFCore.h
zhenbinwu Feb 13, 2024
12e5241
Update L1Trigger/Phase2L1GMT/interface/KMTFLUTs.h
zhenbinwu Feb 13, 2024
119ce3f
Update L1Trigger/Phase2L1GMT/interface/TPS.h
zhenbinwu Feb 13, 2024
2fa967b
Merge branch 'phase2-l1t-integration-14_0_0_pre3' into GMT_24ESR
zhenbinwu Feb 14, 2024
7d503af
Fix comments on DataFormat
Feb 15, 2024
5eb9eb9
Work on the comments
Feb 19, 2024
e4e7c7c
Move default desctuctor to header files
Feb 20, 2024
53573e8
Abstract the prapagation in TPSAlgo
Feb 21, 2024
6e070b7
Update for CMSSW_14
Feb 23, 2024
c732b32
Removed ParameterSet reference
omiguelc Feb 14, 2024
6362b80
Fix issue from cherry-pick
Feb 27, 2024
1af8d8a
Merged phase2-l1t-integration-14_0_0_pre3 from repository cms-l1t-off…
Feb 28, 2024
a865542
Add Phase-2 OMTF and EMTF to GMT SA
Mar 1, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 23 additions & 20 deletions DataFormats/L1TMuonPhase2/interface/Constants.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ namespace Phase2L1GMT {
const int BITSD0 = 12;

//Muon ROI
const int BITSSTUBCOORD = 8;
const int BITSSTUBCOORD = 10;
const int BITSSTUBETA = 8;
const int BITSSTUBID = 9;
const int BITSSTUBID = 12;
const int BITSSTUBPHIQUALITY = 4;
const int BITSSTUBETAQUALITY = 4;
const int BITSSTUBTIME = 8;
Expand All @@ -45,8 +45,8 @@ namespace Phase2L1GMT {
const int BITSSIGMAETA = 4;
const int BITSSIGMACOORD = 4;
const int BITSPROPCOORD = 9;
const int BITSPROPSIGMACOORD_A = 5;
const int BITSPROPSIGMACOORD_B = 5;
const int BITSPROPSIGMACOORD_A = 6;
const int BITSPROPSIGMACOORD_B = 6;
const int BITSPROPSIGMAETA_A = 5;
const int BITSPROPSIGMAETA_B = 5;

Expand All @@ -62,8 +62,9 @@ namespace Phase2L1GMT {
const int BITSGTETA = 14;
const int BITSGTZ0 = 10;
const int BITSGTD0 = 10;
const int BITSGTQUAL = 8;
const int BITSGTISO = 4;
const int BITSGTQUAL = 6;

Choose a reason for hiding this comment

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

Seeing that you reduced the bits for the interface even further, can we assume that the quality bitwidth has been fixed with this now? If I can recall internally your quality was 9 bits but wrapped into 8 on the interface, hence we saw mismatches when comparing the CMSSW hardware accurate emulator with the custom emulator from the menu team. Did you now split the old 9 bit quality into a quality score and quality flags field?

Copy link
Author

Choose a reason for hiding this comment

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

The tkMuon quality used to store the matching quality + pt penalty, which used more than 8 bits. Instead of storing the matching quality, we have moved to store the tkmuon quality bits with various quality cuts . These qualities are open for suggestions. We will hear feedback from menu team to further fine tune them. Moving to quality bits, we reduced the bit width from 8 to 6, which I think should be sufficient. Quality score is quality bits | (charge << 6). This is already done in here. For backward capabilities, I still keep the charge and quality().

Since we will send isolation sum instead of isolation bit, I increased the isolation bit width from 4 to 6, with the LSB of 0.25GeV. The changes only for quality + isolation, so that the rest of the interface don't need changes. But I will update the interface doc.

Copy link
Author

Choose a reason for hiding this comment

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

Updated overleaf

Choose a reason for hiding this comment

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

image
I think there might be an oversight shouldn't it now rather be:

0 q
6-1 Q
12-7 Isolation
16-13 \beta

Copy link
Author

Choose a reason for hiding this comment

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

Sorry, my oversight. Thanks for pointing it out. Updated.

const int BITSGTQUALSC = 7;
const int BITSGTISO = 6;
const int BITSGTBETA = 4;

// Bitwidth for Tau->3mu object
Expand Down Expand Up @@ -91,22 +92,24 @@ namespace Phase2L1GMT {
const float LSBpt = 0.03125;
const float LSBphi = 2. * M_PI / pow(2, BITSPHI);
const float LSBeta = 2. * M_PI / pow(2, BITSETA);
const float LSBGTz0 = 0.05; // 0.5mm, in sync with GTT and Correlator
const float LSBGTd0 = 0.03; // from GT interface doc
const float LSBSAz0 = 1.6; // 0.05 * 32 cm, with range +- 25.6
const float LSBSAd0 = 3.84; // 0.03 * 128 cm, with range +- 245.76
const float LSBGTiso = 0.25; // 0.25GeV, LSBphi * 8
const float LSBGTz0 = 0.05; // 0.5mm, in sync with GTT and Correlator
const float LSBGTd0 = 0.03; // from GT interface doc
const float LSBSAz0 = 1.6; // 0.05 * 32 cm, with range +- 25.6
const float LSBSAd0 = 3.84; // 0.03 * 128 cm, with range +- 245.76

typedef ap_uint<64> wordtype;
typedef ap_uint<1> valid_gt_t; //valid
typedef ap_uint<1> q_gt_t; //charge
typedef ap_uint<BITSGTPT> pt_gt_t; //pt of tracker muon
typedef ap_int<BITSGTPHI> phi_gt_t; //phi of tracker muon
typedef ap_int<BITSGTETA> eta_gt_t; //eta of tracker muon
typedef ap_int<BITSGTZ0> z0_gt_t; //z0 of tracker muon
typedef ap_int<BITSGTD0> d0_gt_t; //d0 of tracker muon
typedef ap_uint<BITSGTISO> iso_gt_t; //isolation of tracker muon
typedef ap_uint<BITSGTBETA> beta_gt_t; //beta of tracker muon
typedef ap_uint<BITSGTQUAL> qual_gt_t; //quality of tracker muon
typedef ap_uint<1> valid_gt_t; //valid
typedef ap_uint<1> q_gt_t; //charge
typedef ap_uint<BITSGTPT> pt_gt_t; //pt of tracker muon
typedef ap_int<BITSGTPHI> phi_gt_t; //phi of tracker muon
typedef ap_int<BITSGTETA> eta_gt_t; //eta of tracker muon
typedef ap_int<BITSGTZ0> z0_gt_t; //z0 of tracker muon
typedef ap_int<BITSGTD0> d0_gt_t; //d0 of tracker muon
typedef ap_uint<BITSGTISO> iso_gt_t; //isolation of tracker muon
typedef ap_uint<BITSGTBETA> beta_gt_t; //beta of tracker muon
typedef ap_uint<BITSGTQUAL> qual_gt_t; //quality of tracker muon
typedef ap_int<BITSGTQUALSC> qualsc_gt_t; //quality score of tracker muon (qual/q)

//Standalone muon datatype
typedef ap_uint<1> valid_sa_t; //valid
Expand Down
Loading