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 process.MessageLogger = cms.Service("MessageLogger",
0006     cerr = cms.untracked.PSet(
0007         enable = cms.untracked.bool(False)
0008     ),
0009     cout = cms.untracked.PSet(
0010         DEBUG = cms.untracked.PSet(
0011             limit = cms.untracked.int32(0)
0012         ),
0013         INFO = cms.untracked.PSet(
0014             limit = cms.untracked.int32(0)
0015         ),
0016         TopInfo = cms.untracked.PSet(
0017             limit = cms.untracked.int32(10000000)
0018         ),
0019         enable = cms.untracked.bool(True),
0020         threshold = cms.untracked.string('ERROR')
0021     ),
0022     debugModules = cms.untracked.vstring('*')
0023 )
0024 
0025 # Calo geometry service model
0026 process.load("Geometry.CaloEventSetup.CaloGeometry_cfi")
0027 process.load("Geometry.CaloEventSetup.EcalTrigTowerConstituents_cfi")
0028 process.load("Geometry.HcalCommonData.hcalDDConstants_cff")
0029 process.load("Geometry.CMSCommonData.cmsIdealGeometryXML_cfi")
0030 
0031 # ecal mapping
0032 process.load("Geometry.EcalMapping.EcalMapping_cfi")
0033 process.eegeom = cms.ESSource("EmptyESSource",
0034     recordName = cms.string('EcalMappingRcd'),
0035     iovIsRunNotTime = cms.bool(True),
0036     firstValid = cms.vuint32(1)
0037 )
0038 
0039 # Get hardcoded conditions the same used for standard digitization before CMSSW_3_1_x
0040 ## process.load("CalibCalorimetry.EcalTrivialCondModules.EcalTrivialCondRetriever_cfi")
0041 # or Get DB parameters 
0042 # process.load('Configuration/StandardSequences/FrontierConditions_GlobalTag_cff')
0043 # process.GlobalTag.globaltag = "GR09_31X_V2H::All"
0044 process.load("CondCore.CondDB.CondDB_cfi")
0045 #process.CondDB.connect = 'oracle://cms_orcon_prod/CMS_COND_31X_ECAL' ##P5 stuff
0046 #process.CondDB.connect = 'oracle://cms_orcon_adg/CMS_COND_31X_ECAL' ##lxplus DBv1 obsolete
0047 process.CondDB.connect = 'oracle://cms_orcon_adg/CMS_CONDITIONS' ##lxplus DBv2
0048 #process.CondDB.DBParameters.authenticationPath = '/nfshome0/popcondev/conddb' ###P5 stuff
0049 process.CondDB.DBParameters.authenticationPath = '/afs/cern.ch/cms/DB/conddb' ##lxplus
0050 
0051 process.PoolDBESSource = cms.ESSource("PoolDBESSource",
0052                                           process.CondDB,
0053                                           timetype = cms.untracked.string('runnumber'),
0054                                           toGet = cms.VPSet(
0055               cms.PSet(
0056             record = cms.string('EcalPedestalsRcd'),
0057                     #tag = cms.string('EcalPedestals_v5_online')
0058                     #tag = cms.string('EcalPedestals_2009runs_hlt') ### obviously diff w.r.t previous
0059                     tag = cms.string('EcalPedestals_hlt'), ### modif-alex 22/02/2011
0060                  ),
0061               cms.PSet(
0062             record = cms.string('EcalADCToGeVConstantRcd'),
0063                     #tag = cms.string('EcalADCToGeVConstant_EBg50_EEnoB_new')
0064                     #tag = cms.string('EcalADCToGeVConstant_2009runs_express') ### the 2 ADCtoGEV in EB and EE are diff w.r.t previous
0065                     tag = cms.string('EcalADCToGeVConstant_V1_hlt')
0066                  ),
0067               cms.PSet(
0068             record = cms.string('EcalIntercalibConstantsRcd'),
0069                     #tag = cms.string('EcalIntercalibConstants_EBg50_EEnoB_new')
0070                     #tag = cms.string('EcalIntercalibConstants_2009runs_express') ### differs from previous
0071                     tag = cms.string('EcalIntercalibConstants_V1_hlt')
0072                  ),
0073               cms.PSet(
0074             record = cms.string('EcalGainRatiosRcd'),
0075                     #tag = cms.string('EcalGainRatios_TestPulse_online')
0076                     tag = cms.string('EcalGainRatios_TestPulse_express') ### no diff w.r.t previous
0077                  ),
0078               cms.PSet(
0079                 record = cms.string('EcalMappingElectronicsRcd'),
0080                     tag = cms.string('EcalMappingElectronics_EEMap')
0081                  ),
0082               cms.PSet(
0083                 record = cms.string('EcalLaserAlphasRcd'),
0084                 tag = cms.string('EcalLaserAlphas_EB_sic1_btcp152_EE_sic1_btcp116')
0085               )
0086                )
0087              )
0088 
0089 
0090 #########################
0091 process.source = cms.Source("EmptySource",
0092        ##firstRun = cms.untracked.uint32(100000000) ### need to use latest run to pick-up update values from DB 
0093        firstRun = cms.untracked.uint32(161310)
0094 )
0095 
0096 
0097 process.maxEvents = cms.untracked.PSet(
0098     input = cms.untracked.int32(1)
0099 )
0100 
0101 ##process.TPGParamProducer = cms.EDFilter("EcalTPGParamBuilder",
0102 process.TPGParamProducer = cms.EDAnalyzer("EcalTPGParamBuilder",
0103 
0104     #### inputs/ouputs control ####
0105     writeToDB  = cms.bool(False),
0106     allowDBEE  = cms.bool(True),
0107 
0108 #    DBsid   = cms.string('cms_omds_lb'), ## real DB 
0109     DBsid   = cms.string('cms_orcon_adg'), ## real DB on lxplus
0110     ##DBsid   = cms.string('int2r'), ## test DB
0111     ## P5 online DB
0112 #    DBuser  = cms.string('cms_ecal_conf'),
0113 #    DBpass  = cms.string('0r4cms_3c4lc0nf'),
0114     DBuser  = cms.string('cms_ecal_r'),
0115     DBpass  = cms.string('3c4l_r34d3r'),
0116     ##DBpass  = cms.string('*******'),
0117     ## test DB
0118     ##DBuser  = cms.string('cms_ecal_conf_test'),
0119     DBport  = cms.uint32(10121),
0120 
0121     TPGWritePed = cms.uint32(1), # can be 1=load ped from offline DB  0=use previous ped NN=use ped from ped_conf_id=NN
0122     TPGWriteLin = cms.uint32(1),
0123     TPGWriteSli = cms.uint32(1),
0124     TPGWriteWei = cms.uint32(1),
0125     TPGWriteLut = cms.uint32(1),
0126     TPGWriteFgr = cms.uint32(1),
0127     TPGWriteSpi = cms.uint32(1),
0128     TPGWriteDel = cms.uint32(1),
0129     TPGWriteBxt = cms.uint32(0), # these can be 0=use same as existing number for this tag or NN=use badxt from bxt_conf_id=NN
0130     TPGWriteBtt = cms.uint32(0), 
0131     TPGWriteBst = cms.uint32(0), 
0132 
0133     writeToFiles = cms.bool(True),
0134     outFile = cms.string('TPG_beamv6_trans_270062_spikekill.txt'),
0135                                           
0136    #### TPG config tag and version (if not given it will be automatically given ) ####
0137     TPGtag = cms.string('BEAMV6_TRANS_SPIKEKILL'),
0138     TPGversion = cms.uint32(1),
0139                                         
0140    #### TPG calculation parameters ####
0141     useTransverseEnergy = cms.bool(True),    ## true when TPG computes transverse energy, false for energy
0142     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)
0143     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)
0144 
0145     sliding = cms.uint32(0),                 ## Parameter used for the FE data format, should'nt be changed
0146 
0147     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
0148     weight_sampleMax = cms.uint32(3),        ## position of the maximum among the 5 samples used by the TPG amplitude filter
0149     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
0150 
0151     forcedPedestalValue = cms.int32(-3),     ## use this value instead of getting it from DB or MC
0152                                              ## -1: means use value from DB or MC.
0153                                              ## -2: ped12 = 0 used to cope with FENIX bug
0154                                              ## -3: used with sFGVB: baseline subtracted is pedestal-offset*sin(theta)/G with G=mult*2^-(shift+2) 
0155     pedestal_offset =  cms.uint32(150),      ## pedestal offset used with option forcedPedestalValue = -3
0156 
0157     useInterCalibration = cms.bool(True),    ## use or not values from DB. If not, 1 is assumed
0158 
0159     timing_delays_EB = cms.string('Delays_EB.txt'), # timing delays for latency EB / TT 
0160     timing_delays_EE = cms.string('Delays_EE.txt'), # timing delays for latency EE / strip                                         
0161     timing_phases_EB = cms.string('Phases_EB.txt'), # TCC phase setting for EB / TT
0162     timing_phases_EE = cms.string('Phases_EE.txt'), # TCC phase setting for EE / strip
0163 
0164     useTransparencyCorr = cms.bool(True),   ## true if you want to correct TPG for transparency change in EE                                          
0165     transparency_corrections = cms.string('/afs/cern.ch/cms/ECAL/triggerTransp/weekly_270062'), # transparency corr to be used to compute linearizer parameters 1/crystal
0166 
0167     SFGVB_Threshold = cms.uint32(12),             ## (adc) SFGVB threshold in FE
0168     SFGVB_lut = cms.uint32(0xfffefee8),           ## SFGVB LUT in FE                                
0169     SFGVB_SpikeKillingThreshold = cms.int32(12),  ## (GeV) Spike killing threshold applied in TPG ET in TCC (-1 no killing)
0170                                         
0171     forceEtaSlice = cms.bool(False),         ## when true, same linearization coeff for all crystals belonging to a given eta slice (tower)
0172 
0173     LUT_option = cms.string('Linear'),       ## compressed LUT option can be: "Identity", "Linear", "EcalResolution"
0174     LUT_threshold_EB = cms.double(0.250),    ## All Trigger Primitives <= threshold (in GeV) will be set to 0 
0175     LUT_threshold_EE = cms.double(0.250),    ## All Trigger Primitives <= threshold (in GeV) will be set to 0 
0176     LUT_stochastic_EB = cms.double(0.03),    ## Stochastic term of the ECAL-EB ET resolution (used only if LUT_option="EcalResolution")
0177     LUT_noise_EB = cms.double(0.2),          ## noise term (GeV) of the ECAL-EB ET resolution (used only if LUT_option="EcalResolution")
0178     LUT_constant_EB = cms.double(0.005),     ## constant term of the ECAL-EB ET resolution (used only if LUT_option="EcalResolution")
0179     LUT_stochastic_EE = cms.double(0.03),    ## Stochastic term of the ECAL-EE ET resolution (used only if LUT_option="EcalResolution")
0180     LUT_noise_EE = cms.double(0.2),          ## noise term (GeV) of the ECAL-EE ET resolution (used only if LUT_option="EcalResolution")
0181     LUT_constant_EE = cms.double(0.005),     ## constant term of the ECAL-EE ET resolution (used only if LUT_option="EcalResolution")
0182 
0183     TTF_lowThreshold_EB = cms.double(1.5),   ## EB Trigger Tower Flag low threshold in GeV
0184     TTF_highThreshold_EB = cms.double(2.5),  ## EB Trigger Tower Flag high threshold in GeV
0185     TTF_lowThreshold_EE = cms.double(1.5),   ## EE Trigger Tower Flag low threshold in GeV
0186     TTF_highThreshold_EE = cms.double(2.5),  ## EE Trigger Tower Flag high threshold in GeV
0187 
0188     FG_lowThreshold_EB = cms.double(3.9),      ## EB Fine Grain Et low threshold in GeV
0189     FG_highThreshold_EB = cms.double(3.9),     ## EB Fine Grain Et high threshold in GeV
0190     FG_lowRatio_EB = cms.double(0.9),          ## EB Fine Grain low-ratio
0191     FG_highRatio_EB = cms.double(0.9),         ## EB Fine Grain high-ratio
0192     FG_lut_EB = cms.uint32(0x08),              ## EB Fine Grain Look-up table. Put something != 0 if you really know what you do!
0193     FG_Threshold_EE = cms.double(18.75),       ## EE Fine threshold in GeV
0194     FG_lut_strip_EE = cms.uint32(0xfffefee8),  ## EE Fine Grain strip Look-up table
0195     FG_lut_tower_EE = cms.uint32(0)            ## EE Fine Grain tower Look-up table
0196 )
0197 
0198 process.p = cms.Path(process.TPGParamProducer)
0199