ROOTPWA
checkAmplitudes.sh
Go to the documentation of this file.
1 #!/bin/bash
2 
3 # script checks pwa directory structure for consitency
4 # Checks:
5 # Equal Number of waves in every bin
6 # Equal Number of events in every wave
7 
8 #loop over mass-bin directories
9 
10 
11 TXT_BLD=$(tput bold)
12 TXT_RED=$(tput setaf 1)
13 TXT_GREEN=$(tput setaf 2)
14 TXT_YLW=$(tput setaf 3)
15 TXT_BLUE=$(tput setaf 4)
16 TXT_PURPLE=$(tput setaf 5)
17 TXT_CYAN=$(tput setaf 6)
18 TXT_WHITE=$(tput setaf 7)
19 TXT_RESET=$(tput sgr0)
20 
21 RESULT=0
22 
23 echo -e "Directory \t Num \t FileSize \t NAN"
24 
25 for i in $1; do
26 
27  export NUMAMP=`ls $i | grep .amp | wc -l`
28 
29  MAXN=0;
30  MINN=1000000;
31  MAXNMC=0;
32  MINNMC=1000000;
34  MINNACC=1000000;
35 
36  if [ $NUMAMP -gt 0 ]; then
37  for j in $i/*.amp; do
38  N=$(stat -c%s "$j"); # use filesize as proxy
39  #echo $j $N;
40  if [ $N -gt $MAXN ]; then MAXN=$N; fi;
41  if [ $N -lt $MINN ]; then MINN=$N; fi;
42  if [ $N -lt $MAXN -a $N -gt 0 ] ; then ls $j >> /tmp/unfinAmps; fi
43  done
44  fi
45  if [[ $MAXN != $MINN ]]; then
46  echo -e "${TXT_RED}$i${TXT_RESET} \t $NUMAMP \t ${TXT_RED}$MINN..$MAXN${TXT_RESET}\c";
47  RESULT=1;
48  else echo -e "$i \t $NUMAMP \t $MINN..$MAXN \c"
49  fi;
50 
51 
52 
53  if [[ -e $i/norm.int ]]; then
54  if grep -q nan $i/norm.int ; then echo "${TXT_RED}!!${TXT_RESET}";
55  else echo -e "\t ok";
56  fi
57  else echo -e "\t no norm";
58  fi
59 
60 
61 
62 done; # and loop over bins
63 
64 
65 exit $RESULT