Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:47:07

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 process = cms.Process("ProdTPGParam")
0004 
0005 # Calo geometry service model
0006 process.load("Geometry.CaloEventSetup.CaloGeometry_cfi")
0007 process.load("Geometry.CaloEventSetup.EcalTrigTowerConstituents_cfi")
0008 process.load("Geometry.CMSCommonData.cmsIdealGeometryXML_cfi")
0009 
0010 # ecal mapping
0011 process.load("Geometry.EcalMapping.EcalMapping_cfi")
0012 process.eegeom = cms.ESSource("EmptyESSource",
0013     recordName = cms.string('EcalMappingRcd'),
0014     iovIsRunNotTime = cms.bool(True),
0015     firstValid = cms.vuint32(1)
0016 )
0017 
0018 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0019 #process.GlobalTag.globaltag = 'GR_H_V14::All'
0020 process.GlobalTag.globaltag = 'GR10_P_V12::All'
0021 
0022 # Get hardcoded conditions the same used for standard digitization before CMSSW_3_1_x
0023 ## process.load("CalibCalorimetry.EcalTrivialCondModules.EcalTrivialCondRetriever_cfi")
0024 # or Get DB parameters 
0025 # process.load('Configuration/StandardSequences/FrontierConditions_GlobalTag_cff')
0026 # process.GlobalTag.globaltag = "GR09_31X_V2H::All"
0027 process.load("CondCore.DBCommon.CondDBCommon_cfi")
0028 process.CondDBCommon.connect = 'oracle://cms_orcon_prod/CMS_COND_31X_ECAL' ##P5 stuff
0029 #process.CondDBCommon.connect = 'oracle://cms_orcoff_prod/CMS_COND_31X_ECAL' ##lxplus
0030 process.CondDBCommon.DBParameters.authenticationPath = '/nfshome0/popcondev/conddb' ###P5 stuff
0031 #process.CondDBCommon.DBParameters.authenticationPath = '/afs/cern.ch/cms/DB/conddb' ##lxplus
0032 
0033 #########################
0034 process.source = cms.Source("EmptySource",
0035        firstRun = cms.untracked.uint32(100000000) ### need to use latest run to pick-up update values from DB 
0036 )
0037 
0038 
0039 process.maxEvents = cms.untracked.PSet(
0040     input = cms.untracked.int32(1)
0041 )
0042 
0043 ##process.TPGParamProducer = cms.EDFilter("EcalTPGParamBuilder",
0044 process.TPGParamProducer = cms.EDAnalyzer("EcalTPGParamBuilder",
0045 
0046     #### inputs/ouputs control ####
0047     writeToDB  = cms.bool(False),
0048     allowDBEE  = cms.bool(True),
0049 
0050     DBsid   = cms.string('cms_omds_lb'), ## real DB 
0051     ##DBsid   = cms.string('int2r'), ## test DB
0052     ## P5 online DB
0053     DBuser  = cms.string('cms_ecal_conf'),
0054     DBpass  = cms.string('0r4cms_3c4lc0nf'),
0055     ## test DB
0056     ##DBuser  = cms.string('cms_ecal_conf_test'),
0057     ##DBpass  = cms.string('0r4cms_3c4l'),
0058     DBport  = cms.uint32(10121),
0059 
0060     TPGWritePed = cms.uint32(1),
0061     TPGWriteLin = cms.uint32(1),
0062     TPGWriteSli = cms.uint32(1),
0063     TPGWriteWei = cms.uint32(1),
0064     TPGWriteLut = cms.uint32(1),
0065     TPGWriteFgr = cms.uint32(1),
0066     TPGWriteSpi = cms.uint32(1),
0067     TPGWriteDel = cms.uint32(1),
0068     TPGWriteBxt = cms.uint32(0),
0069     TPGWriteBtt = cms.uint32(0), #do not change
0070 
0071     writeToFiles = cms.bool(True),
0072     outFile = cms.string('TPG_beamv5.txt'), #modif
0073    #### TPG config tag and version (if not given it will be automatically given ) ####
0074     TPGtag = cms.string('BEAMV5'),
0075     TPGversion = cms.uint32(1),
0076                                         
0077    #### TPG calculation parameters ####
0078     useTransverseEnergy = cms.bool(True),    ## true when TPG computes transverse energy, false for energy
0079     Et_sat_EB = cms.double(128.0),            ## Saturation value (in GeV) of the TPG before the compressed-LUT (rem: with 35.84 the TPG_LSB = crystal_LSB)
0080     Et_sat_EE = cms.double(128.0),            ## Saturation value (in GeV) of the TPG before the compressed-LUT (rem: with 35.84 the TPG_LSB = crystal_LSB)
0081 
0082     sliding = cms.uint32(0),                 ## Parameter used for the FE data format, should'nt be changed
0083 
0084     weight_timeShift = cms.double(0.),       ## weights are computed shifting the timing of the shape by this amount in ns: val>0 => shape shifted to the right
0085     weight_sampleMax = cms.uint32(3),        ## position of the maximum among the 5 samples used by the TPG amplitude filter
0086     weight_unbias_recovery = cms.bool(True), ## true if weights after int conversion are forced to have sum=0. Pb, in that case it can't have sum f*w = 1
0087 
0088     forcedPedestalValue = cms.int32(-3),     ## use this value instead of getting it from DB or MC
0089                                              ## -1: means use value from DB or MC.
0090                                              ## -2: ped12 = 0 used to cope with FENIX bug
0091                                              ## -3: used with sFGVB: baseline subtracted is pedestal-offset*sin(theta)/G with G=mult*2^-(shift+2) 
0092     pedestal_offset =  cms.uint32(150),      ## pedestal offset used with option forcedPedestalValue = -3
0093 
0094     useInterCalibration = cms.bool(True),    ## use or not values from DB. If not, 1 is assumed
0095 
0096     timing_delays_EB = cms.string('Delays_EB.txt'), # timing delays for latency EB / TT 
0097     timing_delays_EE = cms.string('Delays_EE.txt'), # timing delays for latency EE / strip                                         
0098     timing_phases_EB = cms.string('Phases_EB.txt'), # TCC phase setting for EB / TT
0099     timing_phases_EE = cms.string('Phases_EE.txt'), # TCC phase setting for EE / strip                                                                                 
0100 
0101     SFGVB_Threshold = cms.uint32(9),              ## (adc) SFGVB threshold in FE
0102     SFGVB_lut = cms.uint32(0xfffefee8),           ## SFGVB LUT in FE                                
0103     SFGVB_SpikeKillingThreshold = cms.int32(8),   ## (GeV) Spike killing threshold applied in TPG ET in TCC
0104                                         
0105     forceEtaSlice = cms.bool(False),         ## when true, same linearization coeff for all crystals belonging to a given eta slice (tower)
0106 
0107     LUT_option = cms.string('Linear'),       ## compressed LUT option can be: "Identity", "Linear", "EcalResolution"
0108     LUT_threshold_EB = cms.double(0.250),    ## All Trigger Primitives <= threshold (in GeV) will be set to 0 
0109     LUT_threshold_EE = cms.double(0.250),    ## All Trigger Primitives <= threshold (in GeV) will be set to 0 
0110     LUT_stochastic_EB = cms.double(0.03),    ## Stochastic term of the ECAL-EB ET resolution (used only if LUT_option="EcalResolution")
0111     LUT_noise_EB = cms.double(0.2),          ## noise term (GeV) of the ECAL-EB ET resolution (used only if LUT_option="EcalResolution")
0112     LUT_constant_EB = cms.double(0.005),     ## constant term of the ECAL-EB ET resolution (used only if LUT_option="EcalResolution")
0113     LUT_stochastic_EE = cms.double(0.03),    ## Stochastic term of the ECAL-EE ET resolution (used only if LUT_option="EcalResolution")
0114     LUT_noise_EE = cms.double(0.2),          ## noise term (GeV) of the ECAL-EE ET resolution (used only if LUT_option="EcalResolution")
0115     LUT_constant_EE = cms.double(0.005),     ## constant term of the ECAL-EE ET resolution (used only if LUT_option="EcalResolution")
0116 
0117     TTF_lowThreshold_EB = cms.double(1.0),   ## EB Trigger Tower Flag low threshold in GeV
0118     TTF_highThreshold_EB = cms.double(2.0),  ## EB Trigger Tower Flag high threshold in GeV
0119     TTF_lowThreshold_EE = cms.double(1.0),   ## EE Trigger Tower Flag low threshold in GeV
0120     TTF_highThreshold_EE = cms.double(2.0),  ## EE Trigger Tower Flag high threshold in GeV
0121 
0122     FG_lowThreshold_EB = cms.double(3.9),      ## EB Fine Grain Et low threshold in GeV
0123     FG_highThreshold_EB = cms.double(3.9),     ## EB Fine Grain Et high threshold in GeV
0124     FG_lowRatio_EB = cms.double(0.9),          ## EB Fine Grain low-ratio
0125     FG_highRatio_EB = cms.double(0.9),         ## EB Fine Grain high-ratio
0126     FG_lut_EB = cms.uint32(0x08),              ## EB Fine Grain Look-up table. Put something != 0 if you really know what you do!
0127     FG_Threshold_EE = cms.double(18.75),       ## EE Fine threshold in GeV
0128     FG_lut_strip_EE = cms.uint32(0xfffefee8),  ## EE Fine Grain strip Look-up table
0129     FG_lut_tower_EE = cms.uint32(0)            ## EE Fine Grain tower Look-up table
0130 )
0131 
0132 process.p = cms.Path(process.TPGParamProducer)
0133