CMS 3D CMS Logo

fftjetpatrecoproducer_cfi.py
Go to the documentation of this file.
1 import math
2 import FWCore.ParameterSet.Config as cms
3 
5 
6 # FFTJet pattern recognition module configuration
7 fftjetPatrecoProducer = cms.EDProducer(
8  "FFTJetPatRecoProducer",
9  #
10  # The main eta and phi scale factors for the pattern recognition kernel
11  kernelEtaScale = cms.double(math.sqrt(1.0/fftjet_phi_to_eta_bw_ratio)),
12  kernelPhiScale = cms.double(math.sqrt(fftjet_phi_to_eta_bw_ratio)),
13  #
14  # Make the clustering trees? If you do not make the trees,
15  # you should at least turn on the "storeDiscretizationGrid"
16  # flag, otherwise this module will not produce anything at all.
17  makeClusteringTree = cms.bool(True),
18  #
19  # Verify data conversion? For trees, this is only meaningful with
20  # double precision storage. Grids, however, will always be verified
21  # if this flag is set.
22  verifyDataConversion = cms.untracked.bool(False),
23  #
24  # Are we going to produce sparse or full clustering trees
25  sparsify = cms.bool(True),
26  #
27  # Are we going to store the discretized energy flow?
28  storeDiscretizationGrid = cms.bool(False),
29  #
30  # Are we going to dump discretized energy flow into an external file?
31  # Empty file name means "no".
32  externalGridFile = cms.string(""),
33  #
34  # Configuration for the preliminary peak finder.
35  # Its main purpose is to reject peaks produced by the FFT round-off noise.
36  peakFinderMaxEta = cms.double(fftjet_standard_eta_range),
37  peakFinderMaxMagnitude = cms.double(1.e-8),
38  #
39  # Attempt to correct the jet finding efficiency near detector eta limits?
40  fixEfficiency = cms.bool(False),
41  #
42  # Minimum and maximum eta bin number for 1d convolver. Also used
43  # to indicate detector limits for 2d convolvers in case "fixEfficiency"
44  # is True.
45  convolverMinBin = cms.uint32(0),
46  convolverMaxBin = cms.uint32(fftjet_large_int),
47  #
48  # Insert complete event at the end when the clustering tree is constructed?
49  insertCompleteEvent = cms.bool(fftjet_insert_complete_event),
50  #
51  # The scale variable for the complete event. Should be smaller than
52  # any other pattern recognition scale but not too small so that the
53  # tree can be nicely visualized in the ln(scale) space.
54  completeEventScale = cms.double(fftjet_complete_event_scale),
55  #
56  # The grid data cutoff for the complete event
57  completeEventDataCutoff = cms.double(0.0),
58  #
59  # Label for the produced objects
60  outputLabel = cms.string("FFTJetPatternRecognition"),
61  #
62  # Label for the input collection of Candidate objects
63  src = cms.InputTag("towerMaker"),
64  #
65  # Label for the jets which will be produced. The algorithm might do
66  # different things depending on the type. In particular, vertex
67  # correction may be done for "CaloJet"
68  jetType = cms.string("CaloJet"),
69  #
70  # Perform vertex correction?
71  doPVCorrection = cms.bool(False),
72  #
73  # Label for the input collection of vertex objects. Meaningful
74  # only when "doPVCorrection" is True
75  srcPVs = cms.InputTag("offlinePrimaryVertices"),
76  #
77  # Are we going to perform adaptive clustering? Setting the maximum
78  # number of adaptive scales to 0 turns adaptive clustering off.
79  maxAdaptiveScales = cms.uint32(0),
80  #
81  # Minimum distance between the scales (in the ln(scale) space)
82  # for adaptive clustering. Meaningful only when the "maxAdaptiveScales"
83  # parameter is not 0.
84  minAdaptiveRatioLog = cms.double(0.01),
85  #
86  # Eta-dependent scale factors for the sequential 1d convolver.
87  # If this vector is empty, 2d convolver will be used.
88  etaDependentScaleFactors = cms.vdouble(),
89  #
90  # Eta-dependent magnitude factors for the data. These can be used
91  # to correct for various things (including the eta-dependent scale
92  # factors above).
93  etaDependentMagnutideFactors = cms.vdouble(),
94  #
95  # Configuration for the energy discretization grid
96  GridConfiguration = fftjet_grid_256_128,
97  #
98  # Configuration for the peak selector determining which peaks
99  # are kept when the clustering tree is constructed
100  PeakSelectorConfiguration = fftjet_peak_selector_allpass,
101  #
102  # The initial set of scales used by the pattern recognition stage.
103  # This is also the final set unless clustering tree construction
104  # is adaptive.
105  InitialScales = fftjet_patreco_scales_50,
106  #
107  # Configuration for the clustering tree sparsification.
108  #
109  # Do not write the last tree level (the complete event) into the sparse
110  # tree. This is done by setting the "maxLevelNumber" parameter to -1
111  # in which case the counting for the max level is performed backwards
112  # from the last level. Counting backwards is especially useful in the
113  # adaptive clustering mode when the number of clustering tree levels
114  # is not known in advance.
115  SparsifierConfiguration = cms.PSet(
116  maxLevelNumber = cms.int32(-1),
117  filterMask = cms.uint32(fftjet_large_int),
118  userScales = cms.vdouble()
119  ),
120  #
121  # Clustering tree distance functor
122  TreeDistanceCalculator = fftjet_fixed_bandwidth_distance,
123  #
124  # Anomalous calo tower definition (comes from JetProducers default)
125  anomalous = fftjet_anomalous_tower_default
126 )