L1T Offline Development Planning Page

This page is the main page for recording latest plans and instructions for issues related to the L1T offline software development, emulators, unpackers/packers, and data/configuration objects. If you are interested in running the code, please see SWGuideL1TStage2Instructions.

We hold a 2016 Emulator developers meeting on Fridays at 11:00 FNAL / 17:00 CERN.

For rapid development and integration outside of the official CMSSW release cycle, we have our own git organization.

See SWGuideL1TYellow for the latest demonstration code.

See SWGuideL1TOverview for a (under development) guide to the offline trigger software being written for 2015 and beyond.

See SWGuideL1TValidationSamples for a list of samples used to compare between the official emulator and other frameworks.

Development Integration

Currently, the development is done with CMSSW_8_0_2. Code is integrated via Pull Requests to branch l1t-integration-CMSSW_8_0_2. Various stages of the integration are tagged.

Status of Integration

Since l1t-tsg-v4, equvalent to 1t-integration-v13.1 currently integrated developments are listed in the table below. Effects of the tags is tracked by emulating L1T on 500 events of TTbar MC sample and re-emulated L1T with 1000 events of Run2015D /MuonEG/ data. Comparison web pages are provided, containing information (list, plots) in case the tag introduced changes to either one of the following

  • L1T emulation on MC from GEN-SIM (500 events) /store/relval/CMSSW_7_6_0_pre7/RelValTTbar_13/GEN-SIM/76X_mcRun2_asymptotic_v9_realBS-v1/
  • L1T re-emulation on data from RAW (1000 events)
  • L1T algo accpet counts on re-emulated data with menu L1Menu_Collisions2015_25nsStage1_v7 (1000 events)

Description Tag
Rebase to CMSSW_13_1_0_pre2 l1t-integration-v147-CMSSW_13_1_0_pre2

Description Tag
Rebase to CMSSW_13_0_0_pre4 l1t-integration-v142-CMSSW_13_0_0_pre4
Fix expected version number of uGT with muon shower support (backport of 40822) l1t-integration-v143
Update HMT shower thresholds for HMT emulation in CSC (backport of 40829) l1t-integration-v144
Remove hackConditions from calo only re-emulation config (PR1068) l1t-integration-v145
uGT fix for muon showers full emulation and for HMT mismatches in the DQM workflow (PR1072, backport of 40773) l1t-integration-v146
Use named constants for uG(M)T firmware versions etc. (PR1073, backport of 40841) l1t-integration-v147

Description Tag
Rebase to CMSSW_13_0_0_pre2 l1t-integration-v141-CMSSW_13_0_0_pre2
Fix of the L1uGTTreeProducer to handle exceptions in case of a missing collection (PR1065, backport of 40597) l1t-integration-v142

Description Tag
Rebase to CMSSW_12_6_0_pre1 l1t-integration-v135-CMSSW_12_6_0_pre1
Fix trigger matching issues in L1Trigger DQMOffline ( PR1051) l1t-integration-v136
Matching firmware implementation (eta L1boosted jets) ( PR1053) l1t-integration-v137
Modify RPC and GEM unpacker blocks in EMTF unpacker to match the new Run 3 format ( PR1054) l1t-integration-v138
Add caloParams_2022_v0_5 + corresponding HI config ( PR1056; wrong EG params, fixed in v141) l1t-integration-v139
OS requirement for Triple Muon seeds in the uGT emulator ( PR1058) l1t-integration-v140
Add caloParams_2022_v0_6 ( PR1059) l1t-integration-v141

Description Tag
Rebase to CMSSW_12_4_0 l1t-integration-v129.0-CMSSW_12_4_0
Add caloParamsHI_2022_v0 2 for heavy ion studies ( PR1032) l1t-integration-v130
Add to customise settings and fix typo ( PR1033) l1t-integration-v131.0
Add v0_3 with updated EG ( PR1034) l1t-integration-v132.0
Add caloParams_2022_v0_4 to update JEC, fix to LUT conversion ( PR1041) l1t-integration-v133.0
Set LLP bits in HB only, not HE ( PR1040) l1t-integration-v134
Add new caloParamsHI_2022_v0_4_1 with updated centrality values ( PR1050) l1t-integration-v135

Description Tag
Rebase to CMSSW_12_3_0_pre6 l1t-integration-v121.0-CMSSW_12_3_0_pre6
Fix on HCAL TP saturation algorithm (backport from master) ( PR997) l1t-integration-v122.0
HCAL: fixing fine grain bits to be set based on unpacked TDC (backport from master) ( PR1001) l1t-integration-v123.0
HCAL finegrain bit fix to account for TDC packing, and SOI alignment (backport from master) ( PR1008) l1t-integration-v124.0
Update CLCT thresholds for hadronic showers in CSC (backport from master) ( PR1009) l1t-integration-v125.0
Corrected the input collections to the TFs for Run 3 MC re-emulation ( PR1012) l1t-integration-v126.0
Fix on HCAL TP saturation algorithm to synchronize s/w TP algorithm with f/w (backport from master) ( PR1013) l1t-integration-v127.0
Add calo params 2022 v0 2 ( PR1024) l1t-integration-v128.0
Apply ECAL ZS to caloParams_2022_v0_2, add to customiseSettings ( PR1025) l1t-integration-v129.0

Description Tag
Rebase to 12_3_0_pre1 l1t-integration-v114.0-CMSSW_12_3_0
Fixes in the RPC clusterization in the L1Trigger /L1TMuonOverlapPhase1 (backport from master) ( PR975) l1t-integration-v115.0
DoubleTauOvRm and DoubleJetOvRm added to the CorrWithOverlapRemoval class (backport from master) ( PR977) l1t-integration-v116.0
Update of some L1T producers for L1TNtuples (legacy modules), of the L1TExtCondProducer, and of the L1MenuViewer (backport from master) ( PR978) l1t-integration-v117.0
Fix of a check on the geometry in the RPCConeBuilder (backport from master) ( PR979) l1t-integration-v117.1
Fix of the L1CaloTowerTreeProducer and L1uGTTreeProducer to avoid an exception MustUseESGetToken (backport from master) ( PR980) l1t-integration-v117.2
Fix for l1Event in the L1EventTreeProducer (backport from master) ( PR981) l1t-integration-v117.3
Set receiveMuShower=true for uGT (backport from master) ( PR984) l1t-integration-v118
Removal of hardcoded testing L1T tag and move it to GT (backport from master) ( PR985) l1t-integration-v119.0
Update to L1 prescale code following move to fractional prescales (backport from master) ( PR990) l1t-integration-v120.0
Add calo params_2022_v0_1 ( PR994) l1t-integration-v121.0

Comparison Tag (layer1 OFF) Description Tag (layer1 ON) Comparison
  v13.1 l1t-tsg-v4    
  v14.0 Cond formats and bug fixes for layer1 v14.0-layer1  
  v14.1 Add customisation for running bitwise Layer1 in parallel NA  
  v14.2 Layer2 packer: bugfixe for EGs and Sums. uGt stable params bugfix for bits >=192 NA  
15.0 vs 14.0 v15.0 Layer1 updates from hw/emulation comparisons and bxvector speedup v15.0-layer1  
16.0 vs 15.0 v16.0 uGMT fixes NA  
17.0 vs 16.0 v17.0 uGT fix crash due to missing vector instantiation in L1TGlobal NA  
18.0 vs 17.0, 18.0 vs 15.0 v18.0 Additional fixes for auto bx range in muon, but turn off for now until better understood NA  
19.0 vs. 18.0 v19.0 Layer2 MET emulator fixed bug eta range. COMMENT: Unexpected hardening of ETM with higher rates. v19.0-layer1  
  v19.1 New compare2 test functionality and automated creation of comparisson webpage NA  
19.2 vs. 19.0 v19.2 uGT emulator: new extern. conditions triggers Stage2 producer (a) for MC (b) for Legacy data. (a) included in emulation sequence NA  
  v19.3 L1TNtuples: Add uGT decisions to L1Ntuple NA  
  v19.4 Bug fix in rates macro affecting Sums NA  
20.0 vs. 19.0 v20.0 Layer1 emulator updates/fixes from fat event testing. v20.0-layer1 20.0 vs. 19.0
21.0 vs. 20.0 v21.0 Layer2 update: JEC, jet seed threshold and HT jet threshold for use with Layer1 corrections NA  
22.0 vs. 21.0 v22.0 Layer2: Emulator fixes:(a) MET ieta bug fix, cleanup,(b) caloEta and mpEta conversion functions to deal w/ ieta=29 (c) ieta range fixes for jets and sums. Private custom with unpckd MPs for hardw/emul comparision. NA  
23.0 vs. 22.0 v23.0 Layer1: temporary update to calo calibrations for last 8 tower of HBHE. (PR 219) NA  
24.0 vs. 23.0 v24.0 BMTF unpacker update NA  
24.1 vs. 24.0 v24.1 BMTF emulator: ranking as in hardware, 1.quality 2.pt. NA  
24.2 vs. 24.1 v24.2 uGMT AutoBxRange is turend ON (i.e. bx=0 from Bmtf). L1TNtuple: Add branch for TF muons. NA  
25.0 vs. 24.2 v25.0 Layer2 emulator MET/MHT resolution fix (bit shift on floating point sums). NA  
  v.26.0 Re-emulation from RAW config: switch to using unpacked CSC TPs in EMTF and OMTF NA  
26.1 vs. 25.0 v26.1 L1REPACK config upadte: simEmtf and simOmtf with unpackedCsctf, plus missing simOmtf with unpackedDttf NA  
27.0 vs. 26.1 v27.0 Layer2 emulator MET/MHT fix of bug introduced in v25.0 (PR 237) NA  
28.0 vs. 27.0 v28.0 Layer2 emulation EG with Isolation and ID improvements, without Layer1 corrections. (PR 235) NA  
28.1 vs. 28.0 v28.1 Layer2 EG shapeID LUT bug-fix name in configuration. (PR 240) NA  
    LAYER 1 ON. Layer2 EG with Isolation and ID improvements, WITH Layer1 corrections. (PR 217) v29.0 29.0 vs. 28.1
    Tau: new calibration and isolation. (PR 238) v30.0 30.0 vs. 29.0
    Layer2: Support multiple Calo configs - not acitve yet (PR 236) v31.0  
    Layer1 unpacker: fix HF unpacking + only apply tower masks (not link). (PR 233) v32.0 32.0 vs. 30.0
    Layer2: Support multiple Calo configs - not acitve yet - update EG Iso LUT filenames for caloStage2Params_2016_v2 (PR 241) v32.1  
    Muons EMTF charge assignment (PR 242) v33.0 33.0 vs. 32.0
    Tau: emulation/firmware agreement fix (PR 206) v34.0  
    Muon: CSCTF format fix used in ReEmul of DATA (PR 245) REVERTED vs. 34.0
    Tau: add isolation-option-5 LUTs, not used at the moment. (PR 247) v36.0  
    REVERT PR 219: Layer-1 calo calibrations reverted to pre-v23.0, by reverting used PR. v37.0 v37.0 vs 34.0
    O2O: add new common XML reader, for widespread use. (PR 249) v37.1  
    Layer2: EG Iso LUTs use filenames provided in v32.1. Tau Iso Option-21 v37.2, tsg-v5 v37.2 vs 37.0
    Layer2: New configuration customisation for setup of layer2 calo parameters. Default same as in v37.2 v37.3  
    Layer2: Default setup of calo parameters: Tau Iso Option-5 v37.4, tsg-v5.1 v37.4 vs 37.2
    L1TNtuple: add gen info, fix to Calo TP branch which selects correct HCAL TP Et scale (PR 254) v38.0  
    L1TNtuple: adds charge of the offline electrons (PR 266) v38.1  
    L1TNtuple: add caloMet vars (et, phi, sumEt), change pfMet to t1pfMet) add caloMetBE, caloMetPhiBE, caloSumEtBE (PR 267) v38.2  
    L1TNtuple: bugfix caloMet -> caloMetBE caloMet (PR 271) v38.3  
    L1TNtuple: pfMet now has a type-1 correction. Add caloMet in the sums branch (PR 228) v38.4  
    Jet use LUTs for JEC instead fctnl. corrections.(No impact MENU ??). Add PUS LUTs for Sums (not used) in caloParams, use dummy LUT for now. (PR 253) v39.0 v39.0 vs 37.4
    Layer2 unpacker 'MP' data format used for private validation, support firmware going online. (PR 268) v39.1 v39.1 vs 39.0
    OMTF bugfix charge assignment, config clean-ups, migration from static variables. (PR 244) v40.0 v40.0 vs 39.1
    BMTF Set phib of st3 to zero. Same as firmware. (PR ) v40.1  
    Muons: new converter of Legacy data format to Stage2 data format so that can be stored in L1TNtuples. (PR 270) Do not use Converter in SimL1TMuon sequence till needed in L1TNtuple. v40.3  
    Add new LUTs for EMTF but without using them, so no change to current algorithm. v40.4  
    EMTF efficiency fixes (PR 275) v41.0  
    Update testL1T to use customise=L1TReEmulromRAW2015. v42.0  
    L1TNuple bugfixes for 2016 RAW data, and add integration test of same v42.1  
    L1Ntuple: add l1UpgradeTfMuonTree to EMU and RAW workflows. v42.2  
    Bugfix L1TNuple bug introduced in v42.1 configuring Hcal TPs reemulated 2015 data . simEcalTPs filled in CaloTowerEmuTree. v42.3 v42.3 vs 41.0
    Configuration: Add customise L1TReEmulFromRAWsimEcalTP workflow for 2016 data using simEcalTPs. v42.4  
    Tau emul: no trimming of secondary clusters. ( PR 264) v43.0 v43.0 vs 42.3
    EG emuulation match firmware isolation - number of veto towers in phi. ( PR 269) v44.0 v44.0 vs 43.0
    Calo unpacker: no longer unpack towers eta=29 (HF-begin region). ( PR 278) v45.0 v45.0 vs 44.0
    Layer2 emulation sync w/ FW: #of bits to calculate MHT/MET, trig lookups, adjust cacl of demux in iphi. ( PR 285) v45.1 v45.1 vs 45.0
    Configuration: Add re-emulation workflow from all simulated TPs (customise L1TReEmulFromRAWsimTP) and from simulated CaloTPs for 2015 (customise L1TReEmulFromRAW2015simCaloTP) v46.0 (tsg-v6-cand) v46.0 vs 45.1
    Rebase to l1t-integration-CMSSW_8_0_7 v47.0  
    uGMT: wrap-around for negative globPhi values, fix that sorter only passes requested number of muons. v48.0 (020 branch bitwise compared ) v48.0 vs 47.0  
    Layer1 new params file (not used) caloStage2Params_2016_v3_0_inconsistent_cfi: fix for const = 1 at barrel egdes, new HF calib consts. v48.1  
    L1TReEmulFromRAW (for 2016 data) redefined for emulation of Bmtf to use unpacked Bmtf input payloads instead of simTwinMux(bmtfDigis). v48.2  
    EMTF minimal required cleanup, pt assignment, fix shorthand if-else. v48.3  
    L1Ntuple Tau ID flags adapted for 2016 Reco (PR 310) v48.4  
    Layer2 MinBias - rebased from CMSSW_8_0_2 (PR 287) v49.0  
    Stage1-era fix in L1TReEmulateFromRAW to use simEcalTPs v49.1  
    EG and Tau sort in pt at Demux (PR 305) v49.2 v49.2 vs 49.0
    Layer1: fixed accidental commit affecting the phi position of objects (PR 308) v50.0 v50.0 vs 49.2  
    uGMT update cancel out using ellipse matching window (PR 315) v51.0 v51.0 vs 50.0  
    EMTF unpacker available outputing CSCCorrelatedLCTDigiCollection (PR 297) v51.1 v51.1 vs 51.0  
    EMTF: added sector overlap analysis (emul/data > 90%), implemented separate data classes for unpacker, emulator, DQM. (PR 317) v52.0 v52.0 vs 51.1  
    OMTF: fix eta assignement to (almost) realistic map. v53.0 v53.0 vs 52.0  
    BMTF: updates to unpacker of inputs and outputs v53.1 v53.1 vs 53.0  
    Shift uGT Readout Word definitions v53.2  
    CSC TPs simulation updates v54.0, tsg-v7-cand  
    Fix L1TReEmulFromRaw with new BMTF unpacked inputs format v54.1  
    Unit-test update for reemulation 2016 v54.2  
    L1REPACK workflows implemented (:Full,:uGT,:Full2015Data). Unit-tests updates for reemulation 2016 data v54.3 v54.3 vs 53.1
    Tau: funcitionality of multiple iso LUTs for cross-triggers and packer/unpacker update to accomodate this new iso bit (PR 277) v55.0 v55.0 vs 54.3
    L1TNtuple: add tau, e/g, jet couretsy variables (also computed in FW) to Layer2 tree (PR 319) v56.0 v56.0 vs 55.0
    OMTF: numbering scheme for XMLs (PR 316) v57.0 v57.0 vs 56.0
    uGMT: fix LUT dumper module to use LUTs from the conditions object instead of from files." (PR 321) v58.0 v58.0 vs 57.0
    L1Ntuple: gen info in ntuples (PR 321) v58.1, l1t-integration-v58.1-CMSSW_8_0_8 v58.1 vs 58.0
    OMTF: modify emulator to match data, set quality=4 in case abs(eta)=115 and hits only in 3 layers out of (7,8,9,1) and in case abs(eta)=121. (PR 329) v59.0 v59.0 vs 58.1
    Unit-tests: remove unneded HF customizations from tests, and add all available comparisons to local comparison test v59.1  
    Calo Layer2: restore overflow checks for et and ht. v60.0  
    Tau: change default caloParams to use Tau Iso Option 21 (caloStage2Params_2016_v2_2_cfi) v61.0 (see v61.1 vs 59.0)
    Add L1REPACK FullMC to run on RAW of MC. Fix Csc tag for Omtf emulator in REPACK:Full, and clean REPACK:uGT. v61.1, v61.1-CMSSW_8_0_9 v61.1 vs 59.0
    BMTF unpacker: adjust to new quality convention (1-7 vs 7-1) and bug-fix for position of eta hits (PR 335) v62.0 v62.0 vs 61.1
    uGT: First Changes for multi-board operations: unpack inputs to only one uGT board (duplicate inputs), OR algbits of multiple boards (PR 336) v62.1 v62.1 vs 62.0
    Ntuple: add PU information (PR 332 ) v62.2  
    Ntuple: Remove delete tree_ from destructor, it erases the uGT ntuple (PR 330 ) v62.3  
    EMTF: emulator configurable bx shift of inputs, default 0. (PR 337) v63.0  
    EMTF emulator fix for global phi & sector for sector-overlaping tracks. (PR 337) v63.1 v63.1 vs 62.3
    uGMT: revert configuration of cancel-out window for duplicated tracks. v64.0 v64.0 vs 63.1
    Tests: updates for uGT unit-testing. v64.1 v64.1 vs 64.0
    Ntuple: change reco met to pf met input collection. v64.2  
    Tests: updates for uGT unit-testing. v64.1 v64.1 vs 64.0
    Tau and EG emulator: fix sorting of calo objects by fixing small discrepancies of eta/phi position in emul/firmware. v65.0 v65.0 vs 64.1
    OMTF emul: fixes towards better emul/firmware agreements: updates in classes Sorter, AngleConverter, InputMaker, new class OMTFName. v66.0 v66.0 vs 65.0
    EG emul: relax ID cuts for EG objects with Et above tower saturation (> 127.5 GeV). v67.0 v67.0 vs 66.0
    L1TNtuple: added Muon Reco ID. (PR 358) v67.1  
    OMTF updates to code used for making the configuration, does not affect the emulator workflow. (PR 359) v67.2 v67.2 vs 67.0
    Bring upto-date customiseDemo.L1THLTDemo to use object specifiers when emul uGT. v67.3  
    OMTF: allow hits with eta=121 to enter algorithm, remove revert of DT eta bits, check if phiDist is within pdf range -63 +63 (PR 363) v68.0 v68.0 vs 67.2
    EG: isolation in emulator change by changing parameter caloStage2Params.egIsoVetoNrTowersPhi (from 3 to 2) to match FW (PR 364) v69.0 v69.0 vs 68.0
    Jet, EtSums: Layer2 lots of updates. JET emul seed up to kHFEnd. Jet sorting uses accumulated sort. Update to JEC eta compression LUT to remove entry at eta=29, emulator now uses mpEta to retrieve value from LUT... ETSUM enum renaming *Et2 -> *EtHF. Added calo tower filter (temp). Fix demux eta to handle properly eta=29. New EtSums types added to emul (new MT and demux w/ & w/o HF) - unpackers provided. Fix in cos coeficients of -x & -y components of Et and Ht. Corrected use of kHFEnd to mpEta(kHFEnd) throughout emulator. Updated MP7 buffer capture formatting to include extra sums in MP output. (PR 360) v70.0 v70.0 vs 69.0
    EtSum: Update EtSum packer to include minBias,ETTEM,ETMHF,HTMHF. Update all Calo packers (EtSum,Tau,Jet,EGamma) to pack multi BXs. This also includes an update to the caloTowerHash. We now always fill localTowers with caloEta, not mpEta (mpEta[1-40], caloEta[1-28, 30-41]). Now the caloTowerHash should be always correct for the EG, Tau, and Jets/Sums emulators, such that there is never a need to loop over the tower collection to match a tower to a given eta,phi. (PR 371) v70.1 v70.1 vs 70.0
    EtSum: emulator: while pending emulation for EtSum::kTotalEtEm type, add dummy entry (0,0,0,0) when storing BxVector to preserve order available in packer/unpacker. Improve printout in L1TComparison used in the unit test #3. (VR) v70.2 v70.2 vs 70.0
    SumEt: unpakcer - fix for bit width of htx and hty values, emulator - corrections to use mpEta and changes in inequality conditions for MB bits (PR 383) v70.3 v70.3 vs 70.2
    OMTF: small emulator fix to check if phiDist is within pdf range -63 +63 as in FW. Internal code clean-up. Introduced new xml file to be used. xml file should go into Data repository. (PR 369) v71.0 v71.0 vs 70.3
    EMTF: emulator fixes to improved data/emul with discrapency of unpacked tracks at 2%, also there are still issues with discrepant mode and pT assignment. Use RPC TPs. (PR 376) Also update customise ReEmul when emulating EMTF from RAW. v72.0 v72.0 vs 71.0
    L1REPACK update to :Full :FullMC and :Full2015Data steps to use feature of EMTF to use RPC TPs (VR) v72.1  
    L1Ntuple: Add muon global phi position to L1UpgradeTFMuonTrees. (PR 375) v72.2 v72.2 vs 72.0
    L1Ntuple: tau - add Tag & Probe variables to calculate efficiencies. changes affect the RecoMuon, RecoTau, RecoMEt, JetReco and L1Upgrade trees and the python config files for RecoMuons, RecoTaus (2015 and 2016) and AOD ntuplising (PR 385) v73.0 v73.0 vs 72.2
    Handling masked and disabled calo input links when calculating energy sums v74.0  
    Layer1 Updates for MiscActFraction, PhiPattern, TT Saturation and geometry v75.0 style=
    New L1JEC of Joseph Taylor v76.0 style=
    (New Ntuple feature) v76.2  
    Make saturated tower code configurable v77.0  
    Work around for crashes in EMTF v78.0  
    Calo params v3.0 available, minor bugfixes, additional jet info in ntuples v79.0  
    Fixes for AAA files in unit tests: no change if retroactively applied for test v79.2  
    Revert default calo params from v3.0 back to v2.2: makes unit tests bitwise equivalent to v75.0 v80.0  
    Restore array overflow fix which was overwritten by bad merge: has no effect on unit tests. v81.0  
    New EtSum Triggers ETTem and ETMHf (PR 370) v82.0  
    Unpacker updates (PRs 380,396, and 402) v83.0  
    Ntuple updates for GMT and BMTF v84.1  
    Ntuple: fix compile error by removing dublicate rules L1AnalysisL1UpgradeTfMuonDataFormat v84.2  
    Unit-test: Use grid address instead of local path to GEN-SIM input file. v84.3  
    EMTF: use second-earliest LCT; pT LUT logic for high-pT muons; data-emulator bugfixes, ; fixes out-of-range error in PrimitiveConverter. v85.0, v85.0-CMSSW_8_0_19 v85.0 vs 84.3
    EMTF: Improved memory and time consumption by 75 and 50 percent by replacing 4D vectors with typedef structs of arrays. v85.1  
    Calorimeter: LUTs for new (sept 2016) calibrations and Spike Killer. New caloStage2Params_2016_v3_1. Jet emulator now saturates a jet to 0xFFFF if seed saturated at 0x1FF v86.0 v86.0 vs 85.1 (vs 86.0.oldCalib)
    Tau Iso: switch from Option5 to new Option22, i.e. switch default from caloStage2Params_2016_v3_1 to v3_2 v86.1  
    Remove unused simMuonQualityAdjusterDigis module from Ntuple workflow v86.2  
    uGMT L1TMuonCaloSumProducer time/CPU performance improvements v86.3  
    EMTF cancel double track by LCT, as in firmware. v86.4  
    Implementing tower counting algo at Layer 2 level. v87.0  
    Ntuple Muon - Reco muon extrapolation to 1st and 2nd muon stations. Update list of triggers to match v87.1  
    Configuration: Use unpacked EMTF digis as input to EMTF emulation. v87.2  
    L1NtupleAOD configuration: fix crash in 1MuonRecoTree. v87.3  
    Layer2: HI tower counting algo in EtSumPacker, MP & Demux unpackers. Minor fixes in jet saturation, use correct tower Et & eta thresholds for tower count algo in MP EtSum algo v88.0  
    tag v88.0 after merging into CMSSW_8_0_21 v88.0-CMSSW_8_0_21  
    Extrapolated muon eta and phi in L1 ntuples. v88.1  
    Rebased v88.1 into CMSSW_8_0_22, making the uGT with TowerCount available. v88.1-CMSSW_8_0_22  
    Configurable calo Layer2 emulator parameters used for HI run. v89.0  
    Updated HI caloStage2Params_v3_3_HI configuration for data taking (https://github.com/cms-l1t-offline/cmssw/issues/432). v89.1  
    Silence uGT Warning messages of too many Taus sent from Layer2. v89.2  
    Demote quality from 4 to 0 for OMTF muons with abs(eta)=121 , requested by HI. v89.3  
    BMTF unpacker memory leak fix (compiler unique). v89.4  
    TwinMux emulator memory leak fix (mem deallocation) v89.5  
    L1TNutuple CaloTowerProducer: Quiet spurious warning messages trying to fill non-existent Clusters when runing on data. v89.6  
    uGT Correlations - handling of overflow/saturation bins like in FW. v89.7  
    CaloLayer2 unpacker: push the EtSum:kTowerCount the last in bx-vector, just as emulator does. v89.8  
    Layer2 emulator adjust to bug in FW for towerCount towerEtaMax 28- class='TMLhtml' >27. v89.9  
    Rebased v89.9 v89.9-CMSSW_8_0_24  
    Add back Calorimeter data files. v89.10  
    uGT CorrCondition speed up access use [] operator instead at(). v89.11  
    New aloStage2Params v3_3_1 (also set as default) and revert caloStage2Params v3_3 to original. v89.12  
    New prescale/mask table covering all 512 algorithms. v89.13  
    Put back 6 missing commits dropped in rebase to CMSSW_8_0_24 (Muon phi/eta extrapolation to vtx, L1TNtuple fixes.) v89.14  
    Fix EtSum unpacker TowerCount, and put EtEM at the position of latest unpacker. Add EtSum HTT saturation check in emulator. v89.15  
    Put back 3 missing commits dropped in rebase to CMSSW_8_0_22 (1 - Use unpacked EMTF inputs for simEmtf in ReEmulation custom and REPACK, 2 - improvements in L1TMuonCaloSumProducer) and synch L1TNtuple MediumMuon ID cut with CMSSW_8_0_22. v89.16  
    L1TNtuple - fix segfaul for GenTreeProducer: L1AnalysisGeneratorDataFormat now allocated; Added charge information to the GEN tree. v89.17  
    DataFormats and Layer2 emulator: new EG variable - towerHoE. L1Ntuple new EG variables - egTowerIPhi, egTowerIEta, egRawEt, egIsoEt, egFootprintEt, egNTT, egShape, egTowerHoE v89.18  
    L1TGlobal: update testing tools to include EtSum TowerCounts. v89.19  
    L1TNtuple: add HI HLT paths in MuonRecoTree. v89.20  
    Rebase to CMSSW_9_0_0_pre2. v89.20-CMSSW_9_0_0_pre2  
    Fix ntuplizing with stage1L1Trigger commented out up in previous tag, now properly fixed. Configure L1T to run Stage2 (not Legacy) in Phase2 era. v89.21  
    Calo Layer1 calibrations2017. v91.0  
    New custmisation to invoke 2017_v1_1 CaloLayer1 calibrations. v91.1  
    Rename new caloStage2Params_2017_v1_1 to 2017_v1_0_inconsitent. v91.2  
    Fix calo hackParams to use an existing previously blessed calo conditions. v91.3  
    EG-Tau LUTs, caloParams, and emulator logic changes needed for O2O. v91.4  
    Missed in porting to 900_pre2: L1TMuonCaloSumProducer speed-up and multi-BX capable, L1TNtuple GenTreeProducer new charge var and fix segfault, L1TNtuple new L1EG vars. v91.5  
    uGT emul: increase the upper limit for parameters used in the L1 correlation algorithms. v91.6  
    Fix crash in L1NtupleAOD due to l1MetFilterRecoTree. v91.7  
    Move plugins to right place (corect relic of merge in 900_pre2). v91.8  
    Port missing from 8_0_24: namespaces and renaming of classes, remove cout. v91.9  
    Reverted: Configure L1T to run Stage2 (not Legacy) in Phase2 era.. v91.10 (in CMSSW_9_0_0)  
    Jet Layer2 calibrations update to 2017_v1_1_inconsistent. v91.11  
    Tau Layer2 calibrations and isolation LUTs for 2017_v1_1_inconsistent. v91.12  
    Tau Layer2 calibrations and isolation LUTs for 2017_v1_1_inconsistent. v91.13  
    EG Layer2 calibrations and isolation LUTs for 2017_v1_1_inconsistent. v91.14  
    Customisation for caloParams L1TSettingsToCaloStage2Params _2017_v1_1. v91.15  
    Minor fixes to customiseSettings for L1TSettingsToCaloStage2Params _2017_v1_1 and tau LUT filename. v91.16  
    Changes to support 2017 L1 muon RAW format with additional vars of eta/phi extrapolated: uGMT unpacker, packer, emulator, and L1TNtuple vars. v91.16  
    Layer2 unpacer: fix CaloSetup for missed part fw >= 0x10010033 when migrating from src/. v92.0  
    Use new phi extrapolation LUTs with improved tune. LUTs are merged dirrectly to cms-l1t-offline/L1Trigger-L1TMuon repo. v92.2  
    uGMT extrapolation changes: extrapolation LUTs format change (input eta 5bit, input pt 7bit, output eta/phi 4bit), extrapolation is side dependent, new optimised extrapolation LUTs added. v92.3  
    2017 Layer1 calibrations binned in Eta in caloStage2Params_2017_v1_2_inconsistent_cfi and corresponding caloParams customisation function. v92.4  
    Add extra caloParams with unity Layer 1 SF for HCAL: caloStage2Params_2017_v1_2_noHCALSF_inconsistent_cfi. v92.5  
    Updated HCAL calibrations using the tower et definition for binning. CaloParams and customisation provided: caloStage2Params_2017_v1_3_inconsistent_cfi v92.6  
    Rename to caloStage2Params_2017_v1_3_inconsistent_cfi and provide customisation. v92.6.1  
    Layer1 ECAl and HCAL calibrations using higher stats MC (mean). v92.7  
    uGMT unpacker: Add support for reading out of uGMT muon sets 2-6. PR #467 v92.8  
    L1T BlockHeader changes to provide ZS flag for DQM. PR #471 v92.9  
    Rebased v92.9 from 900_pre6 to 900. v92.9-CMSSW_9_0_0  
    Resolve segfault in L1TMuonProducer::sortMuons, by safely removing muons while iterate over std::list. (#18032) v92.10 (in CMSSW_9_1_0 plus v92.12, v92.12.1, v92.20)  
    Layer2 calibrations caloStage2Params_2017_v1_4, still not default. Reverted emulator to remove +1 for HI tower count (as done in fw), and introduce caloStage2Params_2017_v0_0 with updated eta restricted HTT, which is now set as default caloParams. v92.11  
    Add missing LUTs for caloParams v1_4. v92.11.1  
    Change uGT emulator to use uGMT muon vtx-extrapolated coordinates. v92.12  
    uGMT with muons vtx-extrapolation - addressign comments of @davidlange6: a) simple muon setters and getters in header, b) extra muon collections are stored in an array. v92.12.1  
    L1TNtuple GenTree, fix crash in case of accessing GEN information from <=CMSSW_8_0_X v92.13  
    MET pileup subtraction: emulator implementation, LUT & LUT generator #498...STILL need to fix met energy scale calib v92.14  
    uGMT raw format change FW version update #479 v92.15  
    uGMT cancel out LUT (aggressive - improved) tuning #487. v92.16  
    Layer1 Support for HEP17 900. Also updated L1TCaloParamsESProducer used in O2O. #482. v92.17  
    uGMT - needed suplement to v92.15, to control FW versions otherwise interpret LUTs wrongly for runs b/w FW (0x4010000) and (0x5000000). v92.18  
    L1TCaloParamsOnlineProd - fix compilation errors due to changed functions in CaloParamsHelper. v92.19  
    Addressing comments to CMSSW 91X PR 18133 on how to manipulate string in GMT packer/unpacker (GMTSetup). v92.20  
    uGMT (only DQM relevant) fix intermediate muon unpacker bug. v92.21  
    uGMT fix problem of deleting all blocks in case of ZeroSupression: have unpacker create default empty collection with defined BX range different than 0. If any block available with muon, the BX range is taken from that block overriding default. v92.22  
    EG fix: new EG LUT, and change the caloParams to point to new EG LUT. v92.23  
    L1Ntuple store Legacy muon to ntuples. v92.24  
    Rebased v92.24 from l1t-integration-CMSSW_9_0_0 branch to l1t-integration-CMSSW_9_1_0_pre3 branch. This adds the functionality of prescales available from GT which was merged directly to CMSSW_9_1_X. v92.24_CMSSW_9_1_0_pre3  
    uGT emulator with Indexing and CorrelationWithOverlapRemoval. v93.0  
    MET Pileup subtraction LUT update (PR #515). v93.1  
    Turn on 2017_v1_4 with MET PUS (set as default Calo configuration). v93.2  
    OMTF unpacker, first version, included in RAW2DIGI sequence. It unpacks all RAW OMTF inputs and otuputs: rpc raws, dt stubs, csc lcts, omtf muons. Howerver, unpacked OMTF objects not yet used in the L1 re-emulation nor L1:REPACK workflows. Emulator simOmtf needs to be adjusted first to take new types of inputs. v93.3  
    uGMT: RegionalMuonCand unpacker used to for the uGMT raw data unpacks the OMTF track address in the same way as done in omtf unpacker. v93.4  
    uGMT: fixes a potential issue if the input to the L1TMuonCaloSumProducer has data in BX =0. Never a problem upto now as CaloSum was always commiing on BX=0. Better be prepared. v93.5  
    MET pileup subtraction LUT update (PR #521) and caloParams 2017_v1_5, set as default. v93.6 (in CMSSW_9_2_0 /minus v93.3,v92.24)  
    BMTF: improved eta assignment leading to 50% better resolution w.r.t. GEN. Improved phi assignment due to soft rounding. PR #522 v94.0  
    New uGMT extrapolation LUTs 20170505. These take the BMTF eta scale fix into account. (PR#523) This needs the external Muons data (new LUT merged) v94.1  
    Layer1 phi-dependent LUT bugfix.(PR #531). v94.2  
    EG - new extended H/E, plus 2nd isolation WP (aka 2016), and caloStage2Params_2017_v1_6 (using only 1st iso WP 2017) and caloStage2Params_2017_v1_6_2 (using both the 1st and 2nd iso WP 2017 and 2016), neither used by default. Each of the caloStage2Params are available through the customisation. (PR #526) v94.3  
    Set as default caloStage2Params_2017_v1_6. It uses EG extended H/E cut for L1EG Id, and EG iso WP 2017 (standard). v94.3.1  
    CaloParams and Producer:Updated CaloParams and producers with additional MET LUTs, and updated emulator. (PR #529) v94.4  
    Address 92x PR 18622 comments : Layer1 emulator fetch LUTs - replace multilayers of vectors by layers of arrays of known sizes, clean-up, std::abs. v94.5  
    Rebase v94.5 to CMSSW_9_2_0 v94.5-CMSSW_9_2_0  
    MET Emulator bug fix when getting address using ieta for MET PUS LUT. Emulator was counting from 0, firmware was counting from 1. Introduce a new caloParams2017_v1_7 to reflect current online conditions: enable MET PUS, fix to have MHT eta restriction same as HT (tower 28->26), EG 2nd Isolation turned off (use same LUT as iso LUT 1. PR #536. v94.6  
    Default caloStage2Params_2017_v1_7. Also add customisation option and caloParams 2017_v1_7_2 with the 2nd egIso (aka 2016) available. v94.6.1  
    L1Tau emulator small fixes to agree better with fw: update var hasEM, update merging in the cases where there are secondary clusters with the same energy. v94.7  
    MP7 input file generator update & unpacker update for patterns PR #538. v94.8  
    Update Layer 1 calibrations: v1_8: same as v1_7 but with HF SF multiplied by 0.7, v1_9_inconsistent: all new Layer 1 calibrations and HF SF multiplied by 0.7, v1_9_inconsistent_mean: all new Layer 1 calibrations derived using mean and HF SF multiplied by 0.7. v95.0  
    DQM relevant - uGMT intermediate muon unpacker fix - data format for the uGMT intermediate muons has changed in the same way as the format for the uGMT output muons, introducing vtx-extrapolated eta,phi. v95.1  
    DQM relevant - uGMT intermediate muon data to emulator agreement improvements: Set tfMuonIndex and iso in the emulator as they are set by the FW. v95.2  
    Move development from v94.0 which introduced eta LUTs in L1TriggerConfig /DTTrackFinder/parameters to L1Trigger /L1TMuon/data. This makes LUTs available on the grid correction grid (PR #557) v95.3  
    Restore wrognly changed LUTS in L1TriggerConfig /DTTrackFinder/parameters to before v94.0 (PR #558). v95.4  
    Saturate MET when there is a saturated ECAL or HCAL TP (PR #548) v95.5  
    EG calo params 2017 v1_8_2: Adds a caloParams_2017_v1_8_2 identical to caloParams_2017_v1_8 (online configuration since 31/05), but enabling the 2nd iso EG WP. (PR #554) v95.6  
    Calo L2 PU tower threshold: Adds pileUpTowerThreshold in caloParams for CaloL2 O2O (PR #555). v95.7  
    Add three more L1TReEmul workflows: L1TReEmulMCFromRAWSimEcalTP, L1TReEmulMCFromRAWSimHcalTP, and L1TReEmulMCFromRAWSimCalTP. v95.8  
    Use as default caloParams 2017_v1_8 (same as v1_7 except layer1HFScaleFactors are now lower, as no longer divided by 0.7). v95.9  
    L1T Tau: adding trimming + shape veto dummy LUT (PR #560). v95.10 v94.8 vs 95.10
    MET - Revert tag v9.5. v95.11  
    Analogous to v95.8, Use default caloParams 2017_v1_7.(for TSG) v95.11.7  
    Analogous to v95.9, Use default caloParams 2017_v1_8.(for TSG) - this is same as v95.11 v95.11.8  
    Invoke again tag v95.5 (Revert Revert of Saturate MET PR#548) and supplement with the fix of Saturate MET Demux (PR#563) v95.12  
    Analogous to v95.8, Use default caloParams 2017_v1_7.(for TSG) v95.12.7  
    Analogous to v95.9, Use default caloParams 2017_v1_8.(for TSG) - this is same as v95.12 v95.12.8  
    Add ReEmul version L1TReEmulMCFrom90xRAWSimHcalTP, suitable for 90x MC samples which contain simHcalUnsuppressedDigis. v95.13  
    Exclude ieta==30 from METHF: caloStage2Params_2017_v1_7_excl30_cfi.py (no HF 0.7 SF in Layer 1), caloStage2Params_2017_v1_8_excl30_cfi.py (with HF 0.7 SF in Layer, both use lut_towEtThresh_2017v4_excl30.txt which excludes ieta==30 from the METHF by setting a tower Et threshold of 255 GeV. Also:add caloParams 2017_v1_9_inconsistent_oldHFSFForJECOnly_cfi (#566). v95.14  
    Addressed comments from merged PR 19102 - BMTF & uGMT 2017 fixes (tag v94.0 v95.3 v95.4 v94.1) v95.15 v95.10 vs 95.15
    EG and Tau clustering filtering fix in emulator to describe fw: explore TT30 the veto procedure when finding maxima (filtering) #567 v95.16 (in CMSSW_9_2_4) v95.15 vs 95.16
    ReEmulFromRaw and L1REPACK:Full use TwinMux as input to BMTF to synch with fw - in part of 2016 and now in 2017 data, BMTF uses TwinMux at P5. v95.17 v95.16 vs 95.17
    New EMTF emulator with RPCs. v96.0 v95.17 vs 96.0
    Jet: small fix to PUS for HF Jet (not to break the loop if Eta rings beyond HF border). EtSum saturation small bug fix (separate met saturation from metHF saturation. Add mht and mhtHF saturation as done in fw currently. New LUT which exludes TT30. v96.1 v96.0 vs 96.1
    Revert tag v95.17 till fully validated. v96.2  
    Layer1: Add caloParams_2017_v1_8_updateHFSF to change from 1.0 to 0.7 HF ScaleFactors in lowest pT bin for Layer 1 calib . (PR #569) v96.3  
    Introduce ReEmulFromRAWCalouGT customisation (unpack Muons, but re-emulate Calo Layer1/2 and uGT) v96.4  
    Rebased v96.4 to CMSSW_9_2_4. v96.4-CMSSW_9_2_4  
    Revert bug in customiseReEmul with isChosen()->hasattr() introduced in CMSSW_9_2_4 which crashes ReEmul customisation workflows. v96.5  
    uGT emulator: allow out-of-time (BX!=0) correlations conditions. v96.6  
    uGMT:Add functionality for endcap track based cancel out. Default configuration of simGmtStage2Digis is still coordinate-based cancel out.(PR #534) v96.7  
    Introduce caloStage2Params_2017_v1_8_2_updateHFSF, same as caloParams_2017_v1_8_2 which is enablaing 2nd EG isolation point (aka 2016), but with Layer1 HF SF for low pt bins changed from 1.00 to 0.7. Custumisation option also available. v96.8  
    Add new Layer 1 HF SF derived using pion MC in the new caloParms files. Add new MET PUS v6 LUTs and add new caloParmas files. None of added caloParams are set to be used as default, but are available through customisation functions: L1TSettingsToCaloStage2Params _2017_v1_7_v6MET, L1TSettingsToCaloStage2Params _2017_v1_8_updateHFSF_v6MET, L1TSettingsToCaloStage2Params _2017_v1_8_v6MET, L1TSettingsToCaloStage2Params _2017_v1_9_inconsistent_mean_newHF, L1TSettingsToCaloStage2Params _2017_v1_9_inconsistent_newHF, L1TSettingsToCaloStage2Params _2017_v1_9_inconsistent_newHF. v96.9  
    Add missing caloParams with latest v6MET and 2nd EG Iso WP. Added appropriate customisation function L1TSettingsToCaloStage2Params _2017_v1_8_2_updateHFSF_v6MET. v96.10  
    Add L1REPACK:CalouGT step option, same as ReEmulFromRAWCalouGT customisation (unpack Muons, but re-emulate Calo Layer1/2 and uGT) v96.11  
    Calo - set as default caloStage2Params_2017_v1_8_2_updateHFSF_v6MET. v96.12  
    Calo Jets MET: More small fixes to jets & sums saturation. Now HT, MHT saturate in the same way as MET corresponding to firmware update next week. Don't calibrate saturated jets for HT. (PR #570). v96.13  
    EMTF Remove include of depricated header file in Online producer that was causing problem to HLT with git cms-checkdeps -A -a v96.14  
    MHT Phi fix: Now use 0 instead of 111 as default MHT phi value when the MHT == 0. (PR #577) v96.15  
    OMTF unpacker & packer (PR #579) v96.16  
    Rebase to 9_2_5_patch2 - fix in uGT for CDC (BX!=0) PR# #19464, fix in uGT for M_T algos to produce LUTs for all objects PR#19619, fix of L1T _ZeroBias uGT Externals emulation for MC PR #19494) v96.16-CMSSW_9_2_5_patch2  
    L1TNtuples: Fix reco HTT eta restriction in L1Ntuples, from 3.0 to 2.5. (PR #582) v96.17  
    Remove obsolete StableParameters _cff configuration file and replace its use by GlobalParameters _cff everywhere (PR #585). v96.18  
    uGT emul: Bugfix for out of time correlation algorithms (PR #581) v96.19  
    Add inputUpgradeLabel for 2017 HCAL TPs (PR #587) v96.20  
    EMTF: value-initialise EMTFPtLUT variables before use (#595) v96.21  
    uGMT intermediate muon upgrades for DQM (#593) v96.22  
    L1Ntuple: Update sum types (#588). v96.23  
    Omtf: mk15 (#590)...small hack to hide GlobalTag dependency in emulator. Well improves data-emul agreement. v96.24  
    Layer1 proper saturation as in fw at P5. (#592) v96.25  
    Introduce stage2L1Trigger_2017 and use it in customiseReEmul, in which case, change OMTF emulator CSC input to emtfStage2Digis. v96.26  
    Update L1REPACK:Full to use stage2L1Trigger_2017 modifier to configure OMTF emulator to use emtfDigis. v96.26.1  
    Rebase v96.26.1 to CMSSW_9_2_8 v96.26.1_CMSSW_9_2_8  
    L1Ntuple: Add calibrated offline calo jets and calo HT. (#602) v96.27  
    EMTF water leak fix and 2016 / 17 conditions configurations via hackConditions (#604). v96.28  
    uGMT unpacker upgrade to support new MP7 zero suppression (#600). v96.29  
    uGTM DQM upgrade to support new MP7 ZS format. #605 l1t-integration-v96.29.1  
    CaloLayer1 packer. Improvements to (un)packer framework to allow for boards other that MP7. (#576) v96.30  
    CaloLayer2 Update MET filters, jet ID requirements, and new MET PUS v7 removing maximum level of PUS for high PU (PR 610) v96.31  
    uGMT upgrades clang-tidy and multithreading (#613) v96.32  
    Bmtf packer add (#614) v96.33  
    Use OMTF unpacker for OMTF online DQM (#609). v96.34  
    L1REPACK:Full fix re-emaulation of Layer1 for 2017 data, by using its unpacked input HCalTPs. v96.35  
    TwinMux emulator with latests greates algorithm. Packaged in L1Trgigger /L1TwinMux. v96.36  
    L1TRawToDigi sequence: add RPCTwinMuxRawToDigi. Use it as input to simTwinMux re-emulation of 2016/2017 data. v96.37  
    OMTF ReEmulate from 2017 data to use unpacked omtfStage2Digis as input for DT and CSC. Add OMTF unpacker in L1TRawToDigi seequence. v96.38  
    Re-emulation of TwinMux from 2016/2017 data to use unpacked TwinMuxDigis for DT inputs. For RPC inputs, TwinMux still to use RPCTwinMuxDigis. v96.39  
    Configuration TwinMux cleanup. v96.40  
    BMTF ReEmulate from data to use simTwinMux as input (DTDigi_Source). v96.41  
    OMTF ReEmulate from 2017 data to use unpacked omtfStage2Digis as input for RPC. v96.42  
    L1REPACK:Full update configuration: BMTF to use simTwinMux as input, OMTF to use unpacked OMTF (2017) data. v96.43  
    OMTF document better constants used in AngleConverter.(PR 626) v96.44  
    BMTF emulator - unmask first eta stations in wh=+/-2 to match fw. (PR 618) v96.45  
    Layer2 caloParams v2017_1_8_4 featuring EG loose iso lut fix (PR#624) v96.46  
    Calo hackCondtions updated to v2017_1_8_4. v96.47  
    simBmtfDigis emulator configured to use DT Theta Digis from simTwinMuxDigis. v96.48  
    Calo Layer1 92X calibrations 2017_v1_10 mean and mode, only via customisation. v96.49  
    Rebase from 9_2_8 to 9_4_0_pre3 v96.49-CMSSW_9_4_0_pre3  
    Use HackConditions v97.0  
    Track-based cancel out of EMTF tracks in uGMT (as oposed to coordinates-based. v97.1  
    EtSum: small bug fix in met and htt for EtaMax restriction (change index of config paramter used). Add offline to online python converter script for caloParams to online CaloL2 key CLOBS (#623). v97.2  
    Add caloParams & EG calib LUT with shapeID off for pp reference running (#633). v97.3  
    Add new LUTs for 92X jet and tau calibrations & update inconsistent caloParams (#634). v97.4  
    L1Ntuple remove precaled muon triggers from matching (#632). v97.5  
    Remake lost changes in 97.2. v97.6  
    uGMT: packer - activate packing of inputs and upgrade it not to pack empty links and fix segfaulting when BX range is even (#637) v97.7  
    Sort EMTF output (unpacked and emulated muons) by processor number, in ascending order, to match uGMT (#646) v97.8  
    Sort EMTF output - update tag l1t-integration-v97.8 with fix using auto pointer. v97.8.1  
    Tau sort fix: discrepancy emul/firmware affecting position of L1Tau candidates, in case 2 cands are merged, in case 2 cands with same E found at same eta position. Note: cases with 3 cands need more work. (#643) v97.9  
    OMTF emulator replace improper use of try/catch in initialisation of Omtf->Rpc mapping (#647) v97.10  
    Tau and EG emulator: minor fix for iso sums affecting size of the isolation window when extending in HF (TT26 and beyond) (#628). v97.11  
    L1 Calo Layer-2 validation update - new customization to produce L1Ntuples with Layer-2 emulation on top of unpacked Layer-1 for validation purpose (#627) v97.12  
    Jet (1) fix memory leak in L1JetReco Tree (2) add JEC config with mean Layer 1 calib (#639) v97.13  
    Jet: add a script to look at different jet sizes and centrality of the jet seeds in the jet (#644) v97.14  
    Rebased v97.14 from CMSSW_9_4_0_pre3 to CMSSW_10_0_0. v97.14-CMSSW_10_0_0-v2  
    HackConditions Configuration: in l1t-integraton we are using hackConditions, so remove fakeEmtfParams_cff from Muon hackConditions_cff.py as it crashes in CMSSW_10_0 and later.. v97.15-v2  
    TwinMux unpacker messages change LogInfo to LogDebug. v97.16-v2, v97.17-v2 , in CMSSW_10_1_0  
    kBMTF emulator: first version of the Kalman Filter Muon Emulator. New DataFormats: L1MuKBMTCombinedStub (combined TwinMux Phi and eta segments to a common segment), L1MuKBMTrack (Kalman Track class for Kalman BMTF). Updated DataFormats: RegionalMuonCand (new members m_hwPt2 and m_hwDXY) (#657) v97.18  
    BMTF unpacker updated for Kalman Filter (#661) v97.19  
    Configuration: calo only workflow for re-emulation and l1ntuple customisations to only run calo objects to speed up L1Ntuple production. (#656) v97.20  
    Add caloParams for 100X Layer 1 SF (#667). v97.21  
    Add caloParams v1_1 for updated 100X Layer 1 SF. (#671) v97.22  
    OMTF:Fill RegionalMuonCandBxCollection with order assumed by GMT (i.e. sorted by GMT links)(#669) v97.23  
    L1EG update H/E EE: H/E<2^(-3) -> H/E<2^(-4), L1Tau objects (max ieta 28 -> 25 ) (#670) v97.24  
    Configuration: Add ability to run emulator configured using static python or DB, include extra options to produce ntuple in #647 (#674). v97.25  
    EG emulator: hardware quality extended by bit hOverE_ExtBit. L1Ntuple add L1EG qual bits (#666) v97.26  
    L1GenTree fill pthat and weight branches (#658). v97.27  
    Rebased v97.27 to CMSSW_10_1_2 v97.27.1-CMSSW_10_1_2  
    OMTF: Second implementation of the final ghostBuster-sorter: GhostBusterPreferRefDt, which in case of same numbef of fired layers sorts candidates according the number of the reference layer giving priority to DTs over CSC & RPCs. Not yet turned ON in config simOmtfDigis_cfi.py. (#673) v97.28 OMTF  
    BMTF Unpacker Upgrade: unpack bits 2 & 3 instead of 18 & 19 for DXY (#680). v98.0  
    Calo: 2018 EG, Tau, Jet calibrations caloParams_2018_v1_1 (also a version with ECALZS). L1Ntuple: Add L1NtupleAODRAWEMUGEN _MC worfklow for JEC GEN vs RECO comparisons. (#677) v98.1  
    Calo: Add caloParams_2018_v1_2, contains relaxed EG H/E cut in barrel.(#686) v98.2  
    Rebased v98.2 from CMSSW_10_1_2 to 10_1_5 v98.2-CMSSW_10_1_5  
    Calo: remved recently added data files from L1Trigger /L1TCalorimter/data. They are available in offline repository. v98.3  
    L1Ntuple Reco: Add jet id requirement to jet corrections (#687). v98.4  
    NTuples NanoDST (ZeroBias) with higher stats for menu studies. v98.5  
    Add trigger rule prefire veto filter to L1Ntuple AODRAWEMU workflow (#693). v98.6  
    Add 2018 tau isolation (#696). v98.7  
    Calo config: add O2O bypass to MP7 buffer file maker (#697) v98.8  
    Add Calo Layer 2 event by event comparison (#702) v98.9  
    Kalman BMTF: iproved emulator to be used with new fw. (#707) v98.10  
    BMTF cleanup: remove Warning message from packer, deprecated unpacker cfi file.(#678) v98.11  
    BMTF Last Changes for BMTF Unpacker: remove quality cut.(#690) v98.12  
    OMTF algorithm v5 (not invoked yet): emulator to correspond to hw version 'w91b' (#700) v98.13  
    OMTF siwth to algorithm v5 via fwVersion in new xml file. (#701) v98.14  
    Calo Layer2: expert data vs emulator comparison customisation. (#706) v98.15  
    L1 EG HI flags: new flags in caloParams to bypass specifically the L1EG shape ID and the ECAL fine-grain veto (#708) v99.0  
    Rebased v99.0 to CMSSW_10_2_1 (plus rebase fixes) v99.0-CMSSW_10_2_1  
    OMTF: unpacker fix missing offset for CSC digis (IMPORTANT), emulator in configurable bx range (bx=0 default), memory leak fix in Processor, RpcPacker and Map. v99.1  
    CaloLayer2: EtSum types for 2018 heavy ion running & new EtSum unpacker version (#709). v100.0  
    Update of the unit tests 2017 and 2018, and scripts for the webpage. v100.0.1  
    Corrected post-rebase fix provided in tag l1t-integration-v99.0-CMSSW_10_2_1. v100.1  
    CaloLayer2 Heavy Ion Update for 2018.(#717) v101.0  
    BMTF unpacker to deal with two products KBMTF and BMTF. v102.0  
    Add back file caloParams_2018_v1_3_cfi. v102.1  
    Rebase of v102.1 from 10_2_1 to 10_3_1 v102.1_CMSSW_10_3_1  
    Twinmux fix input tag from RPC to rpc (#759). v102.2  
    Rebase of v102.2 from 10_3_1 to 10_6_0 v102.3 (CMSSW_10_6_0)  
    Make uGMT LUT dumps from condDB possible (#834). v102.4  
    Protecting uGMT emulator from zero pT muons (#835). v102.5  
    Rebase of v102.5 from 10_6_0 to 11_0_2 v102.5_CMSSW_11_0_2  
    Fix customiztion L1TReEmulFromRAW to run on Run3 (MC). v103.0  
    New era modifiers: stage2L1Trigger_2018, stage2L1Trigger_2021, phase2_trigger. v103.1  
    EMTF configured using era. v103.2  
    uGMT emulator and BMTF, uGMT, and uGT unpackers incorporating Kalman muons (#838) v104.0  
    uGMT and uGT muon packers for with KBMTF for Run-3 (#840) v104.1  
    Kalman ghostbusting. v104.2  
    L1TNtuples: Add kBMTF data in parallel to BMTF data. (#852) v104.3  
    L1TNtuple fix innput collection of TFs to use unpacked digis from OMTF and EMTF insted of inputs of GMT (#855) v104.4  
    Run3 - put GEM task at beginning of SimL1TMuonTask. ReEmulFromRAW config simEmtfDigis to use unpacked data. v104.5  
    Rebased v104.5 from 11_0_2 to 11_2_0. v104.5-CMSSW_11_2_0  
    uGT - emulation and cuts on unconstrainedPt and impact param. v105.0  
    GEM unpacker temp hack - don't skip the event if trailer check fails. Temp local DB file and a working example of reamulation of Run3 MC RAW. v105.1  
    Add customiseSettings.L1TSettingsToCaloParams_2018_v1_3 (use as default for 2018 pp running) v105.2  
    uGT Bugfix to UnconstrainedPT and DXY cuts following February MWGR. (#890) v105.3  
    Fill both BMTF and kBMTF results into L1TNtuples (#887). v105.4  
    EMTF Emulator Update to Add Displaced Muon pT & Dxy Assignment v105.5  
    Unconstrained pt coorelation condition invariant mass (#897) v105.6  
    Unconstrained pt coorelation condition invariant mass - fix (#903) v105.6.1  
    Quad-muon OS charge correlation bug-fix (#894) v105.7  
    Hadronic shower trigger emulator for Run-3 (#899) v105.8  
    Revert uGT to state before introducing MuonShowers. v105.9  
    KMTF fixes on propagation coefficients (11_2_X) #33281 v105.10  
    KBMTF config to use new (v2) LUTs for fixed propagation coeficientsfrom 11_3_X PR #33078 v105.10.1  
    Revert uGT invariant mass correlation condition with unconstrained pT. v105.11  
    Modifier Run3 when re-emulating fromRAW- use bmtfDigis for re-emulating bmtf v105.12  
    L1boosted objects (#907). v105.13  
    KBMTF update to coarse eta (#919) with data file in exteral repo. v105.14  
    Fix unconstrained pT in uGMT emulator and unpacker (#922) v105.15  
    uGMT ghost busting algorithm follows era now (#923) v105.16  
    Store EMTF displacement info in L1TNtuples TFTree (#924) v105.17  
    CaloLayer1 - Modifying L1boosted object emulator (#920) v105.18  
    Fix OMTF input tags for Run 3 re-emulation workflow (#925) v105.19  
    MET PUM update: 2021 caloParams with Run3 MC MET PUM, fix calo re-emul, add new calo re-emul for unpacked/sim TPs, update MET PUM deriviatio script, revert simCaloStage2Layer1Digis tags to use ecal & hcal sim tps (broken by #920) (#927) v105.20  
    Add missing caloParams omitted in previous PR v105.20.1  
    Three body invariant mass for muons (#934):new condition class to deal with a three-body correlation condition based on UTM libraries utm_0.8.1. (merged #33911) l1t-integration-v106.0  
    L1boosted objects (jets) updates: pT scale factor and pattern requirements (#949) v107.0 Rebase to 12_3_X in PR36642
    Rebased v105.17 v105.17-CMSSW_12_0_2  
    Rebased v107.0 v107.0-CMSSW_12_0_2  
    Rebase HCAL TP PRs #34572 and #34805 from CMSSW_12_1_X (time and depth info for LLP triggering) v108.0  
    HCAL: uHTR group 0 LUT bits 12-15 set, used to set LLP trigger fine grain bits (#35599) v108.1  
    uGT emulator code for hadronic shower triggers for Run-3 (#951) v109.0 Rebase to 12_3_X in PR36018
    uGT emulator CorrelConditionsWithOveralpaRemoval logic v0 and debug statements v109.1  
    caloParams_2021_v0_2: Updated Layer 1 SF + MET PUM (#960) l1t-integration-v110.0 Rebase to 12_3_X in PR36644
    Correlation ThreeBody By TwoBody Condition l1t-integration-v111.0 ( commit)  
    Reverted previous tag ( PR972) l1t-integration-v112.0  
    Overlap-removal condition ( PR968) l1t-integration-v113.0  
    Invariant mass over dR uGT, backport from cms-sw ( PR969) l1t-integration-v114.0  

Making pulls requests

Check list for code syntax

  • Use LogDebug /LogWarning/LogError/… instead of printf/cout
  • Use EDGetToken instead of ESHandle
  • Use const to define variables when possible
  • Hardcoded numbers should be defined globally or changeable as parameters
  • Run “scram build code-checks” and “scram build code-format” before committing the code
  • Follow the naming and coding rules https://cms-sw.github.io/cms_coding_rules.html
  • L1-related modules should start with "l1t" (lower case)
  • L1-related sequences and tasks should start with "L1T" (upper case)
  • cfi files should have the same name as the module they define


  • Check your PR does not significantly affect rates with the tools developed by the L1 Menu group: instructions.
  • Check the signal efficiency
  • The code should compile and be formatted with "scram build code-checks” and “scram build code-format”

PR to central CMSSW

Always commit to the master branch. Check what the latest tag is in the corresponding release (e.g. "scram list | grep CMSSW_12_0_X" and take the last line).

cmsrel CMSSW_12_0_X_2021-06-08-2300
cd CMSSW_12_0_X_2021-06-08-2300/src
git branch my_development_branch
git checkout my_development_branch
#add the packages needed for the developments, eg: git cms-addpkg L1Trigger/L1CaloTrigger
#edit as necessary
scram b
scram build code-checks
scram build code-format
git add #all the new files
git commit -m "my message"
git push my-cmssw my_development_branch 

Then open a PR from the github web page, pointing to CMSSW master.

PR to local l1t-offline branch

Start from the latest integration tag and follow the instructions above to set up the environment. Then:

git branch my_development_branch
git checkout my_development_branch
#add the packages needed for the developments, eg: git cms-addpkg L1Trigger/L1CaloTrigger
#edit as necessary
scram b
scram build code-checks
scram build code-format
git add #all the new files
git commit -m "my message"
git push my-cmssw my_development_branch 

Then open a PR from the github web page, pointing to the same integration tag in the l1t-offline github branch.

Align your forked repository with the latest version of a branch in the l1t-offline repository

This can now be done from the github web page. Otherwise from your terminal:

 git clone https://github.com/cms-l1t-offline/cmssw.git -b l1t-integration-CMSSW_11_2_0 # choose the branch you want to align
 cd cmssw/
 git stash
 git pull --rebase origin l1t-integration-CMSSW_11_2_0
 git remote rename origin l1toffline
 git remote add origin https://github.com/yourusername/cmssw.git
 git push -f origin l1t-integration-CMSSW_11_2_0 

Rebase one PR from l1t-offline to CMSSW

Always commit to the master branch. Check what the latest tag is in the corresponding release (e.g. "scram list | grep CMSSW_12_0_X" and take the last line).

cmsrel CMSSW_12_0_X_2021-06-08-2300
cd CMSSW_12_0_X_2021-06-08-2300/src
git branch my_development_branch
git checkout my_development_branch
git cherry-pick -x # add code of commit, which you can find in the commit list in the github page of the PR you want to rebase
scram b
scram build code-checks
scram build code-format
git add #all the new files
git commit -m "my message"
git push my-cmssw my_development_branch 

Then open a PR from the github web page, pointing to CMSSW master. It may be necessary to check out all the related packages to compile. After the instructions above, make a new area and do:

cmsrel CMSSW_12_0_X_2021-06-08-2300
cd CMSSW_12_0_X_2021-06-08-2300/src
git cms-init
git branch my_development_branch
git checkout my_development_branch
git fetch my-cmssw my_development_branch
git cms-merge-topic yourusernamel:my_development_branch
scram build code-format
git add #all the new files
git commit -m "my message"
git push my-cmssw my_development_branch 

Backport one commit to an earlier CMSSW version

Same instructions as for "Rebase one PR from l1t-offline to CMSSW" but cherry-picking the commit(s) you need to backport, which are in the later CMSSW version.

Rebase an entire branch to CMSSW

Recommended only if there are not many PR differences, otherwise the conflicts may be too hard to merge. Follow instructions here.

Edit | Attach | Watch | Print version | History: r231 < r230 < r229 < r228 < r227 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r231 - 2023-03-24 - EnriquePalencia
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback