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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179

setenv CLASS ${1}
setenv VALID false

if ( ${CLASS} == "DTReadOutMapping" ) then
  setenv VNAME DTROMap
  setenv FNAME map
  setenv VALID true
endif

if ( ${CLASS} == "DTT0" ) then
  setenv VNAME DTT0
  setenv FNAME t0
  setenv VALID true
endif

if ( ${CLASS} == "DTTtrig" ) then
  setenv VNAME DTTtrig
  setenv FNAME tTrig
  setenv VALID true
endif

if ( ${CLASS} == "DTMtime" ) then
  setenv VNAME DTMtime
  setenv FNAME mTime
  setenv VALID true
endif

if ( ${CLASS} == "DTRangeT0" ) then
  setenv VNAME DTRangeT0
  setenv FNAME tr
  setenv VALID true
endif

if ( ${CLASS} == "DTStatusFlag" ) then
  setenv VNAME DTStatusFlag
  setenv FNAME sf
  setenv VALID true
endif

if ( ${CLASS} == "DTPerformance" ) then
  setenv VNAME DTPerformance
  setenv FNAME mp
  setenv VALID true
endif

if ( ${CLASS} == "DTDeadFlag" ) then
  setenv VNAME DTDeadFlag
  setenv FNAME df
  setenv VALID true
endif

if ( ${CLASS} == "DTCCBConfig" ) then
  setenv VNAME DTCCBConfig
  setenv FNAME ccb
  setenv VALID true
endif

if ( ${CLASS} == "DTLVStatus" ) then
  setenv VNAME DTLVStatus
  setenv FNAME lv
  setenv VALID true
endif

if ( ${CLASS} == "DTHVStatus" ) then
  setenv VNAME DTHVStatus
  setenv FNAME hv
  setenv VALID true
endif

if ( ${CLASS} == "DTTPGParameters" ) then
  setenv VNAME DTTPGParameters
  setenv FNAME tpg
  setenv VALID true
endif

#if ( ${CLASS} == "" ) then
#  setenv VNAME 
#  setenv FNAME 
#  setenv VALID true
#endif

if ( ${VALID} == "false" ) then
  echo "unvalid class type: "${CLASS}
  exit
endif

touch ${FNAME}Dump.txt ${FNAME}Validate.log validate_${FNAME}_w.py
rm -f ${FNAME}Dump.txt ${FNAME}Validate.log validate_${FNAME}_w.py
#pool_build_object_relational_mapping              \
#  -f ../../xml/${CLASS}-mapping-custom.xml       \
#  -d CondFormatsDTObjects -c sqlite_file:test.db

sed s/CLASS/${CLASS}/g   validate_w_template.py | \
sed s/VNAME/${VNAME}/g                          | \
sed s/FNAME/${FNAME}/g > validate_${FNAME}_w.py

cmsRun validate_${FNAME}_w.py

touch validate_head.py validate_tail.py validate_temp.py
unset HEAD_LENGTH
unset FILE_LENGTH
unset TAIL_LENGTH
unset LTYPE_B_POS
unset LTYPE_E_POS
unset LIST_LENGTH
set HEAD_LENGTH
set FILE_LENGTH
set TAIL_LENGTH
set LTYPE_B_POS
set LTYPE_E_POS
set LIST_LENGTH

@ LTYPE_B_POS = `grep -n "toGet B" validate_r.py | awk -F: '{print $1}'`
@ LTYPE_E_POS = `grep -n "toGet E" validate_r.py | awk -F: '{print $1}'`
@ LTYPE_E_POS--
@ LIST_LENGTH = ${LTYPE_E_POS} - ${LTYPE_B_POS}
@ HEAD_LENGTH = ${LTYPE_E_POS}
@ FILE_LENGTH = `wc validate_r.py | awk '{print $1}'`
@ TAIL_LENGTH = ${FILE_LENGTH} - ${LTYPE_E_POS}

rm -f validate_head.py validate_tail.py validate_temp.py
head -${HEAD_LENGTH} validate_r.py > validate_head.py
tail -${TAIL_LENGTH} validate_r.py > validate_tail.py
cp validate_head.py validate_temp.py
if ( ${LIST_LENGTH} > 0 ) then
  echo "                ," >> validate_temp.py
endif
cat << END >> validate_temp.py
                cms.PSet( record = cms.string('${CLASS}Rcd'),
                          tag = cms.string('${FNAME}_test') )
END
cat validate_tail.py >> validate_temp.py
cp validate_temp.py validate_r.py

@ HEAD_LENGTH = `grep -n "PROCESS LIST" validate_r.py | awk -F: '{print $1}'`
@ HEAD_LENGTH--
@ FILE_LENGTH = `wc validate_r.py | awk '{print $1}'`
@ TAIL_LENGTH = ${FILE_LENGTH} - ${HEAD_LENGTH}

rm -f validate_head.py validate_tail.py validate_temp.py
head -${HEAD_LENGTH} validate_r.py > validate_head.py
tail -${TAIL_LENGTH} validate_r.py > validate_tail.py
cp validate_head.py validate_temp.py
cat << END >> validate_temp.py
process.${FNAME} = cms.EDAnalyzer("${VNAME}ValidateDBRead",
    chkFile = cms.string('${FNAME}Dump.txt'),
    logFile = cms.string('${FNAME}Validate.log')
)
END
cat validate_tail.py >> validate_temp.py
cp validate_temp.py validate_r.py

unset LIST_B_POS
unset LIST_E_POS
unset LISTLENGTH
set LIST_B_POS
set LIST_E_POS
set LISTLENGTH
@ LTYPE_B_POS = `grep -n "PROCESS B" validate_r.py | awk -F: '{print $1}'`
@ LTYPE_E_POS = `grep -n "PROCESS E" validate_r.py | awk -F: '{print $1}'`
@ LTYPE_E_POS--
@ LIST_LENGTH = ${LTYPE_E_POS} - ${LTYPE_B_POS}
@ HEAD_LENGTH = ${LTYPE_E_POS}
@ FILE_LENGTH = `wc validate_r.py | awk '{print $1}'`
@ TAIL_LENGTH = ${FILE_LENGTH} - ${LTYPE_E_POS}

rm -f validate_head.py validate_tail.py validate_temp.py
head -${HEAD_LENGTH} validate_r.py > validate_head.py
tail -${TAIL_LENGTH} validate_r.py > validate_tail.py
cp validate_head.py validate_temp.py
if ( ${LIST_LENGTH} > 0 ) then
  echo "                     +" >> validate_temp.py
endif
cat << END >> validate_temp.py
                     process.${FNAME}
END
cat validate_tail.py >> validate_temp.py
cp validate_temp.py validate_r.py