Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:01:59

0001 # documentation: https://twiki.cern.ch/twiki/bin/view/CMS/AlCaDBPCL#Drop_box_metadata_management
0002 
0003 import FWCore.ParameterSet.Config as cms
0004 
0005 process = cms.Process("myprocess")
0006 
0007 process.load("CondCore.CondDB.CondDB_cfi")
0008 process.load("FWCore.MessageService.MessageLogger_cfi")
0009 
0010 process.CondDB.connect = 'sqlite_file:DropBoxMetadata.db' 
0011 
0012 process.maxEvents = cms.untracked.PSet(
0013     input = cms.untracked.int32(1)
0014 )
0015 process.source = cms.Source("EmptySource",
0016                             firstRun = cms.untracked.uint32(300000)
0017                             )
0018 
0019 # process.PoolDBOutputService.DBParameters.messageLevel = 3
0020 import json, os
0021 
0022 def encodeJsonInString(filename):
0023     """This function open the json file and encodes it in a string replacing probelamtic characters"""
0024     thefile = open(os.path.join(os.path.dirname(__file__), "..", "data", filename))
0025     thejson = json.load(thefile)
0026     thefile.close()
0027     return json.JSONEncoder().encode(thejson).replace('"',""")
0028 
0029 # beamspot by run
0030 BeamSpotObjectsRcdByRun_prod_str = encodeJsonInString("BeamSpotObjectsRcdByRun_prod.json")
0031 BeamSpotObjectsRcdByRun_prep_str = encodeJsonInString("BeamSpotObjectsRcdByRun_prep.json")
0032 
0033 # beamspot by lumi
0034 BeamSpotObjectsRcdByLumi_prod_str = encodeJsonInString("BeamSpotObjectsRcdByLumi_prod.json")
0035 BeamSpotObjectsRcdByLumi_prep_str = encodeJsonInString("BeamSpotObjectsRcdByLumi_prep.json")
0036 
0037 # beamspot High Perf by lumi
0038 BeamSpotObjectsRcdHPByLumi_prod_str = encodeJsonInString("BeamSpotObjectsRcdHPbyLumi_prod.json")
0039 BeamSpotObjectsRcdHPByLumi_prep_str = encodeJsonInString("BeamSpotObjectsRcdHPbyLumi_prep.json")
0040 
0041 # beamspot High Perf by run
0042 BeamSpotObjectsRcdHPByRun_prod_str = encodeJsonInString("BeamSpotObjectsRcdHPbyRun_prod.json")
0043 BeamSpotObjectsRcdHPByRun_prep_str = encodeJsonInString("BeamSpotObjectsRcdHPbyRun_prep.json")
0044 
0045 #SiStripBadStripRcd
0046 SiStripBadStripRcd_prod_str = encodeJsonInString("SiStripBadStripRcd_prod.json")
0047 SiStripBadStripRcd_prep_str = encodeJsonInString("SiStripBadStripRcd_prep.json")
0048 
0049 #SiStripBadStripRcd from Hit Efficiency
0050 SiStripBadStripRcdHitEff_prod_str = encodeJsonInString("SiStripBadStripFromHitEffRcd_prod.json")
0051 SiStripBadStripRcdHitEff_prep_str = encodeJsonInString("SiStripBadStripFromHitEffRcd_prep.json")
0052 
0053 #SiStripApvGainRcd
0054 SiStripApvGainRcd_prod_str = encodeJsonInString("SiStripApvGainRcd_prod.json")
0055 SiStripApvGainRcd_multirun_prod_str = encodeJsonInString("SiStripApvGainRcd_multirun_prod.json") 
0056 SiStripApvGainRcdAAG_prod_str = encodeJsonInString("SiStripApvGainRcdAAG_prod.json")
0057 SiStripApvGainRcdAAG_multirun_prod_str = encodeJsonInString("SiStripApvGainRcdAAG_multirun_prod.json")
0058 
0059 SiStripApvGainRcd_prep_str = encodeJsonInString("SiStripApvGainRcd_prep.json")
0060 SiStripApvGainRcd_multirun_prep_str = encodeJsonInString("SiStripApvGainRcd_multirun_prep.json")
0061 SiStripApvGainRcdAAG_prep_str = encodeJsonInString("SiStripApvGainRcdAAG_prep.json")
0062 SiStripApvGainRcdAAG_multirun_prep_str = encodeJsonInString("SiStripApvGainRcdAAG_multirun_prep.json")
0063 
0064 #SiPixelAli
0065 SiPixelAliRcd_prod_str = encodeJsonInString("SiPixelAliRcd_prod.json")
0066 SiPixelAliRcd_prep_str = encodeJsonInString("SiPixelAliRcd_prep.json")
0067 
0068 #SiPixelAliHG
0069 SiPixelAliHGRcd_prod_str = encodeJsonInString("SiPixelAliHGRcd_prod.json")
0070 SiPixelAliHGRcd_prep_str = encodeJsonInString("SiPixelAliHGRcd_prep.json")
0071 
0072 #SiPixelAliHGComb
0073 SiPixelAliHGCombRcd_prod_str = encodeJsonInString("SiPixelAliHGCombRcd_prod.json")
0074 SiPixelAliHGCombRcd_prep_str = encodeJsonInString("SiPixelAliHGCombRcd_prep.json")
0075 
0076 #EcalPedestalsRcd
0077 EcalPedestalsRcd_prod_str = encodeJsonInString("EcalPedestal_prod.json")
0078 EcalPedestalsRcd_prep_str = encodeJsonInString("EcalPedestal_prep.json")
0079 
0080 #LumiCorrectionsRcd
0081 LumiCorrectionsRcd_prod_str = encodeJsonInString("LumiCorrections_prod.json")
0082 LumiCorrectionsRcd_prep_str = encodeJsonInString("LumiCorrections_prep.json")
0083 
0084 #SiPixelQuality
0085 SiPixelQualityFromDbRcd_prompt_prod_str = encodeJsonInString("SiPixelQualityFromDbRcd_prompt_prod.json")
0086 SiPixelQualityFromDbRcd_prompt_prep_str = encodeJsonInString("SiPixelQualityFromDbRcd_prompt_prep.json")
0087 SiPixelQualityFromDbRcd_stuckTBM_prod_str = encodeJsonInString("SiPixelQualityFromDbRcd_stuckTBM_prod.json")
0088 SiPixelQualityFromDbRcd_stuckTBM_prep_str = encodeJsonInString("SiPixelQualityFromDbRcd_stuckTBM_prep.json")
0089 SiPixelQualityFromDbRcd_other_prod_str = encodeJsonInString("SiPixelQualityFromDbRcd_other_prod.json")
0090 SiPixelQualityFromDbRcd_other_prep_str = encodeJsonInString("SiPixelQualityFromDbRcd_other_prep.json")
0091 
0092 #SiPixelLorenzAngle
0093 SiPixelLorentzAngleRcd_prod_str =  encodeJsonInString("SiPixelLorentzAngleRcd_prod.json")
0094 SiPixelLorentzAngleRcd_multirun_prod_str =  encodeJsonInString("SiPixelLorentzAngleRcd_multirun_prod.json")
0095 SiPixelLorentzAngleRcd_prep_str = encodeJsonInString("SiPixelLorentzAngleRcd_prep.json")
0096 SiPixelLorentzAngleRcd_multirun_prep_str = encodeJsonInString("SiPixelLorentzAngleRcd_multirun_prep.json")
0097 
0098 #SiPixelLorenzAngle, FPix 
0099 SiPixelLorentzAngleRcd_MCS_prod_str =  encodeJsonInString("SiPixelLorentzAngleRcd_MCS_prod.json")
0100 SiPixelLorentzAngleRcd_MCS_multirun_prod_str =  encodeJsonInString("SiPixelLorentzAngleRcd_MCS_multirun_prod.json")
0101 SiPixelLorentzAngleRcd_MCS_prep_str = encodeJsonInString("SiPixelLorentzAngleRcd_MCS_prep.json")
0102 SiPixelLorentzAngleRcd_MCS_multirun_prep_str = encodeJsonInString("SiPixelLorentzAngleRcd_MCS_multirun_prep.json")
0103 
0104 #CT-PPS alignment and timing
0105 CTPPSRPAlignmentCorrectionsDataRcd_prod_str =  encodeJsonInString("CTPPSRPAlignmentCorrectionsDataRcd_prod.json")
0106 CTPPSRPAlignmentCorrectionsDataRcd_prep_str = encodeJsonInString("CTPPSRPAlignmentCorrectionsDataRcd_prep.json")
0107 PPSTimingCalibrationRcd_prod_str = encodeJsonInString("PPSTimingCalibrationRcd_prod.json")
0108 PPSTimingCalibrationRcd_prep_str = encodeJsonInString("PPSTimingCalibrationRcd_prep.json")
0109 PPSTimingCalibrationRcd_Sampic_prod_str = encodeJsonInString("PPSTimingCalibrationRcd_Sampic_prod.json")
0110 PPSTimingCalibrationRcd_Sampic_prep_str = encodeJsonInString("PPSTimingCalibrationRcd_Sampic_prep.json")
0111 
0112 #SiStripLorenzAngle
0113 SiStripLorentzAngleRcd_prod_str =  encodeJsonInString("SiStripLorentzAngleRcd_prod.json")
0114 SiStripLorentzAngleRcd_multirun_prod_str =  encodeJsonInString("SiStripLorentzAngleRcd_multirun_prod.json")
0115 SiStripLorentzAngleRcd_prep_str = encodeJsonInString("SiStripLorentzAngleRcd_prep.json")
0116 SiStripLorentzAngleRcd_multirun_prep_str = encodeJsonInString("SiStripLorentzAngleRcd_multirun_prep.json")
0117 
0118 # given a set of .json files in the current dir, ProduceDropBoxMetadata produces a sqlite containign the payload with the prod/and/prep metadata
0119 process.mywriter = cms.EDAnalyzer("ProduceDropBoxMetadata",
0120                                   # set to True if you want to write out a sqlite.db translating the json's into a payload
0121                                   write = cms.untracked.bool(True),
0122 
0123                                   # toWrite holds a list of Pset's, one for each workflow you want to produce DropBoxMetadata for;
0124                                   # you need to have 2 .json files for each PSet
0125                                   toWrite = cms.VPSet(cms.PSet(record              = cms.untracked.string("BeamSpotObjectsRcdByRun"), 
0126                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0127                                                                FileClass           = cms.untracked.string("ALCA"),
0128                                                                prodMetaData        = cms.untracked.string(BeamSpotObjectsRcdByRun_prod_str),
0129                                                                prepMetaData        = cms.untracked.string(BeamSpotObjectsRcdByRun_prep_str),
0130                                                                ),
0131                                                       cms.PSet(record              = cms.untracked.string('BeamSpotObjectsRcdByLumi'),
0132                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0133                                                                FileClass           = cms.untracked.string("ALCA"),
0134                                                                prodMetaData        = cms.untracked.string(BeamSpotObjectsRcdByLumi_prod_str),
0135                                                                prepMetaData        = cms.untracked.string(BeamSpotObjectsRcdByLumi_prep_str),
0136                                                                ),
0137                                                       cms.PSet(record              = cms.untracked.string('BeamSpotObjectsRcdHPByLumi'),
0138                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0139                                                                FileClass           = cms.untracked.string("ALCA"),
0140                                                                prodMetaData        = cms.untracked.string(BeamSpotObjectsRcdHPByLumi_prod_str),
0141                                                                prepMetaData        = cms.untracked.string(BeamSpotObjectsRcdHPByLumi_prep_str),
0142                                                                ),
0143                                                       cms.PSet(record              = cms.untracked.string('BeamSpotObjectsRcdHPByRun'),
0144                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0145                                                                FileClass           = cms.untracked.string("ALCA"),
0146                                                                prodMetaData        = cms.untracked.string(BeamSpotObjectsRcdHPByRun_prod_str),
0147                                                                prepMetaData        = cms.untracked.string(BeamSpotObjectsRcdHPByRun_prep_str),
0148                                                                ),
0149                                                       cms.PSet(record              = cms.untracked.string('SiStripBadStripRcd'),
0150                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0151                                                                FileClass           = cms.untracked.string("ALCA"),
0152                                                                prodMetaData        = cms.untracked.string(SiStripBadStripRcd_prod_str),
0153                                                                prepMetaData        = cms.untracked.string(SiStripBadStripRcd_prep_str),
0154                                                                ),
0155                                                       cms.PSet(record              = cms.untracked.string('SiStripBadStripFromHitEffRcd'),
0156                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0157                                                                FileClass           = cms.untracked.string("ALCA"),
0158                                                                prodMetaData        = cms.untracked.string(SiStripBadStripRcdHitEff_prod_str),
0159                                                                prepMetaData        = cms.untracked.string(SiStripBadStripRcdHitEff_prep_str),
0160                                                                ),
0161                                                       cms.PSet(record              = cms.untracked.string('SiStripApvGainRcd'),
0162                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0163                                                                FileClass           = cms.untracked.string("ALCA"),
0164                                                                prodMetaData        = cms.untracked.string(SiStripApvGainRcd_prod_str),
0165                                                                prodMetaDataMultiRun = cms.untracked.string(SiStripApvGainRcd_multirun_prod_str),
0166                                                                prepMetaData        = cms.untracked.string(SiStripApvGainRcd_prep_str),
0167                                                                prepMetaDataMultiRun = cms.untracked.string(SiStripApvGainRcd_multirun_prep_str),
0168                                                                ),
0169                                                       cms.PSet(record              = cms.untracked.string('TrackerAlignmentRcd'),
0170                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0171                                                                FileClass           = cms.untracked.string("ALCA"),
0172                                                                prodMetaData        = cms.untracked.string(SiPixelAliRcd_prod_str),
0173                                                                prepMetaData        = cms.untracked.string(SiPixelAliRcd_prep_str),
0174                                                                ),
0175                                                       cms.PSet(record              = cms.untracked.string('TrackerAlignmentHGRcd'),
0176                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0177                                                                FileClass           = cms.untracked.string("ALCA"),
0178                                                                prodMetaData        = cms.untracked.string(SiPixelAliHGRcd_prod_str),
0179                                                                prepMetaData        = cms.untracked.string(SiPixelAliHGRcd_prep_str),
0180                                                                ),
0181                                                       cms.PSet(record              = cms.untracked.string('TrackerAlignmentHGCombinedRcd'),
0182                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0183                                                                FileClass           = cms.untracked.string("ALCA"),
0184                                                                prodMetaData        = cms.untracked.string(SiPixelAliHGCombRcd_prod_str),
0185                                                                prepMetaData        = cms.untracked.string(SiPixelAliHGCombRcd_prep_str),
0186                                                                ),
0187                                                       cms.PSet(record              = cms.untracked.string('SiStripApvGainRcdAAG'),
0188                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0189                                                                FileClass           = cms.untracked.string("ALCA"),
0190                                                                prodMetaData        = cms.untracked.string(SiStripApvGainRcdAAG_prod_str),
0191                                                                prodMetaDataMultiRun = cms.untracked.string(SiStripApvGainRcdAAG_multirun_prod_str),
0192                                                                prepMetaData        = cms.untracked.string(SiStripApvGainRcdAAG_prep_str),
0193                                                                prepMetaDataMultiRun = cms.untracked.string(SiStripApvGainRcdAAG_multirun_prep_str)
0194                                                                ),
0195                                                       cms.PSet(record              = cms.untracked.string('EcalPedestalsRcd'),
0196                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0197                                                                FileClass           = cms.untracked.string("ALCA"),
0198                                                                prodMetaData        = cms.untracked.string(EcalPedestalsRcd_prod_str),
0199                                                                prepMetaData        = cms.untracked.string(EcalPedestalsRcd_prep_str),
0200                                                                ),
0201                                                       cms.PSet(record              = cms.untracked.string('LumiCorrectionsRcd'),
0202                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0203                                                                FileClass           = cms.untracked.string("ALCA"),
0204                                                                prodMetaData        = cms.untracked.string(LumiCorrectionsRcd_prod_str),
0205                                                                prepMetaData        = cms.untracked.string(LumiCorrectionsRcd_prep_str),
0206                                                                ),
0207                                                       cms.PSet(record              = cms.untracked.string('SiPixelQualityFromDbRcd_prompt'),
0208                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0209                                                                FileClass           = cms.untracked.string("ALCA"),
0210                                                                prodMetaData        = cms.untracked.string(SiPixelQualityFromDbRcd_prompt_prod_str),
0211                                                                prepMetaData        = cms.untracked.string(SiPixelQualityFromDbRcd_prompt_prep_str),
0212                                                                ),
0213                                                       cms.PSet(record              = cms.untracked.string('SiPixelQualityFromDbRcd_stuckTBM'),
0214                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0215                                                                FileClass           = cms.untracked.string("ALCA"),
0216                                                                prodMetaData        = cms.untracked.string(SiPixelQualityFromDbRcd_stuckTBM_prod_str),
0217                                                                prepMetaData        = cms.untracked.string(SiPixelQualityFromDbRcd_stuckTBM_prep_str),
0218                                                                ),
0219                                                       cms.PSet(record              = cms.untracked.string('SiPixelQualityFromDbRcd_other'),
0220                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0221                                                                FileClass           = cms.untracked.string("ALCA"),
0222                                                                prodMetaData        = cms.untracked.string(SiPixelQualityFromDbRcd_other_prod_str),
0223                                                                prepMetaData        = cms.untracked.string(SiPixelQualityFromDbRcd_other_prep_str),
0224                                                                ),
0225                                                       cms.PSet(record              = cms.untracked.string('SiPixelLorentzAngleRcd'),
0226                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0227                                                                FileClass           = cms.untracked.string("ALCA"),
0228                                                                prodMetaData        = cms.untracked.string(SiPixelLorentzAngleRcd_prod_str),
0229                                                                prodMetaDataMultiRun = cms.untracked.string(SiPixelLorentzAngleRcd_multirun_prod_str),
0230                                                                prepMetaData        = cms.untracked.string(SiPixelLorentzAngleRcd_prep_str),
0231                                                                prepMetaDataMultiRun = cms.untracked.string(SiPixelLorentzAngleRcd_multirun_prep_str),
0232                                                            ),
0233                                                       cms.PSet(record              = cms.untracked.string('SiPixelLorentzAngleRcdMCS'),
0234                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0235                                                                FileClass           = cms.untracked.string("ALCA"),
0236                                                                prodMetaData        = cms.untracked.string(SiPixelLorentzAngleRcd_MCS_prod_str),
0237                                                                prodMetaDataMultiRun = cms.untracked.string(SiPixelLorentzAngleRcd_MCS_multirun_prod_str),
0238                                                                prepMetaData        = cms.untracked.string(SiPixelLorentzAngleRcd_MCS_prep_str),
0239                                                                prepMetaDataMultiRun = cms.untracked.string(SiPixelLorentzAngleRcd_MCS_multirun_prep_str),
0240                                                            ),
0241                                                       cms.PSet(record              = cms.untracked.string('CTPPSRPAlignmentCorrectionsDataRcd'),
0242                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0243                                                                FileClass           = cms.untracked.string("ALCA"),
0244                                                                prodMetaData        = cms.untracked.string(CTPPSRPAlignmentCorrectionsDataRcd_prod_str),
0245                                                                prepMetaData        = cms.untracked.string(CTPPSRPAlignmentCorrectionsDataRcd_prep_str),
0246                                                                ),
0247                                                       cms.PSet(record              = cms.untracked.string('PPSTimingCalibrationRcd_HPTDC'),
0248                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0249                                                                FileClass           = cms.untracked.string("ALCA"),
0250                                                                prodMetaData        = cms.untracked.string(PPSTimingCalibrationRcd_prod_str),
0251                                                                prepMetaData        = cms.untracked.string(PPSTimingCalibrationRcd_prep_str),
0252                                                                ),
0253                                                       cms.PSet(record              = cms.untracked.string('PPSTimingCalibrationRcd_SAMPIC'),
0254                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0255                                                                FileClass           = cms.untracked.string("ALCA"),
0256                                                                prodMetaData        = cms.untracked.string(PPSTimingCalibrationRcd_Sampic_prod_str),
0257                                                                prepMetaData        = cms.untracked.string(PPSTimingCalibrationRcd_Sampic_prep_str),
0258                                                                ),
0259                                                       cms.PSet(record              = cms.untracked.string('SiStripLorentzAngleRcd'),
0260                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0261                                                                FileClass           = cms.untracked.string("ALCA"),
0262                                                                prodMetaData        = cms.untracked.string(SiStripLorentzAngleRcd_prod_str),
0263                                                                prodMetaDataMultiRun = cms.untracked.string(SiStripLorentzAngleRcd_multirun_prod_str),
0264                                                                prepMetaData        = cms.untracked.string(SiStripLorentzAngleRcd_prep_str),
0265                                                                prepMetaDataMultiRun = cms.untracked.string(SiStripLorentzAngleRcd_multirun_prep_str),
0266                                                                ),
0267                                                       ),
0268                                   # this boolean will read the content of whichever payload is available and print its content to stoutput
0269                                   # set this to false if you write out a sqlite.db translating the json's into a payload
0270                                   read = cms.untracked.bool(False),
0271                                   toRead = cms.untracked.vstring() 
0272                                   )
0273 
0274 process.p = cms.Path(process.mywriter)
0275 
0276 if process.mywriter.write:
0277 
0278     from CondCore.CondDB.CondDB_cfi import CondDB
0279     CondDB.connect = "sqlite_file:DropBoxMetadata.db"
0280 
0281     process.PoolDBOutputService = cms.Service("PoolDBOutputService",
0282                                               CondDB,
0283                                               toPut = cms.VPSet(cms.PSet(record = cms.string('DropBoxMetadataRcd'),
0284                                                                          tag = cms.string('DropBoxMetadata'),
0285                                                                          timetype   = cms.untracked.string('runnumber')
0286                                                                          )
0287                                                                 ),
0288                                               loadBlobStreamer = cms.untracked.bool(False),
0289                                               #    timetype   = cms.untracked.string('lumiid')
0290                                               #    timetype   = cms.untracked.string('runnumber')
0291                                               )
0292     
0293 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0294 process.GlobalTag.globaltag = '124X_dataRun3_Express_Queue'