#!/bin/sh # ______________________________________________________________________ # # Purpose: Run D0RECO # Created: 28JAN01, HLM # ______________________________________________________________________ # ______________________________________________________________________ # # Configuration parameters # ______________________________________________________________________ SCRIPTNAME="runreco" # Name of this script SCRIPTPATH="$D0TOOLS_BIN" # Location of this script RUNFRMWRK="rund0exe" # Script to run framework exe INITSCRIPT="initreco.sh" # Script to initialize RECO RTE FORMAT="NONE" # Default data format SPECIAL="NONE" # Special version of d0reco # ______________________________________________________________________ # # Determine type of input, which specifies executable # ______________________________________________________________________ # Help mode for var in $*; do if [ $var = "-h" ]; then cat \ $D0TOOLS_DOC/runreco.man1 \ $D0TOOLS_DOC/runreco.man4 \ $D0TOOLS_DOC/rund0exe.man2 \ $D0TOOLS_DOC/rund0exe.man3 \ $D0TOOLS_DOC/rund0exe.man5 \ | more exit fi done PARAMS="" # This will hold command line options to pass to rund0exe for var in $*; do # If user specified -defname, must be SAM if [ `echo "$var" | grep -c "\-defname="` != 0 ]; then PARAMS="$PARAMS $var" EXE="D0recoSAM_x" RCP="runD0recoSAM_" # If user uses -filelist, need to look inside elif [ `echo "$var"| grep -c "\-filelist="` != 0 ]; then PARAMS="$PARAMS $var" FILELIST=`echo "$var"| sed 's/\-filelist=//'` # Support list of SAM dataset definitions in a filelist if [ `grep -c "SAMDEFNAME:" $FILELIST` != 0 ]; then EXE="D0recoSAM_x" RCP="runD0recoSAM_" # Must just be a list of files else EXE="D0reco_x" RCP="runD0reco_" fi # Data format elif [ `echo "$var"| grep -c "\-format="` != 0 ]; then FORMAT=`echo "$var"| sed 's/\-format=//'` # Special override of exe elif [ `echo "$var"| grep -c "\-special="` != 0 ]; then SPECIAL=`echo "$var"| sed 's/\-special=//'` else PARAMS="$PARAMS $var" fi done if [ "$FORMAT" = "NONE" ]; then echo "ERROR: You must specify format of files using -format option." echo " Standard choices: mc (MC events), data (real data events)." exit fi # For processing of real data, for using WriteEvent output file list. # This is because we currently have a maximum of 500 events per file, # and the D0RECO WriteEvent rcp supplies a list of output files. if [ "$FORMAT" = "data" ]; then PARAMS="$PARAMS -forcercpoutfile" fi # ______________________________________________________________________ # # Framework rcp # ______________________________________________________________________ RCP="$RCP$FORMAT.rcp" RCPPKG="d0reco" if [ $SPECIAL != "NONE" ]; then EXE="D0reco"$SPECIAL"_x" RCP="runD0reco"$SPECIAL"_"$FORMAT".rcp" fi # ______________________________________________________________________ # # Use general run framework script to run RECO # ______________________________________________________________________ $SCRIPTPATH/$RUNFRMWRK \ -exe=$EXE \ -rcp=$RCP \ -rcppkg=$RCPPKG \ -initscript=$SCRIPTPATH/$INITSCRIPT \ $PARAMS