CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions
popcon2dropbox Namespace Reference

Functions

def checkFile (dbName)
 
def copy (args, dbName)
 
def run (args)
 
def saveFileForImportErrors (datef, dbName, withMetadata=False)
 
def upload (args, dbName)
 

Function Documentation

def popcon2dropbox.checkFile (   dbName)

Definition at line 31 of file popcon2dropbox.py.

References str.

Referenced by run().

31 def checkFile( dbName ):
32  dbFileName = '%s.db' %dbName
33  # check if the expected input file is there...
34  # exit code < 0 => error
35  # exit code = 0 => skip
36  # exit code = 1 => import
37  if not os.path.exists( dbFileName ):
38  logger.error('The file expected as an input %s has not been found.'%dbFileName )
39  return -1
40 
41  empty = True
42  try:
43  dbcon = sqlite3.connect( dbFileName )
44  dbcur = dbcon.cursor()
45  dbcur.execute('SELECT * FROM IOV')
46  rows = dbcur.fetchall()
47  for r in rows:
48  empty = False
49  dbcon.close()
50  if empty:
51  logger.warning('The file expected as an input %s contains no data. The import will be skipped.'%dbFileName )
52  return 0
53  return 1
54  except Exception as e:
55  logger.error('Check on input data failed: %s' %str(e))
56  return -2
57 
def checkFile(dbName)
#define str(s)
def popcon2dropbox.copy (   args,
  dbName 
)

Definition at line 121 of file popcon2dropbox.py.

References saveFileForImportErrors(), and str.

Referenced by __assert_no_abort(), PreMixingCaloParticleWorker.add(), DigiCollectionFP420.add(), AlignmentSurfaceDeformations.add(), GeometricDet.addComponents(), MatacqProducer.addMatacqData(), PreMixingDigiSimLinkWorker< DigiSimLinkCollection >.addPileups(), nanoaod::MergeableCounterTable.addVFloat(), nanoaod::MergeableCounterTable.addVInt(), algorithm(), AlignableExtras.alignmentErrors(), AlignableDet.alignmentErrors(), AlignableCSCEndcap.alignmentErrors(), AlignableDTBarrel.alignmentErrors(), AlignableComposite.alignmentErrors(), AlignableMuon.alignmentErrors(), AlignableTracker.alignmentErrors(), AlignableExtras.alignments(), AlignableDet.alignments(), AlignableCSCEndcap.alignments(), AlignableDTBarrel.alignments(), AlignableComposite.alignments(), AlignableMuon.alignments(), AlignableTracker.alignments(), LHEWriter.analyze(), DTResidualCalibration.analyze(), DTEfficiencyTask.analyze(), DTResolutionAnalysisTask.analyze(), FFTJetImageRecorder.analyze(), FFTJetPileupAnalyzer.analyze(), GeometryAligner.applyAlignments(), SegmentsTrackAssociator.associate(), GeometryAligner.attachSurfaceDeformations(), EmbeddingLHEProducer.beginRunProduce(), ecaldqm::MESetNonObject.book(), ecaldqm::MESetEcal.book(), L1ExtraDQM::L1ExtraMonElement< CollectionType >.bookhistograms(), MuonTransientTrackingRecHitBreaker.breakInSubRecHits(), HGCalGeometryLoader.build(), CSCGeometryParsFromDD.build(), SiStripFedCabling.buildFedCabling(), DTCombinatorialPatternReco4D.buildPhiSuperSegmentsCandidates(), DTMeantimerPatternReco4D.buildPhiSuperSegmentsCandidates(), DTCombinatorialPatternReco.buildPointsCollection(), DTCombinatorialExtendedPatternReco.buildPointsCollection(), FWDTSegmentProxyBuilder.buildViewType(), lumi::LumiSectionData.bunchCrossingInfo(), reco::FlavorHistoryEvent.cache(), ecaldqm::MESetNonObject.clone(), ecaldqm::MESetDet2D.clone(), ecaldqm::MESetProjection.clone(), ecaldqm::MESetDet0D.clone(), ecaldqm::MESetDet1D.clone(), ecaldqm::MESetTrend.clone(), ecaldqm::MESetEcal.clone(), ecaldqm::MESetMulti.clone(), ecaldqm::MESet.clone(), CmsShowMainFrame.CmsShowMainFrame(), EcalGlobalShowerContainmentCorrectionsVsEta::Coefficients.Coefficients(), EcalShowerContainmentCorrections::Coefficients.Coefficients(), SiStripProcessedRawDigiProducer.common_process(), CompoundPseudoJet.CompoundPseudoJet(), CompoundPseudoSubJet.CompoundPseudoSubJet(), DTCalibValidation.compute(), EcalDccWeightBuilder.computeAllWeights(), OMTFConfiguration.configure(), Measurement.construct(), DDAHcalModuleAlgo.constructLayers(), DDHGCalModule.constructLayers(), DDHGCalModuleAlgo.constructLayers(), DDHGCalTBModule.constructLayers(), DDHGCalEEAlgo.constructLayers(), DDHGCalHEAlgo.constructLayers(), edm.copy_all(), copy_and_sort_vector(), o2o_helper.copy_payload(), MuonAlignment.copyAlignmentToSurvey(), PFBenchmarkAlgo.copyCollection(), Vispa.Main.Application.Application.copyEvent(), edm::soa::Table< Args >.copyFromToWithResize(), Measurement.copyMeas(), EcalDBCopy.copyToDB(), TruncatedPyramid.createCorners(), sistrip::DetSetVectorFiller< T, dsvIsSparse >.createDetSetVector(), genericValidation.ValidationWithPlots.createPlottingScript(), align.createPoints(), TGeoMgrFromDdd.createShape(), TGeoFromDddService.createShape(), AlignableMuon.cscAlignmentErrorsExtended(), AlignableMuon.cscAlignments(), AlignableMuon.CSCChambers(), AlignableMuon.CSCEndcaps(), AlignableMuon.CSCRings(), AlignableMuon.CSCStations(), DetGeomDesc.deepComponents(), HGCalSimHitValidation.defineGeometry(), edm::StreamerInputSource.deserializeEvent(), magfieldparam::rz_poly.Diff(), reco::DiscretizedEnergyFlow.DiscretizedEnergyFlow(), genericValidation.ValidationWithComparison.doComparison(), FWLiteJobMetadataManager.doUpdate(), AlignableMuon.DTBarrel(), AlignableMuon.DTChambers(), AlignableMuon.DTStations(), AlignableMuon.DTWheels(), BeamFitter.dumpTxtFile(), empty(), MuonSeedOrcaPatternRecognition.endcapPatterns(), LHEWriter.endRun(), PhysicsTools::Interceptor.eval(), EventMsgBuilder.EventMsgBuilder(), eventSetupComponent(), DDHGCalWafer8.execute(), DDTIDModulePosAlgo.execute(), DDHGCalWafer.execute(), DDHGCalWaferAlgo.execute(), DDPixBarLayerUpgradeAlgo.execute(), DDPixFwdDiskAlgo.execute(), DDPixPhase1FwdDiskAlgo.execute(), DDTrackerLinearXY.execute(), DDPixBarLayerAlgo.execute(), DDTrackerXYZPosAlgo.execute(), DDTrackerZPosAlgo.execute(), DDHCalFibreBundle.execute(), DDHCalLinearXY.execute(), DDTrackerAngularV1.execute(), DDTrackerAngular.execute(), DDLinear.execute(), DDAngular.execute(), DDTrackerRingAlgo.execute(), DDPixFwdBlades.execute(), EMTFSubsystemCollector.extractPrimitives(), reco::FFTJetProducerSummary.FFTJetProducerSummary(), Measurement.fillData(), MuonShowerInformationFiller.fillHitsByStation(), CSCHitFromStripOnly.fillPulseHeights(), DTNewROS8FileReader.fillRawData(), DTROS8FileReader.fillRawData(), DTDDUFileReader.fillRawData(), DTROS25FileReader.fillRawData(), DTSpyReader.fillRawData(), CaloTruthAccumulator.finalizeEvent(), reco::modules::JetFlavourIdentifier.findCandidates(), DTCombinatorialPatternReco.findCompatibleHits(), DTCombinatorialExtendedPatternReco.findCompatibleHits(), CSCHitFromStripOnly.findHitOnStripPosition(), SequentialPartitionGenerator.first_part(), ecaldqm::binning.formAxis(), edm.get_underlying_safe(), EcalBarrelGeometry.getClosestCell(), genericValidation.GenericValidation.getCompareStrings(), ROOT::Math::Transform3DPJ.GetComponents(), l1t::stage2::GTCollections.getEGammas(), l1t::stage2::GTCollections.getEtSums(), DTTimeBoxFitter.getFitSeeds(), WatcherStreamFileReader.getInputFile(), l1t::stage2::GTCollections.getJets(), l1t::stage2::GTCollections.getMuons(), l1t::stage2::GMTCollections.getMuons(), MsgTools.getNames(), edm::ParameterSet.getParameterNamesForType(), PhysicsPerformancePayload.getRow(), METCorrectorParametersCollection.getSections(), JetCorrectorParametersCollection.getSections(), l1t::stage2::GTCollections.getTaus(), TrackTransformerForGlobalCosmicMuons.getTransientRecHits(), TrackTransformerForCosmicMuons.getTransientRecHits(), l1t::Parameter.getVector(), GenWeightsTableProducer.globalBeginRun(), evf::EvFDaqDirector.grabNextJsonFileAndUnlock(), HcalLogicalMap.HcalLogicalMap(), EventMsgView.hltTriggerBits(), edm::RangeMap< int, std::vector< float >, edm::CopyPolicy< float > >.ids(), EcalSRCondTools.importParameterSet(), gen::JetMatchingAlpgen.init(), SimHitMatcher.init(), RecoIdealGeometry.insert(), edm::helper::Filler< Association< C > >.insert(), Phase2ITPixelClusterShapeCache.insert(), SiPixelClusterShapeCache.insert(), edmNew::DetSetVector< edm::Ref< edmNew::DetSetVector< SiStripCluster >, SiStripCluster, edmNew::DetSetVector< SiStripCluster >::FindForDetSetVector > >.insert(), magfieldparam::rz_poly.Int(), MatacqTBDataFormatter.interpretRawData(), MatacqDataFormatter.interpretRawData(), lhef::LHERunInfo.LHERunInfo(), CaloTowerHardcodeGeometryLoader.load(), HcalGeomParameters.loadGeometry(), HGCalGeomParameters.loadGeometryHexagon(), HGCalGeomParameters.loadGeometryHexagon8(), edm::MapOfVectors< std::string, AnalysisDescription * >.loadNext(), HGCalGeomParameters.loadWaferHexagon(), OptoScanTask.locateTicks(), MagFieldConfig.MagFieldConfig(), make_array(), DeepBoostedJetTagsProducer.make_inputs(), CSCHitFromStripOnly.makeStripData(), reco::tau::RecoTauIsolationMasking.mask(), SiStripRecHitConverterAlgorithm.match(), GEMDigiMatcher.matchDigisToSimTrack(), GEMDigiMatcher.matchPadsToSimTrack(), GEMRecHitMatcher.matchRecHitsToSimTrack(), LHERunInfoProduct.mergeProduct(), MuRodBarrelLayer.MuRodBarrelLayer(), SequentialCombinationGenerator< T >.next_combi(), SequentialPartitionGenerator.next_part(), SequentialCombinationGenerator< T >.next_subset(), nonProducerComponent(), reco::tau::RecoTauPhotonFilter.operator()(), reco::tau::RecoTauElectronRejectionPlugin.operator()(), reco::TrackKinematics.operator+(), Json::ValueIteratorBase.operator-(), operator<<(), EcalGlobalShowerContainmentCorrectionsVsEta::Coefficients.operator=(), EcalShowerContainmentCorrections::Coefficients.operator=(), PhysicsTools::MVAComputer::DerivContext.output(), l1t::Parameter.Parameter(), edm.ParameterSet::getParameterNamesForType< std::vector< PdtEntry > >(), AlpgenHeader.parse(), PartitionGenerator.partitions(), PhiMemoryImage.PhiMemoryImage(), CmsTrackerPhase1DiskBuilder.PhiPosNegSplit_innerOuter(), CmsTrackerPhase2TPDiskBuilder.PhiPosNegSplit_innerOuter(), fftjetcms::Polynomial.Polynomial(), DDHGCalHEAlgo.positionMix(), DDAHcalModuleAlgo.positionSensitive(), DDHGCalModule.positionSensitive(), DDHGCalModuleAlgo.positionSensitive(), DDHGCalTBModule.positionSensitive(), DDHGCalEEAlgo.positionSensitive(), DDHGCalHEAlgo.positionSensitive(), edm::PreMixingModule.PreMixingModule(), L1GtConditionEvaluation.print(), l1t::ConditionEvaluation.print(), GlobalObjectMap.print(), L1GlobalTriggerObjectMap.print(), FillInfo.print(), LHCInfo.print(), SiStripQuality.printActiveFedsInfo(), L1RCTProducer.printFedVector(), MagGeoBuilderFromDDD::volumeHandle.printUniqueNames(), sistrip::SpyDigiConverter.processFED(), MuonSeedOrcaPatternRecognition.produce(), PFMuonUntagger.produce(), EcalBasicClusterLocalContCorrectionsESProducer.produce(), PFCandidateMuonUntagger.produce(), DTRecSegment4DProducer.produce(), reco::tautools::CopyProducer< Collection >.produce(), CSCTFPacker.produce(), EcalGlobalShowerContainmentCorrectionsVsEtaESProducer.produce(), pat::L1MuonMatcher.produce(), EcalShowerContainmentCorrectionsESProducer.produce(), ReducedRecHitCollectionProducer.produce(), DTRecSegment2DExtendedProducer.produce(), PFCandidateRecalibrator.produce(), EmbeddingLHEProducer.produce(), EcalTrivialConditionRetriever.produceEcalSamplesCorrelation(), EcalTrivialConditionRetriever.produceEcalTimeBiasCorrections(), HcalAlignmentEP.produceHcalAli(), FQueue< T >.push_back(), edm::DataFrameContainer.push_back(), MuonDigiCollection< uint16_t, GEMGEBStatusDigi >.put(), SurveyPxbImageReader< T >.read(), DTCalibrationMap.readConsts(), RunInfoRead.readData(), LmfSource.readEventWithinFile(), EcalTBReadout.readOut(), Model.readSystemDescription(), DTRefitAndCombineReco4D.refitSuperSegments(), edm::soa::Table< Args >.resizeFromTo(), PhiMemoryImage.rotl(), PhiMemoryImage.rotr(), HGCalDDDConstants.rowColumnWafer(), run(), SiStripClusterizerFromRaw.run(), magfieldparam::rz_poly.rz_poly(), edm::Schedule.Schedule(), SeedTransformer.seedTransform(), edm::StreamerOutputModuleBase.serializeEvent(), edm::StreamerOutputModuleBase.serializeRegistry(), edm::DataFrameContainer.set_back(), lumi::LumiSectionData.setBunchCrossingData(), l1t::stage2::EGammaUnpacker.setEGammaCopy(), l1t::stage2::EtSumUnpacker.setEtSumCopy(), lumi::LumiSectionData.setHLTData(), l1t::stage2::JetUnpacker.setJetCopy(), l1t::stage2::MuonUnpacker.setMuonCopy(), lumi::LumiSectionData.setTriggerData(), PhysicsTools::MVAComputer.setup(), DQMStore.showDirStructure(), SiStripDetInfoFileReader.SiStripDetInfoFileReader(), SiStripHashedDetId.SiStripHashedDetId(), cond::SmallWORMDict.SmallWORMDict(), edm::DataFrameContainer.sort(), MuonDetLayerGeometry.sortLayers(), SiStripZeroSuppression.storeCMN(), TrackerGeometryCompare.surveyToTracker(), edm::SystemTimeKeeper.SystemTimeKeeper(), topLevelPSet(), TrackerStablePhiSort(), reco::TrackExtrapolation.TrackExtrapolation(), TrackMVAClassifierBase.TrackMVAClassifierBase(), TrackTransformerForCosmicMuons.transform(), edm::TransientDataFrame< SIZE >.TransientDataFrame(), MuonTransientTrackingRecHit.transientHits(), MuonTrackLoader.unpackHit(), l1t::stage2.unpacking_bmtf(), PrintGeomInfoAction.update(), SimG4FluxProducer.update(), HGCPassive.update(), sistrip::RawToDigiUnpacker.update(), Version.Version(), AdaptiveVertexReconstructor.vertices(), HGCalDDDConstants.volumes(), DTCalibrationMap.writeConsts(), EcalDccWeightBuilder.writeWeightToRootFile(), and ext::basic_omemstream< Item_t, Traits_t, Allocator_t >.xsputn().

121 def copy( args, dbName ):
122  dbFileName = '%s.db' %dbName
123  destDb = args.destDb
124  destTag = args.destTag
125  comment = args.comment
126 
127  datef = datetime.now()
128  destMap = { "oracle://cms_orcoff_prep/cms_conditions": "oradev", "oracle://cms_orcon_prod/cms_conditions": "onlineorapro" }
129  if destDb.lower() in destMap.keys():
130  destDb = destMap[destDb.lower()]
131  else:
132  if destDb.startswith('sqlite'):
133  destDb = destDb.split(':')[1]
134  else:
135  logger.error( 'Destination connection %s is not supported.' %destDb )
136  return
137  # run the copy
138  note = '"Importing data with O2O execution"'
139  commandOptions = '--force --yes --db %s copy %s %s --destdb %s --synchronize --note %s' %(dbFileName,destTag,destTag,destDb,note)
140  copyCommand = 'conddb %s' %commandOptions
141  logger.info( 'Executing command: %s' %copyCommand )
142  try:
143  pipe = subprocess.Popen( copyCommand, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT )
144  stdout = pipe.communicate()[0]
145  print stdout
146  retCode = pipe.returncode
147  if retCode != 0:
148  saveFileForImportErrors( datef, dbName )
149  ret = retCode
150  except Exception as e:
151  ret = 1
152  logger.error( str(e) )
153  return ret
154 
def saveFileForImportErrors(datef, dbName, withMetadata=False)
def copy(args, dbName)
#define str(s)
def popcon2dropbox.run (   args)

Definition at line 155 of file popcon2dropbox.py.

References checkFile(), copy(), and upload().

155 def run( args ):
156 
157  dbName = datetime.utcnow().strftime('%Y-%m-%d_%H-%M-%S-%f')
158  dbFileName = '%s.db' %dbName
159 
160  if args.auth is not None and not args.auth=='':
161  if auth_path_key in os.environ:
162  logger.warning("Cannot set authentication path to %s in the environment, since it is already set." %args.auth)
163  else:
164  logger.info("Setting the authentication path to %s in the environment." %args.auth)
165  os.environ[auth_path_key]=args.auth
166  if os.path.exists( '%s.db' %dbName ):
167  logger.info("Removing files with name %s" %dbName )
168  os.remove( '%s.db' %dbName )
169  if os.path.exists( '%s.txt' %dbName ):
170  os.remove( '%s.txt' %dbName )
171  command = 'cmsRun %s ' %args.job_file
172  command += ' targetFile=%s' %dbFileName
173  command += ' destinationDatabase=%s' %args.destDb
174  command += ' destinationTag=%s' %args.destTag
175  command += ' 2>&1'
176  pipe = subprocess.Popen( command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT )
177  stdout = pipe.communicate()[0]
178  retCode = pipe.returncode
179  print stdout
180  logger.info('PopCon Analyzer return code is: %s' %retCode )
181  if retCode!=0:
182  logger.error( 'O2O job failed. Skipping upload.' )
183  return retCode
184 
185  ret = checkFile( dbName )
186  if ret > 0:
187  if args.copy:
188  ret = copy( args, dbName )
189  else:
190  ret = upload( args, dbName )
191  os.remove( '%s.db' %dbName )
192  return ret
193 
def copy(args, dbName)
def upload(args, dbName)
def checkFile(dbName)
def popcon2dropbox.saveFileForImportErrors (   datef,
  dbName,
  withMetadata = False 
)

Definition at line 58 of file popcon2dropbox.py.

Referenced by copy(), and upload().

58 def saveFileForImportErrors( datef, dbName, withMetadata=False ):
59  # save a copy of the files in case of upload failure...
60  leafFolderName = datef.strftime(dateformatForFolder)
61  fileFolder = os.path.join( errorInImportFileFolder, leafFolderName)
62  if not os.path.exists(fileFolder):
63  os.makedirs(fileFolder)
64  df= '%s.db' %dbName
65  dataDestFile = os.path.join( fileFolder, df)
66  if not os.path.exists(dataDestFile):
67  shutil.copy2(df, dataDestFile)
68  if withMetadata:
69  mf= '%s.txt' %dbName
70  metadataDestFile = os.path.join( fileFolder, mf )
71  if not os.path.exists(metadataDestFile):
72  shutil.copy2(df, metadataDestFile)
73  logger.error("Upload failed. Data file and metadata saved in folder '%s'" %os.path.abspath(fileFolder))
74 
def saveFileForImportErrors(datef, dbName, withMetadata=False)
def popcon2dropbox.upload (   args,
  dbName 
)

Definition at line 75 of file popcon2dropbox.py.

References saveFileForImportErrors(), and str.

Referenced by run().

75 def upload( args, dbName ):
76  destDb = args.destDb
77  destTag = args.destTag
78  comment = args.comment
79 
80  datef = datetime.now()
81 
82  # first remove any existing metadata file...
83  if os.path.exists( '%s.txt' %dbName ):
84  logger.debug('Removing already existing file %s' %dbName)
85  os.remove( '%s.txt' %dbName )
86 
87  # dump Metadata for the Upload
88  uploadMd = {}
89  uploadMd['destinationDatabase'] = destDb
90  tags = {}
91  tagInfo = {}
92  tags[ destTag ] = tagInfo
93  uploadMd['destinationTags'] = tags
94  uploadMd['inputTag'] = destTag
95  uploadMd['since'] = None
96  datelabel = datef.strftime(dateformatForLabel)
97  commentStr = ''
98  if not comment is None:
99  commentStr = comment
100  uploadMd['userText'] = '%s : %s' %(datelabel,commentStr)
101  with open( '%s.txt' %dbName, 'wb') as jf:
102  jf.write( json.dumps( uploadMd, sort_keys=True, indent = 2 ) )
103  jf.write('\n')
104 
105  # run the upload
106  uploadCommand = 'uploadConditions.py %s' %dbName
107  ret = 0
108  try:
109  pipe = subprocess.Popen( uploadCommand, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT )
110  stdout = pipe.communicate()[0]
111  print stdout
112  retCode = pipe.returncode
113  if retCode != 0:
114  saveFileForImportErrors( datef, dbName, True )
115  ret |= retCode
116  except Exception as e:
117  ret |= 1
118  logger.error(str(e))
119  return ret
120 
def saveFileForImportErrors(datef, dbName, withMetadata=False)
def upload(args, dbName)
#define str(s)