File indexing completed on 2024-04-06 11:57:29
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 CONFIG_TEMPLATE="$CMSSW_BASE/src/Alignment/TrackerAlignment/test/alignment_forGeomComp_cfg_TEMPLATE.py"
0015 PLOTMILLEPEDEDIR="$CMSSW_BASE/src/Alignment/MillePedeAlignmentAlgorithm/macros/"
0016 if [ ! -f "${CONFIG_TEMPLATE}" ]
0017 then
0018 CONFIG_TEMPLATE="${CMSSW_RELEASE_BASE}/src/Alignment/TrackerAlignment/test/alignment_forGeomComp_cfg_TEMPLATE.py"
0019 fi
0020 if [ ! -d "${PLOTMILLEPEDEDIR}" ]
0021 then
0022 PLOTMILLEPEDEDIR="${CMSSW_RELEASE_BASE}/src/Alignment/MillePedeAlignmentAlgorithm/macros/"
0023 fi
0024
0025 if [ $
0026 then
0027 EXECUTION_DIR="${1}/"
0028 else
0029 EXECUTION_DIR="$(pwd)/"
0030 fi
0031
0032 echo Using template $CONFIG_TEMPLATE
0033 echo and plotting macros from $PLOTMILLEPEDEDIR
0034 echo "Running in ${EXECUTION_DIR}"
0035 echo
0036
0037 RUN_NUMBERS="272011 273000"
0038
0039
0040
0041
0042 GLOBALTAG1="auto:run2_data"
0043
0044 ALIGNMENT_TAG1="TrackerAlignment_2009_v1_express"
0045 DB_PATH_TAG1="frontier://FrontierProd/CMS_CONDITIONS"
0046
0047
0048
0049 GLOBALTAG2="auto:run2_data"
0050
0051 ALIGNMENT_TAG2="SiPixelAli_PCL_v0_prompt"
0052
0053 DB_PATH_TAG2="frontier://FrontierPrep/CMS_CONDITIONS"
0054
0055 if [ ! -d "${EXECUTION_DIR}" ]
0056 then
0057 mkdir ${EXECUTION_DIR}
0058 fi
0059 cd ${EXECUTION_DIR}
0060
0061 for RUN in $RUN_NUMBERS ; do
0062 echo "============================================================"
0063 echo " Run $RUN: $GLOBALTAG1 / $ALIGNMENT_TAG1 (=1) vs $GLOBALTAG2 / $ALIGNMENT_TAG2 (=2)"
0064 echo "============================================================"
0065 CONFIG1=alignment_forGeomComp_${GLOBALTAG1}_${ALIGNMENT_TAG1}_r${RUN}_1.py
0066 TREEFILE1=treeFile_${GLOBALTAG1}_${ALIGNMENT_TAG1}_r${RUN}_1.root
0067 TREEFILE1=`echo ${TREEFILE1//"auto:"/"auto_"}`
0068 LOGFILE1=alignment_${GLOBALTAG1}_${ALIGNMENT_TAG1}r${RUN}_1
0069 LOGFILE1=`echo ${LOGFILE1//"auto:"/"auto_"}`
0070
0071
0072 CONFIG2=alignment_forGeomComp_${GLOBALTAG2}_${ALIGNMENT_TAG2}_r${RUN}_2.py
0073 TREEFILE2=treeFile_${GLOBALTAG2}_${ALIGNMENT_TAG2}_r${RUN}_2.root
0074 TREEFILE2=`echo ${TREEFILE2//"auto:"/"auto_"}`
0075 LOGFILE2=alignment_${GLOBALTAG2}_${ALIGNMENT_TAG2}r${RUN}_2
0076 LOGFILE2=`echo ${LOGFILE2//"auto:"/"auto_"}`
0077
0078
0079 if [ -e $TREEFILE1 ] ; then
0080 echo "Removing old file" $TREEFILE1
0081 rm $TREEFILE1
0082 fi
0083 sed -e "s/RUNNUMBER/${RUN}/g" $CONFIG_TEMPLATE > ${CONFIG1}_tmp
0084 sed -e "s/TREEFILE/${TREEFILE1}/g" ${CONFIG1}_tmp > ${CONFIG1}_tmp2
0085 sed -e "s/GLOBALTAG/${GLOBALTAG1}/g" ${CONFIG1}_tmp2 > ${CONFIG1}_tmp3
0086 sed -e "s/LOGFILE/${LOGFILE1}/g" ${CONFIG1}_tmp3 > ${CONFIG1}
0087
0088
0089 if [ "$ALIGNMENT_TAG1" != "" ]; then
0090 cat >> ${CONFIG1} <<EOF
0091
0092 from CondCore.CondDB.CondDB_cfi import *
0093 CondDBReference = CondDB.clone(connect = cms.string("$DB_PATH_TAG1"))
0094 process.trackerAlignment = cms.ESSource("PoolDBESSource",
0095 CondDBReference,
0096 toGet = cms.VPSet(cms.PSet(record = cms.string("TrackerAlignmentRcd"),
0097 tag = cms.string("$ALIGNMENT_TAG1")
0098 )
0099 )
0100 )
0101 process.es_prefer_trackerAlignment = cms.ESPrefer("PoolDBESSource", "trackerAlignment")
0102 EOF
0103 fi
0104
0105 rm ${CONFIG1}_tmp*
0106 cmsRun $CONFIG1
0107 return_code=${?}
0108 if [ ${return_code} -ne 0 ]
0109 then
0110 echo "The command 'cmsRun ${CONFIG1}' failed. Please check the log file."
0111 exit ${return_code}
0112 fi
0113 rm remove_me.db
0114
0115 if [ -e $TREEFILE2 ] ; then
0116 echo "Removing old file" $TREEFILE2
0117 rm $TREEFILE2
0118 fi
0119 sed -e "s/RUNNUMBER/${RUN}/g" $CONFIG_TEMPLATE > ${CONFIG2}_tmp
0120 sed -e "s/TREEFILE/${TREEFILE2}/g" ${CONFIG2}_tmp > ${CONFIG2}_tmp2
0121 sed -e "s/GLOBALTAG/${GLOBALTAG2}/g" ${CONFIG2}_tmp2 > ${CONFIG2}_tmp3
0122 sed -e "s/LOGFILE/${LOGFILE2}/g" ${CONFIG2}_tmp3 > ${CONFIG2}
0123
0124
0125 if [ "$ALIGNMENT_TAG2" != "" ]; then
0126 cat >> ${CONFIG2} <<EOF
0127
0128 from CondCore.CondDB.CondDB_cfi import *
0129 CondDBReference = CondDB.clone(connect = cms.string("$DB_PATH_TAG2"))
0130 process.trackerAlignment = cms.ESSource("PoolDBESSource",
0131 CondDBReference,
0132 toGet = cms.VPSet(cms.PSet(record = cms.string("TrackerAlignmentRcd"),
0133 tag = cms.string("$ALIGNMENT_TAG2")
0134 )
0135 )
0136 )
0137 process.es_prefer_trackerAlignment = cms.ESPrefer("PoolDBESSource", "trackerAlignment")
0138 EOF
0139 fi
0140
0141 rm ${CONFIG2}_tmp*
0142 cmsRun $CONFIG2
0143 return_code=${?}
0144 if [ ${return_code} -ne 0 ]
0145 then
0146 echo "The command 'cmsRun ${CONFIG2}' failed. Please check the log file."
0147 exit ${return_code}
0148 fi
0149 rm remove_me.db
0150
0151 HEREIAM=$(pwd)
0152 PLOTDIR=${HEREIAM}/PixelBaryCentrePlottingTools
0153 if [ ! -d ${PLOTDIR} ]
0154 then
0155 mkdir ${PLOTDIR}
0156 cp -r $PLOTMILLEPEDEDIR/* ${PLOTDIR}
0157 chmod -R +w ${PLOTDIR}
0158 fi
0159 cd ${PLOTDIR}
0160 root -b -q -l allMillePede.C "pixelPositionChange.C+(\"${HEREIAM}/$TREEFILE1\", \"${HEREIAM}/$TREEFILE2\")"
0161 return_code=${?}
0162 if [ ${return_code} -ne 0 ]
0163 then
0164 echo "Running 'allMillePede.C' failed."
0165 exit ${return_code}
0166 fi
0167 cd $HEREIAM
0168 done