3 # \author mdejong, bofearraigh 
    7 # ------------------------------------------------------------------------------------------ 
    9 #  Utility script to plot fit results of track reconstruction chain for Monte Carlo data. 
   11 # ------------------------------------------------------------------------------------------ 
   14 if [ -z $JPP_DIR ]; 
then 
   15     echo "Variable JPP_DIR undefined." 
   20 source $JPP_DIR/setenv.sh $JPP_DIR
 
   23 # list of applications in the processing chain 
   34     usage "$script (input file)+ [option]"\
 
   35           "\nWhere option can be N, E, LINE, LOGE."\
 
   36           "\nNote that if more than one input file is specified, all other arguments must be provided." 
   41     0)  fatal 
"Wrong number of arguments.";;
 
   46 # Number of prefits as 
a function of application (0 = all)
 
   58 # 
Fit application identifier
 
   60 typeset -
A ENUMERATION
 
   90     *) fatal 
"Invalid option $OPTION" 
  100     if [[ -
f $OUTPUT_FILE ]]; 
then 
  112     if [[ ! -
f $OUTPUT_FILE ]]; 
then 
  115             -
f"${INPUT_FILES[*]}"         \
 
  118             -
A ${ENUMERATION[${
APP}]}     \
 
  131         -\^ 
"number of events [a.u.]"                  \
 
  141     for APP in prefit simplex gandalf; 
do 
  150         -
f $WORKDIR/quantiles\[prefit\].root:h21       \
 
  151         -
f $WORKDIR/quantiles\[simplex\].root:h21      \
 
  152         -
f $WORKDIR/quantiles\[gandalf\].root:h21      \
 
  154         -\^ 
"resolution (reco muon) [deg]"             \
 
  167         -\^ 
"number of events [a.u.]"                  \
 
  168         -\> 
"E_{#mu} [GeV]"   $LOGX                    \
 
  183         -\> 
"E_{#mu} [GeV]"   $LOGX                    \
 
  184         -\< 
"E_{fit} [GeV]"   $LOGY                    \
 
  194         -
F "[0]*exp(-0.5*(x-[1])*(x-[1])/([2]*[2]))"   \
 
  195         -@ 
"p0 = 0.8*GetMaximum"                       \
 
  210         -\> 
"R^{2} [m^{2}]"                            \
 
  222         -\> 
"R^{2} [m^{2}]"                            \
 
  234         -\^ 
"number of events [a.u.]"                  \
 
then usage $script< detector >< run >< outputfile > fi case set_variable OPTION
 
Q(UTCMax_s-UTCMin_s)-livetime_s
 
*set_variable DETECTOR_ID $argv[1] set_array RUNS $argv[2,-2]
 
TFitResultPtr Fit(TH1D *h)
 
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR APPLICATIONS
 
o $QUALITY_ROOT d $DEBUG!JPlot1D f
 
then JShowerPostfit f $INPUT_FILE o $OUTPUT_FILE N
 
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTORXY_TXT $WORKDIR $DETECTORXY_TXT tail read X Y CHI2 RMS printf optimum n $X $Y $CHI2 $RMS awk v Y
 
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
 
do set_variable OUTPUT_DIRECTORY $WORKDIR T
 
set_variable NUMBER_OF_ITERATIONS set_variable EPSILON cat acoustics_fit_parameters txt<< EOF $CONFIGURATION[*]Nmin=3;sigma_s=100.0e-6;stdev=10.0;mestimator=0;fixStrings=0;EOF for STRING in $STRINGS[*];do#fit stretching and(z) position of given string set_variable DETECTOR_TMP ${TMPDIR:-/tmp}/detector_A.datx JEditDetector-a $DETECTOR-o $DETECTOR_TMP-r $STRING JEditDetector-a $DETECTOR-o $DETECTOR-k $STRING for MUL in 0.005 0.001;do DX_M=0.2 for((N=0;$N< $NUMBER_OF_ITERATIONS;++N));do CHI2[3]=$CHI2[1] fitPositionOfString $STRING Z $DX_M fitStretchingOfString $STRING $MUL if(($CHI2[3]-$CHI2[1]< $EPSILON));then break fi done if(($N >=$NUMBER_OF_ITERATIONS));then printf"warning: reached maximum number of iterations %d - converenge %7.3f\n"$N $(($CHI2[3]-$CHI2[1])) fi done JMergeDetector-a $DETECTOR-a $DETECTOR_TMP-o $DETECTOR rm-f $DETECTOR_TMP JConvertDetectorFormat-a $DETECTOR-o $DETECTOR-r-d 0 > &dev null done
 
then rm i $OUTPUT_FILE fi done for APP in $APPLICATIONS[*]
 
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
 
then JConvertDetectorFormat a $DETECTOR[1] o
 
do sput $STRING $FLOOR sget MODULE INPUT_FILES
 
then for APP in event gandalf start energy
 
&set_variable OUTPUT_FILE
 
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
 
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
 
*set_array INPUT_FILES $argv[1,-2] set_variable OPTION $argv[-1] esac typeset A NUMBER_OF_FIT NUMBER_OF_FIT
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
 
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
 
*fatal Wrong option $OPTION