Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:46:38

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 #EcalPedestalsRcd
0073 EcalPedestalsRcd_prod_str = encodeJsonInString("EcalPedestal_prod.json")
0074 EcalPedestalsRcd_prep_str = encodeJsonInString("EcalPedestal_prep.json")
0075 
0076 #LumiCorrectionsRcd
0077 LumiCorrectionsRcd_prod_str = encodeJsonInString("LumiCorrections_prod.json")
0078 LumiCorrectionsRcd_prep_str = encodeJsonInString("LumiCorrections_prep.json")
0079 
0080 #SiPixelQuality
0081 SiPixelQualityFromDbRcd_prompt_prod_str = encodeJsonInString("SiPixelQualityFromDbRcd_prompt_prod.json")
0082 SiPixelQualityFromDbRcd_prompt_prep_str = encodeJsonInString("SiPixelQualityFromDbRcd_prompt_prep.json")
0083 SiPixelQualityFromDbRcd_stuckTBM_prod_str = encodeJsonInString("SiPixelQualityFromDbRcd_stuckTBM_prod.json")
0084 SiPixelQualityFromDbRcd_stuckTBM_prep_str = encodeJsonInString("SiPixelQualityFromDbRcd_stuckTBM_prep.json")
0085 SiPixelQualityFromDbRcd_other_prod_str = encodeJsonInString("SiPixelQualityFromDbRcd_other_prod.json")
0086 SiPixelQualityFromDbRcd_other_prep_str = encodeJsonInString("SiPixelQualityFromDbRcd_other_prep.json")
0087 
0088 #SiPixelLorenzAngle
0089 SiPixelLorentzAngleRcd_prod_str =  encodeJsonInString("SiPixelLorentzAngleRcd_prod.json")
0090 SiPixelLorentzAngleRcd_multirun_prod_str =  encodeJsonInString("SiPixelLorentzAngleRcd_multirun_prod.json")
0091 SiPixelLorentzAngleRcd_prep_str = encodeJsonInString("SiPixelLorentzAngleRcd_prep.json")
0092 SiPixelLorentzAngleRcd_multirun_prep_str = encodeJsonInString("SiPixelLorentzAngleRcd_multirun_prep.json")
0093 
0094 #SiPixelLorenzAngle, FPix 
0095 SiPixelLorentzAngleRcd_MCS_prod_str =  encodeJsonInString("SiPixelLorentzAngleRcd_MCS_prod.json")
0096 SiPixelLorentzAngleRcd_MCS_multirun_prod_str =  encodeJsonInString("SiPixelLorentzAngleRcd_MCS_multirun_prod.json")
0097 SiPixelLorentzAngleRcd_MCS_prep_str = encodeJsonInString("SiPixelLorentzAngleRcd_MCS_prep.json")
0098 SiPixelLorentzAngleRcd_MCS_multirun_prep_str = encodeJsonInString("SiPixelLorentzAngleRcd_MCS_multirun_prep.json")
0099 
0100 #CT-PPS alignment and timing
0101 CTPPSRPAlignmentCorrectionsDataRcd_prod_str =  encodeJsonInString("CTPPSRPAlignmentCorrectionsDataRcd_prod.json")
0102 CTPPSRPAlignmentCorrectionsDataRcd_prep_str = encodeJsonInString("CTPPSRPAlignmentCorrectionsDataRcd_prep.json")
0103 PPSTimingCalibrationRcd_prod_str = encodeJsonInString("PPSTimingCalibrationRcd_prod.json")
0104 PPSTimingCalibrationRcd_prep_str = encodeJsonInString("PPSTimingCalibrationRcd_prep.json")
0105 PPSTimingCalibrationRcd_Sampic_prod_str = encodeJsonInString("PPSTimingCalibrationRcd_Sampic_prod.json")
0106 PPSTimingCalibrationRcd_Sampic_prep_str = encodeJsonInString("PPSTimingCalibrationRcd_Sampic_prep.json")
0107 
0108 
0109 # given a set of .json files in the current dir, ProduceDropBoxMetadata produces a sqlite containign the payload with the prod/and/prep metadata
0110 process.mywriter = cms.EDAnalyzer("ProduceDropBoxMetadata",
0111                                   # set to True if you want to write out a sqlite.db translating the json's into a payload
0112                                   write = cms.untracked.bool(True),
0113 
0114                                   # toWrite holds a list of Pset's, one for each workflow you want to produce DropBoxMetadata for;
0115                                   # you need to have 2 .json files for each PSet
0116                                   toWrite = cms.VPSet(cms.PSet(record              = cms.untracked.string("BeamSpotObjectsRcdByRun"), 
0117                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0118                                                                FileClass           = cms.untracked.string("ALCA"),
0119                                                                prodMetaData        = cms.untracked.string(BeamSpotObjectsRcdByRun_prod_str),
0120                                                                prepMetaData        = cms.untracked.string(BeamSpotObjectsRcdByRun_prep_str),
0121                                                                ),
0122                                                       cms.PSet(record              = cms.untracked.string('BeamSpotObjectsRcdByLumi'),
0123                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0124                                                                FileClass           = cms.untracked.string("ALCA"),
0125                                                                prodMetaData        = cms.untracked.string(BeamSpotObjectsRcdByLumi_prod_str),
0126                                                                prepMetaData        = cms.untracked.string(BeamSpotObjectsRcdByLumi_prep_str),
0127                                                                ),
0128                                                       cms.PSet(record              = cms.untracked.string('BeamSpotObjectsRcdHPByLumi'),
0129                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0130                                                                FileClass           = cms.untracked.string("ALCA"),
0131                                                                prodMetaData        = cms.untracked.string(BeamSpotObjectsRcdHPByLumi_prod_str),
0132                                                                prepMetaData        = cms.untracked.string(BeamSpotObjectsRcdHPByLumi_prep_str),
0133                                                                ),
0134                                                       cms.PSet(record              = cms.untracked.string('BeamSpotObjectsRcdHPByRun'),
0135                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0136                                                                FileClass           = cms.untracked.string("ALCA"),
0137                                                                prodMetaData        = cms.untracked.string(BeamSpotObjectsRcdHPByRun_prod_str),
0138                                                                prepMetaData        = cms.untracked.string(BeamSpotObjectsRcdHPByRun_prep_str),
0139                                                                ),
0140                                                       cms.PSet(record              = cms.untracked.string('SiStripBadStripRcd'),
0141                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0142                                                                FileClass           = cms.untracked.string("ALCA"),
0143                                                                prodMetaData        = cms.untracked.string(SiStripBadStripRcd_prod_str),
0144                                                                prepMetaData        = cms.untracked.string(SiStripBadStripRcd_prep_str),
0145                                                                ),
0146                                                       cms.PSet(record              = cms.untracked.string('SiStripBadStripFromHitEffRcd'),
0147                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0148                                                                FileClass           = cms.untracked.string("ALCA"),
0149                                                                prodMetaData        = cms.untracked.string(SiStripBadStripRcdHitEff_prod_str),
0150                                                                prepMetaData        = cms.untracked.string(SiStripBadStripRcdHitEff_prep_str),
0151                                                                ),
0152                                                       cms.PSet(record              = cms.untracked.string('SiStripApvGainRcd'),
0153                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0154                                                                FileClass           = cms.untracked.string("ALCA"),
0155                                                                prodMetaData        = cms.untracked.string(SiStripApvGainRcd_prod_str),
0156                                                                prodMetaDataMultiRun = cms.untracked.string(SiStripApvGainRcd_multirun_prod_str),
0157                                                                prepMetaData        = cms.untracked.string(SiStripApvGainRcd_prep_str),
0158                                                                prepMetaDataMultiRun = cms.untracked.string(SiStripApvGainRcd_multirun_prep_str),
0159                                                                ),
0160                                                       cms.PSet(record              = cms.untracked.string('TrackerAlignmentRcd'),
0161                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0162                                                                FileClass           = cms.untracked.string("ALCA"),
0163                                                                prodMetaData        = cms.untracked.string(SiPixelAliRcd_prod_str),
0164                                                                prepMetaData        = cms.untracked.string(SiPixelAliRcd_prep_str),
0165                                                                ),
0166                                                       cms.PSet(record              = cms.untracked.string('TrackerAlignmentHGRcd'),
0167                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0168                                                                FileClass           = cms.untracked.string("ALCA"),
0169                                                                prodMetaData        = cms.untracked.string(SiPixelAliHGRcd_prod_str),
0170                                                                prepMetaData        = cms.untracked.string(SiPixelAliHGRcd_prep_str),
0171                                                                ),
0172                                                       cms.PSet(record              = cms.untracked.string('SiStripApvGainRcdAAG'),
0173                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0174                                                                FileClass           = cms.untracked.string("ALCA"),
0175                                                                prodMetaData        = cms.untracked.string(SiStripApvGainRcdAAG_prod_str),
0176                                                                prodMetaDataMultiRun = cms.untracked.string(SiStripApvGainRcdAAG_multirun_prod_str),
0177                                                                prepMetaData        = cms.untracked.string(SiStripApvGainRcdAAG_prep_str),
0178                                                                prepMetaDataMultiRun = cms.untracked.string(SiStripApvGainRcdAAG_multirun_prep_str)
0179                                                                ),
0180                                                       cms.PSet(record              = cms.untracked.string('EcalPedestalsRcd'),
0181                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0182                                                                FileClass           = cms.untracked.string("ALCA"),
0183                                                                prodMetaData        = cms.untracked.string(EcalPedestalsRcd_prod_str),
0184                                                                prepMetaData        = cms.untracked.string(EcalPedestalsRcd_prep_str),
0185                                                                ),
0186                                                       cms.PSet(record              = cms.untracked.string('LumiCorrectionsRcd'),
0187                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0188                                                                FileClass           = cms.untracked.string("ALCA"),
0189                                                                prodMetaData        = cms.untracked.string(LumiCorrectionsRcd_prod_str),
0190                                                                prepMetaData        = cms.untracked.string(LumiCorrectionsRcd_prep_str),
0191                                                                ),
0192                                                       cms.PSet(record              = cms.untracked.string('SiPixelQualityFromDbRcd_prompt'),
0193                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0194                                                                FileClass           = cms.untracked.string("ALCA"),
0195                                                                prodMetaData        = cms.untracked.string(SiPixelQualityFromDbRcd_prompt_prod_str),
0196                                                                prepMetaData        = cms.untracked.string(SiPixelQualityFromDbRcd_prompt_prep_str),
0197                                                                ),
0198                                                       cms.PSet(record              = cms.untracked.string('SiPixelQualityFromDbRcd_stuckTBM'),
0199                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0200                                                                FileClass           = cms.untracked.string("ALCA"),
0201                                                                prodMetaData        = cms.untracked.string(SiPixelQualityFromDbRcd_stuckTBM_prod_str),
0202                                                                prepMetaData        = cms.untracked.string(SiPixelQualityFromDbRcd_stuckTBM_prep_str),
0203                                                                ),
0204                                                       cms.PSet(record              = cms.untracked.string('SiPixelQualityFromDbRcd_other'),
0205                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0206                                                                FileClass           = cms.untracked.string("ALCA"),
0207                                                                prodMetaData        = cms.untracked.string(SiPixelQualityFromDbRcd_other_prod_str),
0208                                                                prepMetaData        = cms.untracked.string(SiPixelQualityFromDbRcd_other_prep_str),
0209                                                                ),
0210                                                       cms.PSet(record              = cms.untracked.string('SiPixelLorentzAngleRcd'),
0211                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0212                                                                FileClass           = cms.untracked.string("ALCA"),
0213                                                                prodMetaData        = cms.untracked.string(SiPixelLorentzAngleRcd_prod_str),
0214                                                                prodMetaDataMultiRun = cms.untracked.string(SiPixelLorentzAngleRcd_multirun_prod_str),
0215                                                                prepMetaData        = cms.untracked.string(SiPixelLorentzAngleRcd_prep_str),
0216                                                                prepMetaDataMultiRun = cms.untracked.string(SiPixelLorentzAngleRcd_multirun_prep_str),
0217                                                            ),
0218                                                       cms.PSet(record              = cms.untracked.string('SiPixelLorentzAngleRcdMCS'),
0219                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0220                                                                FileClass           = cms.untracked.string("ALCA"),
0221                                                                prodMetaData        = cms.untracked.string(SiPixelLorentzAngleRcd_MCS_prod_str),
0222                                                                prodMetaDataMultiRun = cms.untracked.string(SiPixelLorentzAngleRcd_MCS_multirun_prod_str),
0223                                                                prepMetaData        = cms.untracked.string(SiPixelLorentzAngleRcd_MCS_prep_str),
0224                                                                prepMetaDataMultiRun = cms.untracked.string(SiPixelLorentzAngleRcd_MCS_multirun_prep_str),
0225                                                            ),
0226                                                       cms.PSet(record              = cms.untracked.string('CTPPSRPAlignmentCorrectionsDataRcd'),
0227                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0228                                                                FileClass           = cms.untracked.string("ALCA"),
0229                                                                prodMetaData        = cms.untracked.string(CTPPSRPAlignmentCorrectionsDataRcd_prod_str),
0230                                                                prepMetaData        = cms.untracked.string(CTPPSRPAlignmentCorrectionsDataRcd_prep_str),
0231                                                                ),
0232                                                       cms.PSet(record              = cms.untracked.string('PPSTimingCalibrationRcd_HPTDC'),
0233                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0234                                                                FileClass           = cms.untracked.string("ALCA"),
0235                                                                prodMetaData        = cms.untracked.string(PPSTimingCalibrationRcd_prod_str),
0236                                                                prepMetaData        = cms.untracked.string(PPSTimingCalibrationRcd_prep_str),
0237                                                                ),
0238                                                       cms.PSet(record              = cms.untracked.string('PPSTimingCalibrationRcd_SAMPIC'),
0239                                                                Source              = cms.untracked.string("AlcaHarvesting"),
0240                                                                FileClass           = cms.untracked.string("ALCA"),
0241                                                                prodMetaData        = cms.untracked.string(PPSTimingCalibrationRcd_Sampic_prod_str),
0242                                                                prepMetaData        = cms.untracked.string(PPSTimingCalibrationRcd_Sampic_prep_str),
0243                                                                )
0244                                                       ),
0245                                   # this boolean will read the content of whichever payload is available and print its content to stoutput
0246                                   # set this to false if you write out a sqlite.db translating the json's into a payload
0247                                   read = cms.untracked.bool(False),
0248                                   toRead = cms.untracked.vstring() 
0249                                   )
0250 
0251 process.p = cms.Path(process.mywriter)
0252 
0253 if process.mywriter.write:
0254 
0255     from CondCore.CondDB.CondDB_cfi import CondDB
0256     CondDB.connect = "sqlite_file:DropBoxMetadata.db"
0257 
0258     process.PoolDBOutputService = cms.Service("PoolDBOutputService",
0259                                               CondDB,
0260                                               toPut = cms.VPSet(cms.PSet(record = cms.string('DropBoxMetadataRcd'),
0261                                                                          tag = cms.string('DropBoxMetadata'),
0262                                                                          timetype   = cms.untracked.string('runnumber')
0263                                                                          )
0264                                                                 ),
0265                                               loadBlobStreamer = cms.untracked.bool(False),
0266                                               #    timetype   = cms.untracked.string('lumiid')
0267                                               #    timetype   = cms.untracked.string('runnumber')
0268                                               )
0269     
0270 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0271 process.GlobalTag.globaltag = '124X_dataRun3_Express_Queue'