CMS 3D CMS Logo

l1tVertexNTupler_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 l1tVertexNTupler = cms.EDAnalyzer('VertexNTupler',
4  inputDataInputTag = cms.InputTag("l1tInputDataProducer","InputData"),
5  genParticleInputTag = cms.InputTag("genParticles",""),
6  l1TracksInputTags = cms.VInputTag( cms.InputTag("l1tTTTracksFromTrackletEmulation", "Level1TTTracks") ),
7  l1TracksTruthMapInputTags = cms.VInputTag( cms.InputTag("TTTrackAssociatorFromPixelDigis", "Level1TTTracks") ),
8  l1TracksTPInputTags = cms.InputTag("l1tTPStubValueMapProducer:allMatchedTPs"),
9  l1TracksTPValueMapInputTags = cms.InputTag("l1tTPStubValueMapProducer:TPs"),
10  l1TracksBranchNames = cms.vstring('hybrid'),
11  l1VertexInputTags = cms.VInputTag( cms.InputTag("l1tVertexProducer", "L1Vertices") ),
12  l1VertexTrackInputs = cms.vstring('hybrid'),
13  l1VertexBranchNames = cms.vstring('fastHisto'),
14  emulationVertexInputTags = cms.VInputTag(),
15  emulationVertexBranchNames = cms.vstring(),
16  extraL1VertexInputTags = cms.VInputTag(),
17  extraL1VertexDescriptions = cms.vstring(),
18 
19  genJetsInputTag = cms.InputTag("ak4GenJetsNoNu"),
20 
21  #=== Cuts on MC truth particles (i.e., tracking particles) used for tracking efficiency measurements.
22  GenCuts = cms.PSet(
23  GenMinPt = cms.double(2.0),
24  GenMaxAbsEta = cms.double(2.4),
25  GenMaxVertR = cms.double(1.0), # Maximum distance of particle production vertex from centre of CMS.
26  GenMaxVertZ = cms.double(30.0),
27  GenPdgIds = cms.vuint32(), # Only particles with these PDG codes used for efficiency measurement.
28 
29 
30  # Additional cut on MC truth tracks used for algorithmic tracking efficiency measurements.
31  # You should usually set this equal to value of L1TrackDef.MinStubLayers below, unless L1TrackDef.MinPtToReduceLayers
32  # is < 10000, in which case, set it equal to (L1TrackDef.MinStubLayers - 1).
33  GenMinStubLayers = cms.uint32(4)
34  ),
35 
36 
37  #=== Rules for deciding when the track finding has found an L1 track candidate
38  L1TrackDef = cms.PSet(
39  UseLayerID = cms.bool(True),
40  # Reduce this layer ID, so that it takes no more than 8 different values in any eta region (simplifies firmware).
41  ReducedLayerID = cms.bool(True)
42  ),
43 
44  #=== Rules for deciding when a reconstructed L1 track matches a MC truth particle (i.e. tracking particle).
45  TrackMatchDef = cms.PSet(
46  #--- Three different ways to define if a tracking particle matches a reco track candidate. (Usually, set two of them to ultra loose).
47  # Min. fraction of matched stubs relative to number of stubs on reco track.
48  MinFracMatchStubsOnReco = cms.double(-99.),
49  # Min. fraction of matched stubs relative to number of stubs on tracking particle.
50  MinFracMatchStubsOnTP = cms.double(-99.),
51  # Min. number of matched layers.
52  MinNumMatchLayers = cms.uint32(4),
53  # Min. number of matched PS layers.
54  MinNumMatchPSLayers = cms.uint32(0),
55  # Associate stub to TP only if the TP contributed to both its clusters? (If False, then associate even if only one cluster was made by TP).
56  StubMatchStrict = cms.bool(False)
57  ),
58 
59 
60  # === Vertex Reconstruction configuration
61  VertexReconstruction = cms.PSet(
62  # Vertex Reconstruction Algorithm
63  Algorithm = cms.string("fastHisto"),
64  # Vertex distance [cm]
65  VertexDistance = cms.double(.15),
66  # Assumed Vertex Resolution [cm]
67  VertexResolution = cms.double(.10),
68  # Distance Type for agglomerative algorithm (0: MaxDistance, 1: MinDistance, 2: MeanDistance, 3: CentralDistance)
69  DistanceType = cms.uint32(0),
70  # Minimum number of tracks to accept vertex
71  MinTracks = cms.uint32(2),
72  # Compute the z0 position of the vertex with a mean weighted with track momenta
73  # 0 = unweighted
74  # 1 = pT weighted
75  # 2 = pT^2 weighted
76  WeightedMean = cms.uint32(1),
77  # Chi2 cut for the Adaptive Vertex Reconstruction Algorithm
78  AVR_chi2cut = cms.double(5.),
79  # Do track quality cuts in emulation algorithms
80  EM_DoQualityCuts = cms.bool(False),
81  # Track-stubs Pt compatibility cut
82  FH_DoPtComp = cms.bool(True),
83  # chi2dof < 5 for tracks with Pt > 10
84  FH_DoTightChi2 = cms.bool(False),
85  # fastHisto algorithm histogram parameters (min,max,width) [cm]
86  # TDR settings: [-14.95, 15.0, 0.1]
87  # L1TkPrimaryVertexProducer: [-30.0, 30.0, 0.09983361065]
88  # Firmware: [-14.4, 14.4, 0.4]
89  FH_HistogramParameters = cms.vdouble(-30.0, 30.0, 0.09983361065),
90  # The number of vertixes to return (i.e. N windows with the highest combined pT)
91  FH_NVtx = cms.uint32(10),
92  # fastHisto algorithm assumed vertex half-width [cm]
93  FH_VertexWidth = cms.double(.15),
94  # Window size of the sliding window
95  FH_WindowSize = cms.uint32(3),
96  # Kmeans number of iterations
97  KmeansIterations = cms.uint32(10),
98  # Kmeans number of clusters
99  KmeansNumClusters = cms.uint32(18),
100  # DBSCAN pt threshold
101  DBSCANPtThreshold = cms.double(4.),
102  # DBSCAN min density tracks
103  DBSCANMinDensityTracks = cms.uint32(2),
104  # Minimum pt of tracks used to create vertex [GeV]
105  VxMinTrackPt = cms.double(2.0),
106  # Maximum pt of tracks used to create vertex [GeV]
107  VxMaxTrackPt = cms.double(127.0),
108  # When the track pt > VxMaxTrackPt, how should the tracks be considered
109  # -1 = tracks are valid
110  # 0 = tracks are mismeasured and ignored/truncated
111  # 1 = tracks are mismeasured and saturate at VxMaxTrackPt
112  # Option '0' was used for the TDR, but '1' is used for the firmware
113  VxMaxTrackPtBehavior = cms.int32(1),
114  # Maximum chi2 of tracks used to create vertex
115  VxMaxTrackChi2 = cms.double(100.),
116  # Minimum number of stubs associated to a track
117  VxMinNStub = cms.uint32(4),
118  # Minimum number of stubs in PS modules associated to a track
119  VxMinNStubPS = cms.uint32(3),
120  ),
121 
122  # Debug printout
123  debug = cms.uint32(0),
124  printResults = cms.bool(False)
125 )