00001 00002 import FWCore.ParameterSet.Config as cms 00003 00004 # main configuration for LaserAlignment reconstruction module 00005 00006 00007 LaserAlignment = cms.EDProducer( "LaserAlignment", 00008 00009 ### USER OPTIONS: 00010 00011 # create a plain ROOT file containing the collected profile histograms? 00012 SaveHistograms = cms.untracked.bool( False ), 00013 ROOTFileName = cms.untracked.string( 'LAS.histos.root' ), 00014 ROOTFileCompression = cms.untracked.int32( 1 ), 00015 00016 # list of digi producers 00017 DigiProducersList = cms.VPSet( 00018 cms.PSet( 00019 DigiLabel = cms.string( '\0' ), 00020 DigiProducer = cms.string( 'siStripDigis' ), 00021 DigiType = cms.string( 'Raw' ) 00022 ) 00023 ), 00024 00025 # the LASPeakFinder object will look for signals with peak amplitudes 00026 # higher than: PeakFinderThreshold * <noiseLevel>, 00027 # where <noiseLevel> is calculated from strips outside the "Alignment hole" 00028 PeakFinderThreshold = cms.untracked.double( 10 ), 00029 00030 # enable the zero (empty profile) filter in the LASProfileJudge, so profiles without signal are rejected. 00031 # might want to disable this for simulated data with typically low signal level on the last disks 00032 EnableJudgeZeroFilter = cms.untracked.bool( True ), 00033 00034 # set the threshold above which the LASProfileJudge considers a profile to be overdriven (processed digis only). 00035 # this threshold is applied to the maximum strip ampitude in the "Alignment hole" 00036 JudgeOverdriveThreshold = cms.untracked.uint32( 220 ), 00037 00038 # if this is set to True, the geometry update is reversely applied to the input geometry (not to IDEAL). 00039 # should be set false only for geometry comparison purposes with MC (see TkLasCMSSW Twiki for more details) 00040 UpdateFromInputGeometry = cms.untracked.bool( False ), 00041 00042 # if this is set to True, the LASGeometryUpdater object will assume that any misalignment is introduced 00043 # by the input geometry, rather than by (real) deviations of the local laser hits. 00044 # this is e.g. the case for simulated data where digis are always created at their nominal positions. 00045 MisalignedByRefGeometry = cms.untracked.bool( False ), 00046 00047 # whether to create an sqlite file with a TrackerAlignmentRcd + error 00048 SaveToDbase = cms.untracked.bool( True ), 00049 00050 # do pedestal subtraction for raw digis. DISABLE THIS for simulated or zero suppressed data 00051 SubtractPedestals = cms.untracked.bool( False ), 00052 00053 # if true run the MINUIT based AT algorithm rather than the analytical one 00054 RunMinuitAlignmentTubeAlgorithm = cms.untracked.bool( False ), 00055 00056 # apply beam kink corrections 00057 ApplyBeamKinkCorrections = cms.untracked.bool( True ), 00058 00059 # detIDs of modules in the TECs (internal beams only!) which should not be considered 00060 # by the TEC algorithm can be specified here 00061 MaskTECModules = cms.untracked.vuint32(), 00062 00063 # detIDs of modules along the Alignment tube beams which should not be considered 00064 # by the AT algorithm can be specified here 00065 MaskATModules = cms.untracked.vuint32(), 00066 00067 ### TESTING OPTIONS (EXPERTS ONLY): 00068 00069 # override LASPeakFinder results and set hit strip numbers to nominal 00070 ForceFitterToNominalStrips = cms.untracked.bool( False ), # NOT YET IN USE 00071 00072 00073 ### STANDARD OPTIONS (DO NOT EDIT) 00074 00075 # various LAS constants read from LaserAlignmentConstants_cff 00076 LaserAlignmentConstants = cms.untracked.VPSet() 00077 00078 00079 ) 00080 00081 from Alignment.LaserAlignment.LaserAlignmentConstants_cff import * 00082 LaserAlignment.LaserAlignmentConstants.extend( LaserAlignmentConstants )