File indexing completed on 2024-11-06 06:06:35
0001
0002 function die { echo $1: status $2 ; exit $2; }
0003
0004
0005 GEOMETRY_DIR="${CMSSW_BASE}/src/Configuration/Geometry/python"
0006 if [ ! -e ${GEOMETRY_DIR} ] ; then
0007 GEOMETRY_DIR="${CMSSW_RELEASE_BASE}/src/Configuration/Geometry/python"
0008 fi
0009
0010
0011 if [ -z "$1" ]; then
0012 echo "Error: No TAG provided. Usage: ./script.sh <TAG>"
0013 exit 1
0014 fi
0015
0016
0017 TAG=$1
0018
0019
0020 get_Run4_versions() {
0021 local files=($(ls ${GEOMETRY_DIR}/GeometryExtendedRun4D*Reco*))
0022 if [ ${
0023 echo "No files found for Run4 versions."
0024 exit 1
0025 fi
0026
0027 local versions=()
0028 for file in "${files[@]}"; do
0029 local version=$(basename "$file" | sed -n 's/.*GeometryExtendedRun4D\([0-9]\{1,3\}\).*/\1/p')
0030 if [[ "$version" =~ ^[0-9]{1,3}$ ]]; then
0031 versions+=("D${version}")
0032 fi
0033 done
0034
0035
0036 echo "${versions[@]}" | tr ' ' '\n' | sort -u | tr '\n' ' '
0037 }
0038
0039
0040 MAX_JOBS=4
0041
0042
0043 run_cmsrun() {
0044 local tag=$1
0045 local version=$2
0046
0047 cmsRun $CMSSW_BASE/src/Fireworks/Geometry/python/dumpRecoGeometry_cfg.py tag=$tag version=$version &
0048
0049
0050 while [ $(jobs -r | wc -l) -ge $MAX_JOBS ]; do
0051 sleep 1
0052 done
0053 }
0054
0055
0056 if [ "$TAG" == "Run4" ]; then
0057
0058 VERSIONS=($(get_Run4_versions))
0059 for VERSION in "${VERSIONS[@]}"; do
0060 echo "Running for Run4 with version $VERSION"
0061 run_cmsrun "Run4" "$VERSION" || die "Failure running dumpRecoGeometry_cfg.py tag=$TAG" $?
0062 done
0063
0064
0065 wait
0066 else
0067 echo "Running for tag $TAG"
0068 cmsRun $CMSSW_BASE/src/Fireworks/Geometry/python/dumpRecoGeometry_cfg.py tag=$TAG || die "Failure running dumpRecoGeometry_cfg.py tag=$TAG" $?
0069 if [ $? -ne 0 ]; then
0070 echo "Error running cmsRun for tag=$TAG"
0071 exit 1
0072 fi
0073 fi