CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 fftjet_patreco_producer = 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  # Configuration for the preliminary peak finder.
31  # Its main purpose is to reject peaks produced by the FFT round-off noise.
32  peakFinderMaxEta = cms.double(fftjet_standard_eta_range),
33  peakFinderMaxMagnitude = cms.double(1.e-8),
34  #
35  # Attempt to correct the jet finding efficiency near detector eta limits?
36  fixEfficiency = cms.bool(False),
37  #
38  # Minimum and maximum eta bin number for 1d convolver. Also used
39  # to indicate detector limits for 2d convolvers in case "fixEfficiency"
40  # is True.
41  convolverMinBin = cms.uint32(0),
42  convolverMaxBin = cms.uint32(fftjet_large_int),
43  #
44  # Insert complete event at the end when the clustering tree is constructed?
45  insertCompleteEvent = cms.bool(fftjet_insert_complete_event),
46  #
47  # The scale variable for the complete event. Should be smaller than
48  # any other pattern recognition scale but not too small so that the
49  # tree can be nicely visualized in the ln(scale) space.
50  completeEventScale = cms.double(fftjet_complete_event_scale),
51  #
52  # The grid data cutoff for the complete event
53  completeEventDataCutoff = cms.double(0.0),
54  #
55  # Label for the produced objects
56  outputLabel = cms.string("FFTJetPatternRecognition"),
57  #
58  # Label for the input collection of Candidate objects
59  src = cms.InputTag("towerMaker"),
60  #
61  # Label for the jets which will be produced. The algorithm might do
62  # different things depending on the type. In particular, vertex
63  # correction may be done for "CaloJet"
64  jetType = cms.string("CaloJet"),
65  #
66  # Perform vertex correction?
67  doPVCorrection = cms.bool(False),
68  #
69  # Label for the input collection of vertex objects. Meaningful
70  # only when "doPVCorrection" is True
71  srcPVs = cms.InputTag("offlinePrimaryVertices"),
72  #
73  # Are we going to perform adaptive clustering? Setting the maximum
74  # number of adaptive scales to 0 turns adaptive clustering off.
75  maxAdaptiveScales = cms.uint32(0),
76  #
77  # Minimum distance between the scales (in the ln(scale) space)
78  # for adaptive clustering. Meaningful only when the "maxAdaptiveScales"
79  # parameter is not 0.
80  minAdaptiveRatioLog = cms.double(0.01),
81  #
82  # Eta-dependent scale factors for the sequential 1d convolver.
83  # If this vector is empty, 2d convolver will be used.
84  etaDependentScaleFactors = cms.vdouble(),
85  #
86  # Eta-dependent magnitude factors for the data. These can be used
87  # to correct for various things (including the eta-dependent scale
88  # factors above).
89  etaDependentMagnutideFactors = cms.vdouble(),
90  #
91  # Configuration for the energy discretization grid
92  GridConfiguration = fftjet_grid_256_72,
93  #
94  # Configuration for the peak selector determining which peaks
95  # are kept when the clustering tree is constructed
96  PeakSelectorConfiguration = fftjet_peak_selector_allpass,
97  #
98  # The initial set of scales used by the pattern recognition stage.
99  # This is also the final set unless clustering tree construction
100  # is adaptive.
101  InitialScales = fftjet_patreco_scales_50,
102  #
103  # Configuration for the clustering tree sparsification.
104  #
105  # Do not write the last tree level (the complete event) into the sparse
106  # tree. This is done by setting the "maxLevelNumber" parameter to -1
107  # in which case the counting for the max level is performed backwards
108  # from the last level. Counting backwards is especially useful in the
109  # adaptive clustering mode when the number of clustering tree levels
110  # is not known in advance.
111  SparsifierConfiguration = cms.PSet(
112  maxLevelNumber = cms.int32(-1),
113  filterMask = cms.uint32(fftjet_large_int),
114  userScales = cms.vdouble()
115  ),
116  #
117  # Clustering tree distance functor
118  TreeDistanceCalculator = fftjet_fixed_bandwidth_distance,
119  #
120  # Anomalous calo tower definition (comes from JetProducers default)
121  anomalous = fftjet_anomalous_tower_default
122 )