#!/bin/bash ################################################################ ## script for running sim&rec for LMD ## [with pixels sensors set-up!] ## 13/11/2012 ## A.Karavdina ################################################################ pathG=${VMCWORKDIR}/macro/lmd/testPixel/newMinuit_BPtest mkdir -p ${pathG} #MOM=(1.5) #GeV MOM=(1.5 15 4.06 8.9 11.91) #GeV MOMN=${#MOM[@]} for (( jp=0;jp<$MOMN;jp++)); do pbeam=${MOM[${jp}]} ### pick up half solenoid maps for 1.5 GeV/c [tmp, should be removed one day!] ### solsw=3 #GeV, switch between half and full solenoid: below half of solenoid if [[ $(echo "if (${pbeam} > ${solsw}) 1 else 0" | bc) -eq 1 ]]; then echo "FULL solenoid field maps" ln -sf ${VMCWORKDIR}/input/solenoid_fc/* ${VMCWORKDIR}/input/. else echo "HALF solenoid field maps" ln -sf ${VMCWORKDIR}/input/solenoid_hc/* ${VMCWORKDIR}/input/. fi ###################################################### momStr=`echo $pbeam | sed -e '{ s/\./_/g; }'` path=${pathG}/mom_${momStr}/ mkdir -p ${path} numTrks=1 mergedHits=true numEv=100000 # numEv=1000 cd ${VMCWORKDIR}/macro/lmd root -l -b -q runLumiPixel0SimBox.C\(${numEv},0,"\"${path}\"",0,-2212,${pbeam},${numTrks},3562\) root -l -b -q runLumiPixel1Digi.C\(${numEv},0,"\"${path}\""\) useMSerr=false rm ${path}/Lumi_Geane_0.root rm ${path}/Lumi_reco_0.root rm ${path}/Lumi_recoMerged_0.root rm ${path}/Lumi_TCand_0.root rm ${path}/Lumi_Track_0.root root -l -b -q runLumiPixel2Reco.C\(${numEv},0,"\"${path}\"",0,${useMSerr},false\) # ### Merge hits root -l -b -q runLumiPixel2bHitMerge.C\(${numEv},0,"\"${path}\""\) # ### CA can use merged or single(not merged) hits # ### change "CA" --> "Follow" if you want to use Trk-Following as trk-search algorithm # ### NB: Trk-Following can't use single(not merged) hits! # ### change true --> false if you don't want to use missing search algorithm root -l -b -q runLumiPixel3Finder.C\(${numEv},0,"\"${path}\"",0,"\"CA\"",true,${mergedHits}\) # # ##Miniut root -l -b -q runLumiPixel4Fitter.C\(${numEv},0,"\"${path}\"",0,"\"Minuit\"",${mergedHits}\) #track filter (on number of hits and chi2) root -l -b -q runLumiPixel4aFilter.C\(${numEv},0,"\"${path}\"",0,${mergedHits}\) #save filtered results as standart Track array mv ${path}/Lumi_Track_0.root ${path}/Lumi_TrackNotFiltered_0.root cp ${path}/Lumi_TrackFiltered_0.root ${path}/Lumi_Track_0.root # use GEANE for back-propagation root -l -b -q runLumiPixel5BackProp.C\(${numEv},0,"\"${path}\"",0,"\"Geane\"",${mergedHits},${pbeam}\) root -l -b -q runLumiPixel7QA.C\(${numEv},0,"\"${path}\"",0,${pbeam}\) mv ${path}/Lumi_QA_0.root ${path}/Lumi_QA_MINUIT_BPGEANE.root echo "${pbeam} GeV: for Minuit and BP=GEANE" &> ${path}/RESULTS_${momStr}.txt root -l -b -q Anastasia/test_macros/TrksFitterResults.C\("\"${path}/Lumi_QA_MINUIT_BPGEANE.root\""\) >> ${path}/RESULTS_${momStr}.txt rm ${path}/Lumi_Geane_0.root # ## use Runge-Kutta for back-propagation root -l -b -q runLumiPixel5BackProp.C\(${numEv},0,"\"${path}\"",0,"\"RK\"",${mergedHits},${pbeam}\) root -l -b -q runLumiPixel7QA.C\(${numEv},0,"\"${path}\"",0,${pbeam}\) mv ${path}/Lumi_QA_0.root ${path}/Lumi_QA_MINUIT_BPRK.root echo "${pbeam} GeV: for Minuit and BP=RK" >> ${path}/RESULTS_${momStr}.txt root -l -b -q Anastasia/test_macros/TrksFitterResults.C\("\"${path}/Lumi_QA_MINUIT_BPRK.root\""\) >> ${path}/RESULTS_${momStr}.txt rm ${path}/Lumi_Geane_0.root rm ${path}/Lumi_reco_0.root rm ${path}/Lumi_recoMerged_0.root rm ${path}/Lumi_TCand_0.root rm ${path}/Lumi_Track_0.root echo "----------------------------------------------------------------------------------" >> ${path}/RESULTS_${momStr}.txt echo "======================================" >> ${path}/RESULTS_${momStr}.txt echo " " >> ${path}/RESULTS_${momStr}.txt done #cd /panda/pandaroot/macro/lmd root -l -b -q Anastasia/test_macros/TrksFitBPPullsCompar_alltogether.C\("\"${pathG}\""\) >> ${pathG}/RESULTS.txt