Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
####This is a simulation of O2O procedure for DTReadOutMapping object####
    
step 1: prepare offline db schema(this is a simulation of ORCON/ORCOFF DBA)

 sqlplus user@db/pass<DT-payload.sql
 sqlplus user@db/pass<CondIOV.sql
 sqlplus user@db/pass<createMetaDataTable.sql

step 2: fill dummy data in offline payload tables with two sets of data 
        in cms O2O, these tables are filled by O2O queries(this is a 
simulation of online to offline transformation)
 sqlplus user@db/pass<DT-fillmapping.sql
 
step 3: setup and fill pool tables(this is a simulation of "poolification" steps after the transformation)
   #setenv CORAL_AUTH_USER user not needed if using -u -p
   #setenv CORAL_AUTH_PASSWORD pass
   ../../Utilities/bin/setup_pool_database DTReadOutMapping CondFormatsDTObjects sqlite_file:testfile.db ../src/DTReadOutMapping-mapping-custom.xml -u user -p pass
   ../../Utilities/bin/setup_pool_database "cond::IOV" CondCoreIOVService sqlite_file:testfile.db CondIOV-mapping-custom.xml  (will be removed in the future)

step 4: FCregisterPFN -p sqlite_file:testfile.db -t POOL_RDBMS(only if the first time)

step 5: build and tag IOV. NOTE: two infinite IOV tagged by different 
tags. The selection of the data is by query on the extra columns in table 
DTREADOUTMAPPING (this is a simulation of tagging the data from online)

   cmscond_build_iov_byquery -i -q "CELL_MAP_VERSION='my_ROB' AND ROB_MAP_VERSION='my_ROS'" -u user -p pass -d CondFormatsDTObjects -t DTREADOUTMAPPING -o DTReadOutMapping -c sqlite_file:testfile.db myversion
   cmscond_build_iov_byquery -i -q "CELL_MAP_VERSION='cmssw_ROB' AND ROB_MAP_VERSION='cmssw_ROS'" -u user -p pass -d CondFormatsDTObjects -t DTREADOUTMAPPING -o DTReadOutMapping -c sqlite_file:testfile.db cmssw_version

step 6: read data back from cmsRun. Note the tag value (this is a simulation of offline CMSSW job)
   cmsRun load_test_myversion.cfg
   cmsRun load_test_cmsswversion.cfg