Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:58:02

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 # Get hardcoded conditions the same used for standard digitization before CMSSW_3_1_x
0019 ## process.load("CalibCalorimetry.EcalTrivialCondModules.EcalTrivialCondRetriever_cfi")
0020 # or Get DB parameters 
0021 # process.load('Configuration/StandardSequences/FrontierConditions_GlobalTag_cff')
0022 # process.GlobalTag.globaltag = "GR09_31X_V2H::All"
0023 process.load("CondCore.DBCommon.CondDBCommon_cfi")
0024 process.CondDBCommon.connect = 'oracle://cms_orcon_prod/CMS_COND_31X_ECAL'
0025 process.CondDBCommon.DBParameters.authenticationPath = '/nfshome0/xiezhen/conddb'
0026 
0027 process.PoolDBESSource = cms.ESSource("PoolDBESSource",
0028                                           process.CondDBCommon,
0029                                           timetype = cms.untracked.string('runnumber'),
0030                                           toGet = cms.VPSet(
0031          cms.PSet(
0032             record = cms.string('EcalPedestalsRcd'),
0033                     tag = cms.string('EcalPedestals_v5_online')
0034                  ),
0035               cms.PSet(
0036             record = cms.string('EcalADCToGeVConstantRcd'),
0037                     tag = cms.string('EcalADCToGeVConstant_EBg50_EEnoB_new')
0038                  ),
0039               cms.PSet(
0040             record = cms.string('EcalChannelStatusRcd'),
0041                     tag = cms.string('EcalChannelStatus_AllCruzet_online')
0042                  ),
0043               cms.PSet(
0044             record = cms.string('EcalIntercalibConstantsRcd'),
0045                     tag = cms.string('EcalIntercalibConstants_EBg50_EEnoB_new')
0046                  ),
0047               cms.PSet(
0048             record = cms.string('EcalGainRatiosRcd'),
0049                     tag = cms.string('EcalGainRatios_TestPulse_online')
0050                  ),
0051               cms.PSet(
0052             record = cms.string('EcalWeightXtalGroupsRcd'),
0053                     tag = cms.string('EcalWeightXtalGroups_mc')
0054                  ),
0055               cms.PSet(
0056             record = cms.string('EcalTBWeightsRcd'),
0057                     tag = cms.string('EcalTBWeights_mc')
0058                  ),
0059           cms.PSet(
0060                 record = cms.string('EcalMappingElectronicsRcd'),
0061                                     tag = cms.string('EcalMappingElectronics_EEMap')
0062                                  )
0063                )
0064              )
0065 
0066 
0067 #########################
0068 process.source = cms.Source("EmptySource",
0069        firstRun = cms.untracked.uint32(100000000) ### need to use latest run to pick-up update values from DB 
0070 )
0071 
0072 
0073 process.maxEvents = cms.untracked.PSet(
0074     input = cms.untracked.int32(1)
0075 )
0076 
0077 process.TPGParamProducer = cms.EDFilter("EcalTPGParamBuilder",
0078 
0079     #### inputs/ouputs control ####
0080     writeToDB  = cms.bool(False),
0081     allowDBEE  = cms.bool(True),
0082 
0083     DBsid   = cms.string('cms_omds_lb'),
0084     DBuser  = cms.string('cms_ecal_conf'),
0085     DBpass  = cms.string('0r4cms_3c4lc0nf'),
0086     DBport  = cms.uint32(10121),
0087 
0088     TPGWritePed = cms.uint32(1),
0089     TPGWriteLin = cms.uint32(1),
0090     TPGWriteSli = cms.uint32(1),
0091     TPGWriteWei = cms.uint32(1),
0092     TPGWriteLut = cms.uint32(1),
0093     TPGWriteFgr = cms.uint32(1),
0094     TPGWriteBxt = cms.uint32(0),
0095     TPGWriteBtt = cms.uint32(0), #do not change
0096 
0097     writeToFiles = cms.bool(True),
0098     outFile = cms.string('TPG_new_craft.txt'),
0099    #### TPG config tag and version (if not given it will be automatically given ) ####
0100     TPGtag = cms.string('CRAFT'),
0101     TPGversion = cms.uint32(1),
0102                                         
0103    #### TPG calculation parameters ####
0104     useTransverseEnergy = cms.bool(True),   ## true when TPG computes transverse energy, false for energy
0105     Et_sat_EB = cms.double(64.0),           ## Saturation value (in GeV) of the TPG before the compressed-LUT (rem: with 35.84 the TPG_LSB = crystal_LSB)
0106     Et_sat_EE = cms.double(64.0),           ## Saturation value (in GeV) of the TPG before the compressed-LUT (rem: with 35.84 the TPG_LSB = crystal_LSB)
0107 
0108     sliding = cms.uint32(0),                ## Parameter used for the FE data format, should'nt be changed
0109 
0110     weight_sampleMax = cms.uint32(3),       ## position of the maximum among the 5 samples used by the TPG amplitude filter
0111 
0112     forcedPedestalValue = cms.int32(-2),    ## use this value instead of getting it from DB or MC (-1 means use DB or MC. -2 used to cope with FENIX bug)
0113     forceEtaSlice = cms.bool(False),        ## when true, same linearization coeff for all crystals belonging to a given eta slice (tower)
0114 
0115     LUT_option = cms.string('Linear'),      ## compressed LUT option can be: "Identity", "Linear", "EcalResolution"
0116     LUT_threshold_EB = cms.double(0.750),   ## All Trigger Primitives <= threshold (in GeV) will be set to 0 
0117     LUT_threshold_EE = cms.double(1.0625),  ## All Trigger Primitives <= threshold (in GeV) will be set to 0 
0118     LUT_stochastic_EB = cms.double(0.03),   ## Stochastic term of the ECAL-EB ET resolution (used only if LUT_option="EcalResolution")
0119     LUT_noise_EB = cms.double(0.2),         ## noise term (GeV) of the ECAL-EB ET resolution (used only if LUT_option="EcalResolution")
0120     LUT_constant_EB = cms.double(0.005),    ## constant term of the ECAL-EB ET resolution (used only if LUT_option="EcalResolution")
0121     LUT_stochastic_EE = cms.double(0.03),   ## Stochastic term of the ECAL-EE ET resolution (used only if LUT_option="EcalResolution")
0122     LUT_noise_EE = cms.double(0.2),         ## noise term (GeV) of the ECAL-EE ET resolution (used only if LUT_option="EcalResolution")
0123     LUT_constant_EE = cms.double(0.005),    ## constant term of the ECAL-EE ET resolution (used only if LUT_option="EcalResolution")
0124 
0125     TTF_lowThreshold_EB = cms.double(0.375),   ## EB Trigger Tower Flag low threshold in GeV
0126     TTF_highThreshold_EB = cms.double(0.375),  ## EB Trigger Tower Flag high threshold in GeV
0127     TTF_lowThreshold_EE = cms.double(0.375),  ## EE Trigger Tower Flag low threshold in GeV
0128     TTF_highThreshold_EE = cms.double(0.375), ## EE Trigger Tower Flag high threshold in GeV
0129 
0130     FG_lowThreshold_EB = cms.double(0.3125),   ## EB Fine Grain Et low threshold in GeV
0131     FG_highThreshold_EB = cms.double(0.3125),  ## EB Fine Grain Et high threshold in GeV
0132     FG_lowRatio_EB = cms.double(0.8),          ## EB Fine Grain low-ratio
0133     FG_highRatio_EB = cms.double(0.8),         ## EB Fine Grain high-ratio
0134     FG_lut_EB = cms.uint32(0x08),              ## EB Fine Grain Look-up table. Put something != 0 if you really know what you do!
0135     FG_Threshold_EE = cms.double(0.0),         ## EE Fine threshold in GeV
0136     FG_lut_strip_EE = cms.uint32(0),           ## EE Fine Grain strip Look-up table
0137     FG_lut_tower_EE = cms.uint32(0)            ## EE Fine Grain tower Look-up table
0138 )
0139 
0140 process.p = cms.Path(process.TPGParamProducer)
0141