CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
fftjetproducer_cfi.py
Go to the documentation of this file.
1 import math
2 import FWCore.ParameterSet.Config as cms
3 
5 
6 # FFTJet jet producer configuration
7 fftjet_jet_maker = cms.EDProducer(
8  "FFTJetProducer",
9  #
10  # Label for the input clustering tree (must be sparse)
11  treeLabel = cms.InputTag("fftjetpatreco", "FFTJetPatternRecognition"),
12  #
13  # Do we have the complete event at the lowest clustering tree scale?
14  insertCompleteEvent = cms.bool(fftjet_insert_complete_event),
15  completeEventScale = cms.double(fftjet_complete_event_scale),
16  #
17  # The initial set of scales used by the pattern recognition stage.
18  # This is also the final set unless clustering tree construction
19  # is adaptive. Needed here for reading back non-adaptive trees.
20  InitialScales = fftjet_patreco_scales_50,
21  #
22  # Label for the produced objects
23  outputLabel = cms.string("MadeByFFTJet"),
24  #
25  # Label for the input collection of Candidate objects
26  src = cms.InputTag("towerMaker"),
27  #
28  # Type of the jets which will be produced (should be consistent with
29  # the input collection). Valid types are "BasicJet", "GenJet", "CaloJet",
30  # "PFJet", and "TrackJet". The algorithm might do different things
31  # depending on the type. In particular, vertex correction may be done
32  # for "CaloJet".
33  jetType = cms.string("CaloJet"),
34  #
35  # Perform vertex correction?
36  doPVCorrection = cms.bool(False),
37  #
38  # Label for the input collection of vertex objects. Meaningful
39  # only when "doPVCorrection" is True
40  srcPVs = cms.InputTag("offlinePrimaryVertices"),
41  #
42  # Anomalous calo tower definition (comes from RecoJets default)
43  anomalous = fftjet_anomalous_tower_default,
44  #
45  # Magnitude correction factors (used only with gridded algorithms)
46  etaDependentMagnutideFactors = cms.vdouble(),
47  #
48  # If a gridded algorithm is used, do we want to pick up the discretized
49  # energy flow grid from the event record?
50  reuseExistingGrid = cms.bool(False),
51  #
52  # If we do not reuse an existing grid, we need to provide
53  # the grid configuration
54  GridConfiguration = fftjet_grid_256_72,
55  #
56  # Maximum number of iterations allowed for the iterative jet
57  # fitting. One-shot method is used if this number is 0 or 1.
58  maxIterations = cms.uint32(1),
59  #
60  # Number of leading jets for which the iterative jet fitting must
61  # converge before iterations are declared successful. This parameter
62  # is not terribly meaningfule unless you know how many jets you expect
63  # to get.
64  nJetsRequiredToConverge = cms.uint32(10),
65  #
66  # The distance cutoff for the convergence. The distance between
67  # the jets on two subsequent iterations must be less than this
68  # cutoff in order to declare that the jet reconstruction has
69  # converged. The distance function is defined by the "jetDistanceCalc"
70  # parameter. Used only if "maxIterations" is larger than 1.
71  convergenceDistance = cms.double(0.001),
72  #
73  # Are we going to produce the set of constituents for each jet?
74  # If we are not doing this, the code will run faster.
75  assignConstituents = cms.bool(True),
76  #
77  # Are we going to resum constituents to calculate jet 4-vectors?
78  # This only makes sense when a gridded algorithm is used in the
79  # crisp 4-vector recombination mode to determine jet areas (note
80  # that "recombinationDataCutoff" parameter should be negative),
81  # and resumming is used to emulate vector algorithm recombination.
82  resumConstituents = cms.bool(False),
83  #
84  # Noise sigma parameter for the background functor (the interface
85  # to noise modeling is likely to be changed in the future)
86  noiseLevel = cms.double(0.15),
87  #
88  # Number of clusters requested. Works with both "locallyAdaptive"
89  # and "globallyAdaptive" resolution schemes.
90  nClustersRequested = cms.uint32(4),
91  #
92  # Maximum eta for gridded recombination algorithms. Grid cells
93  # with eta values ou t
94  gridScanMaxEta = cms.double(fftjet_standard_eta_range),
95  #
96  # Are we going to use gridded or vector algorithm? Vector algoritms
97  # are slightly more precise (no binning uncertainty introduced). However,
98  # jet-by-jet jet areas can be calculated only by gridded algorithms.
99  useGriddedAlgorithm = cms.bool(False),
100  #
101  # The recombination algorithm used. For vector algorithms, possible
102  # specifications are:
103  # "Kernel" -- use 4-vector recombination scheme
104  # "EtCentroid" -- use Et centroid (or "original Snowmass") scheme
105  # "EtSum" -- set the jet direction to the precluster direction
106  # For gridded algorithms additional specifications are available:
107  # "FasterKernel", "FasterEtCentroid", and "FasterEtSum". See the
108  # comments in the "FasterKernelRecombinationAlg.hh" header of the
109  # FFTJet package for limitations of those faster algorithms.
110  recombinationAlgorithm = cms.string("Kernel"),
111  #
112  # Are we going to utilize crisp or fuzzy clustering?
113  isCrisp = cms.bool(True),
114  #
115  # A parameter which defines when we will attempt to split the energy
116  # of a calorimeter cell if it is unlikely to belong to any jet and
117  # to the noise. Works with Et-dependent membership functions only.
118  # The default value of 0 means don't split, just assign this energy
119  # deposition to the unclustered energy.
120  unlikelyBgWeight = cms.double(0.0),
121  #
122  # The data cutoff for the gridded algorithms. Set this cutoff
123  # to some negative number if you want to calculate jet areas.
124  # Set it to 0 or some positive number if you want to improve
125  # the code speed.
126  recombinationDataCutoff = cms.double(0.0),
127  #
128  # The built-in precluster selection for subsequent jet reconstruction
129  # can be performed according to the following schemes which, basically,
130  # describe how the resolution of the Gaussian filter is chosen:
131  # "fixed" -- use the same user-selected resolution across
132  # the whole eta-phi space
133  # "maximallyStable" -- pick up a single resolution according to
134  # a jet configuration stability criterion
135  # "globallyAdaptive" -- pick up a single resolution which gives
136  # a desired number of jets
137  # "locallyAdaptive" -- use different resolutions in different parts
138  # of the eta-phi space in order to maximize
139  # a certain optimization criterion
140  resolution = cms.string("fixed"),
141  #
142  # Scale parameter for the "fixed" and "locallyAdaptive" resolution schemes
143  fixedScale = cms.double(0.15),
144  #
145  # Minimum and maximum stable scales for the "maximallyStable"
146  # resolution scheme. Value of 0 means there is no limit, and
147  # all scales in the clustering tree are considered.
148  minStableScale = cms.double(0.0),
149  maxStableScale = cms.double(0.0),
150  #
151  # Stability exponent for the "maximallyStable" resolution scheme
152  stabilityAlpha = cms.double(0.5),
153  #
154  # The precluster discriminator which works together with the
155  # resolution selection scheme
156  PeakSelectorConfiguration = cms.PSet(
157  Class = cms.string("SimplePeakSelector"),
158  magCut = cms.double(0.1),
159  driftSpeedCut = cms.double(1.0e100),
160  magSpeedCut = cms.double(-1.0e100),
161  lifeTimeCut = cms.double(-1.0e100),
162  NNDCut = cms.double(-1.0e100),
163  etaCut = cms.double(1.0e100)
164  ),
165  #
166  # The jet membership function
167  jetMembershipFunction = fftjet_jet_membership_cone,
168  #
169  # The noise membership function
170  bgMembershipFunction = fftjet_noise_membership_smallconst,
171  #
172  # The recombination scale function
173  recoScaleCalcPeak = cms.PSet(
174  Class = cms.string("ConstDouble"),
175  value = cms.double(0.5)
176  ),
177  #
178  # The function which calculates eta-to-phi bandwidth ratio
179  # for the jet membership function. If the ratio is set to 0,
180  # the "setScaleRatio" membership function method will never
181  # be called, and the default ratio built into the membership
182  # functionwill be used instead.
183  recoScaleRatioCalcPeak = fftjet_peakfunctor_const_zero,
184  #
185  # The function which calculates the factor to be multiplied by
186  # the membership function
187  memberFactorCalcPeak = fftjet_peakfunctor_const_one
188  #
189  # The following parameters must be specified if "maxIterations" value
190  # is larger than 1. They are used in the iterative mode only.
191  # recoScaleCalcJet = ,
192  # recoScaleRatioCalcJet = ,
193  # memberFactorCalcJet = ,
194  # jetDistanceCalc = ,
195 )