Back to home page

Project CMSSW displayed by LXR

 
 

    


Warning, /CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/data/EcnaSystemScriptPython is written in an unsupported language. File is not indexed.

0001 # --------------------------------------------- EcnaSystemScriptPython ----------------------------------------------
0002 #
0003 #    Script for ECNA cmsRun python file building with RunNumber, Analysis name, Nb of samples,
0004 #    First evt#, Last evt#, SM or Dee number, python file name (without extension) and path as arguments
0005 #
0006 #    Syntax of call: csh EcnaSystemScriptPython \
0007 #                    RUN_NUMBER    \"ANALYSIS_NAME\" \"NB_OF_SAMPLES\"
0008 #                    $1            $2                $3   
0009 #                    \"FIRST_EVT\" \"LAST_EVT\" \"NB_OF_EVTS\" \"SM_OR_DEE\" \"SM_OR_DEE_NUMBER\"
0010 #                    $4            $5           $6             $7            $8
0011 #                    PYTHON_FILE_NAME_WITHOUT_EXTENSION PATH
0012 #                    $9                                 $10
0013 #                                  
0014 #    Example of call:
0015 #    csh EcnaSystemScriptPython 80875 AdcPed6 "10" "1" "150" "150" "SM" "12" \
0016 #                                     EcnaPython_80875_AdcPed6_10_1_50_SM12\
0017 #                                     cmssw/CMSSW_2_1_19/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/data \
0018 #                                     150 EcnaPythonSource_Run_80875
0019 #
0020 #    Update: 29/07/11
0021 #    
0022 #--------------------------------------------------------------------------------------------------------------------
0023 
0024 echo "*EcnaSystemScriptPython> Script for ECNA cmsRun python file building started."
0025 
0026 set userdir  = $HOME
0027 
0028 pwd
0029 
0030 if( !(-d ${10}) ) then
0031  set localdir = $PWD
0032 else
0033  set localdir = ${10}
0034 endif
0035 
0036 #....   .......
0037 cd ${localdir}
0038 pwd
0039 
0040 if( !(-f SourceForPython_R${1}) ) then
0041  echo "*EcnaSystemScriptPython> File SourceForPython_R${1} not found."
0042  echo "                   No python file can be created."
0043 else
0044 #-------------------------------------------------------- Copy EcnaSystemPythonModuleInsert_1
0045   if( -f cna_one_line_tempo_insert_1 ) then
0046    \rm cna_one_line_tempo_insert_1
0047   endif
0048   cp EcnaSystemPythonModuleInsert_1.py cna_one_line_tempo_insert_1
0049 
0050 #-------------------------------------------------------- Build PythonModuleSource
0051   if( -f cna_one_line_tempo_source_A ) then
0052    \rm cna_one_line_tempo_source_A
0053   endif
0054   if( -f cna_one_line_tempo_source_a ) then
0055    \rm cna_one_line_tempo_source_a
0056   endif
0057   if( -f cna_one_line_tempo_source_b ) then
0058    \rm cna_one_line_tempo_source_b
0059   endif
0060   if( -f cna_one_line_tempo_source_c ) then
0061    \rm cna_one_line_tempo_source_c
0062   endif
0063   if( -f cna_one_line_tempo_source_d ) then
0064    \rm cna_one_line_tempo_source_d
0065   endif
0066   if( -f cna_one_line_tempo_source_e ) then
0067    \rm cna_one_line_tempo_source_e
0068   endif
0069   if( -f cna_one_line_tempo_source_f ) then
0070    \rm cna_one_line_tempo_source_f
0071   endif
0072   if( -f cna_one_line_tempo_source_g ) then
0073    \rm cna_one_line_tempo_source_g
0074   endif
0075   if( -f cna_one_line_tempo_source_h ) then
0076    \rm cna_one_line_tempo_source_h
0077   endif
0078 #  if( -f cna_one_line_tempo_source_i ) then
0079 #   \rm cna_one_line_tempo_source_i
0080 #  endif
0081 
0082 #--------------------------- Source for Python
0083 
0084   echo " " > cna_one_line_tempo_source_A
0085   echo "#-------------- Source" > cna_one_line_tempo_source_a
0086   echo 'process.source = cms.Source("PoolSource",' > cna_one_line_tempo_source_b
0087   echo "                            fileNames = cms.untracked.vstring("  > cna_one_line_tempo_source_c
0088 
0089   more SourceForPython_R${1} > cna_one_line_tempo_source_d 
0090 
0091   echo "    )," > cna_one_line_tempo_source_e
0092   echo "     duplicateCheckMode = cms.untracked.string('noDuplicateCheck')" > cna_one_line_tempo_source_f
0093   echo "                            )" > cna_one_line_tempo_source_g
0094 
0095   echo "process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1))" > cna_one_line_tempo_source_h
0096 
0097 #  echo "process.SkipEvent = cms.untracked.PSet( input = cms.untracked.vstring('ProductNotFound'))" > cna_one_line_tempo_source_i
0098 
0099 #-------------------------------------------------------- Copy EcnaSystemPythonModuleInsert_2 ("simul" if RunNumber < 10000)
0100   if( -f cna_one_line_tempo_insert_2 ) then
0101    \rm cna_one_line_tempo_insert_2
0102   endif
0103 
0104   if( ${1} < 10000) then
0105     cp EcnaSystemPythonModuleInsert_2_simul.py cna_one_line_tempo_insert_2
0106   else
0107     cp EcnaSystemPythonModuleInsert_2_data.py cna_one_line_tempo_insert_2
0108   endif   
0109 
0110 #-------------------------------------------------------- Build PythonModuleGettingParameters
0111   if( -f cna_one_line_tempo_getpar_a ) then
0112    \rm cna_one_line_tempo_getpar_a
0113   endif
0114   if( -f cna_one_line_tempo_getpar_b ) then
0115    \rm cna_one_line_tempo_getpar_b
0116   endif
0117   if( -f cna_one_line_tempo_getpar_c ) then
0118    \rm cna_one_line_tempo_getpar_c
0119   endif
0120   if( -f cna_one_line_tempo_getpar_d ) then
0121    \rm cna_one_line_tempo_getpar_d
0122   endif
0123   if( -f cna_one_line_tempo_getpar_E ) then
0124    \rm cna_one_line_tempo_getpar_E
0125   endif
0126   if( -f cna_one_line_tempo_getpar_e ) then
0127    \rm cna_one_line_tempo_getpar_e
0128   endif
0129   if( -f cna_one_line_tempo_getpar_F ) then
0130    \rm cna_one_line_tempo_getpar_F
0131   endif
0132   if( -f cna_one_line_tempo_getpar_f ) then
0133    \rm cna_one_line_tempo_getpar_f
0134   endif
0135   if( -f cna_one_line_tempo_getpar_z ) then
0136    \rm cna_one_line_tempo_getpar_z
0137   endif
0138 
0139  echo "                                      #-------------- Getting Parameters" > cna_one_line_tempo_getpar_a
0140  echo "                                      sAnalysisName  = cms.string(${2})," > cna_one_line_tempo_getpar_b
0141  echo "                                      sNbOfSamples   = cms.string(${3})," > cna_one_line_tempo_getpar_c
0142  echo "                                      sFirstReqEvent = cms.string(${4})," > cna_one_line_tempo_getpar_d
0143  echo "                                      sLastReqEvent  = cms.string(${5})," > cna_one_line_tempo_getpar_E
0144  echo "                                      sReqNbOfEvts   = cms.string(${6})," > cna_one_line_tempo_getpar_e
0145  echo "                                      sStexName      = cms.string(${7})," > cna_one_line_tempo_getpar_F
0146  echo "                                      sStexNumber    = cms.string(${8}) " > cna_one_line_tempo_getpar_f
0147  echo "                                      )" > cna_one_line_tempo_getpar_z
0148 
0149 #-------------------------------------------------------- Copy EcnaSystemPythonModuleInsert_3
0150   if( -f cna_one_line_tempo_insert_3 ) then
0151   \rm cna_one_line_tempo_insert_3
0152   endif
0153   cp EcnaSystemPythonModuleInsert_3.py cna_one_line_tempo_insert_3
0154 
0155 
0156 #----------------------------------------------------------------------------------------------------------------
0157 #   Remove old python file (name: ${9}.py = ${10}EcnaPython_${2}_S1_${3}_R${1}_${4}_${5}_${6}${7}${8}.py) if it exists
0158 #   and build the new file with cat command
0159 #----------------------------------------------------------------------------------------------------------------
0160 
0161   if ( -f ${9}.py ) then
0162    \rm ${9}.py
0163   endif
0164 
0165   cat cna_one_line_tempo_insert_1 \
0166       cna_one_line_tempo_source_A \
0167       cna_one_line_tempo_source_a \
0168       cna_one_line_tempo_source_b \
0169       cna_one_line_tempo_source_c \
0170       cna_one_line_tempo_source_d \
0171       cna_one_line_tempo_source_e \
0172       cna_one_line_tempo_source_f \
0173       cna_one_line_tempo_source_g \
0174       cna_one_line_tempo_source_h \
0175 #      cna_one_line_tempo_source_i \
0176       cna_one_line_tempo_insert_2 \
0177       cna_one_line_tempo_getpar_a \
0178       cna_one_line_tempo_getpar_b \
0179       cna_one_line_tempo_getpar_c \
0180       cna_one_line_tempo_getpar_d \
0181       cna_one_line_tempo_getpar_E \
0182       cna_one_line_tempo_getpar_e \
0183       cna_one_line_tempo_getpar_F \
0184       cna_one_line_tempo_getpar_f \
0185       cna_one_line_tempo_getpar_z \
0186       cna_one_line_tempo_insert_3 > ${9}.py
0187 
0188 #-------------------------------------------------------- remove the flag file if it exists and build a new flag file
0189  if( -f EcnaPythonFlagFile ) then
0190   \rm EcnaPythonFlagFile
0191  endif
0192 
0193  echo "Flag file for ECNA python file management. Used by TCnaGui. Can be removed by user (with option Clean in TCnaGui or directly) ONLY AFTER all submitted jobs have been finished." > EcnaPythonFlagFile
0194 
0195 #-------------------------------------------------------- Remove the tempo files
0196   \rm cna_one_line_tempo_insert_1
0197 
0198   \rm cna_one_line_tempo_source_A
0199   \rm cna_one_line_tempo_source_a
0200   \rm cna_one_line_tempo_source_b
0201   \rm cna_one_line_tempo_source_c
0202   \rm cna_one_line_tempo_source_d
0203   \rm cna_one_line_tempo_source_e
0204   \rm cna_one_line_tempo_source_f
0205   \rm cna_one_line_tempo_source_g
0206   \rm cna_one_line_tempo_source_h
0207 #  \rm cna_one_line_tempo_source_i
0208 
0209   \rm cna_one_line_tempo_insert_2
0210 
0211   \rm cna_one_line_tempo_getpar_a
0212   \rm cna_one_line_tempo_getpar_b
0213   \rm cna_one_line_tempo_getpar_c
0214   \rm cna_one_line_tempo_getpar_d
0215   \rm cna_one_line_tempo_getpar_E
0216   \rm cna_one_line_tempo_getpar_e
0217   \rm cna_one_line_tempo_getpar_F
0218   \rm cna_one_line_tempo_getpar_f
0219   \rm cna_one_line_tempo_getpar_z
0220 
0221   \rm cna_one_line_tempo_insert_3
0222 
0223 endif
0224 
0225 echo "*EcnaSystemScriptPython> End of execution."