File indexing completed on 2024-04-06 12:10:36
0001
0002
0003
0004
0005 preferred_dir=`pwd`
0006 log_dir=$preferred_dir/log/
0007 conf_dir=$preferred_dir/conf/
0008
0009 cmssw_dir=`pwd`
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 mkdir -p $preferred_dir/log/
0024 mkdir -p $preferred_dir/conf
0025
0026 if [ ! -n "$1" ]
0027
0028 then
0029
0030 echo ""
0031 echo "This script prints to screen:"
0032 echo " the digi (10 samples) of a certain crystal (cry) in a given supermodule,"
0033 echo " or of a given PN diode (pn)."
0034 echo " You can also get the list of the data format errors in the mem or trigger primitives"
0035 echo ""
0036 echo "Options:"
0037 echo ""
0038 echo " -p|--path_file file_path path to the data to be analyzed (default is /data/ecalod-22/daq-data/)"
0039 echo " -d|--data_file file_name data file to be analyzed"
0040 echo ""
0041 echo " -f|--first_ev f_ev first (as written to file) event that will be analyzed; default is 1"
0042 echo " -l|--last_ev l_ev last (as written to file) event that will be analyzed; default is 9999"
0043 echo " -eb|--ieb_id ieb_id selects sm barrel id (1...36); default is all"
0044 echo " -me|--memErrors 0-1 show mem integrity problems; default is 0"
0045 echo " -cry|--cryDigi ic digis from channel ic will be shown"
0046 echo " -tt|--triggerTower tt digis from channel whole tower tt will be shown"
0047 echo " -pn|--pnDigi pd_id digis from pn number pd_id will be shown"
0048 echo " -tp|--trigPrimDigi 0-1 trigger primitive digis will be shown; default is 0"
0049
0050 echo ""
0051 echo ""
0052 exit
0053
0054 fi
0055
0056
0057 data_path="/data/ecalod-22/daq-data/"
0058 data_file="none"
0059
0060 cfg_path="$conf_dir"
0061
0062
0063 ieb=1
0064
0065 memErrors=0;
0066 memString="emtpy";
0067
0068 cry_ic=1;
0069 tt_id=1;
0070 cryString="false";
0071 towerString="false";
0072
0073 pn_num=1;
0074 pnString="false";
0075
0076 trpr=0;
0077
0078 first_event=1
0079 last_event=9999
0080
0081
0082
0083 while [ $
0084 case "$1" in
0085
0086 -p|--path_file)
0087 data_path="$2"
0088 ;;
0089
0090 -d|--data_file)
0091 data_file="$2"
0092 ;;
0093
0094
0095 -f|--first_ev)
0096 first_event="$2"
0097 ;;
0098
0099
0100 -l|--last_ev)
0101 last_event="$2"
0102 ;;
0103
0104
0105 -eb|--ieb_id)
0106 ieb="$2"
0107 ;;
0108
0109 -me|--memErrors)
0110 memErrors="$2";
0111 ;;
0112
0113 -cry|--cryDigi)
0114 cry_ic="$2"
0115 cryString="true"
0116 ;;
0117
0118 -tt|--triggerTower)
0119 tt_id="$2"
0120 towerString="true"
0121 cryString="true"
0122 ;;
0123
0124 -pn|--pnDigi)
0125 pn_num="$2"
0126 pnString="true";
0127 ;;
0128
0129 -tp|--trigPrimDigi)
0130 trpr="$2"
0131 ;;
0132
0133
0134 esac
0135 shift
0136
0137 done
0138
0139 echo ""
0140 echo ""
0141 echo "data to be analyzed: $data_file"
0142 echo "first event analyzed will be: $first_event"
0143 first_event=$(($first_event-1))
0144
0145 echo "last event analyzed will be: $last_event"
0146 echo "supermodule selected: $ieb"
0147
0148 if [[ $memErrors = 1 ]]
0149 then
0150 echo "mem boxes data format problems will be dumped"
0151 memString="true";
0152 else
0153 echo "mem boxes data format problems will not be dumped"
0154 memString="false";
0155 fi
0156
0157
0158 if [[ $cryString = "true" ]]
0159 then
0160 echo "channel selected for digis: $cry_ic"
0161 fi
0162
0163
0164 if [[ $pnString = "true" ]]
0165 then
0166 echo "pn selected for digis: $pn_num"
0167 fi
0168
0169 if [[ $trpr = 1 ]]
0170 then
0171 echo "trigger primitives will be dumped"
0172 tpString="true";
0173 else
0174 tpString="false";
0175 echo "trigger primitives will not be dumped"
0176 fi
0177
0178
0179 echo ""
0180 echo ""
0181
0182
0183
0184
0185 cat > "$cfg_path$data_file".digi.$$.cfg <<EOF
0186
0187 process TESTDUMPER = {
0188
0189
0190 source = PoolSource {
0191 untracked uint32 skipEvents = $first_event
0192 untracked vstring fileNames = { 'file:$data_path$data_file' }
0193 untracked bool debugFlag = true
0194 }
0195
0196 untracked PSet maxEvents = {untracked int32 input = $last_event}
0197
0198 module ecalEBunpacker = EcalDCCTBUnpackingModule{ }
0199
0200
0201 module digi = EcalDigiDumperModule{
0202 untracked int32 verbosity = 1
0203
0204
0205
0206 untracked int32 ieb_id = 1
0207
0208 untracked bool memErrors = $memString
0209
0210 untracked bool cryDigi = $cryString
0211 untracked bool pnDigi = $pnString
0212 untracked bool tpDigi = $tpString
0213
0214 untracked int32 mode = 2
0215
0216
0217 untracked int32 numChannel = 3
0218 untracked int32 numPN = 2
0219
0220
0221 untracked vint32 listChannels = { $cry_ic }
0222 untracked vint32 listTowers = { $tt_id }
0223 untracked vint32 listPns = { $pn_num }
0224 }
0225
0226 module counter = AsciiOutputModule{}
0227
0228 path p = {ecalEBunpacker, digi}
0229
0230 endpath end = { counter }
0231
0232 }
0233
0234
0235 EOF
0236
0237
0238 echo "initializing cmssw..."
0239 export SCRAM_ARCH=slc3_ia32_gcc323
0240
0241 cd $cmssw_dir;
0242 eval `scramv1 ru -sh`;
0243 cd -;
0244 echo "... running"
0245 cmsRun "$cfg_path$data_file".digi.$$.cfg | tee "$log_dir$data_file".$$.digi
0246
0247 echo ""
0248 echo ""
0249 echo ""
0250 echo "-------------------------------------------------------------------------------------------------------------------------"
0251 echo "digi dump completed. To see the results edit:
0252 echo "$log_dir$data_file".$$.digi"
0253 echo "-------------------------------------------------------------------------------------------------------------------------"
0254 echo ""
0255 echo ""
0256