ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/FastOpenGlDisplayer/python/frogRun/frogRun.sh
Revision: 1.2
Committed: Wed Nov 19 08:26:35 2008 UTC (16 years, 5 months ago) by querten
Content type: application/x-sh
Branch: MAIN
Changes since 1.1: +69 -26 lines
Log Message:
Version 1.00 of frogRun

File Contents

# User Rev Content
1 querten 1.1 #!/bin/bash
2    
3     #check if scramv1 is executed
4     if [ -z $CMSSW_BASE ]; then
5 querten 1.2 echo "Please run cmsenv first"
6 querten 1.1 exit
7     fi
8    
9    
10     #variables definition
11     CUR_DIR=$PWD
12     CMSSW_DIR=$CMSSW_BASE'/src/Visualisation/Frog/'
13     FROG_DIR=$CMSSW_DIR'./soft/'
14     REPLACE='Visualisation.Frog'
15     Cosmics_Raw_cfg='Frog_Analyzer_CosmicsFrowRaw_cfg.py'
16     Cosmics_Reco_cfg='Frog_Analyzer_CosmicsFrowReco_cfg.py'
17 querten 1.2 frog_config='Frog_config.txt'
18 querten 1.1
19     #getting parameters
20     if [ $# -eq 1 ]; then
21     cat help/help_short
22     exit
23     fi
24    
25     while [ $# -ge 2 ]; do
26     case $1 in
27     --help )
28     cat help/help_short
29     exit;;
30     -r )
31     shift 1
32     run=$1
33     shift 1;;
34     -d )
35     shift 1
36     data_set=$1
37     shift 1;;
38     * )
39     shift 1;;
40     esac
41     done
42    
43     if [ -z $run ]; then
44 querten 1.2 run=70088
45 querten 1.1 fi
46    
47     if [ -z $data_set ]; then
48 querten 1.2 data_set="/Cosmics/Commissioning08-PromptReco-v2/RECO"
49 querten 1.1 fi
50     sample_name="$data_set""_Run_""$run"
51     sample_name=$(echo "$sample_name" | sed -e 's:/:_:g')
52     sample_name=$(echo "$sample_name" | sed -e 's:-:_:g')
53     sample_name=$(echo "$sample_name" | sed -e 's:__:_:g')
54     config_file=$sample_name"_cfg.py"
55     cff_file=$sample_name"_cff"
56    
57     #choosing the cfg.py file to run
58     if [ $(echo $data_set | grep "RAW") ]; then
59     cfg="Frog_Analyzer_CosmicsFrowRaw_cfg.py"
60    
61     fi
62     if [ $(echo $data_set | grep "RECO") ]; then
63     cfg="Frog_Analyzer_CosmicsFrowReco_cfg.py"
64     fi
65    
66     echo " Run: $run"
67     echo " Dataset: $data_set"
68     echo " List of root files: $cff_file"".py"
69    
70     if [ -z $cfg ]; then
71     echo "Don't know which cfg file to run. Will use default one:"
72     cfg="Frog_Analyzer_CosmicsFrowRaw_cfg.py"
73     fi
74     echo " base cfg file : $cfg"
75     echo " cfg file to run : $config_file"
76    
77    
78     if ! [ -f $CMSSW_DIR'/python/'$cfg ]; then
79     echo "$CMSSW_DIR/python/$cfg : No such file"
80     echo "Stop"
81     exit
82     fi
83    
84     cd $CUR_DIR
85 querten 1.2 #Getting the list of root files and creating the directory trees
86 querten 1.1 working_dir=$CUR_DIR"/Run_"$run$data_set
87 querten 1.2 if ! [ -f $working_dir/$cff_file".py" ]; then
88     ./get_files.py -r $run -d $data_set -f $cff_file".py"
89     if ! [ -f $cff_file".py" ] ; then
90     echo "$cff_file'.py' : No such file"
91     echo "Stop"
92     exit
93     fi
94     mkdir -p $working_dir
95     if ! [ -d $working_dir ]; then
96     echo "$working_dir : Can't create."
97     echo "stop"
98     exit
99     fi
100     mv $cff_file".py" $working_dir/.
101     fi
102     cd $working_dir
103    
104     if [ "$( ps -eo command | grep $working_dir | grep -v grep )" ]; then
105     echo "Several processus found working in directory "
106     echo "$working_dir"
107     echo " PID User START TIME COMM"
108     ps -eo pid,user,start,time,command | grep $working_dir | grep -v grep | awk '{print $1,$2,$3,$4,$5}'
109     echo "Running cmssw or frog may interfere.Please wait than the processus finished"
110 querten 1.1 echo "Stop"
111     exit
112     fi
113 querten 1.2
114    
115 querten 1.1
116     cp $cff_file".py" $CMSSW_DIR/python/.
117     sed -e 's:'$REPLACE'.files_list_cfi:'$REPLACE'.'$cff_file':g' $CUR_DIR/cfg/$cfg | sed -e 's:output.vis:'$sample_name'.vis:g'> $working_dir/$config_file
118     cp $working_dir/$config_file $CMSSW_DIR/python/_tmp_cfg.py
119    
120     cd $CMSSW_DIR
121     echo "Compiling"
122 querten 1.2 scramv1 b
123     echo $(wait)
124 querten 1.1 cd $working_dir
125    
126     if [ -f $file_list'.vis' ]; then
127 querten 1.2 rm $file_list'.vis'
128     fi
129    
130     #remouve old .vis files?
131     #ok, but conserve vis.gz
132     if [ "$(ls -1 | grep $sample_name | grep vis | grep -v vis.gz)" ]; then
133     rm $sample_name*.vis
134     fi
135    
136     if [ "$(ls -1 | grep $sample_name | grep vis.gz)" ]; then
137     num_vis=$(ls -1 | grep $sample_name | grep vis.gz | wc -l)
138     echo "$num_vis .vis.gz files found:"
139     #ls -1 | grep $sample_name | grep vis.gz
140     echo "Will run frog on:"
141     vis_file=$(ls -1 | grep $sample_name | grep vis.gz | head -n 1)
142     echo $vis_file
143     if ! [ -f $frog_config ]; then
144     cp $CUR_DIR/cfg/$frog_config .
145     fi
146    
147     cd $FROG_DIR
148     #uncoment this when you are sure that frog accept -c
149     xterm -T "Frog $data_set Run: $run" -e "./frog $working_dir/$vis_file -c $working_dir/$frog_config 2>&1 | tee $working_dir/frog_out.log"&
150     exit
151 querten 1.1 fi
152    
153 querten 1.2 xterm -T "cmsRun $data_set Run: $run" -e "cmsRun $CMSSW_DIR/python/_tmp_cfg.py 2>&1 | tee $working_dir/cmssw_out.log"&
154    
155     if ! [ -f $frog_config ]; then
156     cp $CUR_DIR/cfg/$frog_config .
157     fi
158 querten 1.1
159     cd $FROG_DIR
160 querten 1.2 xterm -T "Frog $data_set Run: $run" -e "./frog $working_dir/_tmp_.vis -c $working_dir/$frog_config 2>&1 | tee $working_dir/frog_out.log"&
161    
162     #exporting needed variables for controlling cmssw
163     export CMSSW_DIR=$CMSSW_DIR
164     export working_dir=$working_dir
165     export CUR_DIR=$CUR_DIR
166     export sample_name=$sample_name
167 querten 1.1
168 querten 1.2 $CUR_DIR/cmssw_control.sh&
169 querten 1.1
170    
171     exit
172