#!/bin/bash # function getmlet(){ if ((mh==110)); then mlet=a; elif ((mh==120)); then mlet=b; elif ((mh==130)); then mlet=c; elif ((mh==140)); then mlet=d; elif ((mh==150)); then mlet=e; elif ((mh==160)); then mlet=f; elif ((mh==170)); then mlet=g; elif ((mh==180)); then mlet=h; elif ((mh==190)); then mlet=i; elif ((mh==200)); then mlet=j; else echo "Mass ${mh} unknown so no mlet set" fi } # run info details rm -f README cat <README H/WW WW (MC@NLO) weighted Kinematic variables dRLeptons,Ht, lep2_E, lep1_E, MetSpec, Njets, SumEt, jet1_Et ,Met All files, this is a test on v3_71 throughout EOFREADME # # variables rm -f varset.txt cat <varset.txt dRLeptons Ht lep2_E lep1_E MetSpec Njets SumEt jet1_Et Met EOFVARSET # parameters # for the lumi 19 is 1.9fb-1 let run=${1:-7000} let job=${2:-7000} let lumi=${3:-24} let mh=${4:-160} let mhmax=${5:-160} ncycles=10 #00 #ncycles=500 hiddenLayers="N+1,N" #hiddenLayers="N+1" queue=medium time=6 # Set the input directory for the required luminosity # Inputs are MC@NLO only BASEBATCHDIR=/data/cdf04/${USER}/batch # BASECODEDIR=/data/cdf04/${USER}/hww_1fb/hwwcdf6.1.4v3_91 BASECODEDIR1=/data/cdf04/${USER}/hww_1fb/hwwcdf6.1.4v3_91 BASECODEDIR2=/data/cdf04/${USER}/hww_1fb/hwwcdf6.1.4v3_91 # case $lumi in 19) luminosity="1.9" INDIR=/data/cdf04/stdenis/Hww/hwwtree/vud16Aug07-NNInputs-IsMEBase export TEMPLATEINPUT="HWW_Blessing" stacksteerfile=${BASECODEDIR2}/Hww/HwwFit/root/StackInputSteer.txt histlistbase=histlist16-run16aug07-1530-data ;; 24) luminosity="2.4" # # These are Deans # INDIR=/data/cdf01/stdenis/Hww/hwwtree/vud31Mar08-NNInputs_HWWBlessing24fb # These are ricks reproduction of Deans but wihtout LR # INDIR=/data/cdf01/stdenis/Hww/hwwtree/ntp_2_ReScaled-main/pseudoME # # This works as the data files for making templates for either training # above. # export TEMPLATEINPUT="ntp2_PreBlessing_Rescaled_ReWeighted_prev365ok" # # stacksteerfile=${BASECODEDIR2}/Hww/HwwFit/root/StackInputSteer24fb.txt # # This is Aidans tree for training INDIR=/data/cdf01/stdenis/Hww/hwwtree/ntp_2_ReScaled-main/MllInv/ggh/ export TEMPLATEINPUT="ntp_2_Rescaled_MllInv_ggh" # # This means that the dean sets wont work for 2.4fb histlistdir=histlist-24-ntp-2-rescaled-main histlistbase=histlist-fb24-ntp-2-rescaled-main-data stackinputfilelist=${BASECODEDIR2}/Hww/HwwFit/root/StackInputFiles24-ntp-2-rescaled-main.txt ;; *) echo "Use lumi of 19 or 24 only"; exit ;; esac echo "Luminosity of ${luminosity}fb-1 selected" echo "Luminosity of ${luminosity}fb-1 selected" >> README # setup the base directories and release directories # do not change this name, needed by TMVA TMVANAME=H6AONN5MEMLP MAINDIR=`pwd` # # Data for the templating # export HWW_DATA=/data/cdf04/stdenis/Hww export template="BlOct07" export WEIGHT_AREA="/data/cdf04/${USER}/hww_1fb/hwwcdf6.1.4h/Hww/HwwUtil/weights/MENNWeights" # usepairtype=0 maxevt=99999999 debug=0 testdata=0 dumpfile=0 isdata=0 # # Data for the Stacked plots # stacksysfile=${BASECODEDIR2}/Hww/HwwFit/root/SysSet1.txt # # data for the fitting # set=1 # set 1= TMVA Rick, Set 2= Toby set 3=Dean npe=10 #00 # no of pseudoexperiments sb=2 # 0=high signal, 1=low signal, 2=both # ----------------------------------------------------------------- case $sb in 0) sblet="high" ;; 1) sblet="low" ;; 2) sblet="" ;; *) sblet=""; let sb=2 ;; esac # Must match function in Hww/HwwFit/src/LRWW_2fb_NN.cc case $sb in 0) sbsteer="HiSB" ;; 1) sbsteer="LoSB" ;; 2) sbsteer="" ;; *) sbsteer=""; let sb=2 ;; esac fitver="" ROOTDIR=${BASECODEDIR2}/Hww/HwwFit/root dest=run${run} mkdir -p ${BASEBATCHDIR}/$dest mv -f README ${BASEBATCHDIR}/${dest}/. mv -f varset.txt ${BASEBATCHDIR}/${dest}/. cd ${BASEBATCHDIR}/${dest} export RUNDIR=`pwd` stackoutdir=${RUNDIR}/stacked while ((mh<=${mhmax})); do echo "do mh= ${mh} in ${RUNDIR}" getmlet mkdir -p job$job cd job$job dest=`pwd` JOBDIR=`pwd` mkdir -p weights # clear out any previous log and steering files rm -f tr${job}.log rm -f *.txt export file=${INDIR}/NNInputs_${mh}.root # fit hist lists case $set in 1) histlist=${histlistbase}-${mh}.txt ;; 2) histlist=histlist-TMVAT_${mh}.txt ;; 3) histlist=${histlistbase}-${mh}.txt ;; *) histlist=${histlistbase}-${mh}.txt ;; esac basehistdir=${RUNDIR}/templates${template}/HWW${mh}/ ln -sf ../varset.txt . # trainsteer=${JOBDIR}/steer.txt cat < $trainsteer GeneralParameter string 1 Constraint=lep1_E<400&&lep2_E<400&& GeneralParameter bool 1 EvaluateVariables=0 GeneralParameter bool 1 WeightEvents=1 GeneralParameter bool 1 EqualizeSB=0 GeneralParameter string 1 SbString=Target GeneralParameter string 1 HiLoSbString=SB $TMVANAME MLP 1 !V:NCycles=${ncycles}:HiddenLayers=$hiddenLayers STEEREOF # changed inputs here # test setup with no hidden layer #$TMVANAME MLP 1 !V:NCycles=${ncycles}:HiddenLayers=N+1 # normal setup with 1 hidden layer #$TMVANAME MLP 1 !V:NCycles=${ncycles}:HiddenLayers=N+1,N # setup with defined signal/background #GeneralParameter string 1 FileString=File #GeneralParameter string 1 HiLoSbString=SB #ColumnParameter File 0 OnOff=0:SorB=0:Process=Data #ColumnParameter File 1 OnOff=1:SorB=0:Process=Fake #ColumnParameter File 2 OnOff=0:SorB=0:Process=Wegamma #ColumnParameter File 3 OnOff=0:SorB=0:Process=Wmugamma #ColumnParameter File 4 OnOff=0:SorB=0:Process=Wtaugamma #ColumnParameter File 5 OnOff=0:SorB=0:Process=ttbar #ColumnParameter File 6 OnOff=0:SorB=0:Process=WW_Pythia #ColumnParameter File 7 OnOff=0:SorB=0:Process=WZ #ColumnParameter File 8 OnOff=0:SorB=0:Process=ZZ #ColumnParameter File 9 OnOff=1:SorB=0:Process=WW_MCatNLO #ColumnParameter File 10 OnOff=0:SorB=0:Process=Zee #ColumnParameter File 11 OnOff=0:SorB=0:Process=Zmumu #ColumnParameter File 12 OnOff=0:SorB=0:Process=Zee_lowMass #ColumnParameter File 13 OnOff=0:SorB=0:Process=Zmumu_lowMass #ColumnParameter File 14 OnOff=0:SorB=0:Process=Ztautau #ColumnParameter File $mh OnOff=1:SorB=1:Process=Higgs$mh # this is the set for Dean's 2.4fb-1 #ColumnParameter File 0 OnOff=0:SorB=0:Process=Data #ColumnParameter File 1 OnOff=0:SorB=0:Process=Fake #ColumnParameter File 2 OnOff=0:SorB=0:Process=Wegamma #ColumnParameter File 3 OnOff=0:SorB=0:Process=Wmugamma #ColumnParameter File 4 OnOff=0:SorB=0:Process=Wtaugamma #ColumnParameter File 5 OnOff=0:SorB=0:Process=ttbar #ColumnParameter File 6 OnOff=0:SorB=0:Process=WZ #ColumnParameter File 7 OnOff=0:SorB=0:Process=ZZ #ColumnParameter File 8 OnOff=1:SorB=0:Process=WW_MCatNLO #ColumnParameter File 9 OnOff=0:SorB=0:Process=Zee #ColumnParameter File 10 OnOff=0:SorB=0:Process=Zmumu #ColumnParameter File 11 OnOff=0:SorB=0:Process=Ztautau #ColumnParameter File $mh OnOff=1:SorB=1:Process=Higgs$mh # Make the templating steering file templatesteer=${JOBDIR}/steerTemplate.txt cat << EOFTEMPLATESTEER > ${templatesteer} GeneralParameter string 1 UCSDControlRegion=MllInv ColumnParameter ExtraPlotVariables 0 LRHWW=0 ColumnParameter ExtraPlotVariables 1 Met=5:MetDelPhi=6:MetSpec=7 ColumnParameter ExtraPlotVariables 2 dPhiLeptons=8:dRLeptons=9:dimass=10 ColumnParameter ExtraPlotVariables 3 DPhiJ1J2=11:DPhiJ1Lep1=12:DPhiJ1Lep2=13 ColumnParameter ExtraPlotVariables 4 DRJ1J2=14:DRJ1Lep1=15:DRJ1Lep2=16:Ht=17 ColumnParameter ExtraPlotVariables 5 MetSigLJ=18:NVtx=19:SumEt=20:SumEtCal=21 ColumnParameter ExtraPlotVariables 6 SumEtUE=22:jet1_Et=23:lep1_E=24 ColumnParameter ExtraPlotVariables 7 lep2_E=25:MtllMet=27:lepAEt=28:lepBEt=29 ColumnParameter SpecifyHist:MetSigLJ 0 OnOff=1:Max=16 ColumnParameter SpecifyHist:SumEtCal 1 OnOff=1:Max=450 ColumnParameter SpecifyHist:DPhiJ1J2 8 OnOff=1:Max=3.14159265359 ColumnParameter SpecifyHist:DPhiJ1Lep1 9 OnOff=1:Max=3.14159265359 ColumnParameter SpecifyHist:DPhiJ1Lep2 10 OnOff=1:Max=3.14159265359 ColumnParameter SpecifyHist:DRJ1Lep1 11 OnOff=1:Max=3. ColumnParameter SpecifyHist:DRJ1Lep2 12 OnOff=1:Max=8. ColumnParameter SpecifyHist:NVtx 13 OnOff=1:Max=10 ColumnParameter SpecifyHist:DRJ1J2 14 OnOff=1:Max=8. ColumnParameter SpecifyHist:NVtx 19 OnOff=1:Max=10 # # 1 Jet ColumnParameter SpecifyHist:jet1_Et 23 OnOff=1:NBin=20:Min=0.:Max=200. # # Jet and Leptons # ColumnParameter SpecifyHist:DPhiJ1Lep1 12 OnOff=1:Max=3.14159265359 ColumnParameter SpecifyHist:DPhiJ1Lep2 13 OnOff=1:Max=3.14159265359 ColumnParameter SpecifyHist:DRJ1Lep1 15 OnOff=1:Max=3. ColumnParameter SpecifyHist:DRJ1Lep2 16 OnOff=1:Max=8. # ColumnParameter ExtraPlotVariables 100 DEtaJ1Lep1=50:DEtaJ1Lep2=51:MJ1Lep1=52:MJ1Lep2=53 ColumnParameter SpecifyHist:DEtaJ1Lep1 50 OnOff=1:Min=0.:Max=6. ColumnParameter SpecifyHist:DEtaJ1Lep2 51 OnOff=1:Min=0.:Max=6. ColumnParameter SpecifyHist:MJ1Lep1 52 OnOff=1:Min=0.:Max=150. ColumnParameter SpecifyHist:MJ1Lep2 53 OnOff=1:Min=0.:Max=150. # # Other distributions not associated with jets ColumnParameter SpecifyHist:SumEtCal 21 OnOff=1:Max=450. ColumnParameter SpecifyHist:MtllMet 27 OnOff=1:Max=400. GeneralParameter int 1 TMVANBin=56 GeneralParameter int 1 NBNBin=40 GeneralParameter string 1 Palette=UCSDPalette GeneralParameter bool 1 ComputeNeuroBayes=0 GeneralParameter string 1 NeuroBayesFile=../../../HwwUtil/weights/NBWeights/v103/NN_HWW160.nb GeneralParameter string 1 NeuroBayesVarFile=../../../HwwUtil/weights/NBWeights/v103/varset-dean.txt GeneralParameter string 1 NNToUse=TMVA GeneralParameter string 1 LeptonClass=UCSD EOFTEMPLATESTEER # Make the fit steering file fitsteer=${JOBDIR}/steerfitLRHWW.txt cat << EOFFITSTEER > ${fitsteer} GeneralParameter string 1 ProcToFit=Higgs GeneralParameter string 1 StatType=Bayes GeneralParameter int 1 SysLevel=1 GeneralParameter bool 1 ScaleSignal=0 GeneralParameter int 1 NumberPseudoExperiments=${npe} GeneralParameter bool 1 TestOnly=0 GeneralParameter bool 1 PseudoData=0 GeneralParameter int 1 NSysTestExpected=1000 GeneralParameter int 1 NSysTestObserved=10000 GeneralParameter bool 1 PlotLikelihood=1 GeneralParameter bool 1 ZeroNegativeBins=1 GeneralParameter string 1 HiLoSB=${sbsteer} GeneralParameter bool 1 FitForCrossSection=0 GeneralParameter string 1 HistOutput=fitLRWW${mh}.root GeneralParameter string 0 RescaleFile=None GeneralParameter string 0 EventRemoveFile=None GeneralParameter string 1 WeightString=weight GeneralParameter int 0 EventsToRemove=-1 GeneralParameter bool 1 UseShape=1 GeneralParameter bool 1 UseShapeMean=0 GeneralParameter bool 1 DebugHistContainer=0 EOFFITSTEER #GeneralParameter string 1 WeightString=TrainWeight # now the job script cat << EOFJOB > tr$job.job #PBS -N tr$job #PBS -q $queue #PBS -S /bin/bash #PBS -l cput=${time}:00:00,walltime=${time}:00:00 #PBS -j oe -m e -M r.stdenis@physics.gla.ac.uk # env source ~cdfsoft/cdf2.shrc setup cdfsoft2 6.1.4 setup root v5_14_00g -q GCC_3_4_3 -f Linux+2.4-2.3.2 cd $BASECODEDIR srt_setup -a # setup neurobayes export NEUROBAYES_EXPERT_DIR=/home/cdfsoft/products/neurobayes_expert/v2_1GCC_3_4_3ROOTv5_14_00g/Linux+2.4-2.3.2 export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:\${NEUROBAYES_EXPERT_DIR}/lib cd Hww/TMVAAna rm -f ${dest}/tr${job}.log # TMVAAnamain $mh $job 3 $trainsteer ${RUNDIR}/varset.txt TheTree:NNInput $file > ${JOBDIR}/tr${job}.log # mv weights/TMVTEST${job}_${mh}_3.root_${TMVANAME}.weights.txt ${JOBDIR}/weights/TMVTEST2_${mh}_3.root_${TMVANAME}.weights.txt mv -f weights/TMVTEST${job}_${mh}_3.root_${TMVANAME}.class.C ${JOBDIR}/weights/TMVTEST2_${mh}_3.root_${TMVANAME}.class.C mv -f TMVA${job}_${mh}_3.root ${JOBDIR}/TMVA2_${mh}_3.root mv -f TMVAAna_${job}_${mh}out.root ${JOBDIR}/TMVAAna_out.root # # test area to do the templates #cd $BASECODEDIR1 #srt_setup -a # move weights first mkdir -p ${WEIGHT_AREA}/v1$run echo "Moving weights" cd $JOBDIR echo "In directory" `pwd` ls -al weights mv -f weights/TMVTEST2_${mh}_3.root_H6AONN5MEMLP.weights.txt weights/TMVTEST2_${mh}_3.root_H6AO-NN5MEMLP.weights.txt cp -f weights/TMVTEST2_${mh}* ${WEIGHT_AREA}/v1${run}/. cp -u $trainsteer ${WEIGHT_AREA}/v1${run}/. > /dev/null 2>&1 # now the templates # this is a stripped down process1run.sh echo "making templates" mkdir -p ${RUNDIR}/templates${template} ${BASECODEDIR}/Hww/HwwMtuple/root/processNN.sh $mh $mh $HWW_DATA/hwwucsdtuple/${TEMPLATEINPUT}/HWW \ ${RUNDIR}/templates${template} \ ${usepairtype} runUP \ ${maxevt} ${debug} ${testdata} ${isdata} ${dumpfile} ${templatesteer} \ > ${RUNDIR}/templates${template}/out${mh}.log # # make stacked plots #cd $BASECODEDIR2 #srt_setup -a #setup root v5_14_00g -q GCC_3_4_3 -f Linux+2.4-2.3.2 # stacksteerfile=${PWD}/StackInputSteer.txt # # Now the stack steer cat ${BASECODEDIR2}/Hww/HwwFit/root/StackInputSteer.txt |sed "s/IntLumi=${luminosity}/IntLumi=${luminosity}/g" | sed "s/HWW=HWW/HWW=HWW TMVA/g" > \${stacksteerfile} cat ${BASECODEDIR2}/Hww/HwwFit/root/${stackinputfilelist} | sed "s/\_160\_/\_${mh}\_/g" | sed "s/dhgs4f/dhgs4${mlet}/g" >> \${stacksteerfile} mkdir -p $stackoutdir StackMain ${RUNDIR}/templates${template}/HWW${mh}/ ${BASECODEDIR2}/Hww/HwwFit/root/${histlistdir}/$histlist $stackoutdir/Stack${mh}-run${run}_1.root \$stacksteerfile $stacksysfile $mh 0.89 1.2 None mv Stack.eps ${stackoutdir}/Stack${mh}-run${run}_1.eps mv Stackstack.root ${stackoutdir}/Stack${mh}-run${run}_1.root # StackMain ${RUNDIR}/templates${template}/HWW${mh}/ ${BASECODEDIR2}/Hww/HwwFit/root/${histlistdir}/$histlist $stackoutdir/Stack${mh}-run${run}_2.root \$stacksteerfile $stacksysfile $mh 1.05 1.25 None mv Stack.eps ${stackoutdir}/Stack${mh}-run${run}_2.eps mv Stackstack.root ${stackoutdir}/Stack${mh}-run${run}_2.root cd $stackoutdir convert Stack${mh}-run${run}_1.eps Stack${mh}-run${run}_1.gif convert Stack${mh}-run${run}_2.eps Stack${mh}-run${run}_2.gif # # now the fit mkdir -p ${RUNDIR}/templates${template}/fit${fitver}/out_${set}${sblet} mkdir -p ${RUNDIR}/templates${template}/fit${fitver}/input cd ${RUNDIR}/templates${template}/fit${fitver}/out_${set}${sblet} rm -f LRWW_${run}_${mh}.root* rm -f out_${mh}.log date > out_${mh}.log cd ../input echo \`pwd\` #mv -f ${RUNDIR}/job${job}/$fitsteer . cp -f ${ROOTDIR}/$histlistdir/$histlist . cp -f ${ROOTDIR}/SysSet1.txt . HwwFit $histlist $basehistdir SysSet1.txt $fitsteer $mh >> ../out_${set}${sblet}/out_${mh}.log #rm -f /$fitsteer rm -f $histlist mv *root ../out_${set}${sblet}/. mv *eps ../out_${set}${sblet}/. date >> ../out_${set}${sblet}/out_${mh}.log # EOFJOB # if [ ${HOSTNAME} == "ppend01.physics.gla.ac.uk" ]; then qsub tr${job}.job fi let job=job+1 let mh=mh+10 cd .. done