CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
TMTrackProducer_Ultimate_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 #---------------------------------------------------------------------------------------------------------
4 # This describes the full TMTT track reconstruction chain with 2 GeV threshold, where:
5 # the GP divides the tracker into 18 eta sectors (each sub-divided into 2 virtual eta subsectors);
6 # the HT uses a 32x24 array followed by 2x2 Mini-HT array, with transverese HT readout & multiplexing,
7 # followed by the track fit (KF); duplicate track removal (Algo1) is run.
8 #
9 # It represents the tracking as planned for 2026. It is a good basis for L1 trigger studies etc.
10 #---------------------------------------------------------------------------------------------------------
11 
12 #=== TMTT tracking needs to get FE stub window sizes from this.
13 
15 
16 #=== Random number generator for Stub Killer (dead module emulation)
17 
18 RandomNumberGeneratorService = cms.Service("RandomNumberGeneratorService",
19  TMTrackProducer = cms.PSet(initialSeed = cms.untracked.uint32(12345))
20 )
21 
22 #=== Import default values for all parameters & define EDProducer.
23 
24 from L1Trigger.TrackFindingTMTT.TMTrackProducer_Defaults_cfi import TMTrackProducer_params
25 
26 TMTrackProducer = cms.EDProducer('tmtt::TMTrackProducer',
27  # Load cfg parameters from TMTrackProducer_Defaults_cfi.py
28  TMTrackProducer_params
29 )
30 
31 #===================================================================================================
32 # Uncomment the following 2 lines to enable use of MC truth info & output histograms.
33 # (This costs CPU, and is unnecessary if you only care about producing TTTrack collection).
34 #===================================================================================================
35 
36 #TMTrackProducer.EnableMCtruth = True
37 #TMTrackProducer.EnableHistos = True
38 
39 #===================================================================================================
40 #=== The following override the default values.
41 #===================================================================================================
42 
43 #--- Configure track fitter(s).
44 
45 # Use only 4 parameter helix fit Kalman Filter.
46 TMTrackProducer.TrackFitSettings.TrackFitters = ["KF4ParamsComb"]
47 
48 # Allow KF to assign stubs in up to this many layers to fitted tracks.
49 TMTrackProducer.TrackFitSettings.KalmanMaxNumStubs = 6
50 # Enable more sophisticated fit mathematics in KF.
51 TMTrackProducer.TrackFitSettings.KalmanHOtilted = True
52 TMTrackProducer.TrackFitSettings.KalmanHOhelixExp = True
53 TMTrackProducer.TrackFitSettings.KalmanHOalpha = 1
54 TMTrackProducer.TrackFitSettings.KalmanHOprojZcorr = 1
55 TMTrackProducer.TrackFitSettings.KalmanHOfw = False
56 TMTrackProducer.TrackFitSettings.KFUseMaybeLayers = True
57 
58 #--- Switch on 2nd stage Mini HT with 2 GeV Pt threshold & allow it to find tracks with stubs in as few as 4 layers.
59 
60 TMTrackProducer.HTArraySpecRphi.HoughNbinsPt = 48
61 TMTrackProducer.HTArraySpecRphi.HoughNbinsPhi = 64
62 TMTrackProducer.GenCuts.GenMinPt = 2.0
63 TMTrackProducer.HTArraySpecRphi.HoughMinPt = 2.0
64 TMTrackProducer.HTArraySpecRphi.MiniHoughMinPt = 3.0 # Mini-HT not used below this Pt, to reduce sensitivity to scattering.
65 TMTrackProducer.L1TrackDef.MinStubLayers = 4
66 TMTrackProducer.HTFillingRphi.BusySectorMbinRanges = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 24]
67 TMTrackProducer.HTFillingRphi.BusySectorMbinOrder = [0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47]
68 
69 #--- phi digitisation range needs to be increased to go down to 2 GeV.
70 #--- phi0 digitised relative to centre of sector. (Required range 2pi/18 + 2*overlap; overlap = 0.19206rads*(2GeV/ptCut)*(chosenR/67.24)
71 
72 TMTrackProducer.TrackDigi.KF_phi0Range = 2*0.6981317
73 # FIX: To make this change in KF FW, change phi0 bit selection in DRstate.vhd to bits 17-6 (instead of 16-5).
74 
75 # MuxHToutputs sends all HT outputs for an entire nonant and 1 m-bin to a single output link.
76 # This works for Pt > 3 GeV, gives truncation for Pt > 2 GeV. To solve, need to double number of outputs,
77 # with one for each phi sector in nonant. Not yet implemented, so for now disable HT output truncation.
78 TMTrackProducer.HTFillingRphi.BusySectorNumStubs = 999