CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/RecoJets/FFTJetProducers/python/fftjetproducer_cfi.py

Go to the documentation of this file.
00001 import math
00002 import FWCore.ParameterSet.Config as cms
00003 
00004 from RecoJets.FFTJetProducers.fftjetcommon_cfi import *
00005 
00006 # FFTJet jet producer configuration
00007 fftjet_jet_maker = cms.EDProducer(
00008     "FFTJetProducer",
00009     #
00010     # Label for the input clustering tree (must be sparse)
00011     treeLabel = cms.InputTag("fftjetpatreco", "FFTJetPatternRecognition"),
00012     #
00013     # Do we have the complete event at the lowest clustering tree scale?
00014     insertCompleteEvent = cms.bool(fftjet_insert_complete_event),
00015     completeEventScale = cms.double(fftjet_complete_event_scale),
00016     #
00017     # The initial set of scales used by the pattern recognition stage.
00018     # This is also the final set unless clustering tree construction
00019     # is adaptive. Needed here for reading back non-adaptive trees.
00020     InitialScales = fftjet_patreco_scales_50,
00021     #
00022     # Label for the produced objects
00023     outputLabel = cms.string("MadeByFFTJet"),
00024     #
00025     # Label for the input collection of Candidate objects
00026     src = cms.InputTag("towerMaker"),
00027     #
00028     # Type of the jets which will be produced (should be consistent with
00029     # the input collection). Valid types are "BasicJet", "GenJet", "CaloJet",
00030     # "PFJet", and "TrackJet". The algorithm might do different things
00031     # depending on the type. In particular, vertex correction may be done
00032     # for "CaloJet".
00033     jetType = cms.string("CaloJet"),
00034     #
00035     # Perform vertex correction?
00036     doPVCorrection = cms.bool(False),
00037     #
00038     # Label for the input collection of vertex objects. Meaningful
00039     # only when "doPVCorrection" is True
00040     srcPVs = cms.InputTag("offlinePrimaryVertices"),
00041     #
00042     # Anomalous calo tower definition (comes from RecoJets default)
00043     anomalous = fftjet_anomalous_tower_default,
00044     #
00045     # Magnitude correction factors (used only with gridded algorithms)
00046     etaDependentMagnutideFactors = cms.vdouble(),
00047     #
00048     # If a gridded algorithm is used, do we want to pick up the discretized
00049     # energy flow grid from the event record?
00050     reuseExistingGrid = cms.bool(False),
00051     #
00052     # If we do not reuse an existing grid, we need to provide
00053     # the grid configuration
00054     GridConfiguration = fftjet_grid_256_72,
00055     #
00056     # Maximum number of iterations allowed for the iterative jet
00057     # fitting. One-shot method is used if this number is 0 or 1.
00058     maxIterations = cms.uint32(1),
00059     #
00060     # Number of leading jets for which the iterative jet fitting must
00061     # converge before iterations are declared successful. This parameter
00062     # is not terribly meaningfule unless you know how many jets you expect
00063     # to get.
00064     nJetsRequiredToConverge = cms.uint32(10),
00065     #
00066     # The distance cutoff for the convergence. The distance between
00067     # the jets on two subsequent iterations must be less than this
00068     # cutoff in order to declare that the jet reconstruction has
00069     # converged. The distance function is defined by the "jetDistanceCalc"
00070     # parameter. Used only if "maxIterations" is larger than 1.
00071     convergenceDistance = cms.double(0.001),
00072     #
00073     # Are we going to produce the set of constituents for each jet?
00074     # If we are not doing this, the code will run faster.
00075     assignConstituents = cms.bool(True),
00076     #
00077     # Are we going to resum constituents to calculate jet 4-vectors?
00078     # This only makes sense when a gridded algorithm is used in the
00079     # crisp 4-vector recombination mode to determine jet areas (note
00080     # that "recombinationDataCutoff" parameter should be negative),
00081     # and resumming is used to emulate vector algorithm recombination.
00082     resumConstituents = cms.bool(False),
00083     #
00084     # Noise sigma parameter for the background functor (the interface
00085     # to noise modeling is likely to be changed in the future)
00086     noiseLevel = cms.double(0.15),
00087     #
00088     # Number of clusters requested. Works with both "locallyAdaptive"
00089     # and "globallyAdaptive" resolution schemes.
00090     nClustersRequested = cms.uint32(4),
00091     #
00092     # Maximum eta for gridded recombination algorithms. Grid cells
00093     # with eta values ou t
00094     gridScanMaxEta = cms.double(fftjet_standard_eta_range),
00095     #
00096     # Are we going to use gridded or vector algorithm? Vector algoritms
00097     # are slightly more precise (no binning uncertainty introduced). However,
00098     # jet-by-jet jet areas can be calculated only by gridded algorithms.
00099     useGriddedAlgorithm = cms.bool(False),
00100     #
00101     # The recombination algorithm used. For vector algorithms, possible
00102     # specifications are:
00103     #   "Kernel"     -- use 4-vector recombination scheme
00104     #   "EtCentroid" -- use Et centroid (or "original Snowmass") scheme
00105     #   "EtSum"      -- set the jet direction to the precluster direction
00106     # For gridded algorithms additional specifications are available:
00107     # "FasterKernel", "FasterEtCentroid", and "FasterEtSum". See the
00108     # comments in the "FasterKernelRecombinationAlg.hh" header of the
00109     # FFTJet package for limitations of those faster algorithms.
00110     recombinationAlgorithm = cms.string("Kernel"),
00111     #
00112     # Are we going to utilize crisp or fuzzy clustering?
00113     isCrisp = cms.bool(True),
00114     #
00115     # A parameter which defines when we will attempt to split the energy
00116     # of a calorimeter cell if it is unlikely to belong to any jet and
00117     # to the noise. Works with Et-dependent membership functions only.
00118     # The default value of 0 means don't split, just assign this energy
00119     # deposition to the unclustered energy.
00120     unlikelyBgWeight = cms.double(0.0),
00121     #
00122     # The data cutoff for the gridded algorithms. Set this cutoff
00123     # to some negative number if you want to calculate jet areas.
00124     # Set it to 0 or some positive number if you want to improve
00125     # the code speed.
00126     recombinationDataCutoff = cms.double(0.0),
00127     #
00128     # The built-in precluster selection for subsequent jet reconstruction
00129     # can be performed according to the following schemes which, basically,
00130     # describe how the resolution of the Gaussian filter is chosen:
00131     #  "fixed"            -- use the same user-selected resolution across
00132     #                        the whole eta-phi space
00133     #  "maximallyStable"  -- pick up a single resolution according to
00134     #                        a jet configuration stability criterion
00135     #  "globallyAdaptive" -- pick up a single resolution which gives
00136     #                        a desired number of jets
00137     #  "locallyAdaptive"  -- use different resolutions in different parts
00138     #                        of the eta-phi space in order to maximize
00139     #                        a certain optimization criterion
00140     resolution = cms.string("fixed"),
00141     #
00142     # Scale parameter for the "fixed" and "locallyAdaptive" resolution schemes
00143     fixedScale = cms.double(0.15),
00144     #
00145     # Minimum and maximum stable scales for the "maximallyStable"
00146     # resolution scheme. Value of 0 means there is no limit, and
00147     # all scales in the clustering tree are considered.
00148     minStableScale = cms.double(0.0),
00149     maxStableScale = cms.double(0.0),
00150     #
00151     # Stability exponent for the "maximallyStable" resolution scheme
00152     stabilityAlpha = cms.double(0.5),
00153     #
00154     # The precluster discriminator which works together with the
00155     # resolution selection scheme
00156     PeakSelectorConfiguration = cms.PSet(
00157         Class = cms.string("SimplePeakSelector"),
00158         magCut = cms.double(0.1),
00159         driftSpeedCut = cms.double(1.0e100),
00160         magSpeedCut = cms.double(-1.0e100),
00161         lifeTimeCut = cms.double(-1.0e100),
00162         NNDCut = cms.double(-1.0e100),
00163         etaCut = cms.double(1.0e100)
00164     ),
00165     #
00166     # The jet membership function
00167     jetMembershipFunction = fftjet_jet_membership_cone,
00168     #
00169     # The noise membership function
00170     bgMembershipFunction = fftjet_noise_membership_smallconst,
00171     #
00172     # The recombination scale function
00173     recoScaleCalcPeak = cms.PSet(
00174         Class = cms.string("ConstDouble"),
00175         value = cms.double(0.5)
00176     ),
00177     #
00178     # The function which calculates eta-to-phi bandwidth ratio
00179     # for the jet membership function. If the ratio is set to 0,
00180     # the "setScaleRatio" membership function method will never
00181     # be called, and the default ratio built into the membership
00182     # functionwill be used instead.
00183     recoScaleRatioCalcPeak = fftjet_peakfunctor_const_zero,
00184     #
00185     # The function which calculates the factor to be multiplied by
00186     # the membership function
00187     memberFactorCalcPeak = fftjet_peakfunctor_const_one
00188     #
00189     # The following parameters must be specified if "maxIterations" value
00190     # is larger than 1. They are used in the iterative mode only.
00191     #  recoScaleCalcJet = ,
00192     #  recoScaleRatioCalcJet = ,
00193     #  memberFactorCalcJet = ,
00194     #  jetDistanceCalc = ,
00195 )