Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:13:39

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 #---------------------------------------------------------------------------------------------------------
0004 # This describes the full TMTT track reconstruction chain with 2 GeV threshold, where:
0005 # the GP divides the tracker into 18 eta sectors (each sub-divided into 2 virtual eta subsectors);  
0006 # the HT uses a  32x24 array followed by 2x2 Mini-HT array, with transverese HT readout & multiplexing, 
0007 # followed by the track fit (KF); duplicate track removal (Algo1) is run.
0008 #
0009 # It represents the tracking as planned for 2026. It is a good basis for L1 trigger studies etc.
0010 #---------------------------------------------------------------------------------------------------------
0011 
0012 #=== TMTT tracking needs to get FE stub window sizes from this.
0013 
0014 from L1Trigger.TrackTrigger.TTStubAlgorithmRegister_cfi import *
0015 
0016 #=== Random number generator for Stub Killer (dead module emulation)
0017 
0018 RandomNumberGeneratorService = cms.Service("RandomNumberGeneratorService",
0019     TMTrackProducer = cms.PSet(initialSeed = cms.untracked.uint32(12345))
0020 )
0021 
0022 #=== Import default values for all parameters & define EDProducer.
0023 
0024 from L1Trigger.TrackFindingTMTT.TMTrackProducer_Defaults_cfi import TMTrackProducer_params
0025 
0026 TMTrackProducer = cms.EDProducer('tmtt::TMTrackProducer',
0027   # Load cfg parameters from TMTrackProducer_Defaults_cfi.py
0028   TMTrackProducer_params
0029 )
0030 
0031 #===================================================================================================
0032 # Uncomment the following 2 lines to enable use of MC truth info & output histograms.
0033 # (This costs CPU, and is unnecessary if you only care about producing TTTrack collection).
0034 #===================================================================================================
0035 
0036 #TMTrackProducer.EnableMCtruth = True
0037 #TMTrackProducer.EnableHistos  = True
0038 
0039 #===================================================================================================
0040 #=== The following override the default values.
0041 #===================================================================================================
0042 
0043 #--- Configure track fitter(s).
0044 
0045 # Use only 4 parameter helix fit Kalman Filter.
0046 TMTrackProducer.TrackFitSettings.TrackFitters = ["KF4ParamsComb"]
0047 
0048 # Allow KF to assign stubs in up to this many layers to fitted tracks.
0049 TMTrackProducer.TrackFitSettings.KalmanMaxNumStubs  = 6
0050 # Enable more sophisticated fit mathematics in KF.
0051 TMTrackProducer.TrackFitSettings.KalmanHOtilted     = True
0052 TMTrackProducer.TrackFitSettings.KalmanHOhelixExp   = True
0053 TMTrackProducer.TrackFitSettings.KalmanHOalpha      = 1
0054 TMTrackProducer.TrackFitSettings.KalmanHOprojZcorr  = 1
0055 TMTrackProducer.TrackFitSettings.KalmanHOfw      = False
0056 TMTrackProducer.TrackFitSettings.KFUseMaybeLayers   = True
0057 
0058 #--- Switch on 2nd stage Mini HT with 2 GeV Pt threshold & allow it to find tracks with stubs in as few as 4 layers.
0059 
0060 TMTrackProducer.HTArraySpecRphi.HoughNbinsPt        = 48
0061 TMTrackProducer.HTArraySpecRphi.HoughNbinsPhi       = 64 
0062 TMTrackProducer.GenCuts.GenMinPt                    = 2.0
0063 TMTrackProducer.HTArraySpecRphi.HoughMinPt          = 2.0
0064 TMTrackProducer.HTArraySpecRphi.MiniHoughMinPt      = 3.0 # Mini-HT not used below this Pt, to reduce sensitivity to scattering.
0065 TMTrackProducer.L1TrackDef.MinStubLayers            = 4 
0066 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]
0067 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]
0068 
0069 #--- phi digitisation range needs to be increased to go down to 2 GeV.
0070 #--- phi0 digitised relative to centre of sector. (Required range 2pi/18 + 2*overlap; overlap = 0.19206rads*(2GeV/ptCut)*(chosenR/67.24)
0071 
0072 TMTrackProducer.TrackDigi.KF_phi0Range = 2*0.6981317
0073 # FIX: To make this change in KF FW, change phi0 bit selection in DRstate.vhd to bits 17-6 (instead of 16-5).
0074 
0075 # MuxHToutputs sends all HT outputs for an entire nonant and 1 m-bin to a single output link.
0076 # This works for Pt > 3 GeV, gives truncation for Pt > 2 GeV. To solve, need to double number of outputs,
0077 # with one for each phi sector in nonant. Not yet implemented, so for now disable HT output truncation.
0078 TMTrackProducer.HTFillingRphi.BusySectorNumStubs = 999