Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:23

0001 import math
0002 import FWCore.ParameterSet.Config as cms
0003 
0004 from RecoJets.FFTJetProducers.fftjetcommon_cfi import *
0005 
0006 # FFTJet pattern recognition module configuration
0007 fftjetPatrecoProducer = cms.EDProducer(
0008     "FFTJetPatRecoProducer",
0009     #
0010     # The main eta and phi scale factors for the pattern recognition kernel
0011     kernelEtaScale = cms.double(math.sqrt(1.0/fftjet_phi_to_eta_bw_ratio)),
0012     kernelPhiScale = cms.double(math.sqrt(fftjet_phi_to_eta_bw_ratio)),
0013     #
0014     # Make the clustering trees? If you do not make the trees,
0015     # you should at least turn on the "storeDiscretizationGrid"
0016     # flag, otherwise this module will not produce anything at all.
0017     makeClusteringTree = cms.bool(True),
0018     #
0019     # Verify data conversion? For trees, this is only meaningful with
0020     # double precision storage. Grids, however, will always be verified
0021     # if this flag is set.
0022     verifyDataConversion = cms.untracked.bool(False),
0023     #
0024     # Are we going to produce sparse or full clustering trees
0025     sparsify = cms.bool(True),
0026     #
0027     # Are we going to store the discretized energy flow?
0028     storeDiscretizationGrid = cms.bool(False),
0029     #
0030     # Are we going to dump discretized energy flow into an external file?
0031     # Empty file name means "no".
0032     externalGridFile = cms.string(""),
0033     #
0034     # Configuration for the preliminary peak finder.
0035     # Its main purpose is to reject peaks produced by the FFT round-off noise.
0036     peakFinderMaxEta = cms.double(fftjet_standard_eta_range),
0037     peakFinderMaxMagnitude = cms.double(1.e-8),
0038     #
0039     # Attempt to correct the jet finding efficiency near detector eta limits?
0040     fixEfficiency = cms.bool(False),
0041     #
0042     # Minimum and maximum eta bin number for 1d convolver. Also used
0043     # to indicate detector limits for 2d convolvers in case "fixEfficiency"
0044     # is True.
0045     convolverMinBin = cms.uint32(0),
0046     convolverMaxBin = cms.uint32(fftjet_large_int),
0047     #
0048     # Insert complete event at the end when the clustering tree is constructed?
0049     insertCompleteEvent = cms.bool(fftjet_insert_complete_event),
0050     #
0051     # The scale variable for the complete event. Should be smaller than
0052     # any other pattern recognition scale but not too small so that the
0053     # tree can be nicely visualized in the ln(scale) space.
0054     completeEventScale = cms.double(fftjet_complete_event_scale),
0055     #
0056     # The grid data cutoff for the complete event
0057     completeEventDataCutoff = cms.double(0.0),
0058     #
0059     # Label for the produced objects
0060     outputLabel = cms.string("FFTJetPatternRecognition"),
0061     #
0062     # Label for the input collection of Candidate objects
0063     src = cms.InputTag("towerMaker"),
0064     #
0065     # Label for the jets which will be produced. The algorithm might do
0066     # different things depending on the type. In particular, vertex
0067     # correction may be done for "CaloJet"
0068     jetType = cms.string("CaloJet"),
0069     #
0070     # Perform vertex correction?
0071     doPVCorrection = cms.bool(False),
0072     #
0073     # Label for the input collection of vertex objects. Meaningful
0074     # only when "doPVCorrection" is True
0075     srcPVs = cms.InputTag("offlinePrimaryVertices"),
0076     #
0077     # Are we going to perform adaptive clustering? Setting the maximum
0078     # number of adaptive scales to 0 turns adaptive clustering off.
0079     maxAdaptiveScales = cms.uint32(0),
0080     #
0081     # Minimum distance between the scales (in the ln(scale) space)
0082     # for adaptive clustering. Meaningful only when the "maxAdaptiveScales"
0083     # parameter is not 0.
0084     minAdaptiveRatioLog = cms.double(0.01),
0085     #
0086     # Eta-dependent scale factors for the sequential 1d convolver.
0087     # If this vector is empty, 2d convolver will be used.
0088     etaDependentScaleFactors = cms.vdouble(),
0089     #
0090     # Eta-dependent magnitude factors for the data. These can be used
0091     # to correct for various things (including the eta-dependent scale
0092     # factors above).
0093     etaDependentMagnutideFactors = cms.vdouble(),
0094     #
0095     # Configuration for the energy discretization grid
0096     GridConfiguration = fftjet_grid_256_128,
0097     #
0098     # Configuration for the peak selector determining which peaks
0099     # are kept when the clustering tree is constructed
0100     PeakSelectorConfiguration = fftjet_peak_selector_allpass,
0101     #
0102     # The initial set of scales used by the pattern recognition stage.
0103     # This is also the final set unless clustering tree construction
0104     # is adaptive.
0105     InitialScales = fftjet_patreco_scales_50,
0106     #
0107     # Configuration for the clustering tree sparsification.
0108     # 
0109     # Do not write the last tree level (the complete event) into the sparse
0110     # tree. This is done by setting the "maxLevelNumber" parameter to -1
0111     # in which case the counting for the max level is performed backwards
0112     # from the last level. Counting backwards is especially useful in the
0113     # adaptive clustering mode when the number of clustering tree levels
0114     # is not known in advance.
0115     SparsifierConfiguration = cms.PSet(
0116         maxLevelNumber = cms.int32(-1),
0117         filterMask = cms.uint32(fftjet_large_int),
0118         userScales = cms.vdouble()
0119     ),
0120     #
0121     # Clustering tree distance functor
0122     TreeDistanceCalculator = fftjet_fixed_bandwidth_distance,
0123     #
0124     # Anomalous calo tower definition (comes from JetProducers default)
0125     anomalous = fftjet_anomalous_tower_default
0126 )