#!/bin/bash #numer of events used for resolution study #SIMEVENTS=100000 SIMEVENTS=10000 #Declare array with elements for knoss stat. study #ARRAY=(100 200 500 1000 2000 5000 10000 20000 50000 100000) #ARRAY=(100000 50000 20000 10000 5000 2000 1000 500 200 100) #ARRAY=(100000 10000 1000 100) #ARRAY=(10000 1000 100) ARRAY=(10000) # get number of elements in the array ELEMENTS=${#ARRAY[@]} #Declare array with elements for misalignment scale #ARRAYD=(100 200 50 20) #mum #ARRAYD=(1 2 5 10 100 1000) # 1e-4 rad #ARRAYD=(1 2 5 10 100 100) # 1e-4 rad ARRAYD=(1) # 1e-4 rad # get number of elements in the array ELEMENTSD=${#ARRAYD[@]} # echo each element in array # for loop for (( j=0;j<$ELEMENTSD;j++)); do for (( i=0;i<$ELEMENTS;i++)); do T="$(date)" echo ${T} ": Now we'll do test with "${ARRAY[${i}]} "events for misalignment ~ "${ARRAYD[${j}]} "*10e-4 rad">> logSTAT # #---------------------------------------------------------------------- rm /home/akaravdina/lmdMacro/tmpOutputAlign/* ##Full sim & rec time root -l -b -q runLumi0SimBox.C\(${SIMEVENTS},11.91,\"tmpOutputAlign\"\) time root -l -b -q runLumi1Digi.C\(${SIMEVENTS},0,\"tmpOutputAlign\"\) # time root -l -b -q create_misalignment_lumi.C\(${ARRAYD[${j}]},0.\) #shift time root -l -b -q create_misalignment_lumi.C\(0.,${ARRAYD[${j}]}\) #rotation time root -l -b -q runLumi2Reco.C\(${SIMEVENTS},0,\"tmpOutputAlign\"\) time root -l -b -q runLumi3Finder.C\(${SIMEVENTS},0,\"tmpOutputAlign\",0,\"CA\",true\) time root -l -b -q runLumi4Fitter.C\(${SIMEVENTS},0,\"tmpOutputAlign\"\) time root -l -b -q runLumi5Geane.C\(${SIMEVENTS},11.91,0,\"tmpOutputAlign\"\) cd /data/FAIRsorf/pandaroot/build/bin ##obtain information about resolution before alignment ./rec_mc_match -s 0 -n ${SIMEVENTS} -mom 11.91 -path "/data/FAIRsorf/pandaroot/trunk/macro/lmd/tmpOutputAlign" ##obtain info about hits for alignment ./hits_align -s 0 -n ${ARRAY[${i}]} -path "/home/akaravdina/lmdMacro/tmpOutputAlign" -out "/home/akaravdina/lmdMacro/tmpOutputAlign/TrackForAlign.txt" -outhist "/home/akaravdina/lmdMacro/tmpOutputAlign/ResidualsHist.root" -v 0 ##do alignment cd /data/FAIRsorf/pandaroot/karavdina/myKnossos ./knossos -i "/home/akaravdina/lmdMacro/tmpOutputAlign/TrackForAlign.txt" -o "/home/akaravdina/lmdMacro/tmpOutputAlign/LumiAlignConst.txt" -n ${ARRAY[${i}]} -r 1 rm /home/akaravdina/lmdMacro/lumi.misalign_after.par head -14 /home/akaravdina/lmdMacro/lumi.misalign.par >> /home/akaravdina/lmdMacro/lumi.misalign_after.par #obtain results and write it in new *.par file ./analyze -in '/home/akaravdina/lmdMacro/lumi.misalign.par' -out '/home/akaravdina/lmdMacro/tmpOutputAlign/LumiAlignConst.txt' -new '/home/akaravdina/lmdMacro/lumi.misalign_after.par' ## change old params for new params mv /home/akaravdina/lmdMacro/lumi.misalign.par /home/akaravdina/lmdMacro/lumi.misalign_before.par mv /home/akaravdina/lmdMacro/lumi.misalign_after.par /home/akaravdina/lmdMacro/lumi.misalign.par ##save results in good storage place cd /home/akaravdina/lmdMacro pathname=/data/FAIRsorf/pandaroot/trunk/macro/lmd/tmpOutputAlign/results/misalign${ARRAYD[${j}]}_10e-4radDOF000111_${ARRAY[${i}]}_events mkdir ${pathname} echo "dir " ${pathname} "is made!" cp /home/akaravdina/lmdMacro/tmpOutputAlign/Lumi_out_MC_and_REC_trks_matches_with_IDs0.root ${pathname}/Lumi_out_MC_and_REC_trks_matches_with_IDs0_before.root cp /data/FAIRsorf/pandaroot/karavdina/myKnossos/Results.root ${pathname}/Results.root cp /home/akaravdina/lmdMacro/lumi.misalign_before.par ${pathname}/. cp /home/akaravdina/lmdMacro/lumi.misalign.par ${pathname}/lumi.misalign_after.par cp /home/akaravdina/lmdMacro/tmpOutputAlign/ResidualsHist.root ${pathname}/. rm /home/akaravdina/lmdMacro/tmpOutputAlign/* ##repeat rec with new params time root -l -b -q runLumi0SimBox.C\(${SIMEVENTS},11.91,\"tmpOutputAlign\"\) time root -l -b -q runLumi1Digi.C\(${SIMEVENTS},0,\"tmpOutputAlign\"\) time root -l -b -q runLumi2Reco.C\(${SIMEVENTS},0,\"tmpOutputAlign\"\) time root -l -b -q runLumi3Finder.C\(${SIMEVENTS},0,\"tmpOutputAlign\",0,\"CA\",true\) time root -l -b -q runLumi4Fitter.C\(${SIMEVENTS},0,\"tmpOutputAlign\"\) time root -l -b -q runLumi5Geane.C\(${SIMEVENTS},11.91,0,\"tmpOutputAlign\"\) cd /data/FAIRsorf/pandaroot/build/bin ##obtain information about resolution before alignment ./rec_mc_match -s 0 -n ${SIMEVENTS} -mom 11.91 -path "/data/FAIRsorf/pandaroot/trunk/macro/lmd/tmpOutputAlign" cp /home/akaravdina/lmdMacro/tmpOutputAlign/Lumi_out_MC_and_REC_trks_matches_with_IDs0.root ${pathname}/Lumi_out_MC_and_REC_trks_matches_with_IDs0_after.root cd /home/akaravdina/lmdMacro/ time root -l -b -q GenAlignEffect.C\(\"${pathname}/\"\) # # #---------------------------------------------------------------------- done done exit