From c5fb2ca46f644517455a17160129a040730f3613 Mon Sep 17 00:00:00 2001 From: Kamil Sedlak Date: Thu, 7 Feb 2013 14:54:04 +0000 Subject: [PATCH] Kamil Sedlak 7.2.2013 Implemented changes of James Lord. Compiling was possible, but no testing was done so far. --- CMakeMacroParseArguments.cmake | 30 + CMakeParseArguments.cmake | 138 ++ doc/musrSim.pdf | Bin 302449 -> 303325 bytes doc/musrSim.tex | 5 +- doc/musrSimAna.pdf | Bin 322817 -> 336031 bytes doc/musrSimAna.tex | 1676 +++++++------- musrSim.cc | 6 +- musrSimAna/musrAnalysis.cxx | 3616 +++++++++++++++++------------- musrSimAna/musrAnalysis.hh | 69 +- musrSimAna/musrCounter.cxx | 936 ++++---- musrSimAna/musrCounter.hh | 235 +- musrSimAna/musrTH.cxx | 4 +- src/meyer.cc | 20 +- src/musrDetectorConstruction.cc | 70 +- src/musrErrorMessage.cc | 1 + src/musrEventAction.cc | 4 +- src/musrPhysicsList.cc | 16 + src/musrRootOutput.cc | 3 +- src/musrScintSD.cc | 21 +- src/musrTabulatedElementField.cc | 11 +- 20 files changed, 3967 insertions(+), 2894 deletions(-) create mode 100644 CMakeMacroParseArguments.cmake create mode 100644 CMakeParseArguments.cmake diff --git a/CMakeMacroParseArguments.cmake b/CMakeMacroParseArguments.cmake new file mode 100644 index 0000000..310d722 --- /dev/null +++ b/CMakeMacroParseArguments.cmake @@ -0,0 +1,30 @@ +MACRO(PARSE_ARGUMENTS prefix arg_names option_names) + SET(DEFAULT_ARGS) + FOREACH(arg_name ${arg_names}) + SET(${prefix}_${arg_name}) + ENDFOREACH(arg_name) + FOREACH(option ${option_names}) + SET(${prefix}_${option} FALSE) + ENDFOREACH(option) + + SET(current_arg_name DEFAULT_ARGS) + SET(current_arg_list) + FOREACH(arg ${ARGN}) + SET(larg_names ${arg_names}) + LIST(FIND larg_names "${arg}" is_arg_name) + IF (is_arg_name GREATER -1) + SET(${prefix}_${current_arg_name} ${current_arg_list}) + SET(current_arg_name ${arg}) + SET(current_arg_list) + ELSE (is_arg_name GREATER -1) + SET(loption_names ${option_names}) + LIST(FIND loption_names "${arg}" is_option) + IF (is_option GREATER -1) + SET(${prefix}_${arg} TRUE) + ELSE (is_option GREATER -1) + SET(current_arg_list ${current_arg_list} ${arg}) + ENDIF (is_option GREATER -1) + ENDIF (is_arg_name GREATER -1) + ENDFOREACH(arg) + SET(${prefix}_${current_arg_name} ${current_arg_list}) +ENDMACRO(PARSE_ARGUMENTS) diff --git a/CMakeParseArguments.cmake b/CMakeParseArguments.cmake new file mode 100644 index 0000000..cc63604 --- /dev/null +++ b/CMakeParseArguments.cmake @@ -0,0 +1,138 @@ +# CMAKE_PARSE_ARGUMENTS( args...) +# +# CMAKE_PARSE_ARGUMENTS() is intended to be used in macros or functions for +# parsing the arguments given to that macro or function. +# It processes the arguments and defines a set of variables which hold the +# values of the respective options. +# +# The argument contains all options for the respective macro, +# i.e. keywords which can be used when calling the macro without any value +# following, like e.g. the OPTIONAL keyword of the install() command. +# +# The argument contains all keywords for this macro +# which are followed by one value, like e.g. DESTINATION keyword of the +# install() command. +# +# The argument contains all keywords for this macro +# which can be followed by more than one value, like e.g. the TARGETS or +# FILES keywords of the install() command. +# +# When done, CMAKE_PARSE_ARGUMENTS() will have defined for each of the +# keywords listed in , and +# a variable composed of the given +# followed by "_" and the name of the respective keyword. +# These variables will then hold the respective value from the argument list. +# For the keywords this will be TRUE or FALSE. +# +# All remaining arguments are collected in a variable +# _UNPARSED_ARGUMENTS, this can be checked afterwards to see whether +# your macro was called with unrecognized parameters. +# +# As an example here a my_install() macro, which takes similar arguments as the +# real install() command: +# +# function(MY_INSTALL) +# set(options OPTIONAL FAST) +# set(oneValueArgs DESTINATION RENAME) +# set(multiValueArgs TARGETS CONFIGURATIONS) +# cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) +# ... +# +# Assume my_install() has been called like this: +# my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub) +# +# After the cmake_parse_arguments() call the macro will have set the following +# variables: +# MY_INSTALL_OPTIONAL = TRUE +# MY_INSTALL_FAST = FALSE (this option was not used when calling my_install() +# MY_INSTALL_DESTINATION = "bin" +# MY_INSTALL_RENAME = "" (was not used) +# MY_INSTALL_TARGETS = "foo;bar" +# MY_INSTALL_CONFIGURATIONS = "" (was not used) +# MY_INSTALL_UNPARSED_ARGUMENTS = "blub" (no value expected after "OPTIONAL" +# +# You can the continue and process these variables. +# +# Keywords terminate lists of values, e.g. if directly after a one_value_keyword +# another recognized keyword follows, this is interpreted as the beginning of +# the new option. +# E.g. my_install(TARGETS foo DESTINATION OPTIONAL) would result in +# MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION would +# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor. + +#============================================================================= +# Copyright 2010 Alexander Neundorf +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distribute this file outside of CMake, substitute the full +# License text for the above reference.) + + +if(__CMAKE_PARSE_ARGUMENTS_INCLUDED) + return() +endif() +set(__CMAKE_PARSE_ARGUMENTS_INCLUDED TRUE) + + +function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgNames) + # first set all result variables to empty/FALSE + foreach(arg_name ${_singleArgNames} ${_multiArgNames}) + set(${prefix}_${arg_name}) + endforeach(arg_name) + + foreach(option ${_optionNames}) + set(${prefix}_${option} FALSE) + endforeach(option) + + set(${prefix}_UNPARSED_ARGUMENTS) + + set(insideValues FALSE) + set(currentArgName) + + # now iterate over all arguments and fill the result variables + foreach(currentArg ${ARGN}) + list(FIND _optionNames "${currentArg}" optionIndex) # ... then this marks the end of the arguments belonging to this keyword + list(FIND _singleArgNames "${currentArg}" singleArgIndex) # ... then this marks the end of the arguments belonging to this keyword + list(FIND _multiArgNames "${currentArg}" multiArgIndex) # ... then this marks the end of the arguments belonging to this keyword + + if(${optionIndex} EQUAL -1 AND ${singleArgIndex} EQUAL -1 AND ${multiArgIndex} EQUAL -1) + if(insideValues) + if("${insideValues}" STREQUAL "SINGLE") + set(${prefix}_${currentArgName} ${currentArg}) + set(insideValues FALSE) + elseif("${insideValues}" STREQUAL "MULTI") + list(APPEND ${prefix}_${currentArgName} ${currentArg}) + endif() + else(insideValues) + list(APPEND ${prefix}_UNPARSED_ARGUMENTS ${currentArg}) + endif(insideValues) + else() + if(NOT ${optionIndex} EQUAL -1) + set(${prefix}_${currentArg} TRUE) + set(insideValues FALSE) + elseif(NOT ${singleArgIndex} EQUAL -1) + set(currentArgName ${currentArg}) + set(${prefix}_${currentArgName}) + set(insideValues "SINGLE") + elseif(NOT ${multiArgIndex} EQUAL -1) + set(currentArgName ${currentArg}) + set(${prefix}_${currentArgName}) + set(insideValues "MULTI") + endif() + endif() + + endforeach(currentArg) + + # propagate the result variables to the caller: + foreach(arg_name ${_singleArgNames} ${_multiArgNames} ${_optionNames}) + set(${prefix}_${arg_name} ${${prefix}_${arg_name}} PARENT_SCOPE) + endforeach(arg_name) + set(${prefix}_UNPARSED_ARGUMENTS ${${prefix}_UNPARSED_ARGUMENTS} PARENT_SCOPE) + +endfunction(CMAKE_PARSE_ARGUMENTS _options _singleArgs _multiArgs) diff --git a/doc/musrSim.pdf b/doc/musrSim.pdf index 9a52c76c2404ccb4b048d6a2cc7af7365cb98589..ff30f127a014877779050c284a7b0fb3c65acf56 100644 GIT binary patch delta 20816 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
a9E6kfh`xT zCE1_;&Rgu6HIEZ04JAHZRI(W=VxNgX&9XhEWz(9cq&%5dH zz^vmrnTfAI{JMMbhTq4>#z;7IIdsUm3+CqRi97?s-PiYieg-D<`~ig3IW;_DO<9#* zlB!`xNpKbiPLDh~_LY@rX-BC=g&V&%^fZyMRV=4u>rzrrb`M&p7csAp1G?NW8ppi5qC| rcy;|!ZeLw}yFK`wplFE4LCyWRf>6Svl% delta 19804 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�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%0AMDxN@{W6wJ3K+ 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
  • C8-nmJ&UwoAMErtG6V}`rV=>gB@tc zmbX~b@b)VZ_VDy}29UL3Z2uSl$lUw>$eWPGoZ%xQLe1ju;p4>$i9pKe*t^qb_*hBwOkBjHe?LRH7mk^wiym* zbbBY)Y1tc6F;hL$MIy_?c4XcxWFj9&OLYB7mh~)!dG$kK-k|biYXbvL!$FJy9RzZn zdxO?_NF~c(hiPXfUFR1fQ8wU@SXV6IW+_6}^T^Z(B!0O0Uj)ESzrieG!~{AKpD3*- zqglD)xuDGK#hG3Es<18LQC6~{k*^X2nMqJHGT=8NR;12jPz-5&zhB+m-floogc|M;({G?n<7z?JBJ^R9E1XPyxIv7qK9D^`!GczBC zsIRpY19*38P?^xHy==i0_U*%?5;>81n7)!1CcSroZ$xzf6Hx>>D0T^)fH6@n2~B7p zG0sQ|f0VC_{TyXVSPv}e`@z|VmNhIzF6l8ir(E3Udy`<{x;84DiWo~O z^IY>C!Tu#gF+VILJH2}IgO%u;+!y(b$-Y1I&F~%WnHl4-`R*#D6j0=5Zc3KSl5r19 zv!B?^Hu4z&zx3$-yy>-48VfdPGrow|_ougfT5#*&z8`rP7ukDVy1kP3f)8y>-}Y$0 z6aAMM99g?!X9e-n%x7Csla(KzkieR+q@RSn$HhL_&*AtCPVTqche{ez5c-cPA)!TV zFN_eS2$fW!`&&-qB$R~`VC0lFAf;=iw}Sh;V_tg!P(vc_mHUk?07m-pd{Pr~Gs3L=B&SMy5dvfGhe0e3*z+DJLFsc(DkjDjzDx@(DJJ=*ai5*cz1i}S@dqJ>i zTZ;$yEgsEU++97IIg}rTnm??59Qe{m`|O>hs)nuxB*J%;*mMNGC()QXPeDPj{Xj~8 zy9gfwAcVg--P7AV*vQIkS}2%g&Ep7s?z_myAhsSLO*(6^4%Mq(Ko; zux1T%v(^gP6Pde-jQJ6b8=#4Yoc7hXk%E-`u~_*Xk*FDyX=57B6*?#YNgrowfWhPB6_kLG>O4yka1;cIFb*AdHW`{C8Iz^VUD-V8vxqCsmBzs2usZEC)1|b!NNa+9zlSS@l9j_;dex!($RYR_z`;ue z`egnX>qom>6_Z5Brf;C&kpeRw>tTC*u;ulbTQrNM#YOdisDd}++0NayRpGal1p-s` zV&rI;^jLe|Df9U;ovRP&5QBoQa?ZpL-OAfJL0>`CxT=&!kCjzMh@e`^`)6CY&`e3v zC1vWbpu${}D&bzl)9iSfz>Zx+0E{BV^=*q$-4|S54m!||KDq88 z6NIb4-t|$aD4dhS?u^E*cZw~G+spOI+d@2$S)HFE@vwF#W-P(ADL~l4F!pCY@Jm=X z2`-Ej4!QrQk(N1Qy^c&!L_=xPWk~}x#Z>`+?;kp;$yR*<4}|P?`SiS8+WQ zmW$P1m83E5C66ann6uOYjHL#o^LflK+v>M+dkvo7KSOyDjJ?CXr9YnH@qu(tLh0N0 z65bB#STHsJ=Eq?Bw(n2r_R&_t$5%l9jWI78#vwaTm1(A{1IpN(Oe2-kh_0mT0HRl||R^6>QQJH*ZzpCW}|7 B;tm3hNHQ}xSm?;H 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 U9i6!Gk02BP;Fgm!Ff-)-4`yq4$N&HU diff --git a/doc/musrSimAna.tex b/doc/musrSimAna.tex index 57efd1e..dc8c053 100644 --- a/doc/musrSimAna.tex +++ b/doc/musrSimAna.tex @@ -1,815 +1,861 @@ -\documentclass[twoside]{dis04} -\usepackage{epsfig} -\def\runauthor{PSI} -\def\shorttitle{musrSimAna} -\begin{document} - -\newcommand{\musr}{\ensuremath{\mu}SR} -\newcommand{\musrSim}{\emph{musrSim}} -\newcommand{\musrSimAna}{\emph{musrSimAna}} -\title{Manual of musrSimAna} -\author{Kamil Sedl\'ak$^1$} - -\address{{$^1$ Laboratory for Muon Spin Spectroscopy, Paul Scherrer Institut, CH-5232 Villigen PSI, Switzerland}} - -\maketitle - -\abstracts{ -``musrSimAna'' is an analysis program, which helps the user to analyse and interpret the output of the -``musrSim'' simulation.} - -%======================================================================================================== -\section{Introduction} -\label{introduction} -The purpose of the \musrSimAna\ program is to analyse the Root tree, the output -of the \musrSim\ program. -In general, the event-by-event information stored in the Root tree can be easily used only for -a very quick and rough tests -- e.g.\ to see, where the muons stop and decay irrespective -of whether they were triggered in the M-counter or not, or to have an idea what energy -spectrum was deposited in a given counter. Typically, however, one is more interested -to study \musr\ signal amplitude, time-independent background, or where the muons decay -only for the ``stopped'' muons (e.g.\ muons triggered by M-counter and not detected -by a veto counter), or only for triggered muons which actually stopped in a cryostat -rather than in a sample. Such a study requires some kind of analysis program, which -loops over all events stored in the Root tree (output of \musrSim), and implements the -logic of the required \musr\ experiment. - -One way to do such analysis is to start from a Root command {\tt MakeClass(``MyAnalysis'')}, -which creates some sort of skeleton c++ class for the given Root tree. This allows the user -to make his/her own and very specific analysis program tailored to his/her needs. On the other -hand, it requires special program for each detector set-up. - -A second possibility is to use \musrSimAna, which is intended to be a general analysis -program for \musr\ instruments. -At the moment, however, \musrSimAna\ is tuned to the needs of continuous muon beam facilities. -Some modifications might be necessary for the pulsed muon beams. - -As in the case of \musrSim, the user of \musrSimAna\ specifies all parameters -required by the analysis in an input text file (steering file). The initial structure -of the steering file was taken over from the TDC setup files used by real \musr\ instruments -at PSI~\cite{acquisitionProkscha,TDCsetup}. This setup file defines the ``logic'' of a given experiment, -namely the coincidences and anti-coincidences of different counters and veto detectors, as well as some -timing parameters. -The setup file for the case of simulation had to be extended by the definitions of -histograms, cuts, fitting, etc. The description of the setup file will be -presented in chapter~\ref{howToAnalyse}-\ref{description}, the chapter~\ref{sec:GPD} -illustrates the whole concept of \musrSimAna\ on the example of an existing \musr\ instrument. - - - -\section{The main components of the \musrSimAna\ setup file} -\label{howToAnalyse} -The parameters for the analysis are stored in the setup file ``{\tt RUNxxx.v1190}'', whose name -typically consists of the run number ({\tt RUN}), -some further identifier ({\tt xxx}), and ends with ``{\tt .v1190}''. -One of the following commands can be used to execute \musrSimAna: \\[1em] -{\tt -\$> musrSimAna RUN RUNxxx \\ -\$> musrSimAna RUN RUNxxx nographic > data/RUN.RUNxxx.out -}\\[1em] -where the first {\tt RUN} stands for the run number (more precisely, it specifies -the \musrSim\ output, which is expected to be stored as ``{\tt data/musr\_RUN.root}'') -and {\tt RUNxxx} specifies the \musrSimAna\ setup file without the ending, which is -expected to be stored in the current directory. The output file of \musrSimAna, -containing the result histograms, will be stored as ``{\tt data/his\_RUN\_RUNxxx.v1190.root}''. - -The syntax of the setup file in \musrSimAna\ is based on the experimental one, -defined in~\cite{TDCsetup}. -At the beginning of this file, some timing parameters are defined:\\[1em] -\begin{tabular}{ll} -{\tt RESOLUTION=100 } & \emph{\ldots one TDC bin corresponds to 100\,ps} \\[0.7em] -{\tt MCOINCIDENCEW=50 } & \emph{\ldots time interval (in TDC bins) to find coincidences with M-counter} \\ -{\tt PCOINCIDENCEW=50 } & \emph{\ldots time interval (in TDC bins) to find coincidences with P-counter} \\ -{\tt VCOINCIDENCEW=100 } & \emph{\ldots time interval (in TDC bins) to find anti-coincidences with M-counter} \\[0.7em] -{\tt MUONRATEFACTOR=0.089 } & \emph{\ldots will be described in section~\ref{sec:eventMixing}} \\[0.7em] -{\tt DATAWINDOWMIN=-2.0 } & \emph{\ldots data interval (in $\mu$s) in which positrons are detected} \\ -{\tt DATAWINDOWMAX=10.0 } & \\[0.7em] -{\tt PILEUPWINDOWMIN=-10.0 } & \emph{\ldots the pileup interval (in $\mu$s) for muons} \\ -{\tt PILEUPWINDOWMAX=10.0 } & \\[1em] -\end{tabular} -% -A good event has exactly one hit in the M-counter within the pile-up window, and exactly -one hit in the positron counters within the data window. Both windows are defined relative to $t_0$, -which is the time of the currently analysed M-counter hit. - -The coincidence and anti-coincidence logic between the different counters -(the detector logic) is also specified in the setup file. -An example may look like this:\\ -\begin{verbatim} -102; "M up"; M; 0.4; 2005; -401; - 1; "B1"; P; 0.4; 2005; 21 -401; B1; 1485; 1515; 50995; - 2; "B2"; P; 0.4; 2005; 22 -401; B2; 1485; 1515; 50995; - 11; "F1"; P; 0.4; 2005; -401 -21 -22; F11; 1485; 1515; 50995; - 12; "F2"; P; 0.4; 2005; -401 -21 -22; F12; 1485; 1515; 50995; - 13; "F3"; P; 0.4; 2005; -401 -21 -22; F13; 1485; 1515; 50995; - 21; "Coinc B1" K; 0.4; 2005; - 22; "Coinc B2" K; 0.4; 2005; -401; "Active Veto" V; 0.1; 2005; -\end{verbatim} -\mbox{} \\ -% -In each row, the first number stands for the detector ID (defined in the steering file -of the \musrSim), the second variable is the name of the counter, -the third variable identifies the type of the counter (M = muon, P = positron, -K = coincidence and V = veto counters, respectively), the forth variable is the threshold in MeV applied -to the energy deposited in the counter, the fifth variable is a time delay (in units -of bin-width) applied to the given counter, the sixth set of parameters defines -which other detectors have to be in coincidence (positive ID) or anti-coincidence -(negative ID) with the given counter, and in the case of positron counters, the -last four parameters define a special histogram for the given counter. (Note -that this histogram is used for a compatibility with the experimental steering file, however -there is a different and more powerful way of how to define histograms, which is -defined later). The only difference with respect to the experimental steering -file is the presence of threshold definition in the fourth column. -In the example above, the M-counter is the volume which has ID 102 in the simulation, -and a valid hit has to have energy in the counter above 0.4\,MeV, and no signal -above 0.1\,MeV in the ``Active Veto'' (ID=401) within a time interval defined by -{\tt VCOINCIDENCEW}. The detailed description of *.v1190 steering files can be found -in chapter~\ref{description} and in~\cite{TDCsetup}. - - - -The main output of the simulation is generated in the form of histograms. -The histograms are defined in the steering file. For example, the following -line defines 1-dimensional histogram of the $z$-position of where the muons stop and decay:\\[1em] -{\tt -musrTH1D hMuDecayPosZ "Where the muons stop;z[mm];N" 100 -5. 5. muDecayPosZ -}\\[1em] -This histogram has 100 bins, spans from -5\,mm to 5\,mm, and the variable filled -in the histogram is {\tt muDecayPosZ}. -In fact, this line does not create one histogram, but an array of histograms -- one -histogram for each ``condition''. An example of five conditions reads:\\[1em] -{\tt -condition 1 oncePerEvent \\ -condition 2 muonDecayedInSample\_gen \\ -condition 4 muonTriggered\_det \\ -condition 6 goodEvent\_det \\ -condition 9 pileupEvent -}\\[1em] -where integer numbers (1,2,4,6 and 9) denote the condition number, and the string at the end -describes the condition -- e.g.\ ``{\tt muonDecayedInSample\_gen}'' specifies that muon -has stopped and decayed in the sample, and ``{\tt muonTriggered\_det}'' specifies that -there had to be a good muon candidate triggered in the M-counter. -The ending ``{\tt \_gen}'' indicates that the variable used in the condition -was ``generated'', i.e.\ it is known in the simulation, but can not be directly -measured experimentally. -On the other hand the ending ``{\tt \_det}'' specifies that the given condition -is based on measurable variables, as e.g.\ energy deposits in a counter. - -There can be up to -30 conditions requested, and for each of them a separate histogram will be filled. -In the output file of \musrSimAna, the histograms corresponding to the previous -set of conditions would be saved as -{\tt hMuDecayPosZ\_1, hMuDecayPosZ\_2, hMuDecayPosZ\_4, hMuDecayPosZ\_6, hMuDecayPosZ\_9}. -The {\tt hMuDecayPosZ\_1} shows where the muons stop irrespective whether they were -detected or not. The {\tt hMuDecayPosZ\_6} contains ``good'' muons, i.e.\ muons that would -be saved in the final histograms in the experiment. The {\tt hMuDecayPosZ\_9} shows -the muons, which contribute to the time-independent background. Note that there are always -two muons, $\mu_1$ and $\mu_2$, contributing to the time-independent background, and {\tt hMuDecayPosZ\_9} -shows the one ($\mu_1$) that started the M-counter. More to this topic is presented -in chapter~\ref{sec:eventMixing}. Here we just mention that in order -to see the $z$-coordinate of the second muon ($\mu_2$), -which was not triggered by the M-counter but whose decay positron hit the positron counter, -the histogram {\tt hpileup\_muDecayPosZ\_9} must be used:\\[1em] -{\tt -musrTH1D hpileup\_muDecayPosZ "Pileup muons;z[mm];N" 100 -5.0 5. pileup\_muDecayPosZ -} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Event mixing -- an unavoidable complication} -\label{sec:eventMixing} -The output of \musrSim\ is stored in a Root tree named ``{\tt t1}''. One event corresponds -to one simulated muon, and it is saved as one row of the tree. The only information that -relates one event (muon) to any other one is the variable {\tt timeToNextEvent}, -which is a randomly generated time difference between two subsequent events. - -The \musrSimAna\ allows one to study the ``time-independent background'', which is -due to mixing of two different events. A simple example of the event mixing affecting -the \musr\ measurement is the following: the first muon, $\mu_1$, hits the M-counter, -and subsequently stops and decays in the sample, however the decay positron escapes -undetected -- most likely because of the limited angular acceptance of positron counters. -The second muon, $\mu_2$, arrives around the same time, misses the M-counter, -and stops and decays in a collimator wall or elsewhere. -Its decay positron hits a positron counter. Thus there are good-looking muon and positron -hits, which however arise from two uncorrelated muons. -This fake (background) event is experimentally treated as a good event, -and contributes to the time-independent background. - -Events can be mixed in \musrSimAna, allowing us to study sources of -the time-independent background. -%\emph{MusrSimAna} loops over the events and checks whether the conditions defining -%the detector logic in the steering file have been fulfilled. However, to take event -%mixing properly into account, the conditions have to be veryfied on several subsequent -%events. Therefore, at the beginning of the analysis of -Before analysing a given event, arrays of hits are filled -for all counters (M, positron, veto, coincidence counters), which store the hits occurring in the -future up to the time equal to $ 3\, \cdot $ pileup window or $ 3\, \cdot $ data window, -whatever is larger\footnote{The data and pile-up windows defined by parameters -{\tt DATAWINDOWMIN, DATAWINDOWMAX, PILEUPWINDOWMIN} and {\tt PILEUPWINDOWMAX} -are applied later on in the analysis.}. -There is one such array for every counter. After this initial filling, -there might be several hits in every array, originating from one or more events. - - -The fraction of the time-independent background to good events depends on the incoming muon rate -measured by the trigger, possibly in the anti-coincidence with a backward veto detector, if -used in the experiment. -Typically, the experimentalists set the incoming muon rate (rate of \emph{stopped muons}) -to $\sim 30\,000\,\mu/s$. The same should be done in the simulation. -However, the rate of stopped muons is known only after the analysis is done, -because, for example, many simulated muons stop and decay in collimators or elsewhere -in the beam-pipe without producing any signal in the M-counter. -Therefore the simulation is normally started with an initial rate of generated muons -of $30\,000\,\mu/s$, which in practise can correspond to much lower rate of \emph{stopped muons}. -The rate of stopped muons is calculated at the end of the \musrSimAna\ execution, and -it is printed out in the \musrSimAna\ output. The user can use this information and rescale the -initial muon rate by changing parameter {\tt MUONRATEFACTOR} in the {\tt *.v1190} setup file. -This is done without the necessity to re-run the CPU consuming -simulation -- only the \musrSimAna\ has to be repeated. The complete simulation and analysis -chain therefore usually consists of three steps: -% -\begin{enumerate} - \item \musrSim\ (takes typically 10 hours). - \item \musrSimAna\ with {\tt MUONRATEFACTOR=1.0} (takes typically 10 minutes). - \item \musrSimAna\ with {\tt MUONRATEFACTOR} determined in step 2. -\end{enumerate} -% -The {\tt MUONRATEFACTOR} specifies a multiplicative factor applied to -the variable {\tt timeToNextEvent} -(the randomly generated time difference between two subsequent events). - -{\bf IMPORTANT NOTE:} In order to get the pile-up effects correctly analysed by \musrSimAna, -it is probably necessary to run the \musrSim\ with no event reweighting (i.e.\ -the command ``{\tt /musr/command logicalVolumeToBeReweighted \ldots}'' must {\bf not} be used). -All events should/have to be (?) saved in the Root tree -(i.e.\ the command ``{\tt /musr/command storeOnlyEventsWithHits false}'' must be used). - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Detailed list of steering file parameters} -\label{description} -\begin{description} -% \item{\bf INSTRUMENT=\emph{string}} \\ -% ignored -% \item{\bf DESCRIPTION=\emph{string}} \\ -% ignored -% \item{\bf TYPE=\emph{string}} \\ -% ignored - \item{\bf RESOLUTION=\emph{value}} \\ - width of the TDC bin in picoseconds. - \item{\bf MDELAY=\emph{value}} \\ - currently not used (probably not needed in the case of simulation). - \item{\bf PDELAY=\emph{value}} \\ - currently not used (probably not needed in the case of simulation). - \item{\bf MCOINCIDENCEW=\emph{value}} \\ - time window for the coincidences of the coincidence detectors (``K'') - with the M-counter. The \emph{value} is given in TDC bins (see {\tt RESOLUTION} above). - \item{\bf PCOINCIDENCEW=\emph{value}} \\ - time window for the coincidences of the coincidence detectors (``K'') - with positron counters. The \emph{value} is given in TDC bins. - \item{\bf VCOINCIDENCEW=\emph{value}} \\ - time window for the coincidences of the anti-coincidence detectors (``V'') - with any other counter. The \emph{value} is given in TDC bins. - \item{\bf MUONRATEFACTOR=\emph{value}} \\ - a multiplicative factor which is used to rescale time differences between subsequent muons. - Setting \emph{value} larger than 1 artificially prolongs the time difference between - two subsequently generated muons, and therefore decreases the incoming muon rate - (number of muons per second). This parameter should be changed in order to set the - incoming muon rate to a given required value, typically to 30\,000\,$\mu/$s.\\ - See also variable ``INFINITELYLOWMUONRATE''. - \item{\bf INFINITELYLOWMUONRATE} \\ - If INFINITELYLOWMUONRATE is specified, each event is treated independently of any other - event. This corresponds to a situation of infinitely low rate of incoming muons, and - no pileup can be observed. The variable ``MUONRATEFACTOR'' becomes irrelevant when - INFINITELYLOWMUONRATE is specified. - \item{\bf DATAWINDOWMIN=\emph{value}} \\ - Beginning of the data interval for the positron counters in $\mu$s. - \item{\bf DATAWINDOWMAX=\emph{value}} \\ - End of the data interval for the positron counters in $\mu$s. - \item{\bf PILEUPWINDOWMIN=\emph{value}} \\ - Beginning of the pileup interval for the M-counter in $\mu$s. - \item{\bf PILEUPWINDOWMAX=\emph{value}} \\ - End of the pileup interval for the M-counter in $\mu$s. - \item{\bf PROMPTPEAKMIN=\emph{value}} \\ - Beginning of the prompt-peak interval in $\mu$s. This variable is used only for the condition - ``{\tt promptPeak}'', ``{\tt promptPeakF}'', etc.\ , and normally does not need to be specified. It becomes useful if - the user wants to investigate, where the prompt-peak originates from (where do the muons, - which give rise to the prompt peak, stop). The default value is -0.01\,$\mu$s. - \item{\bf PROMPTPEAKMAX=\emph{value}} \\ - End of the prompt-peak interval in $\mu$s, the default value is 0.01\,$\mu$s. (See comments - for {\tt PROMPTPEAKMIN}.) - \item{\bf MUSRMODE=\emph{string}} \\ - Defines the mode of \musr\ experiment -- presently only ``D'', corresponding to - the time differential mode is implemented. - \item{\bf REWINDTIMEBINS=\emph{value}} \\ - A technical parameter specifying when a roll-over of all hits has to be done. - It is specified in TDC bins, and normally there should be no need to change this parameter. - \item{\bf DEBUGEVENT \emph{eventID} \emph{debugLevel}}\\ - Prints out debug information about the event with the ID \emph{``eventID''}. - The higher the \emph{debugLevel}, the more details are printed. - (Both \emph{eventID} and \emph{debugLevel} are integers). - \item{\bf CLONECHANNEL \emph{ID1} \emph{ID2}}\\ - Clones the hits detected in counter \emph{ID1} into a new counter \emph{ID2}. - A different (even a lower) threshold can be applied to the cloned counter. - This way the same counter can be used as two independent counters -- e.g.\ once as a veto - detector for the M-counter, and simultaneously as a coincidence detector for - a P-counter. In both cases the energy threshold and time windows are defined independently. - \item{\bf WRITE\_OUT\_DUMP\_FILE \emph{fileNameString} \emph{clockChannel} \emph{randomJitter}}\\ - If present, this command will create two output files, the so-called ``dump files'':\\ - {\tt data/TDC\_V1190\_200\_dump\_\emph{fileNameString}.bin} -- file that can be used - as an input to the PSI analysis front-end of a real experiment.\\ - {\tt data/TDC\_V1190\_200\_dump\_\emph{fileNameString}.txt} -- file that contains the same - information (hits) as the previous file, however in a human-readable form. The first number in the file - stands for the channel number, the second number stands for the time bin in the TDC bin units.\\ - \emph{clockChannel} ... the channel of the clock signal (typically 15).\\ - \emph{randomJitter} ... this value is in TDC bins, typically 0 or 8000 (?). If \emph{randomJitter} is smaller then - 1, then the hits in the dump files will be sorted according to time. If it is larger than 0, then - subsequent hits can be unordered in time, but the time difference never exceeds the value of \emph{randomJitter}. - This is just a technical thing serving to test the analysis software -- it should not - have any effect on the analysis results. - \item{\bf musrTH1D \emph{histoName} \emph{histoTitle} \emph{nBins} \emph{min} \emph{max} \emph{variable} - [{\tt rotreference} $\nu_{\rm RRF}$ $\phi_{\rm RRF}$] $|$ [correctexpdecay]} \\ - Defines a histogram (or more precisely an array of histograms, where the number of histograms - in the array is given by the number of conditions, see section~\ref{howToAnalyse}). - The name of the histogram is defined by \emph{histoName} + the number of the condition. - The string variable \emph{histoTitle} specifies the title of the histogram, - \emph{nBins}, \emph{min} and \emph{max} stand for the number of bins and minimum and maximum - of the $x$-axis of the histogram. \\ - The optional keyword ``{\tt rotreference}'' signals that the given histogram will be filled in - rotating reference frame (RRF) with the frequency of $\nu_{\rm RRF}$ and a phase shift of $\phi_{\rm RRF}$. - \\ - The optional keyword ``{\tt correctexpdecay}'' signals that the given histogram will be corrected - for the muon exponential decay (i.e. multiplied by a factor $\exp(t/2.19703)$. It is meaningful - only for time variables. - \\ - The \emph{variable} stands for the variable that will be - filled into the histogram. The \emph{variable} can be any variable from the output Root tree - of musrSim (see ``Manual of musrSim'') (except for the array variables like - {\tt det\_*[], save*[], odet\_*[]}). In addition, it can be also one of the following: - \begin{description} - \item[muDecayPosR] \ldots $\sqrt{ {\rm muDecayPosX}^2 + {\rm muDecayPosY}^2}$. - \item[wght] \ldots weight of the event. - \item[det\_m0edep] \ldots energy deposited in the M-counter that gives the muon signal. - \item[det\_posEdep] \ldots energy deposited in the P-counter that gives the positron signal. - \item[muIniPosR] \ldots $\sqrt{ {\rm muIniPosX}^2 + {\rm muIniPosY}^2}$. - \item[muIniMomTrans] \ldots $\sqrt{ {\rm muIniMomX}^2 + {\rm muIniMomY}^2}$. - \item[muTargetPol\_Theta] \ldots theta angle of the muon spin when muon enters target (-180,180 deg). - \item[muTargetPol\_Theta360]\ldots theta angle of the muon spin when muon enters target (0,360 deg). - \item[muTargetPol\_Phi] \ldots phi angle of the muon spin when muon enters target (-180,180 deg). - \item[muTargetPol\_Phi360] \ldots phi angle of the muon spin when muon enters target (0,360 deg). - \item[pos\_Momentum] \ldots magnitude of the momentum of the decay positron (``generated'', not measurable variable). - \item[pos\_Trans\_Momentum] \ldots transverse momentum of the decay positron. - \item[pos\_Radius] \ldots positron radius calculated from the decay positron momentum and magnetic - field at the point of decay. - \item[pos\_Theta] \ldots polar angle of the decay positron. - \item[pos\_Phi] \ldots azimuth angle of the decay positron. - \item[det\_time10] \ldots time difference between the positron and muon counters - (measured by the respective counters). - \item[gen\_time10] \ldots the time difference between the muon decay and the first muon hit - in the M-counter (i.e.\ {\tt muDecayTime - muM0Time}). - \item[det\_time10\_MINUS\_gen\_time10] \ldots {\tt det\_time10 - gen\_time10} in picoseconds. - \item[det\_time20] \ldots very similar to {\tt det\_time10}, however taking into - account ``counter phase shift'' defined by {\tt counterPhaseShifts} - variable. This gives the user a possibility to sum up backward and - forward histograms into one histogram (this of course make sense - only in the simulation, where there is ``no physics'' happening - in the sample, just the muon spin rotation). - \item[pileup\_eventID] \ldots eventID of the $\mu_2$, where $\mu_2$ stands for the muon, - which did not give signal in the M-counter, but whose - decay positron gave signal in the positron counter around the time - when a different muon ($\mu_1$) triggered the M-counter. - \item[pileup\_muDecayDetID] \ldots detector ID, in which $\mu_2$ stopped and decayed. - \item[pileup\_muDecayPosZ] \ldots $z$-coordinate of where the $\mu_2$ stopped and decayed. - \item[pileup\_muDecayPosR] \ldots radius of where the $\mu_2$ stopped and decayed. - \end{description} - Variables are usually set to -1000 if they can not be calculated (e.g.\ {\tt det\_posEdep} = -1000 - if there was no hit in any positron counter). - \item{\bf musrTH2D \emph{histoName} \emph{histoTitle} \emph{nBins} \emph{min} \emph{max} \emph{nBins2} \emph{min2} \emph{max2} \emph{variable}} \\ - Similar to \emph{musrTH1D}, but for a 2-D histogram. - \item{\bf humanDecayHistograms \emph{hist\_decay\_detID} \emph{hist\_decay\_detID\_pileup} \emph{id$_1$} \emph{name$_1$} \ldots \emph{id$_n$} \emph{name$_n$} } \\ - This is a special kind of histogram, which converts two histograms - (\emph{hist\_decay\_detID} \emph{hist\_decay\_detID\_pileup}) - into a human-friendly histograms, where detector ID on the $x$-axis is converted into a string label. - The \emph{id$_i$} is the detector id, and the \emph{name$_i$} is the corresponding label name. - If \emph{name$_i$ = name$_j$}, the corresponding bins of the original histograms will - be summed up together into the same bin. - The \emph{hist\_decay\_detID} and \emph{hist\_decay\_detID\_pileup} have to be defined before - (by the command {\tt musrTH1D}). - \item{\bf condition \emph{conditionID} \emph{conditionName}} \\ - Definition of a condition, which is then used when filling histograms. The \emph{conditionID} - specifies the number of the condition, and must be between 0 and 30 (0 and 30 are also possible). - The \emph{conditionName} is one of the following: - \begin{description} - \item[alwaysTrue] \ldots true for every hit in the m-counter (there can be more than one M-counter hit per event). - \item[oncePerEvent] \ldots true once for every event (the first hit in M-counter, if any, is considered). - \item[muonDecayedInSample\_gen] \ldots true if muon stopped and decayed in the sample. - \item[muonTriggered\_gen] \ldots true if muon passed through the M-counter (irrespective of the deposited energy) - -- not a measurable variable. - \item[muonTriggered\_det] \ldots true if a good muon candidate was found in the M-counter (using coincidences, vetoes, ...). - Double hits within the pileup window are excluded. - \item[positronHit\_det] \ldots true if a good positron candidate was found in the positron counter. - Double hits within the data window are excluded. - \item[goodEvent\_det] \ldots true if {\tt muonTriggered\_det} and {\tt positronHit\_det}. - \item[goodEvent\_gen] \ldots true if muon passed through the M-counter, and the muon stopped anywhere - (i.e.\ did not leave the World volume of the simulation). No requirement - on the positron is implied, i.e.\ the positron may or may not be detected. - Not a measurable variable. - \item[goodEvent\_det\_AND\_goodEvent\_gen] - \item[pileupEventCandidate] \ldots M-counter hit and positron counter hit both come from two different events. - \item[pileupEvent] \ldots {\tt pileupEventCandidate} and {\tt goodEvent\_det}. - \item[goodEvent\_det\_AND\_muonDecayedInSample\_gen] - \item[goodEvent\_F\_det] \ldots {\tt goodEvent\_det}, where the positron was detected in the forward detectors - defined by the command {\tt counterGrouping}. - \item[goodEvent\_B\_det] \ldots like {\tt goodEvent\_F\_det} but for backward positron counters. - \item[goodEvent\_U\_det] \ldots like {\tt goodEvent\_F\_det} but for upper positron counters. - \item[goodEvent\_D\_det] \ldots like {\tt goodEvent\_F\_det} but for lower positron counters. - \item[goodEvent\_L\_det] \ldots like {\tt goodEvent\_F\_det} but for left positron counters. - \item[goodEvent\_R\_det] \ldots like {\tt goodEvent\_F\_det} but for right positron counters. - \item[goodEvent\_F\_det\_AND\_pileupEvent] \ldots {\tt goodEvent\_F\_det} and {\tt pileupEvent}. - \item[goodEvent\_B\_det\_AND\_pileupEvent] \ldots {\tt goodEvent\_B\_det} and {\tt pileupEvent}. - \item[goodEvent\_U\_det\_AND\_pileupEvent] \ldots {\tt goodEvent\_U\_det} and {\tt pileupEvent}. - \item[goodEvent\_D\_det\_AND\_pileupEvent] \ldots {\tt goodEvent\_D\_det} and {\tt pileupEvent}. - \item[goodEvent\_L\_det\_AND\_pileupEvent] \ldots {\tt goodEvent\_L\_det} and {\tt pileupEvent}. - \item[goodEvent\_R\_det\_AND\_pileupEvent] \ldots {\tt goodEvent\_R\_det} and {\tt pileupEvent}. - \item[promptPeak] \ldots {\tt goodEvent\_det}, and {\tt PROMPTPEAKMIN < det\_time10 < PROMPTPEAKMAX}. - \item[promptPeakF] \ldots like {\tt goodEvent\_F\_det} and {\tt promptPeak}. - \item[promptPeakB] \ldots like {\tt goodEvent\_B\_det} and {\tt promptPeak}. - \item[promptPeakU] \ldots like {\tt goodEvent\_U\_det} and {\tt promptPeak}. - \item[promptPeakD] \ldots like {\tt goodEvent\_D\_det} and {\tt promptPeak}. - \item[promptPeakL] \ldots like {\tt goodEvent\_L\_det} and {\tt promptPeak}. - \item[promptPeakR] \ldots like {\tt goodEvent\_R\_det} and {\tt promptPeak}. - \end{description} - Additional conditions may be implemented on request. - \item{\bf draw \emph{histogramName} \emph{conditionID} } \\ - Plot histogram (for a given condition) at the end of the analysis. Note that all histograms - are saved into the output file irrespective whether they are plotted or not. - \item{\bf counterPhaseShifts \emph{ID$_1$} \emph{$\phi_1$} \emph{ID$_2$} \emph{$\phi_2$} \ldots \emph{ID$_n$} \emph{$\phi_n$} }\\ - Defines relative phase shifts of signal between different positron counters, which is used - for calculation variable {\tt det\_time20}. \emph{ID$_i$} is the ID number of the positron counter, - \emph{$\phi_i$} is its phase shift. This gives the user a possibility to sum up backward and - forward histograms into one histogram. - \item{\bf counterGrouping \emph{group} \emph{ID$_1$ ID$_2$ \ldots ID$_n$} } \\ - This defines a group of detectors, where \emph{group} stands for ``B'' (backward), - ``F'' (forward), ``U'' (up), ``D'' (down), ``L'' (left) and ``R'' (right) detectors. - This grouping is used in the definition of some conditions. - \item{\bf sampleID \emph{ID$_1$ ID$_2$ \ldots ID$_n$} } \\ - Defines which volume (or volumes, if there are more) is the sample. Typically, the - sample is just one volume, but sometimes there is a smaller volume inside of the sample, - to which a field is applied, so the small volume also has to be considered as the sample. - This information is needed for the condition ``muonDecayedInSample\_gen''. - \item{\bf setSpecialAnticoincidenceTimeWindow \emph{detectorID} \emph{timeMin} \emph{timeMax} \emph{unit}} \\ - This command sets a special anti-coincidence time window for a detector \emph{detectorID}. - Normally, the anti-coincidence time window is defined by {\tt VCOINCIDENCEW}, and is the same for all anti-coincidence - detectors. However, sometimes it might be interesting to set the anti-coincidence time window - differently for a specific detector (e.g.\ one might test an anti-coincidence of a veto detector with - the M-counter for the whole pile-up time window of $\sim$\,10\,$\mu s$. - Unlike in the case of {\tt VCOINCIDENCEW}, here the \emph{units} are not TDC bins, but - rather time in ``nanosecond'' or ``microsecond''. - \item{\bf fit \emph{histogramName} \emph{function} \emph{option} \emph{min} \emph{max} \emph{p$_1$} \ldots \emph{p$_n$}} \\ - Fits the histogram by a given function, where \emph{min}, \emph{max} define the range of the fit - on the $x$-axis of the histogram, \emph{option} is a string defining fit options (see Root manual for details), - and \emph{p$_1$} \ldots \emph{p$_n$} are (typically, with some exceptions) - the initial values of the function parameters. The following functions are currently predefined: - \begin{description} - \item[pol0] $=p_0$ \ldots a constant (1 parameter) - typically used to fit background. - \item[simpleExpoPLUSconst] $=p_0 \exp(-x/2.19703)+p_1$ - \item[rotFrameTime20] $= p_2 \cos(p_0 x+p_1)$ - \item[funct1] $=p_3 \exp((p_4 - x)/2.19703) \cdot (1+p_2 \cos(p_0 x+p_1))$ - \item[funct2] $=p_3 \exp((p_4 - x)/2.19703) \cdot (1+p_2 \cos(p_0 x+p_1)) + p_5$ - % \item[funct3] the same as {\tt funct2} - \item[funct4] $=p_3 \exp((- x)/2.19703) \cdot (1+p_2 \cos(p_0 x+p_1)) + p_4$ - \item[TFieldCos] $=p_3 (1+p_2 \cos(p_0 x + p_1))$ \hspace{1cm} (this function is useful when the histogram is filled with {\tt ``correctexpdecay''} keyword.) - \item[TFieldCosPLUSbg] $=p_3 (1+p_2 \cos(p_0 x + p_1)) + p_4 \exp(x/2.19703)$ - \hspace{1cm} (this function is useful when the histogram is filled with {\tt ``correctexpdecay''} keyword.) - \item[gaus] ... Gauss distribution - \end{description} - - -\end{description} -%======================================================================================================== -\section{A real-life example: GPD instrument} -\label{sec:GPD} -The simulation of the General Purpose Decay-Channel Spectrometer (GPD) -instrument~\cite{GPD} installed at PSI has been exemplified -in the \musrSim\ manual~\cite{musrSim}. -Here we analyse the output of this simulation using \musrSimAna. -The run number of this simulation is 201, therefore the steering -file names are ``{\tt 201.mac}'' for \musrSim, and ``{\tt 201.v1190}'' for -\musrSimAna, respectively, and the output file name of \musrSim\ is saved as -``{\tt data/musr\_201.root}''. -The detector system is very simple with only six counters -- M-counter, -two backward positron counters and three forward positron counters. -The reader is strongly recommended to see the illustration of the GPD -geometry in the \musrSim\ manual~\cite{musrSim}. - -8\,000\,000 of events were simulated -(i.e.\ 8\,000\,000 of muons were generated 100\,cm in front of -the GPD sample). -In only 949\,759 events (11.9\% out of the 8 million) there was a signal detected -in one or more counters. The remaining muons stopped somewhere (most -often in collimator, as we will see later), decayed, and the decay positron -(and any other particles created thereof) missed the counters. -This is illustrated in more details in Fig.~\ref{det_n}, -% -\begin{figure}[tbp]\centering -\epsfig{file=pict/det_n_infititely_low_muon_rate.eps,width=0.8\linewidth,clip=} -\caption{Number of hits in all counters per event, assuming infinitely low incoming muon -rate. The same detector may be hit more than once (e.g.\ if both the muon and its decay -positron pass through the M-counter).} -\label{det_n} -\end{figure} -% -where number of detector hit per event, assuming infinitely low incoming muon -rate, is shown. This plot was created in Root by executing:\\[1em] -{\tt -root [0] TFile* ff=new TFile("data/musr\_201.root") \\ -root [1] t1->Print() \\ -root [2] t1->Print("det\_n","det\_n>0") \\ -}\\[1em] -% -It has to be pointed out, that the ratio of muons passing through the opening -in collimators to the number of all generated muons strongly depends on the -beam properties -- beam profile, beam convergence, etc. Typically, if we have -too broad muon beam, we simulate -many ``useless'' events. However, the other extreme (simulating too narrow -beam) can lead to underestimating the time-independent background. - -It took approximately 12 hours of the CPU (on PC bought in 2010, where 1 out -of 4 processor cores was running) to simulate these 8\,000\,000 events. -Assuming the 30\,000\,$\mu/$s trigger rate, this corresponds to 26 seconds -of real experimental running. - -\subsection{Where the muons stop and decay} -\label{sect_muons} -The positions, or more precisely the components of the GPD instrument, where the muons -stop and decay, are shown in Fig.~\ref{humanDecayHistograms_1}: -% -\begin{figure}[tbp]\centering -\epsfig{file=pict/Plot201_1.eps,width=0.9\linewidth,% -%%bbllx=83pt,bblly=330pt,bburx=538pt,bbury=513pt,clip=} -clip=} -\caption{This plot indicates, where the muons stopped and decayed. -The dashed histogram shows all generated muons. The full-line histograms show -where stopped the muons, for which either the muon itself or its secondary -particle ($e^+, \gamma$) triggered the M-counter: black histogram stands for -all such muons, corresponding to infinitely low incoming muon rate, while -the red histogram stands for the incoming muon rate of 30\,000\,$\mu/$s. -8\,000\,000 of events were simulated.} -\label{humanDecayHistograms_1} -\end{figure} -% -%Notes to Fig.~\ref{humanDecayHistograms_1}: -\begin{itemize} - \item Figure~\ref{humanDecayHistograms_1} was generated by Root macro file ``Plot201.C''. - \item The labels on the $x$-axis are defined in the file {\tt 201.v1190} by the - command \\ - {\tt humanDecayHistograms \ldots} - \item The dashed-line histogram in Fig.~\ref{humanDecayHistograms_1} - shows where the muons stopped and decayed if no preselection - criteria are applied on the muons, i.e.\ if all generated muons are considered. - This is histogram ``{\tt humanDecayHistograms\_1}''. - \item The full-line histograms show - where stopped the muons, for which either the muon itself or its secondary - particle ($e^+, \gamma$) triggered the M-counter: black histogram stands for - all such muons, corresponding to infinitely low incoming muon rate, while - the red histogram represents the case for the 30\,000\,$\mu/$s incoming muon rate. - An energy deposit of at least 0.4\,MeV in the M-counter is required to fire the trigger. - The number of triggered events decreases with the incoming muon rate, - because some of the events are rejected due to the 10\,$\mu$s pileup gate. - - The histogram name is in both cases ``{\tt humanDecayHistograms\_4}'', - where the black histogram was calculated using the setup file ``{\tt 201a.v1190}'' - with the keyword {\tt INFINITELYLOWMUONRATE}, while the red histogram - was calculated using the setup file ``{\tt 201.v1190}'' - with {\tt MUONRATEFACTOR=0.0965819}. - \item The $\pm 10\,\mu$s pile-up gate at the incoming muon rate of 30\,000$\,\mu/$s - rejects approx.\ 45\% of the triggered events. This number can be calulated - in Root as the ratio of the ``{\tt Integral}'' of the red and black histograms - in Fig.~\ref{humanDecayHistograms_1}:\\[1em] - {\tt \small - root [0] TFile* file1 = new TFile("data/his\_201\_201a.v1190.root") \\ - root [1] humanDecayHistograms\_4->Integral() \\ - root [0] TFile* file2 = new TFile("data/his\_201\_201.v1190.root") \\ - root [1] humanDecayHistograms\_4->Integral() \\ - } - \item The muon sample fraction (ratio of muons stopped in the sample over all muons that fired - the trigger) for the triggered events (full-line histograms) - is 65\%, and it is practically the same - for both infinitely low and 30\,000\,$\mu/$s incoming rate. - This number can be obtained in Root by dividing the first column of histogram - {\tt humanDecayHistograms\_4} by the sum of all entries in this histogram:\\[1em] - {\tt \small - root [0] TFile* file = new TFile("data/his\_201\_201.v1190.root") \\ - root [1] (humanDecayHistograms\_4->GetBinContent(1))/(humanDecayHistograms\_4->Integral()) \\ - } - \item The largest fraction of generated muons (dashed-line histogram) stopped in collimators. - Only a small fraction of them caused a hit in the M-counter (full-line histograms). - \item Despite the high initial muon momentum of $100 \pm 3\,$GeV/c, muons are - significantly scattered in the last 50\,cm region of air. This can be - clearly seen if the magnetic field is off and a point-like muon beam - is used (which can be done by modifying the {\tt 201.mac} file) - -- only 77\% of the muons stop in the sample cell or in the sample, while the - remaining 23\% of the mouns are scattered so much in the air, that they - end up in collimators or elsewhere (not shown here). - \item ``World'' in the histogram label means that the muon decayed in the beampipe vacuum - or somewhere else in the air (on the fly). - \item ``Escaped'' means that the muon left the simulated instrument (more precisely the - ``world'' volume) prior its decay. -\end{itemize} - - -Figure~\ref{humanDecayHistograms_9} shows the ``pile-up events''. -% -\begin{figure}[htbp]\centering -\epsfig{file=pict/Plot201_2_new.eps,width=0.9\linewidth,% -%%bbllx=83pt,bblly=330pt,bburx=538pt,bbury=513pt,clip=} -clip=} -\caption{Pile-up events, i.e.\ the events in which one muon ($\mu_1$) fired the -trigger, while the hit in a positron counter is due to a decay positron from -a different muon ($\mu_2$). Pile-up events look like a good events, and contribute -to the time-independent background.} -\label{humanDecayHistograms_9} -\end{figure} -% -These are events, in which one muon ($\mu_1$) is triggered by the m-counter, -while a positron from a different muon ($\mu_2$) was detected by -a positron counter\footnote{In fact, the trigger may also be triggered by -the decay positron of $\mu_1$ and/or a positron counter may detect -directly $\mu_2$, not its decay positron. Such cases are rare, but they -are implicitly included in the simulation.}. -In addition to this requirement, the decay positron of $\mu_1$ must -escape undetected (e.g.\ it must miss positron counters) and $\mu_2$ must not trigger the m-counter --- otherwise the event would be rejected. -Pile-up events are the source of the time independent background. -Usually $\mu_1$ is a good-looking muon that stops in the sample or in the sample cell -(red histogram in Fig.~\ref{humanDecayHistograms_9}), while $\mu_2$ stops and decays at different places, -mainly in the collimators (green histogram in Fig.~\ref{humanDecayHistograms_9}). - -A nice visualisation of where the background-contributing muons $\mu_2$ stop and decay -is presented in Fig.~\ref{Pileup_muon_decay_map} (histogram ``{\tt hMuDecayMappileup\_9}''). -% -\begin{figure}[htbp]\centering -\epsfig{file=pict/Pileup_muon_decay_map.eps,width=0.7\linewidth,% -%%bbllx=83pt,bblly=330pt,bburx=538pt,bbury=513pt,clip=} -clip=} -\caption{Positions of where the $\mu_2$ stop and decay.} -\label{Pileup_muon_decay_map} -\end{figure} -% -In this two dimensional histogram, different components of the GPD instrument, -like the lead collimator, the copper collimator and the sample cell, can be recognised. -The lead collimator is located at the $z$-position between -115\,mm and -85\,mm. -Due to the high initial muon momentum of $\sim 100\,$MeV/c, -the maximum of muons in Fig.~\ref{Pileup_muon_decay_map} stop quite deep in the -lead collimator, at around $z=-103$\,mm. This might be a little bit surprising to the -\musr\ scientists who are used to work with the surface muons with momentum of 28\,MeV/c. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{The $\mu$SR signal} -% -Figure~\ref{hdet_time10_10} -% -\begin{figure}[htbp]\centering -\epsfig{file=pict/hdet_time10_10.eps,width=0.495\linewidth,% -bbllx=13pt,bblly=5pt,bburx=520pt,bbury=351pt,clip=} -\epsfig{file=pict/hdet_time10_11.eps,width=0.495\linewidth,% -bbllx=13pt,bblly=5pt,bburx=520pt,bbury=351pt,clip=} -%%clip=} -\caption{MuSR signal for the run 201 (TF$=300\,$gauss). The tree forward positron counters -are summed up in the left histogram, and the two backward counters in the right histogram.} -\label{hdet_time10_10} -\end{figure} -% -shows the $\mu$SR spectra for the same run, -i.e.\ for the transverse field of 300\,gauss, integrated over the three forward positron -counters (left histogram called {\tt hdet\_time10\_10}) -and over the two backward positron counters (right histogram called {\tt hdet\_time10\_11}). -Zero on the time axis corresponds to $t_0$, i.e.\ time of the m-counter hit. -One can see a prompt peak at $t_0$, time independent background at negative times -and an oscillating signal at positive times. -The following function has been fitted to the oscillating part of the signal: -% -\begin{equation} -f=p_3 \cdot e^{-t/2.19703} \cdot (1+p_2 \cdot \cos(t \cdot p_0+p_1))+p_4 -\label{eq_simple} -\end{equation} -The fits were restricted to the time interval of $(t_0+0.05 \mu\rm{s},t_0+9.95\mu\rm{s})$, -and the parameter $p_0$ was fixed (e.g. not fitted). -The fitted amplitude of asymmetry are $p_2 = 0.307 \pm 0.009$ and -$p_2 = 0.290 \pm 0.009$ for the forward and backward counters respectively. - -Parts of the spectra from Fig.~\ref{hdet_time10_10} are shown -in detail in Fig.~\ref{hdet_time10_10_detail}. -% -\begin{figure}[htbp]\centering -\epsfig{file=pict/hdet_time10_10_detail.eps,width=0.495\linewidth,% -bbllx=13pt,bblly=5pt,bburx=520pt,bbury=351pt,clip=} -\epsfig{file=pict/hdet_time10_11_pileup.eps,width=0.495\linewidth,% -bbllx=13pt,bblly=5pt,bburx=520pt,bbury=351pt,clip=} -%%clip=} -\caption{MuSR signal for the run 201 (TF$=300\,$gauss) -- details of -Fig.~\ref{hdet_time10_10}. The left plot shows the signal in the forward counters around $t_0$, -the right plot shows the (time-independent background) signal at negative times in the -backward counters.} -\label{hdet_time10_10_detail} -\end{figure} -% -The left plot in Fig.~\ref{hdet_time10_10_detail} shows the signal -in the forward counters around $t_0$, the right plot shows the -(time-independent background) signal at negative times in the backward counters. - -An important characteristic of a \musr\ instrument is the time-independent -background. It is usually expressed as -% -\begin{equation} -{\rm Bgr} = p_{-} / p_3 ~~~, -\label{eq_background} -\end{equation} -% -where $p_{-}$ is the fit to the time-independent background, i.e.\ signal at negative times, -and $p_3$ is the parameter from eq.(\ref{eq_simple}), which specifies what the -size of the signal would be at $t_0$ in the absence of oscillations. -In the case of backward counters ${\rm Bgr}_{\rm backw} = 14.47/262 = 5.5\,\%$, -in the case of forward counters ${\rm Bgr}_{\rm forw} = 6.88/267.9 = 2.6\,\%$. - -Note that the histogram on right hand side of Fig.~\ref{hdet_time10_10_detail} -is labelled ``{\tt hdet\_time10\_Bgr\_11}'', not ``{\tt hdet\_time10\_11}''. -In fact, the two histograms are identical, as one can see in the setup file -{\tt 201.v1190}. The only difference is in the fitting -- the same data stored in -both histograms are fitted by different functions in different time ranges. - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{The $\mu$SR signal from individual counters} -% -Figure~\ref{F11} shows the observed signal in the -forward counter\ No.~11 (FW11). -% -\begin{figure}[htbp]\centering -\epsfig{file=pict/F11_rebinned.eps,width=0.495\linewidth,% -bbllx=13pt,bblly=5pt,bburx=520pt,bbury=351pt,clip=} -\epsfig{file=pict/F11_B11_prompt_peak_thicker.eps,width=0.495\linewidth,% -bbllx=13pt,bblly=5pt,bburx=520pt,bbury=351pt,clip=} -\caption{\musr\ signal in the forward positron counter\ No.~11 (run 201, TF$=300\,$gauss). -The left plot shows the (rebinned) signal in the counter, -the right plot shows the detail of the \emph{prompt peak}, i.e.\ the region -around $t_0$ in the same counter (black line), -compared with the prompt peak in the backward positron counter\ No.~1 (magenta line).} -\label{F11} -\end{figure} -% -Originally, the histogram F11 was defined with the bin width of 100\,ps. -The number of bins was 50995, covering the time interval of approx.\ (-0.2\,$\mu$s, 4.9\,$\mu$s). -In the left hand side plot, however, the histogram was rebinned -(200 bins were summed up into 1 bin). -The right hand side plot shows the detail of the \emph{prompt peak}, i.e.\ the region -around $t_0$, of one forward and one backward positron counters, prior to the rebinning. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Conclusion of the GPD analysis example} -% -The purpose of the example analysis of the GPD simulation was to illustrate -the potential of \musrSim\ and \musrSimAna\ programs to investigate features -like time-independent background, sample muon fraction, prompt peak, \ldots -This information can be used in design and optimisation of \musr\ instruments. -%======================================================================================================== -\section{GPS instrument} -% -It is foreseen that GPS instrument could be arranged in two geometries -after the upgrade (depending from which side the calorimeter would be -inserted). -\begin{itemize} - \item {\tt 50130hb.v1190} -- Calorimeter inserted from one side. - \item {\tt 50130hl.v1190} -- Calorimeter inserted from the other side. - \item {\tt 50130hb1.v1190 -- 50130hb6.v1190} -- All positron counters - analysed individually. -\end{itemize} -See the document about the GPS simulations saved in the directory: \\ -/afs/psi.ch/project/lmu/Facility/musr\_simulations/documentation/GPS/ \\ -for more details. -%======================================================================================================== -\section{Other Examples} -Many different ``*.v1190'' files are stored in the file: -``run\_musrSimAna\_many\_files.tar.gz''. They could serve as additional examples. -Note that the syntax of the ``fit'' command was changed -at some point, and therefore the ``fit'' command might cause problems -(the {\tt ``option''} has to be added in the old ``*.v1190'' files). -%======================================================================================================== -\begin{thebibliography}{0} - -\bibitem{acquisitionProkscha} T.~Prokscha {\it et al.} ``A novel VME based \musr\ data acquisition system at PSI'', -Physica {\bf B~404}, (2009) 1007-1009. - -\bibitem{TDCsetup} ``TDC Manual -- Setting up the required logic'', -http://lmu.web.psi.ch/facilities/electronics/TDC/set\_logic.html - -\bibitem{GPD} -http://lmu.web.psi.ch/facilities/gpd/gpd.html - -\bibitem{musrSim} -K.Sedlak {\it et al.}, ``Manual of musrSim''. - - -\end{thebibliography} - -\end{document} +\documentclass[twoside]{dis04} +\usepackage{epsfig} +\def\runauthor{PSI} +\def\shorttitle{musrSimAna} +\begin{document} + +\newcommand{\musr}{\ensuremath{\mu}SR} +\newcommand{\musrSim}{\emph{musrSim}} +\newcommand{\musrSimAna}{\emph{musrSimAna}} +\title{Manual of musrSimAna} +\author{Kamil Sedl\'ak$^1$} +\author{James S. Lord$^2$} + +\address{{$^1$ Laboratory for Muon Spin Spectroscopy, Paul Scherrer Institut, CH-5232 Villigen PSI, Switzerland}} +\address{{$^2$ ISIS Facility, Rutherford Appleton Laboratory, Chilton, Oxon OX11 0QX, U.K.}} + +\maketitle + +\abstracts{ +``musrSimAna'' is an analysis program, which helps the user to analyse and interpret the output of the +``musrSim'' simulation.} + +%======================================================================================================== +\section{Introduction} +\label{introduction} +The purpose of the \musrSimAna\ program is to analyse the Root tree, the output +of the \musrSim\ program. +In general, the event-by-event information stored in the Root tree can be easily used only for +a very quick and rough tests -- e.g.\ to see, where the muons stop and decay irrespective +of whether they were triggered in the M-counter or not, or to have an idea what energy +spectrum was deposited in a given counter. Typically, however, one is more interested +to study \musr\ signal amplitude, time-independent background, or where the muons decay +only for the ``stopped'' muons (e.g.\ muons triggered by M-counter and not detected +by a veto counter), or only for triggered muons which actually stopped in a cryostat +rather than in a sample. Such a study requires some kind of analysis program, which +loops over all events stored in the Root tree (output of \musrSim), and implements the +logic of the required \musr\ experiment. + +One way to do such analysis is to start from a Root command {\tt MakeClass(``MyAnalysis'')}, +which creates some sort of skeleton c++ class for the given Root tree. This allows the user +to make his/her own and very specific analysis program tailored to his/her needs. On the other +hand, it requires special program for each detector set-up. + +A second possibility is to use \musrSimAna, which is intended to be a general analysis +program for \musr\ instruments. +\musrSimAna\ was originally written for continuous muon beam facilities. +Some extensions have been added for pulsed muon beams, see section \ref{sect_pulsed}. + +As in the case of \musrSim, the user of \musrSimAna\ specifies all parameters +required by the analysis in an input text file (steering file). The initial structure +of the steering file was taken over from the TDC setup files used by real \musr\ instruments +at PSI~\cite{acquisitionProkscha,TDCsetup}. This setup file defines the ``logic'' of a given experiment, +namely the coincidences and anti-coincidences of different counters and veto detectors, as well as some +timing parameters. +The setup file for the case of simulation had to be extended by the definitions of +histograms, cuts, fitting, etc. The description of the setup file will be +presented in chapter~\ref{howToAnalyse}-\ref{description}, the chapter~\ref{sec:GPD} +illustrates the whole concept of \musrSimAna\ on the example of an existing \musr\ instrument. + + + +\section{The main components of the \musrSimAna\ setup file} +\label{howToAnalyse} +The parameters for the analysis are stored in the setup file ``{\tt RUNxxx.v1190}'', whose name +typically consists of the run number ({\tt RUN}), +some further identifier ({\tt xxx}), and ends with ``{\tt .v1190}''. +One of the following commands can be used to execute \musrSimAna: \\[1em] +{\tt +\$> musrSimAna RUN RUNxxx \\ +\$> musrSimAna RUN RUNxxx nographic > data/RUN.RUNxxx.out +}\\[1em] +where the first {\tt RUN} stands for the run number (more precisely, it specifies +the \musrSim\ output, which is expected to be stored as ``{\tt data/musr\_RUN.root}'') +and {\tt RUNxxx} specifies the \musrSimAna\ setup file without the ending, which is +expected to be stored in the current directory. The output file of \musrSimAna, +containing the result histograms, will be stored as ``{\tt data/his\_RUN\_RUNxxx.v1190.root}''. + +The syntax of the setup file in \musrSimAna\ is based on the experimental one, +defined in~\cite{TDCsetup}. +At the beginning of this file, some timing parameters are defined:\\[1em] +\begin{tabular}{ll} +{\tt RESOLUTION=100 } & \emph{\ldots one TDC bin corresponds to 100\,ps} \\[0.7em] +{\tt MCOINCIDENCEW=50 } & \emph{\ldots time interval (in TDC bins) to find coincidences with M-counter} \\ +{\tt PCOINCIDENCEW=50 } & \emph{\ldots time interval (in TDC bins) to find coincidences with P-counter} \\ +{\tt VCOINCIDENCEW=100 } & \emph{\ldots time interval (in TDC bins) to find anti-coincidences with M-counter} \\[0.7em] +{\tt MUONRATEFACTOR=0.089 } & \emph{\ldots will be described in section~\ref{sec:eventMixing}} \\[0.7em] +{\tt DATAWINDOWMIN=-2.0 } & \emph{\ldots data interval (in $\mu$s) in which positrons are detected} \\ +{\tt DATAWINDOWMAX=10.0 } & \\[0.7em] +{\tt PILEUPWINDOWMIN=-10.0 } & \emph{\ldots the pileup interval (in $\mu$s) for muons} \\ +{\tt PILEUPWINDOWMAX=10.0 } & \\[1em] +\end{tabular} +% +A good event has exactly one hit in the M-counter within the pile-up window, and exactly +one hit in the positron counters within the data window. Both windows are defined relative to $t_0$, +which is the time of the currently analysed M-counter hit. + +The coincidence and anti-coincidence logic between the different counters +(the detector logic) is also specified in the setup file. +An example may look like this:\\ +\begin{verbatim} +102; "M up"; M; 0.4; 2005; -401; + 1; "B1"; P; 0.4; 2005; 21 -401; B1; 1485; 1515; 50995; + 2; "B2"; P; 0.4; 2005; 22 -401; B2; 1485; 1515; 50995; + 11; "F1"; P; 0.4; 2005; -401 -21 -22; F11; 1485; 1515; 50995; + 12; "F2"; P; 0.4; 2005; -401 -21 -22; F12; 1485; 1515; 50995; + 13; "F3"; P; 0.4; 2005; -401 -21 -22; F13; 1485; 1515; 50995; + 21; "Coinc B1" K; 0.4; 2005; + 22; "Coinc B2" K; 0.4; 2005; +401; "Active Veto" V; 0.1; 2005; +\end{verbatim} +\mbox{} \\ +% +In each row, the first number stands for the detector ID (defined in the steering file +of the \musrSim), the second variable is the name of the counter, +the third variable identifies the type of the counter (M = muon, P = positron, +K = coincidence and V = veto counters, respectively), the forth variable is the threshold in MeV applied +to the energy deposited in the counter, the fifth variable is a time delay (in units +of bin-width) applied to the given counter, the sixth set of parameters defines +which other detectors have to be in coincidence (positive ID) or anti-coincidence +(negative ID) with the given counter, and in the case of positron counters, the +last four parameters define a special histogram for the given counter. (Note +that this histogram is used for a compatibility with the experimental steering file, however +there is a different and more powerful way of how to define histograms, which is +defined later). The only difference with respect to the experimental steering +file is the presence of threshold definition in the fourth column. +In the example above, the M-counter is the volume which has ID 102 in the simulation, +and a valid hit has to have energy in the counter above 0.4\,MeV, and no signal +above 0.1\,MeV in the ``Active Veto'' (ID=401) within a time interval defined by +{\tt VCOINCIDENCEW}. The detailed description of *.v1190 steering files can be found +in chapter~\ref{description} and in~\cite{TDCsetup}. + + + +The main output of the simulation is generated in the form of histograms. +The histograms are defined in the steering file. For example, the following +line defines 1-dimensional histogram of the $z$-position of where the muons stop and decay:\\[1em] +{\tt +musrTH1D hMuDecayPosZ "Where the muons stop;z[mm];N" 100 -5. 5. muDecayPosZ +}\\[1em] +This histogram has 100 bins, spans from -5\,mm to 5\,mm, and the variable filled +in the histogram is {\tt muDecayPosZ}. +In fact, this line does not create one histogram, but an array of histograms -- one +histogram for each ``condition''. An example of five conditions reads:\\[1em] +{\tt +condition 1 oncePerEvent \\ +condition 2 muonDecayedInSample\_gen \\ +condition 4 muonTriggered\_det \\ +condition 6 goodEvent\_det \\ +condition 9 pileupEvent +}\\[1em] +where integer numbers (1,2,4,6 and 9) denote the condition number, and the string at the end +describes the condition -- e.g.\ ``{\tt muonDecayedInSample\_gen}'' specifies that muon +has stopped and decayed in the sample, and ``{\tt muonTriggered\_det}'' specifies that +there had to be a good muon candidate triggered in the M-counter. +The ending ``{\tt \_gen}'' indicates that the variable used in the condition +was ``generated'', i.e.\ it is known in the simulation, but can not be directly +measured experimentally. +On the other hand the ending ``{\tt \_det}'' specifies that the given condition +is based on measurable variables, as e.g.\ energy deposits in a counter. + +There can be up to +30 conditions requested, and for each of them a separate histogram will be filled. +In the output file of \musrSimAna, the histograms corresponding to the previous +set of conditions would be saved as +{\tt hMuDecayPosZ\_1, hMuDecayPosZ\_2, hMuDecayPosZ\_4, hMuDecayPosZ\_6, hMuDecayPosZ\_9}. +The {\tt hMuDecayPosZ\_1} shows where the muons stop irrespective whether they were +detected or not. The {\tt hMuDecayPosZ\_6} contains ``good'' muons, i.e.\ muons that would +be saved in the final histograms in the experiment. The {\tt hMuDecayPosZ\_9} shows +the muons, which contribute to the time-independent background. Note that there are always +two muons, $\mu_1$ and $\mu_2$, contributing to the time-independent background, and {\tt hMuDecayPosZ\_9} +shows the one ($\mu_1$) that started the M-counter. More to this topic is presented +in chapter~\ref{sec:eventMixing}. Here we just mention that in order +to see the $z$-coordinate of the second muon ($\mu_2$), +which was not triggered by the M-counter but whose decay positron hit the positron counter, +the histogram {\tt hpileup\_muDecayPosZ\_9} must be used:\\[1em] +{\tt +musrTH1D hpileup\_muDecayPosZ "Pileup muons;z[mm];N" 100 -5.0 5. pileup\_muDecayPosZ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Event mixing -- an unavoidable complication} +\label{sec:eventMixing} +The output of \musrSim\ is stored in a Root tree named ``{\tt t1}''. One event corresponds +to one simulated muon, and it is saved as one row of the tree. The only information that +relates one event (muon) to any other one is the variable {\tt timeToNextEvent}, +which is a randomly generated time difference between two subsequent events. + +The \musrSimAna\ allows one to study the ``time-independent background'', which is +due to mixing of two different events. A simple example of the event mixing affecting +the \musr\ measurement is the following: the first muon, $\mu_1$, hits the M-counter, +and subsequently stops and decays in the sample, however the decay positron escapes +undetected -- most likely because of the limited angular acceptance of positron counters. +The second muon, $\mu_2$, arrives around the same time, misses the M-counter, +and stops and decays in a collimator wall or elsewhere. +Its decay positron hits a positron counter. Thus there are good-looking muon and positron +hits, which however arise from two uncorrelated muons. +This fake (background) event is experimentally treated as a good event, +and contributes to the time-independent background. + +Events can be mixed in \musrSimAna, allowing us to study sources of +the time-independent background. +%\emph{MusrSimAna} loops over the events and checks whether the conditions defining +%the detector logic in the steering file have been fulfilled. However, to take event +%mixing properly into account, the conditions have to be veryfied on several subsequent +%events. Therefore, at the beginning of the analysis of +Before analysing a given event, arrays of hits are filled +for all counters (M, positron, veto, coincidence counters), which store the hits occurring in the +future up to the time equal to $ 3\, \cdot $ pileup window or $ 3\, \cdot $ data window, +whatever is larger\footnote{The data and pile-up windows defined by parameters +{\tt DATAWINDOWMIN, DATAWINDOWMAX, PILEUPWINDOWMIN} and {\tt PILEUPWINDOWMAX} +are applied later on in the analysis.}. +There is one such array for every counter. After this initial filling, +there might be several hits in every array, originating from one or more events. + + +The fraction of the time-independent background to good events depends on the incoming muon rate +measured by the trigger, possibly in the anti-coincidence with a backward veto detector, if +used in the experiment. +Typically, the experimentalists set the incoming muon rate (rate of \emph{stopped muons}) +to $\sim 30\,000\,\mu/s$. The same should be done in the simulation. +However, the rate of stopped muons is known only after the analysis is done, +because, for example, many simulated muons stop and decay in collimators or elsewhere +in the beam-pipe without producing any signal in the M-counter. +Therefore the simulation is normally started with an initial rate of generated muons +of $30\,000\,\mu/s$, which in practise can correspond to much lower rate of \emph{stopped muons}. +The rate of stopped muons is calculated at the end of the \musrSimAna\ execution, and +it is printed out in the \musrSimAna\ output. The user can use this information and rescale the +initial muon rate by changing parameter {\tt MUONRATEFACTOR} in the {\tt *.v1190} setup file. +This is done without the necessity to re-run the CPU consuming +simulation -- only the \musrSimAna\ has to be repeated. The complete simulation and analysis +chain therefore usually consists of three steps: +% +\begin{enumerate} + \item \musrSim\ (takes typically 10 hours). + \item \musrSimAna\ with {\tt MUONRATEFACTOR=1.0} (takes typically 10 minutes). + \item \musrSimAna\ with {\tt MUONRATEFACTOR} determined in step 2. +\end{enumerate} +% +The {\tt MUONRATEFACTOR} specifies a multiplicative factor applied to +the variable {\tt timeToNextEvent} +(the randomly generated time difference between two subsequent events). + +{\bf IMPORTANT NOTE:} In order to get the pile-up effects correctly analysed by \musrSimAna, +it is probably necessary to run the \musrSim\ with no event reweighting (i.e.\ +the command ``{\tt /musr/command logicalVolumeToBeReweighted \ldots}'' must {\bf not} be used). +All events should/have to be (?) saved in the Root tree +(i.e.\ the command ``{\tt /musr/command storeOnlyEventsWithHits false}'' must be used). + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Detailed list of steering file parameters} +\label{description} +\begin{description} +% \item{\bf INSTRUMENT=\emph{string}} \\ +% ignored +% \item{\bf DESCRIPTION=\emph{string}} \\ +% ignored +% \item{\bf TYPE=\emph{string}} \\ +% ignored + \item{\bf RESOLUTION=\emph{value}} \\ + width of the TDC bin in picoseconds. + \item{\bf MDELAY=\emph{value}} \\ + currently not used (probably not needed in the case of simulation). + \item{\bf PDELAY=\emph{value}} \\ + currently not used (probably not needed in the case of simulation). + \item{\bf MCOINCIDENCEW=\emph{value}} \\ + time window for the coincidences of the coincidence detectors (``K'') + with the M-counter. The \emph{value} is given in TDC bins (see {\tt RESOLUTION} above). + \item{\bf PCOINCIDENCEW=\emph{value}} \\ + time window for the coincidences of the coincidence detectors (``K'') + with positron counters. The \emph{value} is given in TDC bins. + \item{\bf VCOINCIDENCEW=\emph{value}} \\ + time window for the coincidences of the anti-coincidence detectors (``V'') + with any other counter. The \emph{value} is given in TDC bins. + \item{\bf MUONRATEFACTOR=\emph{value}} \\ + a multiplicative factor which is used to rescale time differences between subsequent muons. + Setting \emph{value} larger than 1 artificially prolongs the time difference between + two subsequently generated muons, and therefore decreases the incoming muon rate + (number of muons per second). This parameter should be changed in order to set the + incoming muon rate to a given required value, typically to 30\,000\,$\mu/$s.\\ + For Pulsed beams this adjusts the mean number of muons per frame and can again be used to match the experimental count rate.\\ + See also variable ``INFINITELYLOWMUONRATE''. + \item{\bf INFINITELYLOWMUONRATE} \\ + If INFINITELYLOWMUONRATE is specified, each event is treated independently of any other + event. This corresponds to a situation of infinitely low rate of incoming muons, and + no pileup can be observed. The variable ``MUONRATEFACTOR'' becomes irrelevant when + INFINITELYLOWMUONRATE is specified. +\item{\bf FRAMEINTERVAL=\emph{value}} \\ + For pulsed data analysis, the interval between muon pulses in ms. Affects the number of muons/frame (as does MUONRATEFACTOR) and the calculated run duration and count rate. +\item{\bf PARTIALFRAMEATEND} \\ + For pulsed data analysis. If the events in the input file do not fill an exact number of frames, this requests that the partially filled frame left over at the end will be processed too and included in the results. + This will happen anyway if it would be the only frame (low statistics input file or very high requested flux). Normally such a frame would be discarded as it would have the wrong pile-up fraction. +\item{\bf DEADTIME=\emph{value}} \\ + Set the ``dead time'' recovery time in ns for pulsed data analysis, for all the detectors defined after this point in the file. + \item{\bf MUONPULSEWIDTHFACTOR=\emph{value}} \\ + Scale the random start times (and therefore the muon pulse width) in the input file by this value. +\item{\bf COMMONTHRESHOLD=\emph{value}} \\ + A short-cut to adjust the threshold settings for all detectors (after this point in the file). Overrides the individual values. + \item{\bf DATAWINDOWMIN=\emph{value}} \\ + Beginning of the data interval for the positron counters in $\mu$s. + \item{\bf DATAWINDOWMAX=\emph{value}} \\ + End of the data interval for the positron counters in $\mu$s. + \item{\bf PILEUPWINDOWMIN=\emph{value}} \\ + Beginning of the pileup interval for the M-counter in $\mu$s. + \item{\bf PILEUPWINDOWMAX=\emph{value}} \\ + End of the pileup interval for the M-counter in $\mu$s. + \item{\bf PROMPTPEAKMIN=\emph{value}} \\ + Beginning of the prompt-peak interval in $\mu$s. This variable is used only for the condition + ``{\tt promptPeak}'', ``{\tt promptPeakF}'', etc.\ , and normally does not need to be specified. It becomes useful if + the user wants to investigate, where the prompt-peak originates from (where do the muons, + which give rise to the prompt peak, stop). The default value is -0.01\,$\mu$s. + \item{\bf PROMPTPEAKMAX=\emph{value}} \\ + End of the prompt-peak interval in $\mu$s, the default value is 0.01\,$\mu$s. (See comments + for {\tt PROMPTPEAKMIN}.) + \item{\bf MUSRMODE=\emph{string}} \\ + Defines the mode of \musr\ experiment -- presently only ``D'', corresponding to + the time differential mode, and ``P'', for pulsed mode, are implemented. + \item{\bf REWINDTIMEBINS=\emph{value}} \\ + A technical parameter specifying when a roll-over of all hits has to be done. + It is specified in TDC bins, and normally there should be no need to change this parameter. + \item{\bf DEBUGEVENT \emph{eventID} \emph{debugLevel}}\\ + Prints out debug information about the event with the ID \emph{``eventID''}. + The higher the \emph{debugLevel}, the more details are printed. + (Both \emph{eventID} and \emph{debugLevel} are integers). + \item{\bf CLONECHANNEL \emph{ID1} \emph{ID2}}\\ + Clones the hits detected in counter \emph{ID1} into a new counter \emph{ID2}. + A different (even a lower) threshold can be applied to the cloned counter. + This way the same counter can be used as two independent counters -- e.g.\ once as a veto + detector for the M-counter, and simultaneously as a coincidence detector for + a P-counter. In both cases the energy threshold and time windows are defined independently. + \item{\bf WRITE\_OUT\_DUMP\_FILE \emph{fileNameString} \emph{clockChannel} \emph{randomJitter}}\\ + If present, this command will create two output files, the so-called ``dump files'':\\ + {\tt data/TDC\_V1190\_200\_dump\_\emph{fileNameString}.bin} -- file that can be used + as an input to the PSI analysis front-end of a real experiment.\\ + {\tt data/TDC\_V1190\_200\_dump\_\emph{fileNameString}.txt} -- file that contains the same + information (hits) as the previous file, however in a human-readable form. The first number in the file + stands for the channel number, the second number stands for the time bin in the TDC bin units.\\ + \emph{clockChannel} ... the channel of the clock signal (typically 15).\\ + \emph{randomJitter} ... this value is in TDC bins, typically 0 or 8000 (?). If \emph{randomJitter} is smaller then + 1, then the hits in the dump files will be sorted according to time. If it is larger than 0, then + subsequent hits can be unordered in time, but the time difference never exceeds the value of \emph{randomJitter}. + This is just a technical thing serving to test the analysis software -- it should not + have any effect on the analysis results. + \item{\bf musrTH1D \emph{histoName} \emph{histoTitle} \emph{nBins} \emph{min} \emph{max} \emph{variable} + [{\tt rotreference} $\nu_{\rm RRF}$ $\phi_{\rm RRF}$] $|$ [correctexpdecay]} \\ + Defines a histogram (or more precisely an array of histograms, where the number of histograms + in the array is given by the number of conditions, see section~\ref{howToAnalyse}). + The name of the histogram is defined by \emph{histoName} + the number of the condition. + The string variable \emph{histoTitle} specifies the title of the histogram, + \emph{nBins}, \emph{min} and \emph{max} stand for the number of bins and minimum and maximum + of the $x$-axis of the histogram. \\ + The optional keyword ``{\tt rotreference}'' signals that the given histogram will be filled in + rotating reference frame (RRF) with the frequency of $\nu_{\rm RRF}$ and a phase shift of $\phi_{\rm RRF}$. + \\ + The optional keyword ``{\tt correctexpdecay}'' signals that the given histogram will be corrected + for the muon exponential decay (i.e. multiplied by a factor $\exp(t/2.19703)$. It is meaningful + only for time variables. + \\ + The \emph{variable} stands for the variable that will be + filled into the histogram. The \emph{variable} can be any variable from the output Root tree + of musrSim (see ``Manual of musrSim'') (except for the array variables like + {\tt det\_*[], save*[], odet\_*[]}). In addition, it can be also one of the following: + \begin{description} + \item[muDecayPosR] \ldots $\sqrt{ {\rm muDecayPosX}^2 + {\rm muDecayPosY}^2}$. + \item[wght] \ldots weight of the event. + \item[det\_m0edep] \ldots energy deposited in the M-counter that gives the muon signal. + \item[det\_posEdep] \ldots energy deposited in the P-counter that gives the positron signal. + \item[muIniPosR] \ldots $\sqrt{ {\rm muIniPosX}^2 + {\rm muIniPosY}^2}$. + \item[muIniMomTrans] \ldots $\sqrt{ {\rm muIniMomX}^2 + {\rm muIniMomY}^2}$. + \item[muTargetPol\_Theta] \ldots theta angle of the muon spin when muon enters target (-180,180 deg). + \item[muTargetPol\_Theta360]\ldots theta angle of the muon spin when muon enters target (0,360 deg). + \item[muTargetPol\_Phi] \ldots phi angle of the muon spin when muon enters target (-180,180 deg). + \item[muTargetPol\_Phi360] \ldots phi angle of the muon spin when muon enters target (0,360 deg). + \item[pos\_Momentum] \ldots magnitude of the momentum of the decay positron (``generated'', not measurable variable). + \item[pos\_Trans\_Momentum] \ldots transverse momentum of the decay positron. + \item[pos\_Radius] \ldots positron radius calculated from the decay positron momentum and magnetic + field at the point of decay. + \item[pos\_Theta] \ldots polar angle of the decay positron. + \item[pos\_Phi] \ldots azimuth angle of the decay positron. + \item[det\_time10] \ldots time difference between the positron and muon counters + (measured by the respective counters). + \item[gen\_time10] \ldots the time difference between the muon decay and the first muon hit + in the M-counter (i.e.\ {\tt muDecayTime - muM0Time}). + \item[det\_time10\_MINUS\_gen\_time10] \ldots {\tt det\_time10 - gen\_time10} in picoseconds. + \item[det\_time20] \ldots very similar to {\tt det\_time10}, however taking into + account ``counter phase shift'' defined by {\tt counterPhaseShifts} + variable. This gives the user a possibility to sum up backward and + forward histograms into one histogram (this of course make sense + only in the simulation, where there is ``no physics'' happening + in the sample, just the muon spin rotation). + \item[pileup\_eventID] \ldots eventID of the $\mu_2$, where $\mu_2$ stands for the muon, + which did not give signal in the M-counter, but whose + decay positron gave signal in the positron counter around the time + when a different muon ($\mu_1$) triggered the M-counter. + \item[pileup\_muDecayDetID] \ldots detector ID, in which $\mu_2$ stopped and decayed. + \item[pileup\_muDecayPosZ] \ldots $z$-coordinate of where the $\mu_2$ stopped and decayed. + \item[pileup\_muDecayPosR] \ldots radius of where the $\mu_2$ stopped and decayed. + \item[BFieldAtDecay\_Bx] \ldots The field at the location the muon decayed (X component). + \item[BFieldAtDecay\_By] \ldots The field at the location the muon decayed (Y). + \item[BFieldAtDecay\_Bz] \ldots The field at the location the muon decayed (Z). + \item[fieldNomVal0] \ldots The nominal magnitude of the first field map used. Useful if the field is scanned in \musrSim \ and some background muons stop away from the central uniform field region. + \item[fieldNomVal1] \ldots The nominal magnitude of the second mapped field. + \item[pos\_detID] \ldots The detector number of the positron detector recording this signal. + \item[pos\_detID\_doublehit] \ldots For pulsed mode, if this is not the first positron signal, the detector number of that first signal. + \item[multiHitInterval] \ldots (Pulsed) If a double count, the time interval (in $\mu$s) between the first positron signal and this one. + \end{description} + Variables are usually set to -1000 if they can not be calculated (e.g.\ {\tt det\_posEdep} = -1000 + if there was no hit in any positron counter). + \item{\bf musrTH2D \emph{histoName} \emph{histoTitle} \emph{nBins} \emph{min} \emph{max} \emph{nBins2} \emph{min2} \emph{max2} \emph{variable}} \\ + Similar to \emph{musrTH1D}, but for a 2-D histogram. + \item{\bf humanDecayHistograms \emph{hist\_decay\_detID} \emph{hist\_decay\_detID\_pileup} \emph{id$_1$} \emph{name$_1$} \ldots \emph{id$_n$} \emph{name$_n$} } \\ + This is a special kind of histogram, which converts two histograms + (\emph{hist\_decay\_detID} \emph{hist\_decay\_detID\_pileup}) + into a human-friendly histograms, where detector ID on the $x$-axis is converted into a string label. + The \emph{id$_i$} is the detector id, and the \emph{name$_i$} is the corresponding label name. + If \emph{name$_i$ = name$_j$}, the corresponding bins of the original histograms will + be summed up together into the same bin. + The \emph{hist\_decay\_detID} and \emph{hist\_decay\_detID\_pileup} have to be defined before + (by the command {\tt musrTH1D}). + \item{\bf condition \emph{conditionID} \emph{conditionName}} \\ + Definition of a condition, which is then used when filling histograms. The \emph{conditionID} + specifies the number of the condition, and must be between 0 and 30 (0 and 30 are also possible). + The \emph{conditionName} is one of the following: + \begin{description} + \item[alwaysTrue] \ldots true for every hit in the m-counter (there can be more than one M-counter hit per event). + \item[oncePerEvent] \ldots true once for every event (the first hit in M-counter, if any, is considered). For Pulsed mode, this is the first hit in the lowest numbered positron detector, if any. + \item[muonDecayedInSample\_gen] \ldots true if muon stopped and decayed in the sample (one count for each positron hit, if double counting in pulsed mode). + \item[muonDecayedInSampleOnce\_gen] \ldots true if muon stopped and decayed in the sample (true only once mer muon, use for sample/background fractions). + \item[muonTriggered\_gen] \ldots true if muon passed through the M-counter (irrespective of the deposited energy) + -- not a measurable variable. + \item[muonTriggered\_det] \ldots true if a good muon candidate was found in the M-counter (using coincidences, vetoes, ...). + Double hits within the pileup window are excluded. + \item[positronHit\_det] \ldots true if a good positron candidate was found in the positron counter. + Double hits within the data window are excluded. + \item[goodEvent\_det] \ldots true if {\tt muonTriggered\_det} and {\tt positronHit\_det}. In Pulsed mode, any positron event over threshold and not killed by pileup. + \item[goodEvent\_gen] \ldots true if muon passed through the M-counter, and the muon stopped anywhere + (i.e.\ did not leave the World volume of the simulation). No requirement + on the positron is implied, i.e.\ the positron may or may not be detected. + Not a measurable variable. For pulsed mode, the first (or only) positron event over threshold (even if piled up). + \item[goodEvent\_det\_AND\_goodEvent\_gen] + \item[pileupEventCandidate] \ldots M-counter hit and positron counter hit both come from two different events. + \item[pileupEvent] \ldots {\tt pileupEventCandidate} and {\tt goodEvent\_det}. Or for pulsed mode, an event lost due to ``dead time''. + \item[goodEvent\_det\_AND\_muonDecayedInSample\_gen] + \item[goodEvent\_F\_det] \ldots {\tt goodEvent\_det}, where the positron was detected in the forward detectors + defined by the command {\tt counterGrouping}. + \item[goodEvent\_B\_det] \ldots like {\tt goodEvent\_F\_det} but for backward positron counters. + \item[goodEvent\_U\_det] \ldots like {\tt goodEvent\_F\_det} but for upper positron counters. + \item[goodEvent\_D\_det] \ldots like {\tt goodEvent\_F\_det} but for lower positron counters. + \item[goodEvent\_L\_det] \ldots like {\tt goodEvent\_F\_det} but for left positron counters. + \item[goodEvent\_R\_det] \ldots like {\tt goodEvent\_F\_det} but for right positron counters. + \item[goodEvent\_F\_det\_AND\_muonDecayedInSample\_gen] \ldots the count in a Forward counter came from a muon in the sample. Equivalent conditions for the other groups. + \item[goodEvent\_F\_det\_AND\_pileupEvent] \ldots {\tt goodEvent\_F\_det} and {\tt pileupEvent}. For pulsed mode, an event lost from the F counters. + \item[goodEvent\_B\_det\_AND\_pileupEvent] \ldots {\tt goodEvent\_B\_det} and {\tt pileupEvent}. + \item[goodEvent\_U\_det\_AND\_pileupEvent] \ldots {\tt goodEvent\_U\_det} and {\tt pileupEvent}. + \item[goodEvent\_D\_det\_AND\_pileupEvent] \ldots {\tt goodEvent\_D\_det} and {\tt pileupEvent}. + \item[goodEvent\_L\_det\_AND\_pileupEvent] \ldots {\tt goodEvent\_L\_det} and {\tt pileupEvent}. + \item[goodEvent\_R\_det\_AND\_pileupEvent] \ldots {\tt goodEvent\_R\_det} and {\tt pileupEvent}. + \item[promptPeak] \ldots {\tt goodEvent\_det}, and {\tt PROMPTPEAKMIN < det\_time10 < PROMPTPEAKMAX}. + \item[promptPeakF] \ldots like {\tt goodEvent\_F\_det} and {\tt promptPeak}. + \item[promptPeakB] \ldots like {\tt goodEvent\_B\_det} and {\tt promptPeak}. + \item[promptPeakU] \ldots like {\tt goodEvent\_U\_det} and {\tt promptPeak}. + \item[promptPeakD] \ldots like {\tt goodEvent\_D\_det} and {\tt promptPeak}. + \item[promptPeakL] \ldots like {\tt goodEvent\_L\_det} and {\tt promptPeak}. + \item[promptPeakR] \ldots like {\tt goodEvent\_R\_det} and {\tt promptPeak}. + \item[doubleHitEvent\_gen] \ldots The second (or subsequent) signal in a multiple hit event event regardless of pileup + \item[doubleHit] \ldots A second (or subsequent) signal that is actually counted + \item[goodEvent\_F\_det\_AND\_doubleHit] \ldots A double event counted in the Forward counters. For pulsed analysis. Note that the first hit might not have been in the same bank. (Equivalent conditions for the other banks) + \item[singleHitEvent\_gen] \ldots A single hit, only one positron signal from this muon was over threshold. (Pulsed analysis) + \item[stackedEvent\_gen] \ldots The opposite of pileup, two or more small events (or noise) within a small time interval adding up to the threshold level. (Pulsed) + \end{description} + Additional conditions may be implemented on request. + \item{\bf draw \emph{histogramName} \emph{conditionID} } \\ + Plot histogram (for a given condition) at the end of the analysis. Note that all histograms + are saved into the output file irrespective whether they are plotted or not. + \item{\bf counterPhaseShifts \emph{ID$_1$} \emph{$\phi_1$} \emph{ID$_2$} \emph{$\phi_2$} \ldots \emph{ID$_n$} \emph{$\phi_n$} }\\ + Defines relative phase shifts of signal between different positron counters, which is used + for calculation variable {\tt det\_time20}. \emph{ID$_i$} is the ID number of the positron counter, + \emph{$\phi_i$} is its phase shift. This gives the user a possibility to sum up backward and + forward histograms into one histogram. + \item{\bf counterGrouping \emph{group} \emph{ID$_1$ ID$_2$ \ldots ID$_n$} } \\ + This defines a group of detectors, where \emph{group} stands for ``B'' (backward), + ``F'' (forward), ``U'' (up), ``D'' (down), ``L'' (left) and ``R'' (right) detectors. + This grouping is used in the definition of some conditions. + \item{\bf sampleID \emph{ID$_1$ ID$_2$ \ldots ID$_n$} } \\ + Defines which volume (or volumes, if there are more) is the sample. Typically, the + sample is just one volume, but sometimes there is a smaller volume inside of the sample, + to which a field is applied, so the small volume also has to be considered as the sample. + This information is needed for the condition ``muonDecayedInSample\_gen''. + \item{\bf setSpecialAnticoincidenceTimeWindow \emph{detectorID} \emph{timeMin} \emph{timeMax} \emph{unit}} \\ + This command sets a special anti-coincidence time window for a detector \emph{detectorID}. + Normally, the anti-coincidence time window is defined by {\tt VCOINCIDENCEW}, and is the same for all anti-coincidence + detectors. However, sometimes it might be interesting to set the anti-coincidence time window + differently for a specific detector (e.g.\ one might test an anti-coincidence of a veto detector with + the M-counter for the whole pile-up time window of $\sim$\,10\,$\mu s$. + Unlike in the case of {\tt VCOINCIDENCEW}, here the \emph{units} are not TDC bins, but + rather time in ``nanosecond'' or ``microsecond''. + \item{\bf fit \emph{histogramName} \emph{function} \emph{option} \emph{min} \emph{max} \emph{p$_1$} \ldots \emph{p$_n$}} \\ + Fits the histogram by a given function, where \emph{min}, \emph{max} define the range of the fit + on the $x$-axis of the histogram, \emph{option} is a string defining fit options (see Root manual for details), + and \emph{p$_1$} \ldots \emph{p$_n$} are (typically, with some exceptions) + the initial values of the function parameters. The following functions are currently predefined: + \begin{description} + \item[pol0] $=p_0$ \ldots a constant (1 parameter) - typically used to fit background. + \item[simpleExpoPLUSconst] $=p_0 \exp(-x/2.19703)+p_1$ + \item[rotFrameTime20] $= p_2 \cos(p_0 x+p_1)$ + \item[funct1] $=p_3 \exp((p_4 - x)/2.19703) \cdot (1+p_2 \cos(p_0 x+p_1))$ + \item[funct2] $=p_3 \exp((p_4 - x)/2.19703) \cdot (1+p_2 \cos(p_0 x+p_1)) + p_5$ + % \item[funct3] the same as {\tt funct2} + \item[funct4] $=p_3 \exp((- x)/2.19703) \cdot (1+p_2 \cos(p_0 x+p_1)) + p_4$ + \item[TFieldCos] $=p_3 (1+p_2 \cos(p_0 x + p_1))$ \hspace{1cm} (this function is useful when the histogram is filled with {\tt ``correctexpdecay''} keyword.) + \item[TFieldCosPLUSbg] $=p_3 (1+p_2 \cos(p_0 x + p_1)) + p_4 \exp(x/2.19703)$ + \hspace{1cm} (this function is useful when the histogram is filled with {\tt ``correctexpdecay''} keyword.) + \item[gaus] ... Gauss distribution + \end{description} + + +\end{description} +%======================================================================================================== +\section{A real-life example: GPD instrument} +\label{sec:GPD} +The simulation of the General Purpose Decay-Channel Spectrometer (GPD) +instrument~\cite{GPD} installed at PSI has been exemplified +in the \musrSim\ manual~\cite{musrSim}. +Here we analyse the output of this simulation using \musrSimAna. +The run number of this simulation is 201, therefore the steering +file names are ``{\tt 201.mac}'' for \musrSim, and ``{\tt 201.v1190}'' for +\musrSimAna, respectively, and the output file name of \musrSim\ is saved as +``{\tt data/musr\_201.root}''. +The detector system is very simple with only six counters -- M-counter, +two backward positron counters and three forward positron counters. +The reader is strongly recommended to see the illustration of the GPD +geometry in the \musrSim\ manual~\cite{musrSim}. + +8\,000\,000 of events were simulated +(i.e.\ 8\,000\,000 of muons were generated 100\,cm in front of +the GPD sample). +In only 949\,759 events (11.9\% out of the 8 million) there was a signal detected +in one or more counters. The remaining muons stopped somewhere (most +often in collimator, as we will see later), decayed, and the decay positron +(and any other particles created thereof) missed the counters. +This is illustrated in more details in Fig.~\ref{det_n}, +% +\begin{figure}[tbp]\centering +\epsfig{file=pict/det_n_infititely_low_muon_rate.eps,width=0.8\linewidth,clip=} +\caption{Number of hits in all counters per event, assuming infinitely low incoming muon +rate. The same detector may be hit more than once (e.g.\ if both the muon and its decay +positron pass through the M-counter).} +\label{det_n} +\end{figure} +% +where number of detector hit per event, assuming infinitely low incoming muon +rate, is shown. This plot was created in Root by executing:\\[1em] +{\tt +root [0] TFile* ff=new TFile("data/musr\_201.root") \\ +root [1] t1->Print() \\ +root [2] t1->Print("det\_n","det\_n>0") \\ +}\\[1em] +% +It has to be pointed out, that the ratio of muons passing through the opening +in collimators to the number of all generated muons strongly depends on the +beam properties -- beam profile, beam convergence, etc. Typically, if we have +too broad muon beam, we simulate +many ``useless'' events. However, the other extreme (simulating too narrow +beam) can lead to underestimating the time-independent background. + +It took approximately 12 hours of the CPU (on PC bought in 2010, where 1 out +of 4 processor cores was running) to simulate these 8\,000\,000 events. +Assuming the 30\,000\,$\mu/$s trigger rate, this corresponds to 26 seconds +of real experimental running. + +\subsection{Where the muons stop and decay} +\label{sect_muons} +The positions, or more precisely the components of the GPD instrument, where the muons +stop and decay, are shown in Fig.~\ref{humanDecayHistograms_1}: +% +\begin{figure}[tbp]\centering +\epsfig{file=pict/Plot201_1.eps,width=0.9\linewidth,% +%%bbllx=83pt,bblly=330pt,bburx=538pt,bbury=513pt,clip=} +clip=} +\caption{This plot indicates, where the muons stopped and decayed. +The dashed histogram shows all generated muons. The full-line histograms show +where stopped the muons, for which either the muon itself or its secondary +particle ($e^+, \gamma$) triggered the M-counter: black histogram stands for +all such muons, corresponding to infinitely low incoming muon rate, while +the red histogram stands for the incoming muon rate of 30\,000\,$\mu/$s. +8\,000\,000 of events were simulated.} +\label{humanDecayHistograms_1} +\end{figure} +% +%Notes to Fig.~\ref{humanDecayHistograms_1}: +\begin{itemize} + \item Figure~\ref{humanDecayHistograms_1} was generated by Root macro file ``Plot201.C''. + \item The labels on the $x$-axis are defined in the file {\tt 201.v1190} by the + command \\ + {\tt humanDecayHistograms \ldots} + \item The dashed-line histogram in Fig.~\ref{humanDecayHistograms_1} + shows where the muons stopped and decayed if no preselection + criteria are applied on the muons, i.e.\ if all generated muons are considered. + This is histogram ``{\tt humanDecayHistograms\_1}''. + \item The full-line histograms show + where stopped the muons, for which either the muon itself or its secondary + particle ($e^+, \gamma$) triggered the M-counter: black histogram stands for + all such muons, corresponding to infinitely low incoming muon rate, while + the red histogram represents the case for the 30\,000\,$\mu/$s incoming muon rate. + An energy deposit of at least 0.4\,MeV in the M-counter is required to fire the trigger. + The number of triggered events decreases with the incoming muon rate, + because some of the events are rejected due to the 10\,$\mu$s pileup gate. + + The histogram name is in both cases ``{\tt humanDecayHistograms\_4}'', + where the black histogram was calculated using the setup file ``{\tt 201a.v1190}'' + with the keyword {\tt INFINITELYLOWMUONRATE}, while the red histogram + was calculated using the setup file ``{\tt 201.v1190}'' + with {\tt MUONRATEFACTOR=0.0965819}. + \item The $\pm 10\,\mu$s pile-up gate at the incoming muon rate of 30\,000$\,\mu/$s + rejects approx.\ 45\% of the triggered events. This number can be calulated + in Root as the ratio of the ``{\tt Integral}'' of the red and black histograms + in Fig.~\ref{humanDecayHistograms_1}:\\[1em] + {\tt \small + root [0] TFile* file1 = new TFile("data/his\_201\_201a.v1190.root") \\ + root [1] humanDecayHistograms\_4->Integral() \\ + root [0] TFile* file2 = new TFile("data/his\_201\_201.v1190.root") \\ + root [1] humanDecayHistograms\_4->Integral() \\ + } + \item The muon sample fraction (ratio of muons stopped in the sample over all muons that fired + the trigger) for the triggered events (full-line histograms) + is 65\%, and it is practically the same + for both infinitely low and 30\,000\,$\mu/$s incoming rate. + This number can be obtained in Root by dividing the first column of histogram + {\tt humanDecayHistograms\_4} by the sum of all entries in this histogram:\\[1em] + {\tt \small + root [0] TFile* file = new TFile("data/his\_201\_201.v1190.root") \\ + root [1] (humanDecayHistograms\_4->GetBinContent(1))/(humanDecayHistograms\_4->Integral()) \\ + } + \item The largest fraction of generated muons (dashed-line histogram) stopped in collimators. + Only a small fraction of them caused a hit in the M-counter (full-line histograms). + \item Despite the high initial muon momentum of $100 \pm 3\,$GeV/c, muons are + significantly scattered in the last 50\,cm region of air. This can be + clearly seen if the magnetic field is off and a point-like muon beam + is used (which can be done by modifying the {\tt 201.mac} file) + -- only 77\% of the muons stop in the sample cell or in the sample, while the + remaining 23\% of the mouns are scattered so much in the air, that they + end up in collimators or elsewhere (not shown here). + \item ``World'' in the histogram label means that the muon decayed in the beampipe vacuum + or somewhere else in the air (on the fly). + \item ``Escaped'' means that the muon left the simulated instrument (more precisely the + ``world'' volume) prior its decay. +\end{itemize} + + +Figure~\ref{humanDecayHistograms_9} shows the ``pile-up events''. +% +\begin{figure}[htbp]\centering +\epsfig{file=pict/Plot201_2_new.eps,width=0.9\linewidth,% +%%bbllx=83pt,bblly=330pt,bburx=538pt,bbury=513pt,clip=} +clip=} +\caption{Pile-up events, i.e.\ the events in which one muon ($\mu_1$) fired the +trigger, while the hit in a positron counter is due to a decay positron from +a different muon ($\mu_2$). Pile-up events look like a good events, and contribute +to the time-independent background.} +\label{humanDecayHistograms_9} +\end{figure} +% +These are events, in which one muon ($\mu_1$) is triggered by the m-counter, +while a positron from a different muon ($\mu_2$) was detected by +a positron counter\footnote{In fact, the trigger may also be triggered by +the decay positron of $\mu_1$ and/or a positron counter may detect +directly $\mu_2$, not its decay positron. Such cases are rare, but they +are implicitly included in the simulation.}. +In addition to this requirement, the decay positron of $\mu_1$ must +escape undetected (e.g.\ it must miss positron counters) and $\mu_2$ must not trigger the m-counter +-- otherwise the event would be rejected. +Pile-up events are the source of the time independent background. +Usually $\mu_1$ is a good-looking muon that stops in the sample or in the sample cell +(red histogram in Fig.~\ref{humanDecayHistograms_9}), while $\mu_2$ stops and decays at different places, +mainly in the collimators (green histogram in Fig.~\ref{humanDecayHistograms_9}). + +A nice visualisation of where the background-contributing muons $\mu_2$ stop and decay +is presented in Fig.~\ref{Pileup_muon_decay_map} (histogram ``{\tt hMuDecayMappileup\_9}''). +% +\begin{figure}[htbp]\centering +\epsfig{file=pict/Pileup_muon_decay_map.eps,width=0.7\linewidth,% +%%bbllx=83pt,bblly=330pt,bburx=538pt,bbury=513pt,clip=} +clip=} +\caption{Positions of where the $\mu_2$ stop and decay.} +\label{Pileup_muon_decay_map} +\end{figure} +% +In this two dimensional histogram, different components of the GPD instrument, +like the lead collimator, the copper collimator and the sample cell, can be recognised. +The lead collimator is located at the $z$-position between -115\,mm and -85\,mm. +Due to the high initial muon momentum of $\sim 100\,$MeV/c, +the maximum of muons in Fig.~\ref{Pileup_muon_decay_map} stop quite deep in the +lead collimator, at around $z=-103$\,mm. This might be a little bit surprising to the +\musr\ scientists who are used to work with the surface muons with momentum of 28\,MeV/c. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{The $\mu$SR signal} +% +Figure~\ref{hdet_time10_10} +% +\begin{figure}[htbp]\centering +\epsfig{file=pict/hdet_time10_10.eps,width=0.495\linewidth,% +bbllx=13pt,bblly=5pt,bburx=520pt,bbury=351pt,clip=} +\epsfig{file=pict/hdet_time10_11.eps,width=0.495\linewidth,% +bbllx=13pt,bblly=5pt,bburx=520pt,bbury=351pt,clip=} +%%clip=} +\caption{MuSR signal for the run 201 (TF$=300\,$gauss). The tree forward positron counters +are summed up in the left histogram, and the two backward counters in the right histogram.} +\label{hdet_time10_10} +\end{figure} +% +shows the $\mu$SR spectra for the same run, +i.e.\ for the transverse field of 300\,gauss, integrated over the three forward positron +counters (left histogram called {\tt hdet\_time10\_10}) +and over the two backward positron counters (right histogram called {\tt hdet\_time10\_11}). +Zero on the time axis corresponds to $t_0$, i.e.\ time of the m-counter hit. +One can see a prompt peak at $t_0$, time independent background at negative times +and an oscillating signal at positive times. +The following function has been fitted to the oscillating part of the signal: +% +\begin{equation} +f=p_3 \cdot e^{-t/2.19703} \cdot (1+p_2 \cdot \cos(t \cdot p_0+p_1))+p_4 +\label{eq_simple} +\end{equation} +The fits were restricted to the time interval of $(t_0+0.05 \mu\rm{s},t_0+9.95\mu\rm{s})$, +and the parameter $p_0$ was fixed (e.g. not fitted). +The fitted amplitude of asymmetry are $p_2 = 0.307 \pm 0.009$ and +$p_2 = 0.290 \pm 0.009$ for the forward and backward counters respectively. + +Parts of the spectra from Fig.~\ref{hdet_time10_10} are shown +in detail in Fig.~\ref{hdet_time10_10_detail}. +% +\begin{figure}[htbp]\centering +\epsfig{file=pict/hdet_time10_10_detail.eps,width=0.495\linewidth,% +bbllx=13pt,bblly=5pt,bburx=520pt,bbury=351pt,clip=} +\epsfig{file=pict/hdet_time10_11_pileup.eps,width=0.495\linewidth,% +bbllx=13pt,bblly=5pt,bburx=520pt,bbury=351pt,clip=} +%%clip=} +\caption{MuSR signal for the run 201 (TF$=300\,$gauss) -- details of +Fig.~\ref{hdet_time10_10}. The left plot shows the signal in the forward counters around $t_0$, +the right plot shows the (time-independent background) signal at negative times in the +backward counters.} +\label{hdet_time10_10_detail} +\end{figure} +% +The left plot in Fig.~\ref{hdet_time10_10_detail} shows the signal +in the forward counters around $t_0$, the right plot shows the +(time-independent background) signal at negative times in the backward counters. + +An important characteristic of a \musr\ instrument is the time-independent +background. It is usually expressed as +% +\begin{equation} +{\rm Bgr} = p_{-} / p_3 ~~~, +\label{eq_background} +\end{equation} +% +where $p_{-}$ is the fit to the time-independent background, i.e.\ signal at negative times, +and $p_3$ is the parameter from eq.(\ref{eq_simple}), which specifies what the +size of the signal would be at $t_0$ in the absence of oscillations. +In the case of backward counters ${\rm Bgr}_{\rm backw} = 14.47/262 = 5.5\,\%$, +in the case of forward counters ${\rm Bgr}_{\rm forw} = 6.88/267.9 = 2.6\,\%$. + +Note that the histogram on right hand side of Fig.~\ref{hdet_time10_10_detail} +is labelled ``{\tt hdet\_time10\_Bgr\_11}'', not ``{\tt hdet\_time10\_11}''. +In fact, the two histograms are identical, as one can see in the setup file +{\tt 201.v1190}. The only difference is in the fitting -- the same data stored in +both histograms are fitted by different functions in different time ranges. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{The $\mu$SR signal from individual counters} +% +Figure~\ref{F11} shows the observed signal in the +forward counter\ No.~11 (FW11). +% +\begin{figure}[htbp]\centering +\epsfig{file=pict/F11_rebinned.eps,width=0.495\linewidth,% +bbllx=13pt,bblly=5pt,bburx=520pt,bbury=351pt,clip=} +\epsfig{file=pict/F11_B11_prompt_peak_thicker.eps,width=0.495\linewidth,% +bbllx=13pt,bblly=5pt,bburx=520pt,bbury=351pt,clip=} +\caption{\musr\ signal in the forward positron counter\ No.~11 (run 201, TF$=300\,$gauss). +The left plot shows the (rebinned) signal in the counter, +the right plot shows the detail of the \emph{prompt peak}, i.e.\ the region +around $t_0$ in the same counter (black line), +compared with the prompt peak in the backward positron counter\ No.~1 (magenta line).} +\label{F11} +\end{figure} +% +Originally, the histogram F11 was defined with the bin width of 100\,ps. +The number of bins was 50995, covering the time interval of approx.\ (-0.2\,$\mu$s, 4.9\,$\mu$s). +In the left hand side plot, however, the histogram was rebinned +(200 bins were summed up into 1 bin). +The right hand side plot shows the detail of the \emph{prompt peak}, i.e.\ the region +around $t_0$, of one forward and one backward positron counters, prior to the rebinning. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Conclusion of the GPD analysis example} +% +The purpose of the example analysis of the GPD simulation was to illustrate +the potential of \musrSim\ and \musrSimAna\ programs to investigate features +like time-independent background, sample muon fraction, prompt peak, \ldots +This information can be used in design and optimisation of \musr\ instruments. +%======================================================================================================== +\section{GPS instrument} +% +It is foreseen that GPS instrument could be arranged in two geometries +after the upgrade (depending from which side the calorimeter would be +inserted). +\begin{itemize} + \item {\tt 50130hb.v1190} -- Calorimeter inserted from one side. + \item {\tt 50130hl.v1190} -- Calorimeter inserted from the other side. + \item {\tt 50130hb1.v1190 -- 50130hb6.v1190} -- All positron counters + analysed individually. +\end{itemize} +See the document about the GPS simulations saved in the directory: \\ +/afs/psi.ch/project/lmu/Facility/musr\_simulations/documentation/GPS/ \\ +for more details. +%======================================================================================================== +\section{Other Examples} +Many different ``*.v1190'' files are stored in the file: +``run\_musrSimAna\_many\_files.tar.gz''. They could serve as additional examples. +Note that the syntax of the ``fit'' command was changed +at some point, and therefore the ``fit'' command might cause problems +(the {\tt ``option''} has to be added in the old ``*.v1190'' files). +%======================================================================================================== +\section{Pulsed data collection} +\label{sect_pulsed} +The differences for a pulsed muon beam and instrument are: +\begin{itemize} +\item No ``M'' counter needs to be defined (but if present in \musrSim`s .mac file it must also be defined in the .v1190 file and will be ignored) +\item The \musrSim \ command ``/gun/starttimesigma \emph{sigma}'' defines the pulse width of the generated muon beam (in ns). A positive value is a Gaussian distribution, negative gives a rectangular pulse extending to $\pm$sigma. +% \item When varying the magnetic field or any physical arrangement of the instrument, \musrSim \ command ``/musr/command storeOnlyEventsWithHits false'' must be given so that the number of muons per frame, indicated count rate, and pileup, scale correctly with field. +\item It is advisable to set RESOLUTION to a very small value (1\,ps) so that pileup events do not coincide exactly. +\item \musrSimAna \ outputs the indicated count rate (in Mevents per hour) and this should be adjusted to match the experimental rate using the parameter MUONRATEFACTOR. +\item For ISIS operation with 4 pulses to TS1 (and muons) and one pulse to TS2, set FRAMEINTERVAL to the mean value of 25ms = 1/(40Hz). +\end{itemize} +\subsection{Dead time and pileup} +The model used is that each event ``charges up'' the discriminator by an amount equal to the energy deposited, and it then decays exponentially back towards zero with a time constant set by DEADTIME=\emph{value}. If the event causes the discriminator to cross the specified threshold in the positive direction, it will be recorded. At present there is no hysteresis and no minimum time interval between hits recorded in the TDC. + +There are two likely artefacts. The first is the expected pileup or dead time distortion: a second event (itself over threshold) comes before the discriminator has recovered from the first, and will be missed. The second, referred to here as ``stacked'' events, are when a first small event charges the discriminator to half way and a second one soon after it can then reach the threshold and trigger a count. This is more common if the threshold is set too high and there are many normal positron hits not reaching the threshold on their own, and results in an opposite distortion to dead time, though with the same time dependence (worse for early times). + +%======================================================================================================== +\begin{thebibliography}{0} + +\bibitem{acquisitionProkscha} T.~Prokscha {\it et al.} ``A novel VME based \musr\ data acquisition system at PSI'', +Physica {\bf B~404}, (2009) 1007-1009. + +\bibitem{TDCsetup} ``TDC Manual -- Setting up the required logic'', +http://lmu.web.psi.ch/facilities/electronics/TDC/set\_logic.html + +\bibitem{GPD} +http://lmu.web.psi.ch/facilities/gpd/gpd.html + +\bibitem{musrSim} +K.Sedlak {\it et al.}, ``Manual of musrSim''. + + +\end{thebibliography} + +\end{document} diff --git a/musrSim.cc b/musrSim.cc index 55e4853..c09c16c 100644 --- a/musrSim.cc +++ b/musrSim.cc @@ -10,7 +10,9 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" #include "G4UIterminal.hh" -#include "G4UItcsh.hh" +#ifdef G4UI_USE_TCSH +#include "G4UItcsh.hh" //JSL: should be commented on windows ? +#endif //#include //#include @@ -24,7 +26,7 @@ #include "Randomize.hh" -#include +// #include //JSL #ifdef G4VIS_USE // #include "musrVisManager.hh" diff --git a/musrSimAna/musrAnalysis.cxx b/musrSimAna/musrAnalysis.cxx index fa70903..49958ce 100644 --- a/musrSimAna/musrAnalysis.cxx +++ b/musrSimAna/musrAnalysis.cxx @@ -1,1522 +1,2094 @@ -#define musrAnalysis_cxx -#include "musrAnalysis.hh" -#include "musrTH.hh" -//#include -#include -#include -#include -#include -//#include - - -musrWriteDump* musrAnalysis::myWriteDump = NULL; - -void musrAnalysis::Loop(char* runChar, char* v1190FileName, Int_t nrEvents) -{ -// In a ROOT session, you can do: -// Root > .L musrAnalysis.C -// Root > musrAnalysis t -// Root > t.GetEntry(12); // Fill t data members with entry number 12 -// Root > t.Show(); // Show values of entry 12 -// Root > t.Show(16); // Read and show values of entry 16 -// Root > t.Loop(); // Loop on all entries -// - -// This is the loop skeleton where: -// jentry is the global entry number in the chain -// ientry is the entry number in the current Tree -// Note that the argument to GetEntry must be: -// jentry for TChain::GetEntry -// ientry for TTree::GetEntry and TBranch::GetEntry -// -// To read only selected branches, Insert statements like: -// METHOD1: -// fChain->SetBranchStatus("*",0); // disable all branches -// fChain->SetBranchStatus("branchname",1); // activate branchname -// METHOD2: replace line -// fChain->GetEntry(jentry); //read all branches -//by b_branchname->GetEntry(ientry); //read only this branch - if (fChain == 0) return; - - std::cerr<<"musrSimAnalysis::Loop() : Analysing run "<GetEntriesFast(); - if (nrEvents!=0) nentries = nrEvents; - - Long64_t nbytes = 0, nb = 0; - for (Long64_t jentry=0; jentryGetEntry(jentry); InitialiseEvent(); nbytes += nb; - // if (Cut(ientry) < 0) continue; - if (jentry%100000==0) std::cout << "Analysing event nr. jentry=" << jentry << std::endl; - AnalyseEvent(jentry); - } - SaveHistograms(runChar,v1190FileName); -} - - - -//================================================================ - -void musrAnalysis::ReadInInputParameters(char* charV1190FileName) { - std::cout<<"musrAnalysis::ReadInInputParameters()"< tmpCoincidenceMultimap; - // for (int i=0; i("a", 1)); - // - // } - // } - while (!feof(fSteeringFile)) { - fgets(line,10000,fSteeringFile); - if ((line[0]!='#')&&(line[0]!='\n')&&(line[0]!='\r')&&(line[0]!='$')&&(line[0]!='!')) { - char tmpString0[200]="Unset"; - char tmpString1[200]="Unset"; - sscanf(&line[0],"%s",tmpString0); - if (strncmp(tmpString0,"INSTRUMENT=",strlen("INSTRUMENT="))==0) { - instrument=&line[strlen("INSTRUMENT=")]; - } - else if (strncmp(tmpString0,"DESCRIPTION=",strlen("DESCRIPTION="))==0) { - description=&line[strlen("DESCRIPTION=")]; - } - else if (strncmp(tmpString0,"TYPE=",strlen("TYPE="))==0) { - tdchwtype=&line[strlen("TYPE=")]; - } - else if (strncmp(tmpString0,"RESOLUTION=",strlen("RESOLUTION="))==0) { - sscanf(&line[strlen("RESOLUTION=")],"%g",&tmpfvar); - tdcresolution = tmpfvar * picosecond; - if (tdcresolution<1*picosecond) { - std::cout<<"\n !!! ERROR !!! Time resolution of TDC must be larger than 1 ps (you requested "< too low time resolution might lead to numerical problems in musrCounter ==> S T O P"<(ichannel_orig_tmp,ichannel_new_tmp)); - } - else if (strcmp(tmpString0,"DEBUGEVENT")==0) { - int ieventToDebug_tmp, iLevelToDebug_tmp; - sscanf(&line[0],"%*s %d %d",&ieventToDebug_tmp,&iLevelToDebug_tmp); - bool_debugingRequired=true; - if (ieventToDebug_tmp>-1) { - debugEventMap.insert(std::pair(ieventToDebug_tmp,iLevelToDebug_tmp)); - } - else { - for (int j=0; j<=-ieventToDebug_tmp;j++) { - debugEventMap.insert(std::pair(j,iLevelToDebug_tmp)); - } - } - } - else if (strcmp(tmpString0,"WRITE_OUT_DUMP_FILE")==0) { - int clock_channelID; - int max_timeBin_jitter; - // int clock_interval_tmp; - // sscanf(&line[0],"%*s %s %d %d",tmpString1,&clock_channelID_tmp,&clock_interval_tmp); - sscanf(&line[0],"%*s %s %d %d",tmpString1,&clock_channelID,&max_timeBin_jitter); - // clock_channelID = clock_channelID_tmp; - // clock_interval = clock_interval_tmp; - musrCounter::bool_WriteDataToDumpFile = true; - // std::cout<<"tmpString1="< STOP !!!"< S T O P !!!"< ignored, histogram not defined! S T O P !!!"< ignored, histogram not defined! S T O P !!!"<second; - if (strcmp(tmpString0,"musrTH1D")==0) { - // std::cout<<"pointerToVariable1="<SetRotatingReferenceFrame(rot_ref_frequency, rot_ref_phase); - hInfo->Fill(21, rot_ref_frequency); // value may be overwritten - just the last rot. ref. frame will be saved - hInfo->Fill(22, rot_ref_phase); // value may be overwritten - just the last rot. ref. frame will be saved - } - else if (strcmp(furtherOption,"correctexpdecay")==0) { - myTH->SetExpDecayCorrection(); - } - } - else { - Double_t* pointerToVariable2 = iter2->second; - musrTH* myTH = new musrTH("2D",histoName,histoTitle,nrBinsX,minX,maxX,nrBinsY,minY,maxY,pointerToVariable1,pointerToVariable2); - listOfAllHistograms2D.push_back(myTH); - } - } - else if (strncmp(tmpString0,"humanDecayHistograms",strlen("humanDecayHistograms"))==0) { - char motherHistoName[200]; - char motherHistoPileupName[200]; - sscanf(&line[0],"%*s %s %s",motherHistoName,motherHistoPileupName); - std::cout<<" Defining humanDecayHistograms (motherHistoName="<::const_iterator it = listOfAllHistograms1D.begin(); it != listOfAllHistograms1D.end(); ++it) { - if ((*it)->IsThisHistoNamed(motherHistoName)) { - motherOfHumanDecayHistograms = *it; - } - if ((*it)->IsThisHistoNamed(motherHistoPileupName)) { - motherOfHumanDecayPileupHistograms = *it; - } - } - if (motherOfHumanDecayHistograms==NULL) { - std::cout<<"\n\nmusrAnalysis::ReadInInputParameters Mother histogram (motherOfHumanDecayHistograms)" - <<"of the \"Human decay histogram\" not found!"< S T O P "< S T O P "<second)==(std::string) NAME1) { - nameDefined = true; - iBinHuman = it->first; - } - } - if (!nameDefined) { - nBinHuman++; - iBinHuman=nBinHuman; - humanDecayMap.insert(std::pair(iBinHuman,NAME1)); - } - humanDecayMultimap.insert(std::pair(iBinHuman,N1)); - char* pch2 = strstr(pch,NAME1)+strlen(NAME1); - pch=pch2; - nscan = sscanf(pch,"%d %s",&N1,NAME1); - // indexHuman++; - } while (nscan==2); - - Int_t nrBinsHumanHist=humanDecayMap.size(); - // Int_t nrBinsHumanHist=0; - // std::string oldString="blaBlaoldStringUndefiNED"; - // for (humanDecayMultimapType::const_iterator it = humanDecayMultimap.begin(); it!=humanDecayMultimap.end(); ++it) { - // if (oldString!=(it->first)) nrBinsHumanHist++; - // } - std::cout<<"\nnrBinsHumanHist="<SetBinLabel1D(k+1,sHumanDecayArray[k]); - // } - // oldString="blaBlaoldStringUndefiNED"; - for (humanDecayMapType::const_iterator it = humanDecayMap.begin(); it!=humanDecayMap.end(); ++it) { - humanDecayHistograms -> SetBinLabel1D(it->first,it->second); - humanDecayPileupHistograms -> SetBinLabel1D(it->first,it->second); - } - } - else if (strncmp(tmpString0,"condition",strlen("condition"))==0) { - // Selection of the predefined conditions to be applied - int iConditionTMP; - char conditionNameTMP[200]; - sscanf(&line[0],"%*s %d %s",&iConditionTMP,conditionNameTMP); - if (iConditionTMP<0) { - std::cout<<" !!! ERROR: Condition number must be >= 0 (not "<=nrConditions) { - std::cout<<" !!! ERROR: Condition number must be < "< Add it in the musrAnalysis.cxx S T O P !!!"<= -1 (not "<=nrConditions) { - std::cout<<" !!! ERROR: draw: condition number must be < "<::const_iterator it = listOfAllHistograms1D.begin(); it != listOfAllHistograms1D.end(); ++it) { - if ((*it)->IsThisHistoNamed(histoNameTMP)) { - (*it)->SetDrawListOfHistograms(iConditionTMP); - } - } - for(std::list::const_iterator it = listOfAllHistograms2D.begin(); it != listOfAllHistograms2D.end(); ++it) { - if ((*it)->IsThisHistoNamed(histoNameTMP)) { - (*it)->SetDrawListOfHistograms(iConditionTMP); - } - } - if (humanDecayHistograms->IsThisHistoNamed(histoNameTMP)) { - humanDecayHistograms->SetDrawListOfHistograms(iConditionTMP); - } - if (humanDecayPileupHistograms->IsThisHistoNamed(histoNameTMP)) { - humanDecayPileupHistograms->SetDrawListOfHistograms(iConditionTMP); - } - } - else if (strcmp(tmpString0,"counterPhaseShifts")==0) { - int nscan; int N1; float PHASE_SHIFT; char NAME1[100]; char NAME2[100]; - char *pch = line + strlen("counterPhaseShifts"); - do { - nscan = sscanf(pch,"%d %g",&N1,&PHASE_SHIFT); - phaseShiftMap.insert(std::pair(N1,PHASE_SHIFT/180*pi)); - std::cout<<"N1="< S T O P F O R C E D"<::const_iterator it=SampleDetIDList.begin(); it!=SampleDetIDList.end(); ++it) { - std::cout<<" "<< *it; - } - std::cout< S T O P "< S T O P "<second; - counter->SetAntiCoincidenceTimeWindowMin(lmin); - counter->SetAntiCoincidenceTimeWindowMax(lmax); - } - else if (strcmp(tmpString0,"artificiallyChangeMuDecayTime")==0) { - float min, max, mmmin, mmmax; - sscanf(&line[0],"%*s %g %g %g %g %g %g %g",&min,&max,&mmmin,&mmmax); - bool_muDecayTimeTransformation = true; - muDecayTime_t_min = min; - muDecayTime_t_max = max; - muDecayTime_Transformation_min = mmmin; - muDecayTime_Transformation_max = mmmax; - if ((muDecayTime_t_max <= muDecayTime_t_min) || (muDecayTime_Transformation_max <= muDecayTime_Transformation_min)) { - std::cout<<" ERROR! musrAnalysis: error when setting the \"artificiallyChangeMuDecayTime\" parameters! Min > Max !!!"< S T O P "< SetParameter(0,p0); - funct -> SetParameter(1,p1); - funct -> SetParameter(2,p2); - funct -> SetParameter(3,p3); - funct -> FixParameter(4,xMin); - } - else if (strcmp(functionName,"funct2")==0) { - funct = new TF1("funct2","[3]*exp(([4]-x)/2.19703)*(1+[2]*cos(x*[0]+[1]))+[5]"); - funct -> SetParameter(0,p0); - funct -> SetParameter(1,p1); - funct -> SetParameter(2,p2); - funct -> SetParameter(3,p3); - funct -> FixParameter(4,xMin); - funct -> SetParameter(5,p4); - } - else if (strcmp(functionName,"funct3")==0) { - funct = new TF1("funct3","[3]*exp(([4]-x)/2.19703)*(1+[2]*cos(x*[0]+[1]))+[5]"); - funct -> SetParameter(0,p0); - funct -> SetParameter(1,p1); - funct -> SetParameter(2,p2); - funct -> SetParameter(3,p3); - funct -> FixParameter(4,xMin); - funct -> FixParameter(5,p4); - } - else if (strcmp(functionName,"funct4")==0) { - funct = new TF1("funct4","[3]*exp(-x/2.19703)*(1+[2]*cos(x*[0]+[1]))+[4]"); - funct -> SetParameter(0,p0); - funct -> SetParameter(1,p1); - funct -> SetParameter(2,p2); - funct -> SetParameter(3,p3); - funct -> SetParameter(4,p4); - } - else if (strcmp(functionName,"pol0")==0) { - funct = new TF1("pol0","pol0"); - } - else if (strcmp(functionName,"simpleExpoPLUSconst")==0) { - funct = new TF1("simpleExpoPLUSconst","[0]*exp(-x/2.19703)+[1]"); - funct -> SetParameter(0,p0); - funct -> SetParameter(1,p1); - } - else if (strcmp(functionName,"TFieldCosPLUSbg")==0) { - funct = new TF1("TFieldCosPLUSbg","[3]*(1+[2]*cos(x*[0]+[1]))+[4]*exp(x/2.19703)"); - funct -> SetParameter(0,p0); - funct -> SetParameter(1,p1); - funct -> SetParameter(2,p2); - funct -> SetParameter(3,p3); - funct -> SetParameter(4,p4); - } - else if (strcmp(functionName,"TFieldCos")==0) { - funct = new TF1("TFieldCos","[3]*(1+[2]*cos(x*[0]+[1]))"); - funct -> SetParameter(0,p0); - funct -> SetParameter(1,p1); - funct -> SetParameter(2,p2); - funct -> SetParameter(3,p3); - } - else if (strcmp(functionName,"rotFrameTime20")==0) { - // funct = new TF1("rotFrameTime20","[2]*exp(-x/2.19703)*cos(x*[0]+[1]) "); - funct = new TF1("rotFrameTime20","[2]*cos(x*[0]+[1]) "); - funct -> SetParameter(0,p0); - funct -> SetParameter(1,p1); - funct -> SetParameter(2,p2); - } - else if (strcmp(functionName,"gaus")==0) { - funct = new TF1("gaus","gaus"); - funct -> SetParameter(0,p0); - funct -> SetParameter(1,p1); - funct -> SetParameter(2,p2); - } - else { - std::cout<<"musrAnalysis::ReadInInputParameters: function \""< S T O P"<::const_iterator it = listOfAllHistograms1D.begin(); it != listOfAllHistograms1D.end(); ++it) { - if ((*it)->IsThisHistoNamed(histoName)) { - tmpHistograms = *it; - } - } - if (tmpHistograms==NULL) { - std::cout<<"\n\nmusrAnalysis::ReadInInputParameters: Fit required, but the corresponding histogram " - <<"not found!"< S T O P "<AssignFunction(funct, functOption, xMin, xMax); - } - - else { - //------------------------------------------------------------------ - // Second part of the configuration file - // - // Replace spaces between quotation marks by '_' - // and remove quatation marks and semicolon by ' '. - // Remember position of the beginning and end of the defintion of the coincidence counters - int nrOfSemicolons=0, beginningOfCoincidenceArray=0, endOfCoincidenceArray =0; - for (Int_t i=0; i<(int)strlen(line); i++) { - if (line[i]=='"') { - line[i] = ' '; - Int_t ii=i; - do { - ii++; - if (isspace(line[ii])) line[ii] = '_'; - } while (line[ii]!='"'); - line[ii]= ' '; - } - else if (line[i] == ';') { - line[i] = ' '; - nrOfSemicolons++; - if (nrOfSemicolons==5) beginningOfCoincidenceArray=i; - if (nrOfSemicolons==6) endOfCoincidenceArray=i; - } - } - - // Read in the values from the configuration file - int tmpChannel=-1, tmpTimeShift=0; - char tmpName[200], tmpType[200]; - float tmpThreshold =0.; - sscanf(&line[0],"%d %s %s %g %d",&tmpChannel,tmpName,tmpType,&tmpThreshold,&tmpTimeShift); - musrCounter* counter = new musrCounter(tmpChannel,tmpName,tmpType[0],tmpThreshold,tmpTimeShift); - if (tmpType[0]=='M') {mCounter =counter; allCounterMap[tmpChannel]=counter; overallBinDelay=tmpTimeShift;} - else if (tmpType[0]=='P') {pCounterMap[tmpChannel]=counter; allCounterMap[tmpChannel]=counter;} - else if (tmpType[0]=='K') {kCounterMap[tmpChannel]=counter; allCounterMap[tmpChannel]=counter;} - else if (tmpType[0]=='V') {vCounterMap[tmpChannel]=counter; allCounterMap[tmpChannel]=counter;} - - // Read in the values for the coincidence detectors - // (Tricky while the number of detectors in coincidence is not known) - if ((endOfCoincidenceArray>0)&&(endOfCoincidenceArray!=beginningOfCoincidenceArray)) { - char tmpCoinc[100]; strcpy(tmpCoinc,"987654321"); - int jj=beginningOfCoincidenceArray; - do { - do {jj++;} while (isspace(line[jj])); // skip space characters; - if (jj>endOfCoincidenceArray) {break;} - sscanf(&line[jj],"%s",tmpCoinc); - jj+=strlen(tmpCoinc); - int iCoinc=atoi(tmpCoinc); - if (iCoinc==987654321) continue; - tmpCoincidenceMultimap.insert(std::pair(tmpChannel,iCoinc)); - // tmpCoincidenceMultimap[tmpChannel][abs(iCoinc)]=iCoinc; - } while (jjSetTDChistogram(tmpHistoName,tmpT0,tmpT1,tmpT2,tmpHistoaddNr,tmpHistoNameAdd); - } - } - } - // std::cout << line; - } - } - std::cout << "INSTRUMENT=" << instrument << std::endl; - std::cout << "DESCRIPTION=" << description << std::endl; - std::cout << "TYPE=" << tdchwtype << std::endl; - std::cout << "RESOLUTION="<second)->GetCounterNr(); - for (std::multimap::iterator itCoinc = tmpCoincidenceMultimap.begin(); itCoinc != tmpCoincidenceMultimap.end(); ++itCoinc) { - if ((*itCoinc).first == iChanNr) { - int iChn2 = itCoinc->second; - counterMapType::const_iterator itTwo = allCounterMap.find(abs(iChn2)); - if (itTwo==allCounterMap.end()) { - std::cout<<" Pointer to coincidence counter ("< S T O P"<second)->SetCoincidenceCounter(itTwo->second,iChn2); - } - } - } - } - - for (counterMapType::const_iterator it = allCounterMap.begin(); it!=allCounterMap.end(); ++it) { - char DetectorType = (it->second)->GetCounterType(); - if (DetectorType=='M') { - (it->second)->SetMaxCoincidenceTimeWindow(pileupWindowBinMin); - // (it->second)->SetCoincidenceTimeWindow_M(pileupWindowBinMin,pileupWindowBinMax); - (it->second)->SetCoincidenceTimeWindowOfAllCoincidenceDetectors('M',-mcoincwin+pileupWindowBinMin,-mcoincwin,mcoincwin); - (it->second)->SetCoincidenceTimeWindowOfAllVetoDetectors(-mcoincwin+pileupWindowBinMin,-vcoincwin,vcoincwin); - } - else if (DetectorType=='P') { - (it->second)->SetMaxCoincidenceTimeWindow(dataWindowBinMin); - // (it->second)->SetCoincidenceTimeWindow_P(dataWindowBinMin,dataWindowBinMax); - (it->second)->SetCoincidenceTimeWindowOfAllCoincidenceDetectors('P',-pcoincwin+dataWindowBinMin,-pcoincwin,pcoincwin); - (it->second)->SetCoincidenceTimeWindowOfAllVetoDetectors(-pcoincwin+dataWindowBinMin,-vcoincwin,vcoincwin); - } - // else if (DetectorType=='V') { - // (it->second)->SetMaxCoincidenceTimeWindow(-vcoincwin); - // (it->second)->SetCoincidenceTimeWindow(-vcoincwin,vcoincwin); - // } - } - - // for (int j=0; j::iterator itCoinc = tmpCoincidenceMultimap.begin(); itCoinc != tmpCoincidenceMultimap.end(); ++itCoinc) { - // std::cout << " houby [" << (*itCoinc).first << ", " << (*itCoinc).second << "]" << std::endl; - - // - // if (tmpCoincidenceMultimap[iChanNr][j]!=0) { -// int j = (*itCoinc).first; -// counterMapType::const_iterator itTwo = allCounterMap.find(j); -// if (itTwo==allCounterMap.end()) { -// std::cout<<" Pointer to coincidence counter ("< S T O P"<second; -// (it->second)->SetCoincidenceCounter(itTwo->second,iChn); -// } -// // } -// } -// } - - - - // - // - // char tmpString1[100]="Unset",tmpString2[100]="Unset",tmpString3[100]="Unset"; - // sscanf(&line[0],"%*s %s %s",tmpString1,tmpString2); - -} - -//================================================================ - -void musrAnalysis::CreateHistograms() { - std::cout<<"musrAnalysis::CreateHistograms()"<pileupWindowMax)? 3*dataWindowMax: 3*pileupWindowMax; - std::cout<<"musrAnalysis::CreateHistograms(): safeTimeWindow = "<GetEntry(1); Double_t fieldValue = fieldNomVal[0]; if (nFieldNomVal>1) fieldValue += fieldNomVal[1]; - // omega = 851.372*fabs(fieldValue); - // omega = 851.372*fieldValue; // value set originally in this program - // omega = 850.62*fieldValue; // value used in Geant ? - omega = 851.610*fieldValue; // value from the fits of the data - - hInfo->Fill(1, fieldValue); - hInfo->Fill(6, runID); - hInfo->Fill(7, hGeantParameters->GetBinContent(7)); - std::cout<<"musrAnalysis::CreateHistograms(): fieldValue="<DrawTH1D("hist",0); - // (*it)->DrawTH1D("hist",1); - } - for(std::list::const_iterator it = listOfAllHistograms2D.begin(); it != listOfAllHistograms2D.end(); ++it) { - (*it)->DrawTH2DdrawList("hist"); - } - for (counterMapType::const_iterator it = pCounterMap.begin(); it!=pCounterMap.end(); ++it) { - (it->second)->DrawTDChistogram(); - } - if (humanDecayHistograms) { - // humanDecayHistograms->FillHumanDecayArray(motherOfHumanDecayHistograms,indexHuman,nHumanDecayArray); - humanDecayHistograms->FillHumanDecayArray(motherOfHumanDecayHistograms,humanDecayMap,humanDecayMultimap); - humanDecayHistograms->DrawTH1DdrawList("text"); - humanDecayPileupHistograms->FillHumanDecayArray(motherOfHumanDecayPileupHistograms,humanDecayMap,humanDecayMultimap); - humanDecayPileupHistograms->DrawTH1DdrawList("text"); - } - - Long64_t numberOfMuonCandidates = mCounter->GetNumberOfMuonCandidates(); - Long64_t numberOfMuonCandidatesAfterVK = mCounter->GetNumberOfMuonCandidatesAfterVK(); - Long64_t numberOfMuonCandidatesAfterVKandDoubleHitRemoval = mCounter->GetNumberOfMuonCandidatesAfterVKandDoubleHitRemoval(); - Double_t durationOfExperiment = (numberOfRewinds*rewindTimeBins*tdcresolution+currentTime)/1000000; - hInfo->Fill(5,(Double_t) numberOfMuonCandidates); // number of "triggers" - hInfo->Fill(4,(Double_t) numberOfMuonCandidatesAfterVK); // number of "triggers" - hInfo->Fill(3,durationOfExperiment); - hInfo->Fill(8,(Double_t) numberOfMuonCandidatesAfterVKandDoubleHitRemoval); - //============================== - // Write out the histograms - std::cout<<"musrAnalysis::SaveHistograms()"<GetList()); - while ( TObject *obj = next() ) { - if (obj->InheritsFrom(TH1::Class()) ) {obj->Write();} - } - fHistograms->Close(); - delete fHistograms; - - // if (musrCounter::bool_WriteDataToDumpFile==true) { - // musrCounter::dumpFile.close(); - // } - - if (musrCounter::bool_WriteDataToDumpFile) { - if (myWriteDump!=NULL) { - delete myWriteDump; - } - } - - //============================== - - std::cout<<"==================================================================="<0) {std::cout<<"DEBUGEVENT "<lastPreprocessedEntry)||(((nextUnfilledEventTime-currentTime)GetEntry(iiiEntry); InitialiseEvent(); - if (bool_debugingRequired) { - if (debugEventMap[eventID]>2) PrintHitsInAllCounters(); - // if (debugEventMap[eventID]>1) {std::cout<<"DEBUGEVENT "<myPrintThisCounter(eventID); - // } - if (bool_debugingRequired) { - if (debugEventMap[eventID]>1) {std::cout<<"DEBUGEVENT "<1) {std::cout<<"DEBUGEVENT "<1) {std::cout<<"____________________________________________________________________"<::max()/2); - if (currentTimeBin>rewindTimeBins) { // When the time variables start to be too large, rewind the time info everywhere; - // RewindAllTimeInfo(rewindTimeBins); - RewindAllTimeInfo(); - } -} - -//================================================================ - -//void musrAnalysis::RemoveOldHitsFromCounters(Double_t timeLimit) { -void musrAnalysis::RemoveOldHitsFromCounters(Long64_t timeBinLimit) { - // Loop over all Counters and remove hits that happen at or before the "timeBinLimit". - // std::cout<<"musrAnalysis::RemoveOldHitsFromCounters: timeBinLimit="<RemoveHitsInCounter(timeBinLimit); - } -} - -//================================================================ - -//void musrAnalysis::RewindAllTimeInfo(Double_t timeToRewind) { -//void musrAnalysis::RewindAllTimeInfo(Long64_t timeBinsToRewind) { -void musrAnalysis::RewindAllTimeInfo() { - Long64_t timeBinsToRewind = rewindTimeBins; - if (musrCounter::bool_WriteDataToDumpFile) { - // Long64_t currentTimeBin = Long64_t(currentTime/tdcresolution); - // mCounter->CheckClockInfo(currentTimeBin); - mCounter->WriteRewindIntoDumpFile(); - // musrCounter::previousClock -= timeBinsToRewind; - } - currentTime -= timeBinsToRewind*tdcresolution; - nextUnfilledEventTime -= timeBinsToRewind*tdcresolution; - numberOfRewinds++; - // Loop over all timing information and rewind it by "timeToRewind"; - // std::cout<<"musrAnalysis::RewindAllTimeInfo()"<RewindHitsInCounter(timeBinsToRewind); - (*it).second->RewindHitsInCounter(); - } -} - -//================================================================ - -void musrAnalysis::PrintHitsInAllCounters() { - // std::cout<<"___________________\n"; - for (counterMapType::const_iterator it = allCounterMap.begin(); it!=allCounterMap.end(); ++it) { - (*it).second->myPrintThisCounter(eventID,0); - } -} -//================================================================ - -void musrAnalysis::FillHistograms(Int_t iiiEntry) { - // std::cout<<"musrAnalysis::FillHistograms() event="< dataBinMax !!! - pCounterHitExistsForThisEventID = PositronCounterHit(eventID,dataBinMin,dataBinMax,positronBinMax,timeBin1,timeBin2,timeBinDoubleHit,posEntry,idetP,idetP_ID,idetP_edep,pos_detID_doubleHit_INT); - pos_detID = Double_t(idetP_ID); - pos_detID_doubleHit = Double_t(pos_detID_doubleHit_INT); - if (debugEventMap[eventID]>2) { - if (pCounterHitExistsForThisEventID) {std::cout<<"FillHistograms: GOOD positron candidate found: timeBin1="< -1000; - muonTriggered_gen_AND_muonDecayedInSample_gen = muonTriggered_gen && muonDecayedInSample_gen; - muonTriggered_det = mCounterHitExistsForThisEventID; - positronHit_det = pCounterHitExistsForThisEventID; - goodEvent_det = muonTriggered_det && positronHit_det; - goodEvent_gen = (muDecayTime>-999)&&(muM0Time>-999); - goodEvent_det_AND_goodEvent_gen = goodEvent_det && goodEvent_gen; - pileupEventCandidate = ((kEntry>0)&&(posEntry>0)&&(kEntry!=posEntry)) ? true:false; - pileupEvent = pileupEventCandidate&&goodEvent_det; - goodEvent_det_AND_muonDecayedInSample_gen = goodEvent_det && muonDecayedInSample_gen; - - // posCounterList_Iterator = find(F_posCounterList.begin(), F_posCounterList.end(), idetP_ID); - // goodEvent_F_det = posCounterList_Iterator != F_posCounterList.end() - - goodEvent_F_det = goodEvent_det && ( (find(F_posCounterList.begin(), F_posCounterList.end(), idetP_ID)) != F_posCounterList.end() ); - goodEvent_B_det = goodEvent_det && ( (find(B_posCounterList.begin(), B_posCounterList.end(), idetP_ID)) != B_posCounterList.end() ); - goodEvent_U_det = goodEvent_det && ( (find(U_posCounterList.begin(), U_posCounterList.end(), idetP_ID)) != U_posCounterList.end() ); - goodEvent_D_det = goodEvent_det && ( (find(D_posCounterList.begin(), D_posCounterList.end(), idetP_ID)) != D_posCounterList.end() ); - goodEvent_L_det = goodEvent_det && ( (find(L_posCounterList.begin(), L_posCounterList.end(), idetP_ID)) != L_posCounterList.end() ); - goodEvent_R_det = goodEvent_det && ( (find(R_posCounterList.begin(), R_posCounterList.end(), idetP_ID)) != R_posCounterList.end() ); - // std::cout<<"goodEvent_F_det="<::const_iterator it = listOfAllHistograms1D.begin(); it != listOfAllHistograms1D.end(); ++it) { - (*it)->FillTH1D(wght,&condition[0]); - } - for(std::list::const_iterator it = listOfAllHistograms2D.begin(); it != listOfAllHistograms2D.end(); ++it) { - (*it)->FillTH2D(wght,&condition[0]); - } - if ((goodEvent_det)&&(pCounterHitExistsForThisEventID)) { - // musrCounter* pCounterHitInThisEvent - counterMapType::const_iterator itPcounterHitInThisEvent = pCounterMap.find(idetP_ID); - if (itPcounterHitInThisEvent==pCounterMap.end()) { - std::cout<<" ERROR! musrAnalysis: itPcounterHitInThisEvent not found ==> This should never happen!!!"<GetBranch("weight") ) ? weight : 1.; -} - -//================================================================ -Double_t musrAnalysis::PreprocessEvent(Long64_t iEn) { - // std::cout<<"musrAnalysis::PreprocessEvent()"<GetEntry(iEn); InitialiseEvent(); - - // Clone some channels into different one, if requested by user - // (This is usefull when e.g. user splits a signal from a veto - // and uses it in two different ways - e.g. once for vetoing - // muons, and second (with a different threshold) for validating - // a positron candidate. This is initiated by the - // keyword "CLONECHANNEL" in the *.v1190 file - - - if (bool_clonedChannelsMultimap_NotEmpty) { - // std::cout<<"det_n="< ret = clonedChannelsMultimap.equal_range(chNumTMP); - for (clonedChannelsMultimapType::const_iterator ittt=ret.first; ittt!=ret.second; ++ittt) { - // std::cout << " ittt->second=" << ittt->second; - int chNumNewTMP = ittt->second; - det_ID[det_n] = chNumNewTMP; - det_edep[det_n] = det_edep[i]; - det_edep_el[det_n] = det_edep_el[i]; - det_edep_pos[det_n] = det_edep_pos[i]; - det_edep_gam[det_n] = det_edep_gam[i]; - det_edep_mup[det_n] = det_edep_mup[i]; - det_nsteps[det_n] = det_nsteps[i]; - det_length[det_n] = det_length[i]; - det_time_start[det_n] = det_time_start[i]; - det_time_end[det_n] = det_time_end[i]; - det_x[det_n] = det_x[i]; - det_y[det_n] = det_y[i]; - det_z[det_n] = det_z[i]; - det_kine[det_n] = det_kine[i]; - det_VrtxKine[det_n] = det_VrtxKine[i]; - det_VrtxX[det_n] = det_VrtxX[i]; - det_VrtxY[det_n] = det_VrtxY[i]; - det_VrtxZ[det_n] = det_VrtxZ[i]; - det_VrtxVolID[det_n] = det_VrtxVolID[i]; - det_VrtxProcID[det_n] = det_VrtxProcID[i]; - det_VrtxTrackID[det_n] = det_VrtxTrackID[i]; - det_VrtxParticleID[det_n]= det_VrtxParticleID[i]; - det_VvvKine[det_n] = det_VvvKine[i]; - det_VvvX[det_n] = det_VvvX[i]; - det_VvvY[det_n] = det_VvvY[i]; - det_VvvZ[det_n] = det_VvvZ[i]; - det_VvvVolID[det_n] = det_VvvVolID[i]; - det_VvvProcID[det_n] = det_VvvProcID[i]; - det_VvvTrackID[det_n] = det_VvvTrackID[i]; - det_VvvParticleID[det_n] = det_VvvParticleID[i]; - det_n++; - - } - } - } - } - - // std::cout<<"\n musrAnalysis::PreprocessEvent() Filling event "<::iterator it; - it = allCounterMap.find(det_ID[i]); - if (it==allCounterMap.end()) { - // std::cout<<"Active detector with det_ID="<FillHitInCounter(det_edep[i],timeBin,timeBin2,iEn,eventID,i,det_ID[i],eventID); - } - } - - // std::cout<<"lastPreprocessedEntry+1="<GetNextGoodMuon(evID,timeBinMin,timeBin0,kEntry,idet,idetID,idetEdep); -// if (!mCounterHitCanditateExists) return false; -// // Check for other muons within the pileup window: -// if ( mCounter->CheckForPileupMuons(timeBin0,kEntry) ) return false; // This muon candidate is killed due to a double hit rejection. -// return true; -//} -// -//================================================================ -Bool_t musrAnalysis::PositronCounterHit(Int_t evID, Long64_t dataBinMin, Long64_t dataBinMax, Long64_t positronBinMax, Long64_t& tBin1, Long64_t& tBin2, Long64_t& tBinDoubleHit, Int_t& kEntry, Int_t& idetP, Int_t& idetP_ID, Double_t& idetP_edep, Int_t& idetP_ID_doubleHit) { - - if (bool_debugingRequired) { - if (debugEventMap[eventID]>4) {std::cout<<"PositronCounterHit: pCounterMap.size()="<second)->GetNextGoodPositron(evID,dataBinMin,dataBinMax,tBin1,tBin2,kEntry,idetP,idetP_ID,idetP_edep); - positronQuality = (it->second)->GetNextGoodPositron(evID,dataBinMin,positronBinMax,tBin1,tBin2,kEntry,idetP,idetP_ID,idetP_edep); - if (positronQuality==3) { // double hit was found in the same counter - if (debugEventMap[eventID]>3) {std::cout<<"PositronCounterHit: positron candidate killed - double hit in the same counter"<3) {std::cout<<"PositronCounterHit: positron candidate killed - double hit in a different counter"<first; - } - std::cout<second); - } - std::cout<-1000.00001) ) return -1000.; - if ( (x<-999.99999) && (x>-1000.00001) ) return -1000.; - if ( (x==0) && (y==0) ) return -1000.; - return atan2(y,x); -} -//================================================================ -Double_t musrAnalysis::deltaAngle(Double_t alpha, Double_t beta) { - // Calculates the difference between angle alpha and beta. - // The angles alpha and beta are in degrees. - // The difference will be in the range of (-180,180> degrees. - if ((alpha<-998.)||(beta<-998.)) {return -1001.;} // one of the angles was undefined; - Double_t delta = alpha - beta; - if (delta<=-180) {delta+=360;} - else {if (delta>180) delta-=360;} - return delta; -} -//================================================================ +#define musrAnalysis_cxx +#include "musrAnalysis.hh" +#include "musrTH.hh" +//#include +#include +#include +#include +#include +//#include + + +musrWriteDump* musrAnalysis::myWriteDump = NULL; + +void musrAnalysis::Loop(char* runChar, char* v1190FileName, Int_t nrEvents) +{ +// In a ROOT session, you can do: +// Root > .L musrAnalysis.C +// Root > musrAnalysis t +// Root > t.GetEntry(12); // Fill t data members with entry number 12 +// Root > t.Show(); // Show values of entry 12 +// Root > t.Show(16); // Read and show values of entry 16 +// Root > t.Loop(); // Loop on all entries +// + +// This is the loop skeleton where: +// jentry is the global entry number in the chain +// ientry is the entry number in the current Tree +// Note that the argument to GetEntry must be: +// jentry for TChain::GetEntry +// ientry for TTree::GetEntry and TBranch::GetEntry +// +// To read only selected branches, Insert statements like: +// METHOD1: +// fChain->SetBranchStatus("*",0); // disable all branches +// fChain->SetBranchStatus("branchname",1); // activate branchname +// METHOD2: replace line +// fChain->GetEntry(jentry); //read all branches +//by b_branchname->GetEntry(ientry); //read only this branch + if (fChain == 0) return; + + std::cerr<<"musrSimAnalysis::Loop() : Analysing run "<GetEntriesFast(); + if (nrEvents!=0) nentries = nrEvents; + + Long64_t nbytes = 0, nb = 0; + for (Long64_t jentry=0; jentryGetEntry(jentry); InitialiseEvent(); nbytes += nb; + // if (Cut(ientry) < 0) continue; + if (jentry%10000==0) std::cout << "Analysing event nr. jentry=" << jentry << " and found " << numberOfGoodMuons << " muons so far" << std::endl; + AnalyseEvent(jentry); + } + SaveHistograms(runChar,v1190FileName); +} + + + +//================================================================ + +void musrAnalysis::ReadInInputParameters(char* charV1190FileName) { + std::cout<<"musrAnalysis::ReadInInputParameters()"< tmpCoincidenceMultimap; + // for (int i=0; i("a", 1)); + // + // } + // } + while (!feof(fSteeringFile)) { + fgets(line,10000,fSteeringFile); + if ((line[0]!='#')&&(line[0]!='\n')&&(line[0]!='\r')&&(line[0]!='$')&&(line[0]!='!')) { + char tmpString0[200]="Unset"; + char tmpString1[200]="Unset"; + sscanf(&line[0],"%s",tmpString0); + if (strncmp(tmpString0,"INSTRUMENT=",strlen("INSTRUMENT="))==0) { + instrument=&line[strlen("INSTRUMENT=")]; + } + else if (strncmp(tmpString0,"DESCRIPTION=",strlen("DESCRIPTION="))==0) { + description=&line[strlen("DESCRIPTION=")]; + } + else if (strncmp(tmpString0,"TYPE=",strlen("TYPE="))==0) { + tdchwtype=&line[strlen("TYPE=")]; + } + else if (strncmp(tmpString0,"RESOLUTION=",strlen("RESOLUTION="))==0) { + sscanf(&line[strlen("RESOLUTION=")],"%g",&tmpfvar); + tdcresolution = tmpfvar * picosecond; + if (tdcresolution<1*picosecond) { + std::cout<<"\n !!! ERROR !!! Time resolution of TDC must be larger than 1 ps (you requested "< too low time resolution might lead to numerical problems in musrCounter ==> S T O P"<(ichannel_orig_tmp,ichannel_new_tmp)); + } + else if (strcmp(tmpString0,"DEBUGEVENT")==0) { + int ieventToDebug_tmp, iLevelToDebug_tmp; + sscanf(&line[0],"%*s %d %d",&ieventToDebug_tmp,&iLevelToDebug_tmp); + bool_debugingRequired=true; + if (ieventToDebug_tmp>-1) { + debugEventMap.insert(std::pair(ieventToDebug_tmp,iLevelToDebug_tmp)); + } + else { + for (int j=0; j<=-ieventToDebug_tmp;j++) { + debugEventMap.insert(std::pair(j,iLevelToDebug_tmp)); + } + } + } + else if (strcmp(tmpString0,"WRITE_OUT_DUMP_FILE")==0) { + int clock_channelID; + int max_timeBin_jitter; + // int clock_interval_tmp; + // sscanf(&line[0],"%*s %s %d %d",tmpString1,&clock_channelID_tmp,&clock_interval_tmp); + sscanf(&line[0],"%*s %s %d %d",tmpString1,&clock_channelID,&max_timeBin_jitter); + // clock_channelID = clock_channelID_tmp; + // clock_interval = clock_interval_tmp; + musrCounter::bool_WriteDataToDumpFile = true; + // std::cout<<"tmpString1="< STOP !!!"< S T O P !!!"< ignored, histogram not defined! S T O P !!!"< ignored, histogram not defined! S T O P !!!"<second; + if (strcmp(tmpString0,"musrTH1D")==0) { + // std::cout<<"pointerToVariable1="<SetRotatingReferenceFrame(rot_ref_frequency, rot_ref_phase); + hInfo->Fill(21, rot_ref_frequency); // value may be overwritten - just the last rot. ref. frame will be saved + hInfo->Fill(22, rot_ref_phase); // value may be overwritten - just the last rot. ref. frame will be saved + } + else if (strcmp(furtherOption,"correctexpdecay")==0) { + myTH->SetExpDecayCorrection(); + } + } + else { + Double_t* pointerToVariable2 = iter2->second; + musrTH* myTH = new musrTH("2D",histoName,histoTitle,nrBinsX,minX,maxX,nrBinsY,minY,maxY,pointerToVariable1,pointerToVariable2); + listOfAllHistograms2D.push_back(myTH); + } + } + else if (strncmp(tmpString0,"humanDecayHistograms",strlen("humanDecayHistograms"))==0) { + char motherHistoName[200]; + char motherHistoPileupName[200]; + sscanf(&line[0],"%*s %s %s",motherHistoName,motherHistoPileupName); + std::cout<<" Defining humanDecayHistograms (motherHistoName="<::const_iterator it = listOfAllHistograms1D.begin(); it != listOfAllHistograms1D.end(); ++it) { + if ((*it)->IsThisHistoNamed(motherHistoName)) { + motherOfHumanDecayHistograms = *it; + } + if ((*it)->IsThisHistoNamed(motherHistoPileupName)) { + motherOfHumanDecayPileupHistograms = *it; + } + } + if (motherOfHumanDecayHistograms==NULL) { + std::cout<<"\n\nmusrAnalysis::ReadInInputParameters Mother histogram (motherOfHumanDecayHistograms)" + <<"of the \"Human decay histogram\" not found!"< S T O P "< S T O P "<second)==(std::string) NAME1) { + nameDefined = true; + iBinHuman = it->first; + } + } + if (!nameDefined) { + nBinHuman++; + iBinHuman=nBinHuman; + humanDecayMap.insert(std::pair(iBinHuman,NAME1)); + } + humanDecayMultimap.insert(std::pair(iBinHuman,N1)); + char* pch2 = strstr(pch,NAME1)+strlen(NAME1); + pch=pch2; + nscan = sscanf(pch,"%d %s",&N1,NAME1); + // indexHuman++; + } while (nscan==2); + + Int_t nrBinsHumanHist=humanDecayMap.size(); + // Int_t nrBinsHumanHist=0; + // std::string oldString="blaBlaoldStringUndefiNED"; + // for (humanDecayMultimapType::const_iterator it = humanDecayMultimap.begin(); it!=humanDecayMultimap.end(); ++it) { + // if (oldString!=(it->first)) nrBinsHumanHist++; + // } + std::cout<<"\nnrBinsHumanHist="<SetBinLabel1D(k+1,sHumanDecayArray[k]); + // } + // oldString="blaBlaoldStringUndefiNED"; + for (humanDecayMapType::const_iterator it = humanDecayMap.begin(); it!=humanDecayMap.end(); ++it) { + humanDecayHistograms -> SetBinLabel1D(it->first,it->second); + humanDecayPileupHistograms -> SetBinLabel1D(it->first,it->second); + } + } + else if (strncmp(tmpString0,"condition",strlen("condition"))==0) { + // Selection of the predefined conditions to be applied + int iConditionTMP; + char conditionNameTMP[200]; + sscanf(&line[0],"%*s %d %s",&iConditionTMP,conditionNameTMP); + if (iConditionTMP<0) { + std::cout<<" !!! ERROR: Condition number must be >= 0 (not "<=nrConditions) { + std::cout<<" !!! ERROR: Condition number must be < "< Add it in the musrAnalysis.cxx S T O P !!!"<= -1 (not "<=nrConditions) { + std::cout<<" !!! ERROR: draw: condition number must be < "<::const_iterator it = listOfAllHistograms1D.begin(); it != listOfAllHistograms1D.end(); ++it) { + if ((*it)->IsThisHistoNamed(histoNameTMP)) { + (*it)->SetDrawListOfHistograms(iConditionTMP); + } + } + for(std::list::const_iterator it = listOfAllHistograms2D.begin(); it != listOfAllHistograms2D.end(); ++it) { + if ((*it)->IsThisHistoNamed(histoNameTMP)) { + (*it)->SetDrawListOfHistograms(iConditionTMP); + } + } + if (humanDecayHistograms->IsThisHistoNamed(histoNameTMP)) { + humanDecayHistograms->SetDrawListOfHistograms(iConditionTMP); + } + if (humanDecayPileupHistograms->IsThisHistoNamed(histoNameTMP)) { + humanDecayPileupHistograms->SetDrawListOfHistograms(iConditionTMP); + } + } + else if (strcmp(tmpString0,"counterPhaseShifts")==0) { + int nscan; int N1; float PHASE_SHIFT; char NAME1[100]; char NAME2[100]; + char *pch = line + strlen("counterPhaseShifts"); + do { + nscan = sscanf(pch,"%d %g",&N1,&PHASE_SHIFT); + phaseShiftMap.insert(std::pair(N1,PHASE_SHIFT/180*pi)); + std::cout<<"N1="< S T O P F O R C E D"<::const_iterator it=SampleDetIDList.begin(); it!=SampleDetIDList.end(); ++it) { + std::cout<<" "<< *it; + } + std::cout< S T O P "< S T O P "<second; + counter->SetAntiCoincidenceTimeWindowMin(lmin); + counter->SetAntiCoincidenceTimeWindowMax(lmax); + } + else if (strcmp(tmpString0,"artificiallyChangeMuDecayTime")==0) { + float min, max, mmmin, mmmax; + sscanf(&line[0],"%*s %g %g %g %g %g %g %g",&min,&max,&mmmin,&mmmax); + bool_muDecayTimeTransformation = true; + muDecayTime_t_min = min; + muDecayTime_t_max = max; + muDecayTime_Transformation_min = mmmin; + muDecayTime_Transformation_max = mmmax; + if ((muDecayTime_t_max <= muDecayTime_t_min) || (muDecayTime_Transformation_max <= muDecayTime_Transformation_min)) { + std::cout<<" ERROR! musrAnalysis: error when setting the \"artificiallyChangeMuDecayTime\" parameters! Min > Max !!!"< S T O P "< SetParameter(0,p0); + funct -> SetParameter(1,p1); + funct -> SetParameter(2,p2); + funct -> SetParameter(3,p3); + funct -> FixParameter(4,xMin); + } + else if (strcmp(functionName,"funct2")==0) { + funct = new TF1("funct2","[3]*exp(([4]-x)/2.19703)*(1+[2]*cos(x*[0]+[1]))+[5]"); + funct -> SetParameter(0,p0); + funct -> SetParameter(1,p1); + funct -> SetParameter(2,p2); + funct -> SetParameter(3,p3); + funct -> FixParameter(4,xMin); + funct -> SetParameter(5,p4); + } + else if (strcmp(functionName,"funct3")==0) { + funct = new TF1("funct3","[3]*exp(([4]-x)/2.19703)*(1+[2]*cos(x*[0]+[1]))+[5]"); + funct -> SetParameter(0,p0); + funct -> SetParameter(1,p1); + funct -> SetParameter(2,p2); + funct -> SetParameter(3,p3); + funct -> FixParameter(4,xMin); + funct -> FixParameter(5,p4); + } + else if (strcmp(functionName,"funct4")==0) { + funct = new TF1("funct4","[3]*exp(-x/2.19703)*(1+[2]*cos(x*[0]+[1]))+[4]"); + funct -> SetParameter(0,p0); + funct -> SetParameter(1,p1); + funct -> SetParameter(2,p2); + funct -> SetParameter(3,p3); + funct -> SetParameter(4,p4); + } + else if (strcmp(functionName,"pol0")==0) { + funct = new TF1("pol0","pol0"); + } + else if (strcmp(functionName,"simpleExpoPLUSconst")==0) { + funct = new TF1("simpleExpoPLUSconst","[0]*exp(-x/2.19703)+[1]"); + funct -> SetParameter(0,p0); + funct -> SetParameter(1,p1); + } + else if (strcmp(functionName,"TFieldCosPLUSbg")==0) { + funct = new TF1("TFieldCosPLUSbg","[3]*(1+[2]*cos(x*[0]+[1]))+[4]*exp(x/2.19703)"); + funct -> SetParameter(0,p0); + funct -> SetParameter(1,p1); + funct -> SetParameter(2,p2); + funct -> SetParameter(3,p3); + funct -> SetParameter(4,p4); + } + else if (strcmp(functionName,"TFieldCos")==0) { + funct = new TF1("TFieldCos","[3]*(1+[2]*cos(x*[0]+[1]))"); + funct -> SetParameter(0,p0); + funct -> SetParameter(1,p1); + funct -> SetParameter(2,p2); + funct -> SetParameter(3,p3); + } + else if (strcmp(functionName,"rotFrameTime20")==0) { + // funct = new TF1("rotFrameTime20","[2]*exp(-x/2.19703)*cos(x*[0]+[1]) "); + funct = new TF1("rotFrameTime20","[2]*cos(x*[0]+[1]) "); + funct -> SetParameter(0,p0); + funct -> SetParameter(1,p1); + funct -> SetParameter(2,p2); + } + else if (strcmp(functionName,"gaus")==0) { + funct = new TF1("gaus","gaus"); + funct -> SetParameter(0,p0); + funct -> SetParameter(1,p1); + funct -> SetParameter(2,p2); + } + else { + std::cout<<"musrAnalysis::ReadInInputParameters: function \""< S T O P"<::const_iterator it = listOfAllHistograms1D.begin(); it != listOfAllHistograms1D.end(); ++it) { + if ((*it)->IsThisHistoNamed(histoName)) { + tmpHistograms = *it; + } + } + if (tmpHistograms==NULL) { + std::cout<<"\n\nmusrAnalysis::ReadInInputParameters: Fit required, but the corresponding histogram " + <<"not found!"< S T O P "<AssignFunction(funct, functOption, xMin, xMax); + } + + else { + //------------------------------------------------------------------ + // Second part of the configuration file + // + // Replace spaces between quotation marks by '_' + // and remove quatation marks and semicolon by ' '. + // Remember position of the beginning and end of the defintion of the coincidence counters + int nrOfSemicolons=0, beginningOfCoincidenceArray=0, endOfCoincidenceArray =0; + for (Int_t i=0; i<(int)strlen(line); i++) { + if (line[i]=='"') { + line[i] = ' '; + Int_t ii=i; + do { + ii++; + if (isspace(line[ii])) line[ii] = '_'; + } while (line[ii]!='"'); + line[ii]= ' '; + } + else if (line[i] == ';') { + line[i] = ' '; + nrOfSemicolons++; + if (nrOfSemicolons==5) beginningOfCoincidenceArray=i; + if (nrOfSemicolons==6) endOfCoincidenceArray=i; + } + } + + // Read in the values from the configuration file + int tmpChannel=-1, tmpTimeShift=0; + char tmpName[200], tmpType[200]; + float tmpThreshold =0.; + Bool_t tmp_keep=(musrMode=='P'); // JSL: keep the small pulses in case different events add up to a big one + sscanf(&line[0],"%d %s %s %g %d",&tmpChannel,tmpName,tmpType,&tmpThreshold,&tmpTimeShift); + if(commonThreshold>0.0) { tmpThreshold=commonThreshold; } + musrCounter* counter = new musrCounter(tmpChannel,tmpName,tmpType[0],tmpThreshold,tmpTimeShift, detRecoveryTime / tdcresolution, tmp_keep); + if (tmpType[0]=='M') {mCounter =counter; allCounterMap[tmpChannel]=counter; overallBinDelay=tmpTimeShift;} + else if (tmpType[0]=='P') {pCounterMap[tmpChannel]=counter; allCounterMap[tmpChannel]=counter;} + else if (tmpType[0]=='K') {kCounterMap[tmpChannel]=counter; allCounterMap[tmpChannel]=counter;} + else if (tmpType[0]=='V') {vCounterMap[tmpChannel]=counter; allCounterMap[tmpChannel]=counter;} + + // Read in the values for the coincidence detectors + // (Tricky while the number of detectors in coincidence is not known) + if ((endOfCoincidenceArray>0)&&(endOfCoincidenceArray!=beginningOfCoincidenceArray)) { + char tmpCoinc[100]; strcpy(tmpCoinc,"987654321"); + int jj=beginningOfCoincidenceArray; + do { + do {jj++;} while (isspace(line[jj])); // skip space characters; + if (jj>endOfCoincidenceArray) {break;} + sscanf(&line[jj],"%s",tmpCoinc); + jj+=strlen(tmpCoinc); + int iCoinc=atoi(tmpCoinc); + if (iCoinc==987654321) continue; + tmpCoincidenceMultimap.insert(std::pair(tmpChannel,iCoinc)); + // tmpCoincidenceMultimap[tmpChannel][abs(iCoinc)]=iCoinc; + } while (jjSetTDChistogram(tmpHistoName,tmpT0,tmpT1,tmpT2,tmpHistoaddNr,tmpHistoNameAdd); + } + } + } + // std::cout << line; + } + } + std::cout << "INSTRUMENT=" << instrument << std::endl; + std::cout << "DESCRIPTION=" << description << std::endl; + std::cout << "TYPE=" << tdchwtype << std::endl; + std::cout << "RESOLUTION="<second)->GetCounterNr(); + for (std::multimap::iterator itCoinc = tmpCoincidenceMultimap.begin(); itCoinc != tmpCoincidenceMultimap.end(); ++itCoinc) { + if ((*itCoinc).first == iChanNr) { + int iChn2 = itCoinc->second; + counterMapType::const_iterator itTwo = allCounterMap.find(abs(iChn2)); + if (itTwo==allCounterMap.end()) { + std::cout<<" Pointer to coincidence counter ("< S T O P"<second)->SetCoincidenceCounter(itTwo->second,iChn2); + } + } + } + } + + for (counterMapType::const_iterator it = allCounterMap.begin(); it!=allCounterMap.end(); ++it) { + char DetectorType = (it->second)->GetCounterType(); + if (DetectorType=='M') { + (it->second)->SetMaxCoincidenceTimeWindow(pileupWindowBinMin); + // (it->second)->SetCoincidenceTimeWindow_M(pileupWindowBinMin,pileupWindowBinMax); + (it->second)->SetCoincidenceTimeWindowOfAllCoincidenceDetectors('M',-mcoincwin+pileupWindowBinMin,-mcoincwin,mcoincwin); + (it->second)->SetCoincidenceTimeWindowOfAllVetoDetectors(-mcoincwin+pileupWindowBinMin,-vcoincwin,vcoincwin); + } + else if (DetectorType=='P') { + (it->second)->SetMaxCoincidenceTimeWindow(dataWindowBinMin); + // (it->second)->SetCoincidenceTimeWindow_P(dataWindowBinMin,dataWindowBinMax); + (it->second)->SetCoincidenceTimeWindowOfAllCoincidenceDetectors('P',-pcoincwin+dataWindowBinMin,-pcoincwin,pcoincwin); + (it->second)->SetCoincidenceTimeWindowOfAllVetoDetectors(-pcoincwin+dataWindowBinMin,-vcoincwin,vcoincwin); + } + // else if (DetectorType=='V') { + // (it->second)->SetMaxCoincidenceTimeWindow(-vcoincwin); + // (it->second)->SetCoincidenceTimeWindow(-vcoincwin,vcoincwin); + // } + } + + // for (int j=0; j::iterator itCoinc = tmpCoincidenceMultimap.begin(); itCoinc != tmpCoincidenceMultimap.end(); ++itCoinc) { + // std::cout << " houby [" << (*itCoinc).first << ", " << (*itCoinc).second << "]" << std::endl; + + // + // if (tmpCoincidenceMultimap[iChanNr][j]!=0) { +// int j = (*itCoinc).first; +// counterMapType::const_iterator itTwo = allCounterMap.find(j); +// if (itTwo==allCounterMap.end()) { +// std::cout<<" Pointer to coincidence counter ("< S T O P"<second; +// (it->second)->SetCoincidenceCounter(itTwo->second,iChn); +// } +// // } +// } +// } + + + + // + // + // char tmpString1[100]="Unset",tmpString2[100]="Unset",tmpString3[100]="Unset"; + // sscanf(&line[0],"%*s %s %s",tmpString1,tmpString2); + +} + +//================================================================ + +void musrAnalysis::CreateHistograms() { + std::cout<<"musrAnalysis::CreateHistograms()"<pileupWindowMax)? 3*dataWindowMax: 3*pileupWindowMax; + std::cout<<"musrAnalysis::CreateHistograms(): safeTimeWindow = "<GetEntry(1); InitialiseEvent(); Double_t fieldValue = fieldNomVal[0]; if (nFieldNomVal>1) fieldValue += fieldNomVal[1]; + // omega = 851.372*fabs(fieldValue); + // omega = 851.372*fieldValue; // value set originally in this program + // omega = 850.62*fieldValue; // value used in Geant ? + omega = 851.610*fieldValue; // value from the fits of the data + + hInfo->Fill(1, fieldValue); + hInfo->Fill(6, runID); + hInfo->Fill(7, hGeantParameters->GetBinContent(7)); + std::cout<<"musrAnalysis::CreateHistograms(): fieldValue="<DrawTH1D("hist",0); + // (*it)->DrawTH1D("hist",1); + } + for(std::list::const_iterator it = listOfAllHistograms2D.begin(); it != listOfAllHistograms2D.end(); ++it) { + (*it)->DrawTH2DdrawList("hist"); + } + if(musrMode == 'D') { + for (counterMapType::const_iterator it = pCounterMap.begin(); it!=pCounterMap.end(); ++it) { + (it->second)->DrawTDChistogram(); + } + } + if (humanDecayHistograms) { + // humanDecayHistograms->FillHumanDecayArray(motherOfHumanDecayHistograms,indexHuman,nHumanDecayArray); + humanDecayHistograms->FillHumanDecayArray(motherOfHumanDecayHistograms,humanDecayMap,humanDecayMultimap); + humanDecayHistograms->DrawTH1DdrawList("text"); + humanDecayPileupHistograms->FillHumanDecayArray(motherOfHumanDecayPileupHistograms,humanDecayMap,humanDecayMultimap); + humanDecayPileupHistograms->DrawTH1DdrawList("text"); + } + + // need to re-define these for Pulsed acquisition (and anything else) + Long64_t numberOfMuonCandidates; + Long64_t numberOfMuonCandidatesAfterVK; + Long64_t numberOfMuonCandidatesAfterVKandDoubleHitRemoval; + Double_t durationOfExperiment; + if(musrMode=='D') { + numberOfMuonCandidates = mCounter->GetNumberOfMuonCandidates(); + numberOfMuonCandidatesAfterVK = mCounter->GetNumberOfMuonCandidatesAfterVK(); + numberOfMuonCandidatesAfterVKandDoubleHitRemoval = mCounter->GetNumberOfMuonCandidatesAfterVKandDoubleHitRemoval(); + durationOfExperiment = (numberOfRewinds*rewindTimeBins*tdcresolution+currentTime)/1000000; + hInfo->Fill(5,(Double_t) numberOfMuonCandidates); // number of "triggers" + hInfo->Fill(4,(Double_t) numberOfMuonCandidatesAfterVK); // number of "triggers" + hInfo->Fill(3,durationOfExperiment); + hInfo->Fill(8,(Double_t) numberOfMuonCandidatesAfterVKandDoubleHitRemoval); + } + //============================== + // Write out the histograms + std::cout<<"musrAnalysis::SaveHistograms()"<GetList()); + while ( TObject *obj = next() ) { + if (obj->InheritsFrom(TH1::Class()) ) {obj->Write();} + } + fHistograms->Close(); + delete fHistograms; + + // if (musrCounter::bool_WriteDataToDumpFile==true) { + // musrCounter::dumpFile.close(); + // } + + if (musrCounter::bool_WriteDataToDumpFile) { + if (myWriteDump!=NULL) { + delete myWriteDump; + } + } + + // condition counts + std::cout << "Number of times each condition was recorded" << std::endl; + for(int i=0; i0) {std::cout<<"DEBUGEVENT "<lastPreprocessedEntry)||((nextUnfilledEventTime=nentries) && (nextUnfilledEventTimelastPreprocessedEntry)||(((nextUnfilledEventTime-currentTime)GetEntry(iiiEntry); InitialiseEvent(); + if (bool_debugingRequired) { + if (debugEventMap[eventID]>2) PrintHitsInAllCounters(); + // if (debugEventMap[eventID]>1) {std::cout<<"DEBUGEVENT "<myPrintThisCounter(eventID); + // } + if (bool_debugingRequired) { + if (debugEventMap[eventID]>1) {std::cout<<"DEBUGEVENT "<1) {std::cout<<"DEBUGEVENT "<1) {std::cout<<"____________________________________________________________________"<0)) { + nextUnfilledEventTime=0.0; + // std::cout << "resetting NextUnfilledEventTime"<::max()/2); + if (currentTimeBin>rewindTimeBins) { // When the time variables start to be too large, rewind the time info everywhere; + // RewindAllTimeInfo(rewindTimeBins); + RewindAllTimeInfo(); + } + } +} + +//================================================================ + +//void musrAnalysis::RemoveOldHitsFromCounters(Double_t timeLimit) { +void musrAnalysis::RemoveOldHitsFromCounters(Long64_t timeBinLimit) { + // Loop over all Counters and remove hits that happen at or before the "timeBinLimit". + // std::cout<<"musrAnalysis::RemoveOldHitsFromCounters: timeBinLimit="<RemoveHitsInCounter(timeBinLimit); + } +} + +//================================================================ + +//void musrAnalysis::RewindAllTimeInfo(Double_t timeToRewind) { +//void musrAnalysis::RewindAllTimeInfo(Long64_t timeBinsToRewind) { +void musrAnalysis::RewindAllTimeInfo() { + Long64_t timeBinsToRewind = rewindTimeBins; + if (musrCounter::bool_WriteDataToDumpFile) { + // Long64_t currentTimeBin = Long64_t(currentTime/tdcresolution); + // mCounter->CheckClockInfo(currentTimeBin); + mCounter->WriteRewindIntoDumpFile(); + // musrCounter::previousClock -= timeBinsToRewind; + } + currentTime -= timeBinsToRewind*tdcresolution; + nextUnfilledEventTime -= timeBinsToRewind*tdcresolution; + numberOfRewinds++; + // Loop over all timing information and rewind it by "timeToRewind"; + // std::cout<<"musrAnalysis::RewindAllTimeInfo()"<RewindHitsInCounter(timeBinsToRewind); + (*it).second->RewindHitsInCounter(); + } +} + +//================================================================ + +void musrAnalysis::PrintHitsInAllCounters() { + // std::cout<<"___________________\n"; + for (counterMapType::const_iterator it = allCounterMap.begin(); it!=allCounterMap.end(); ++it) { + (*it).second->myPrintThisCounter(eventID,0); + } +} +//================================================================ + +void musrAnalysis::FillHistograms(Int_t iiiEntry) { + // std::cout<<"musrAnalysis::FillHistograms() event="< dataBinMax !!! + pCounterHitExistsForThisEventID = PositronCounterHit(eventID,dataBinMin,dataBinMax,positronBinMax,timeBin1,timeBin2,timeBinDoubleHit,posEntry,idetP,idetP_ID,idetP_edep,pos_detID_doubleHit_INT); + pos_detID = Double_t(idetP_ID); + pos_detID_doubleHit = Double_t(pos_detID_doubleHit_INT); + if (debugEventMap[eventID]>2) { + if (pCounterHitExistsForThisEventID) {std::cout<<"FillHistograms: GOOD positron candidate found: timeBin1="< -1000; + muonTriggered_gen_AND_muonDecayedInSample_gen = muonTriggered_gen && muonDecayedInSample_gen; + muonTriggered_det = mCounterHitExistsForThisEventID; + positronHit_det = pCounterHitExistsForThisEventID; + goodEvent_det = muonTriggered_det && positronHit_det; + goodEvent_gen = (muDecayTime>-999)&&(muM0Time>-999); + goodEvent_det_AND_goodEvent_gen = goodEvent_det && goodEvent_gen; + pileupEventCandidate = ((kEntry>0)&&(posEntry>0)&&(kEntry!=posEntry)) ? true:false; + pileupEvent = pileupEventCandidate&&goodEvent_det; + goodEvent_det_AND_muonDecayedInSample_gen = goodEvent_det && muonDecayedInSample_gen; + + // posCounterList_Iterator = find(F_posCounterList.begin(), F_posCounterList.end(), idetP_ID); + // goodEvent_F_det = posCounterList_Iterator != F_posCounterList.end() + + goodEvent_F_det = goodEvent_det && ( (find(F_posCounterList.begin(), F_posCounterList.end(), idetP_ID)) != F_posCounterList.end() ); + goodEvent_B_det = goodEvent_det && ( (find(B_posCounterList.begin(), B_posCounterList.end(), idetP_ID)) != B_posCounterList.end() ); + goodEvent_U_det = goodEvent_det && ( (find(U_posCounterList.begin(), U_posCounterList.end(), idetP_ID)) != U_posCounterList.end() ); + goodEvent_D_det = goodEvent_det && ( (find(D_posCounterList.begin(), D_posCounterList.end(), idetP_ID)) != D_posCounterList.end() ); + goodEvent_L_det = goodEvent_det && ( (find(L_posCounterList.begin(), L_posCounterList.end(), idetP_ID)) != L_posCounterList.end() ); + goodEvent_R_det = goodEvent_det && ( (find(R_posCounterList.begin(), R_posCounterList.end(), idetP_ID)) != R_posCounterList.end() ); + // std::cout<<"goodEvent_F_det="<::const_iterator it = listOfAllHistograms1D.begin(); it != listOfAllHistograms1D.end(); ++it) { + (*it)->FillTH1D(wght,&condition[0]); + } + for(std::list::const_iterator it = listOfAllHistograms2D.begin(); it != listOfAllHistograms2D.end(); ++it) { + (*it)->FillTH2D(wght,&condition[0]); + } + if ((goodEvent_det)&&(pCounterHitExistsForThisEventID)) { + // musrCounter* pCounterHitInThisEvent + counterMapType::const_iterator itPcounterHitInThisEvent = pCounterMap.find(idetP_ID); + if (itPcounterHitInThisEvent==pCounterMap.end()) { + std::cout<<" ERROR! musrAnalysis: itPcounterHitInThisEvent not found ==> This should never happen!!!"< unrecordedEventMap; +// unrecordedEventMap unrecordedEvents; +// unrecordedEventMap::const_iterator it2; + + typedef std::multimap sortedByEventMap; + sortedByEventMap sortedByEvent; + sortedByEventMap::const_iterator it3; + hitInfo* theEvent; + // new improved + // start with empty multimap of hits (key=entry num) + // loop through counters + // scan time order + // "copy" events to map + // initialise iterator into sorted map + // loop through event numbers in range + // if events to be processed then do them (1st=OnceOnly) + // else do OnceOnly with no hit + // + // hitInfo needs PositronQuality field (filled in during GetNextGoodPositronPulsed() and timeBin1 ) + // GetNextGoodPositronPulsed() now returns ptr to the hitInfo (or NULL)..? + // std::cout << "starting FHP; map contents=" << sortedByEvent.size() << std::endl; + for (counterMapType::const_iterator it = pCounterMap.begin(); it != pCounterMap.end(); ++it) { + Long64_t dataBinMin = dataWindowBinMin; + Long64_t dataBinMax = dataWindowBinMax; + timeBin1 = -100000000; + timeBin2 = -100000000; + + do { + positronQuality = (it->second)->GetNextGoodPositronPulsed(iiiEntry1,iiiEntry2,dataBinMin,dataBinMax,timeBin1,timeBin2,posEntry,idetP,idetP_ID,idetP_edep,idetFirstMulti,theEvent); + if(positronQuality != -1000) { + // std::cout << "pushing event " << posEntry << " det " << idetP_ID << std::endl; + sortedByEvent.insert(std::pair(posEntry,theEvent)); + } + } while (positronQuality != -1000); + } + + it3=sortedByEvent.begin(); + // std::cout << "now processing sorted list" << std:: endl; + + //for(Int_t i=iiiEntry1; i<=iiiEntry2; i++) { + // unrecordedEvents.insert(std::pair(i,true)); + //} + + // std::cout<<" FillHistograms: timeBinOfThePreviouslyProcessedHit = "<GetNextGoodHitInThisEvent(eventID,timeBinOfThePreviouslyProcessedHit,0,'M',timeBin0,kEntry,idetM,idetM_ID,idetM_edep,doubleHitM); + // mCounterHitExistsForThisEventID = mCounter->GetNextGoodMuon(eventID,timeBinOfThePreviouslyProcessedHit,timeBin0,kEntry,idetM,idetM_ID,idetM_edep,doubleHitM); + // mCounterHitExistsForThisEventID = MuonCounterHit(eventID,timeBinOfThePreviouslyProcessedHit,timeBin0,kEntry,idetM,idetM_ID,idetM_edep); + // not needed (JSL) mCounterHitExistsForThisEventID = mCounter->GetNextGoodMuon(eventID,timeBinOfThePreviouslyProcessedHit,timeBin0,kEntry,idetM,idetM_ID,idetM_edep); + // timeBinOfThePreviouslyProcessedHit = timeBin0; + //___________________________________________________________ + + // loop through all good P counters and then one extra go with it==pCounterMap.end() to tidy up unrecorded events + // for (counterMapType::const_iterator it = pCounterMap.begin(); ; ++it) { + for(Int_t iec=iiiEntry1; iec<=iiiEntry2; iec++) { + oncePerEvent=true; + fChain->GetEntry(iec); InitialiseEvent(); // now opening each event once only and in order! (as well as once for inserting hits in counters) + + // positronQuality = (it->second)->GetNextGoodPositron(evID,dataBinMin,dataBinMax,tBin1,tBin2,kEntry,idetP,idetP_ID,idetP_edep); + + // std::cout<<" timeBin0 ="< dataBinMax !!! + // GetNextGoodPositronPulsed(Int_t evtID, Long64_t timeBinMin, Long64_t timeBinMax, Long64_t& timeBinOfNextGoodHit, Long64_t& timeBinOfNextGoodHit_phaseShifted, Int_t& kEntry, Int_t& idet, Int_t& idetID, Double_t& idetEdep) { + + while (oncePerEvent || positronQuality != -1000) { + // does the next hit in sortedByEvent belong to this? + if(it3!=sortedByEvent.end() && it3->first == iec) { + positronQuality=it3->second->posQual; + timeBin1=it3->second->timeBin1; + timeBin2=it3->second->timeBin2; + posEntry=it3->second->eventEntry; + idetP=it3->second->det_i; + idetP_ID=it3->second->det_id; + idetP_edep=it3->second->det_edep; + if(((it3->second)->multiHitCtr > 1) && (it3->second)->firstMulti) { + idetFirstMulti = (it3->second)->firstMulti->det_i; + } else { + idetFirstMulti = -1000; // not a second or subsequent multi hit, or not recorded for some reason + } + // std::cout << "processing hit in det " << idetP_ID << " for event " << iec << std::endl; + it3++; + } else { + if(!oncePerEvent) { + // std::cout << "run out of hits for event " << iec << std::endl; + break; + } + positronQuality=-1000; + posEntry=iec; + timeBin1=-100000000; + timeBin2=-100000000; + idetP=-1000; + idetP_ID=-1000; + idetP_edep=-1000; + idetFirstMulti=-1000; + // std::cout << "processing non-hit for event " << iec << std::endl; + } + +// if(it == pCounterMap.end()) { +// while((it2 != unrecordedEvents.end()) && (!it2->second)) { it2++; } +// if(it2 == unrecordedEvents.end()) { break; } +// positronQuality=-1000; +// posEntry=it2->first; +// timeBin1=-1000; +// timeBin2=-1000; +// idetP=-1000; +// idetP_ID=-1000; +// idetP_edep=-1000; +// idetFirstMulti=-1000; +// // std::cout << "found entry " << posEntry << " with no hits" << std::endl; +// } else { +// if((positronQuality = (it->second)->GetNextGoodPositronPulsed(iiiEntry1,iiiEntry2,dataBinMin,dataBinMax,timeBin1,timeBin2,posEntry,idetP,idetP_ID,idetP_edep,idetFirstMulti)) == -1000 ) { break; } +// // std::cout << "found a hit in detector " << idetP_ID << " from event " << posEntry << " with quality=" << positronQuality << std::endl; +// } +// // std::cout << "searching entry " << iiiEntry << " and found a hit in detector " << idetP_ID << " with quality=" << positronQuality << std::endl; + +// fChain->GetEntry(posEntry); InitialiseEvent(); +// oncePerEvent=unrecordedEvents[posEntry]; +// unrecordedEvents[posEntry] = false; + + if (muTargetTime != -1000.0) { + timeBin0 = Long64_t(muTargetTime / tdcresolution); + } else { + timeBin0=-100000000; + } + pos_detID = Double_t(idetP_ID); + if (debugEventMap[eventID]>2) { + std::cout<<"FillHistograms: GOOD positron candidate found: timeBin1="< -1000; + // muonTriggered_gen_AND_muonDecayedInSample_gen = muonTriggered_gen && muonDecayedInSample_gen; + // muonTriggered_det = mCounterHitExistsForThisEventID; + // positronHit_det = pCounterHitExistsForThisEventID; + goodEvent_det = (positronQuality >= -1); + if(goodEvent_det) numberOfGoodMuons++; + goodEvent_gen = (positronQuality== -3 || positronQuality== -2 || positronQuality==0 || positronQuality==1); + goodEvent_det_AND_goodEvent_gen = goodEvent_det && goodEvent_gen; + // pileupEventCandidate = ((kEntry>0)&&(posEntry>0)&&(kEntry!=posEntry)) ? true:false; + // pileupEvent = pileupEventCandidate&&goodEvent_det; + goodEvent_det_AND_muonDecayedInSample_gen = goodEvent_det && muonDecayedInSample_gen; + + // posCounterList_Iterator = find(F_posCounterList.begin(), F_posCounterList.end(), idetP_ID); + // goodEvent_F_det = posCounterList_Iterator != F_posCounterList.end() + + Bool_t event_F = ( (find(F_posCounterList.begin(), F_posCounterList.end(), idetP_ID)) != F_posCounterList.end() ); + Bool_t event_B = ( (find(B_posCounterList.begin(), B_posCounterList.end(), idetP_ID)) != B_posCounterList.end() ); + Bool_t event_U = ( (find(U_posCounterList.begin(), U_posCounterList.end(), idetP_ID)) != U_posCounterList.end() ); + Bool_t event_D = ( (find(D_posCounterList.begin(), D_posCounterList.end(), idetP_ID)) != D_posCounterList.end() ); + Bool_t event_L = ( (find(L_posCounterList.begin(), L_posCounterList.end(), idetP_ID)) != L_posCounterList.end() ); + Bool_t event_R = ( (find(R_posCounterList.begin(), R_posCounterList.end(), idetP_ID)) != R_posCounterList.end() ); + + bank_this = (event_F ? 1:0) + (event_B ? 2:0) + (event_U ? 3:0) + (event_D ? 4:0) + (event_L ? 5:0) + (event_R ? 6:0) ; + + if(idetFirstMulti >= 0) { + det_multi_interval = det_time_start[idetP]-det_time_start[idetFirstMulti]; + pos_detID_doubleHit = det_ID[idetFirstMulti]; + // pos_doubleHit_dPhi: difference in detector phases between this and the first multi hit, plus 10*first-bank + 60*second-bank + bank_multi = (( (find(F_posCounterList.begin(), F_posCounterList.end(), det_ID[idetFirstMulti])) != F_posCounterList.end() ) ? 1:0) + + (( (find(B_posCounterList.begin(), B_posCounterList.end(), det_ID[idetFirstMulti])) != B_posCounterList.end() ) ? 2:0) + + (( (find(U_posCounterList.begin(), U_posCounterList.end(), det_ID[idetFirstMulti])) != U_posCounterList.end() ) ? 3:0) + + (( (find(D_posCounterList.begin(), D_posCounterList.end(), det_ID[idetFirstMulti])) != D_posCounterList.end() ) ? 4:0) + + (( (find(L_posCounterList.begin(), L_posCounterList.end(), det_ID[idetFirstMulti])) != L_posCounterList.end() ) ? 5:0) + + (( (find(R_posCounterList.begin(), R_posCounterList.end(), det_ID[idetFirstMulti])) != R_posCounterList.end() ) ? 6:0); + pos_doubleHit_dPhi= deltaAngle(phaseShiftMap[det_ID[idetFirstMulti]]*180/pi,phaseShiftMap[idetP_ID]*180/pi) + bank_this*1000 + bank_multi*6000; + } else { + det_multi_interval = -1000; + pos_detID_doubleHit = -1000; + pos_doubleHit_dPhi= -1000; + } + + goodEvent_F_det = goodEvent_det && event_F; + goodEvent_B_det = goodEvent_det && event_B; + goodEvent_U_det = goodEvent_det && event_U; + goodEvent_D_det = goodEvent_det && event_D; + goodEvent_L_det = goodEvent_det && event_L; + goodEvent_R_det = goodEvent_det && event_R; + // for better assignment of backgrounds versus useful signal + goodEvent_F_det_AND_muonDecayedInSample_gen = goodEvent_F_det && muonDecayedInSample_gen; + goodEvent_B_det_AND_muonDecayedInSample_gen = goodEvent_B_det && muonDecayedInSample_gen; + goodEvent_U_det_AND_muonDecayedInSample_gen = goodEvent_U_det && muonDecayedInSample_gen; + goodEvent_D_det_AND_muonDecayedInSample_gen = goodEvent_D_det && muonDecayedInSample_gen; + goodEvent_L_det_AND_muonDecayedInSample_gen = goodEvent_L_det && muonDecayedInSample_gen; + goodEvent_R_det_AND_muonDecayedInSample_gen = goodEvent_R_det && muonDecayedInSample_gen; + + // std::cout<<"goodEvent_F_det="<promptPeakWindowMin) && (det_time10 -1000 && positronQuality<=-2); // a good positron missed because of dead time + goodEvent_F_det_AND_pileupEvent = pileupEvent && event_F; + goodEvent_B_det_AND_pileupEvent = pileupEvent && event_B; + goodEvent_U_det_AND_pileupEvent = pileupEvent && event_U; + goodEvent_D_det_AND_pileupEvent = pileupEvent && event_D; + goodEvent_L_det_AND_pileupEvent = pileupEvent && event_L; + goodEvent_R_det_AND_pileupEvent = pileupEvent && event_R; + + doubleHitEvent_gen = (positronQuality>1 || (positronQuality>-1000 && positronQuality<-3)); // any double hits + doubleHit = (positronQuality>1); // counted double hits only + goodEvent_F_det_AND_doubleHit = doubleHit && event_F; + goodEvent_B_det_AND_doubleHit = doubleHit && event_B; + goodEvent_U_det_AND_doubleHit = doubleHit && event_U; + goodEvent_D_det_AND_doubleHit = doubleHit && event_D; + goodEvent_L_det_AND_doubleHit = doubleHit && event_L; + goodEvent_R_det_AND_doubleHit = doubleHit && event_R; + + singleHitEvent_gen = (positronQuality==0); + + stackedEvent_gen = (positronQuality == -1); + + // if (bool_debugingRequired && muonTriggered_det) { + // std::cout<<"DEBUG: goodEvent_det: eventID="<::const_iterator it = listOfAllHistograms1D.begin(); it != listOfAllHistograms1D.end(); ++it) { + (*it)->FillTH1D(wght,&condition[0]); + } + for(std::list::const_iterator it = listOfAllHistograms2D.begin(); it != listOfAllHistograms2D.end(); ++it) { + (*it)->FillTH2D(wght,&condition[0]); + } + // JSL don't plot the individual histograms - too many of them! +// if ((goodEvent_det)&&(pCounterHitExistsForThisEventID)) { + // musrCounter* pCounterHitInThisEvent +// counterMapType::const_iterator itPcounterHitInThisEvent = pCounterMap.find(idetP_ID); +// if (itPcounterHitInThisEvent==pCounterMap.end()) { +// std::cout<<" ERROR! musrAnalysis: itPcounterHitInThisEvent not found ==> This should never happen!!!"<GetBranch("weight") ) ? weight : 1.; +} + +//================================================================ +Double_t musrAnalysis::PreprocessEvent(Long64_t iEn) { + // std::cout<<"musrAnalysis::PreprocessEvent()"<GetEntry(iEn); InitialiseEvent(); + + // Clone some channels into different one, if requested by user + // (This is usefull when e.g. user splits a signal from a veto + // and uses it in two different ways - e.g. once for vetoing + // muons, and second (with a different threshold) for validating + // a positron candidate. This is initiated by the + // keyword "CLONECHANNEL" in the *.v1190 file + + + if (bool_clonedChannelsMultimap_NotEmpty) { + // std::cout<<"det_n="< ret = clonedChannelsMultimap.equal_range(chNumTMP); + for (clonedChannelsMultimapType::const_iterator ittt=ret.first; ittt!=ret.second; ++ittt) { + // std::cout << " ittt->second=" << ittt->second; + int chNumNewTMP = ittt->second; + det_ID[det_n] = chNumNewTMP; + det_edep[det_n] = det_edep[i]; + det_edep_el[det_n] = det_edep_el[i]; + det_edep_pos[det_n] = det_edep_pos[i]; + det_edep_gam[det_n] = det_edep_gam[i]; + det_edep_mup[det_n] = det_edep_mup[i]; + det_nsteps[det_n] = det_nsteps[i]; + det_length[det_n] = det_length[i]; + det_time_start[det_n] = det_time_start[i]; + det_time_end[det_n] = det_time_end[i]; + det_x[det_n] = det_x[i]; + det_y[det_n] = det_y[i]; + det_z[det_n] = det_z[i]; + det_kine[det_n] = det_kine[i]; + det_VrtxKine[det_n] = det_VrtxKine[i]; + det_VrtxX[det_n] = det_VrtxX[i]; + det_VrtxY[det_n] = det_VrtxY[i]; + det_VrtxZ[det_n] = det_VrtxZ[i]; + det_VrtxVolID[det_n] = det_VrtxVolID[i]; + det_VrtxProcID[det_n] = det_VrtxProcID[i]; + det_VrtxTrackID[det_n] = det_VrtxTrackID[i]; + det_VrtxParticleID[det_n]= det_VrtxParticleID[i]; + det_VvvKine[det_n] = det_VvvKine[i]; + det_VvvX[det_n] = det_VvvX[i]; + det_VvvY[det_n] = det_VvvY[i]; + det_VvvZ[det_n] = det_VvvZ[i]; + det_VvvVolID[det_n] = det_VvvVolID[i]; + det_VvvProcID[det_n] = det_VvvProcID[i]; + det_VvvTrackID[det_n] = det_VvvTrackID[i]; + det_VvvParticleID[det_n] = det_VvvParticleID[i]; + det_n++; + + } + } + } + } + + // std::cout<<"\n musrAnalysis::PreprocessEvent() Filling event "<(det_time_start[i],i)); + } + for(doubleHitSorterType::const_iterator dhi = doubleHitSorter.begin(); dhi != doubleHitSorter.end(); dhi++) { + Int_t i=dhi->second; + // // Int_t detID=det_ID[i]; + std::map::iterator it; + it = allCounterMap.find(det_ID[i]); + if (it==allCounterMap.end()) { + std::cout<<"Active detector with det_ID="<FillHitInCounter(det_edep[i],timeBin,timeBin2,iEn,eventID,i,det_ID[i],eventID, multiCtr); + // std::cout << "pushed event into counter "<GetNextGoodMuon(evID,timeBinMin,timeBin0,kEntry,idet,idetID,idetEdep); +// if (!mCounterHitCanditateExists) return false; +// // Check for other muons within the pileup window: +// if ( mCounter->CheckForPileupMuons(timeBin0,kEntry) ) return false; // This muon candidate is killed due to a double hit rejection. +// return true; +//} +// +//================================================================ +Bool_t musrAnalysis::PositronCounterHit(Int_t evID, Long64_t dataBinMin, Long64_t dataBinMax, Long64_t positronBinMax, Long64_t& tBin1, Long64_t& tBin2, Long64_t& tBinDoubleHit, Int_t& kEntry, Int_t& idetP, Int_t& idetP_ID, Double_t& idetP_edep, Int_t& idetP_ID_doubleHit) { + + if (bool_debugingRequired) { + if (debugEventMap[eventID]>4) {std::cout<<"PositronCounterHit: pCounterMap.size()="<second)->GetNextGoodPositron(evID,dataBinMin,dataBinMax,tBin1,tBin2,kEntry,idetP,idetP_ID,idetP_edep); + positronQuality = (it->second)->GetNextGoodPositron(evID,dataBinMin,positronBinMax,tBin1,tBin2,kEntry,idetP,idetP_ID,idetP_edep); + if (positronQuality==3) { // double hit was found in the same counter + if (debugEventMap[eventID]>3) {std::cout<<"PositronCounterHit: positron candidate killed - double hit in the same counter"<3) {std::cout<<"PositronCounterHit: positron candidate killed - double hit in a different counter"<first; + } + std::cout<second); + } + std::cout<-1000.00001) ) return -1000.; + if ( (x<-999.99999) && (x>-1000.00001) ) return -1000.; + if ( (x==0) && (y==0) ) return -1000.; + return atan2(y,x); +} +//================================================================ +Double_t musrAnalysis::deltaAngle(Double_t alpha, Double_t beta) { + // Calculates the difference between angle alpha and beta. + // The angles alpha and beta are in degrees. + // The difference will be in the range of (-180,180> degrees. + if ((alpha<-998.)||(beta<-998.)) {return -1001.;} // one of the angles was undefined; + Double_t delta = alpha - beta; + if (delta<=-180) {delta+=360;} + else {if (delta>180) delta-=360;} + return delta; +} +//================================================================ diff --git a/musrSimAna/musrAnalysis.hh b/musrSimAna/musrAnalysis.hh index a330f59..38706de 100644 --- a/musrSimAna/musrAnalysis.hh +++ b/musrSimAna/musrAnalysis.hh @@ -23,6 +23,12 @@ //#include "musrTH.hh" #include +const double pi=3.14159265358979324; // initialise here instead JSL +const double microsecond=1.; +const double nanosecond=0.001; +const double picosecond=0.000001; + + class musrTH; //#include "musrSimGlobal.hh" @@ -192,6 +198,7 @@ public : Double_t eventID_double; Double_t muDecayDetID_double; Double_t det_n_double; + Double_t det_multifirst_double; Double_t muDecayPosR; Double_t wght; Double_t det_m0edep; @@ -219,6 +226,7 @@ public : Double_t pos_Phi_MINUS_muDecayPol_Phi360; Double_t pos_detID; Double_t pos_detID_doubleHit; + Double_t pos_doubleHit_dPhi; // Double_t det_time0; // Double_t get_time0; // Double_t det_time1; @@ -229,6 +237,7 @@ public : Double_t det_time20; Double_t det_time31; Double_t det_time1_MINUS_muDecayTime; + Double_t det_multi_interval; Double_t detP_x; Double_t detP_y; Double_t detP_z; @@ -254,6 +263,7 @@ public : Bool_t alwaysTrue; Bool_t oncePerEvent; Bool_t muonDecayedInSample_gen; + Bool_t muonDecayedInSampleOnce_gen; Bool_t muonTriggered_gen; Bool_t muonTriggered_gen_AND_muonDecayedInSample_gen; Bool_t muonTriggered_det; @@ -264,6 +274,12 @@ public : Bool_t pileupEventCandidate; Bool_t pileupEvent; Bool_t goodEvent_det_AND_muonDecayedInSample_gen; + Bool_t goodEvent_F_det_AND_muonDecayedInSample_gen; + Bool_t goodEvent_B_det_AND_muonDecayedInSample_gen; + Bool_t goodEvent_U_det_AND_muonDecayedInSample_gen; + Bool_t goodEvent_D_det_AND_muonDecayedInSample_gen; + Bool_t goodEvent_L_det_AND_muonDecayedInSample_gen; + Bool_t goodEvent_R_det_AND_muonDecayedInSample_gen; Bool_t goodEvent_F_det; Bool_t goodEvent_B_det; Bool_t goodEvent_U_det; @@ -284,6 +300,25 @@ public : Bool_t promptPeakL; Bool_t promptPeakR; Bool_t doubleHit; + // pulsed: + // goodEvent_det = (discrim triggered, however happened) + // goodEvent_gen = (1st or only over-threshold event, even if killed by dead time) + // doubleHitEvent_gen = (2nd onwards of a double hit sequence, whether detected or dead) + Bool_t doubleHitEvent_gen; + // doubleHit = (2nd and subsequent hits, counted) + // to subdivide double counting among banks (2nd and subsequent) + Bool_t goodEvent_F_det_AND_doubleHit; + Bool_t goodEvent_B_det_AND_doubleHit; + Bool_t goodEvent_U_det_AND_doubleHit; + Bool_t goodEvent_D_det_AND_doubleHit; + Bool_t goodEvent_L_det_AND_doubleHit; + Bool_t goodEvent_R_det_AND_doubleHit; + // singleHitEvent_gen = (single hits only) + Bool_t singleHitEvent_gen; + // stackedEvent_gen = (multiple small hits adding to threshold, muon details refer to last one) + Bool_t stackedEvent_gen; + // pileupEvent = (all events killed by dead time) + // ..._AND_pileupEvent = subdivided by bank (note the _det isn't appropriate here) musrAnalysis(TTree *tree=0); virtual ~musrAnalysis(); @@ -298,6 +333,7 @@ public : virtual void CreateHistograms(); virtual void AnalyseEvent(Long64_t iiiEntry); virtual void FillHistograms(Int_t iiiEntry); + virtual void FillHistogramsPulsed(Int_t iiiEntry1, Int_t iiiEntry2); virtual void SaveHistograms(char* runChar,char* v1190FileName); virtual void RemoveOldHitsFromCounters(Long64_t timeBinLimit); // virtual void RewindAllTimeInfo(Double_t timeToRewind); @@ -319,11 +355,13 @@ public : TH1D* hGeantParameters; TH1D* hInfo; + typedef std::multimap doubleHitSorterType; + // typedef std::map debugEventMapType; // debugEventMapType debugEventMap; // Bool_t bool_debugingRequired; - static const Double_t pi=3.14159265358979324; + //JSL static const Double_t pi=3.14159265358979324; static musrWriteDump* myWriteDump; private: @@ -335,9 +373,10 @@ public : Int_t mdelay; Int_t pdelay; Int_t mcoincwin; - Int_t pcoincwin; + Int_t pcoincwin; // pulsed: for dead time or add-up overlap. Model as exponential decay of this time constant? Int_t vcoincwin; - Double_t muonRateFactor; + Double_t muonRateFactor; // also mean rate for pulsed mode + Double_t muonPulseWidthFactor; // pulsed Double_t dataWindowMin; Double_t dataWindowMax; Double_t pileupWindowMin; @@ -346,16 +385,22 @@ public : Double_t promptPeakWindowMax; Int_t overallBinDelay; Bool_t boolInfinitelyLowMuonRate; - - char musrMode; // D = time diferential; I = time integral; + Double_t frameInterval; // JSL: pulsed: to divide muons into frames + Double_t detRecoveryTime; // JSL: pulsed: for dead time effects + Bool_t doPartialFrameAtEnd; // process the left over muons if the beam goes off mid frame having done some complete frames + // Bool_t processInBulk; // do all the muons in one go rather than re-filtering at end of run + Double_t commonThreshold; // set all thresholds to this value regardless of individual settings + + char musrMode; // D = time diferential; I = time integral; P = pulsed time differential Double_t safeTimeWindow; Double_t currentTime; // Double_t nextEventTime; Double_t nextUnfilledEventTime; - Long64_t numberOfRewinds; + Long64_t numberOfRewinds; // JSL: number of frames for Pulsed Mode Long64_t numberOfGoodMuons; // Int_t currentEventID; Long64_t lastPreprocessedEntry; + Long64_t firstPreprocessedEntry; // JSL: first in this frame musrCounter* mCounter; typedef std::map counterMapType; counterMapType pCounterMap; @@ -367,9 +412,9 @@ public : Bool_t bool_muDecayTimeTransformation; Double_t muDecayTime_Transformation_min, muDecayTime_Transformation_max, muDecayTime_t_min, muDecayTime_t_max; - static const Double_t microsecond=1.; - static const Double_t nanosecond=0.001; - static const Double_t picosecond=0.000001; + // static const Double_t microsecond=1.; + // static const Double_t nanosecond=0.001; + // static const Double_t picosecond=0.000001; // static const Double_t rewindTime=1000000.; // static const Double_t rewindTime=1000.; // static const Long64_t rewindTimeBins=1000000000000000; // Max Long64_t can be +9,223,372,036,854,775,807 @@ -383,6 +428,7 @@ public : public: static const Int_t nrConditions = 31; Bool_t condition[nrConditions]; + Long64_t conditionCounter[nrConditions]; static Long64_t rewindTimeBins; // static Int_t clock_channelID; // static Long64_t clock_interval; @@ -488,7 +534,10 @@ musrAnalysis::musrAnalysis(TTree *tree) variableMap["posIniMomZ"]=&posIniMomZ; // variableMap["nFieldNomVal"]=&nFieldNomVal_double; // variableMap["fieldNomVal0"]=...; //[nFieldNomVal] + variableMap["fieldNomVal0"]=&fieldNomVal[0]; // JSL: allow nominal field especially for background muons stopping elsewhere in map + variableMap["fieldNomVal1"]=&fieldNomVal[1]; // a second field if defined. Could add more? variableMap["det_n"]=&det_n_double; + variableMap["det_multifirst"]=&det_multifirst_double; // variableMap["muDecayPosR"]=&muDecayPosR; variableMap["wght"]=&wght; @@ -517,6 +566,7 @@ musrAnalysis::musrAnalysis(TTree *tree) variableMap["pos_Phi_MINUS_muDecayPol_Phi360"]=&pos_Phi_MINUS_muDecayPol_Phi360; variableMap["pos_detID"]=&pos_detID; variableMap["pos_detID_doubleHit"]=&pos_detID_doubleHit; + variableMap["pos_doubleHit_dPhi"]=&pos_doubleHit_dPhi; // variableMap["det_time0"]=&det_time0; // variableMap["gen_time0"]=&gen_time0; // variableMap["det_time1"]=&det_time1; @@ -525,6 +575,7 @@ musrAnalysis::musrAnalysis(TTree *tree) variableMap["gen_time10"]=&gen_time10; variableMap["det_time10_MINUS_gen_time10"]=&det_time10_MINUS_gen_time10; variableMap["det_time1_MINUS_muDecayTime"]=&det_time1_MINUS_muDecayTime; + variableMap["multiHitInterval"]=&det_multi_interval; variableMap["detP_x"]=&detP_x; variableMap["detP_y"]=&detP_x; variableMap["detP_z"]=&detP_x; diff --git a/musrSimAna/musrCounter.cxx b/musrSimAna/musrCounter.cxx index 8fe3567..59efc31 100644 --- a/musrSimAna/musrCounter.cxx +++ b/musrSimAna/musrCounter.cxx @@ -1,413 +1,523 @@ -//#include -#include "musrCounter.hh" -#include "TCanvas.h" -#include "musrAnalysis.hh" - -typedef std::map debugEventMapType; -debugEventMapType debugEventMap; -Bool_t bool_debugingRequired; - -Bool_t musrCounter::bool_ignoreUnperfectMuons = true; -Bool_t musrCounter::bool_ignoreUnperfectPositrons = true; -Bool_t musrCounter::bool_WriteDataToDumpFile = false; -//Long64_t musrCounter::previousClock = -1; -//Long64_t musrCounter::CLOCK_INTERVAL = 512000; -//ofstream musrCounter::dumpFile; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -musrCounter::musrCounter(int CHANNEL_NR, char CHANNEL_NAME[200], char CHANNEL_TYPE, float E_THRESH, int TIME_SHIFT) { - // pointerToAnalysis=this; - counterNr = CHANNEL_NR; - strcpy(counterName,CHANNEL_NAME); - counterType = CHANNEL_TYPE; - couterEThreshold = E_THRESH; - counterTimeShift = (Long64_t) TIME_SHIFT; - std::cout<<"musrCounter::musrCounter: Creating counter "<Fill(variable,vaha); -} - -//================================================================ -void musrCounter::DrawTDChistogram() { - char canvasName[501]; - sprintf(canvasName,"c%s",TDC_histoName); - TCanvas* cTmp = new TCanvas(canvasName,canvasName); - histTDC->Draw(); -} - -//================================================================ -void musrCounter::FillHitInCounter(Double_t edep, Long64_t timeBin, Long64_t timeBin2, Int_t kEntry, Int_t eveID, Int_t iDet, Int_t detectorID, Int_t eventNum){ - //cDEL std::cout<<"FillHitInCounter: timeBin="<=couterEThreshold) { - - hitInfo* hInfo = new hitInfo(kEntry,eveID,iDet,detectorID,edep,timeBin2-counterTimeShift); - //cDEL std::cout<first; - hitInfo* tempEvnr= it->second; - tempEvnr->RewindTimeBin2(musrAnalysis::rewindTimeBins); - hitMap_TMP.insert( std::pair(tempBinT-musrAnalysis::rewindTimeBins,tempEvnr) ); - } - hitMap.swap(hitMap_TMP); -} - -//================================================================ -Bool_t musrCounter::IsInCoincidence(Long64_t timeBin, char motherCounter){ - // timeBin ... time bin, at which the coincidence is searched - - if (hitMap.empty()) return false; - Long64_t timeBinMin; - Long64_t timeBinMax; - - // If timeBinMinimum and timeBinMaximum are not specified, use internal time window of the detector (koincidence or veto detectors). - // Otherwise use timeBinMinimum and timeBinMaximum (e.g.coincidence of a positron counter with other positron counters). - if (counterType == 'V') timeBinMin = timeBin + antiCoincidenceTimeWindowMin; // this is veto detector - else if (motherCounter=='M') timeBinMin = timeBin + coincidenceTimeWindowMin_M; // this is coinc. detector connected to M - else if (motherCounter=='P') timeBinMin = timeBin + coincidenceTimeWindowMin_P; // this is coinc. detector connected to P - - if (counterType == 'V') timeBinMax = timeBin + antiCoincidenceTimeWindowMax; // this is veto detector - else if (motherCounter=='M') timeBinMax = timeBin + coincidenceTimeWindowMax_M; // this is coinc. detector connected to M - else if (motherCounter=='P') timeBinMax = timeBin + coincidenceTimeWindowMax_P; // this is coinc. detector connected to P - - for (hitMap_TYPE::iterator it = hitMap.begin(); it != hitMap.end(); ++it) { - Long64_t timeBinOfCount_tmp = it->first; - if ((timeBinOfCount_tmp >= timeBinMin) && (timeBinOfCount_tmp <= timeBinMax)) { - // if ((timeBin!=timeBinOfCount_tmp)||(!ignoreHitsAtBinZero)) { - return true; - // } - } - else if (timeBinOfCount_tmp > timeBinMax) return false; - } - return false; -} - -//================================================================ -Bool_t musrCounter::GetNextGoodMuon(Int_t evtID, Long64_t timeBinMin, Long64_t& timeBinOfNextHit, Int_t& kEntry, Int_t& idet, Int_t& idetID, Double_t& idetEdep) { - // This function searches for a good muon, i.e. the muon - // 1) belongs to the currently analysed event - // 2) is in coincidence with all required coincidence detectors - // 3) is not in coincidence with veto detectors - // INPUT PARAMETERS: evtID, timeBinMin - // OUTPUT PARAMETERS: timeBinOfNextHit - // - // Loop over the hits in the counter - // std::cout<<" musrCounter::GetNextGoodMuon timeBinMin="< S T O P !!!\n"; exit(1);} - - std::list it_muon_hits_to_be_deleted; - for (hitMap_TYPE::iterator it = hitMap.begin(); it != hitMap.end(); ++it) { - - Long64_t timeBinOfCount_tmp = it->first; - timeBinOfNextHit = timeBinOfCount_tmp; - Int_t modulo = timeBinOfNextHit % 524288; - if (timeBinOfCount_tmp <= timeBinMin) continue; // This hit was already processed previously ==> skip it - - Int_t eventNumber = (it->second)->eventIDnumber; - if (eventNumber!=evtID) continue; // This trigger hit does not correspond to the currently processed event - // ==> skip it, because it was already proceesed or will be processed in future - numberOfMuonCandidates++; - if (bool_debugingRequired) {if (debugEventMap[evtID]>3) std::cout<<"GetNextGoodMuon: muon candidate found ("<second)->IsInCoincidence(timeBinOfCount_tmp,'M') )) { // no coincidence found ==> skip hit - // if (bool_ignoreUnperfectMuons) hitMap.erase(it); - if (bool_ignoreUnperfectMuons) it_muon_hits_to_be_deleted.push_back(it); - bool_coincidenceConditions = false; - if (bool_debugingRequired) {if (debugEventMap[evtID]>3) std::cout<<"GetNextGoodMuon: muon candidate not in koincidence ("<second)->IsInCoincidence(timeBinOfCount_tmp,'M') ) { // coincidence with veto found ==> skip hit - // if (bool_ignoreUnperfectMuons) hitMap.erase(it); - if (bool_ignoreUnperfectMuons) it_muon_hits_to_be_deleted.push_back(it); - bool_coincidenceConditions = false; - if (bool_debugingRequired) {if (debugEventMap[evtID]>3) std::cout<<"GetNextGoodMuon: muon candidate vetoed ("<3) std::cout<<"GetNextGoodMuon: muon candidate after VK ("<3) std::cout<<"GetNextGoodMuon: muon candidate killed by pileup muon ("<second)->eventEntry; - idet = (it->second)->det_i; - idetID = (it->second)->det_id; - idetEdep = (it->second)->det_edep; - if (bool_debugingRequired) {if (debugEventMap[evtID]>1) std::cout<<"GetNextGoodMuon: GOOD muon candidate found (" - <::iterator itt = it_muon_hits_to_be_deleted.begin(); itt != it_muon_hits_to_be_deleted.end(); ++itt) { - hitMap.erase(*itt); - } - return true; - } - for(std::list::iterator itt = it_muon_hits_to_be_deleted.begin(); itt != it_muon_hits_to_be_deleted.end(); ++itt) { - hitMap.erase(*itt); - } - return false; -} - -//================================================================ -Bool_t musrCounter::CheckForPileupMuons(Long64_t timeBin0) { - // Check for pileup muons. If double hit in M-counter is found, return true. - Long64_t timeBinMinimum = timeBin0; - for (hitMap_TYPE::iterator it = hitMap.begin(); it != hitMap.end(); ++it) { - Long64_t timeBinOfCount_tmp = it->first; - // std::cout<<"timeBin0="< S T O P !!!\n"; exit(1);} - std::list it_positron_hits_to_be_deleted; - for (hitMap_TYPE::iterator it = hitMap.begin(); it != hitMap.end(); ++it) { - // Int_t eventNumber = (it->second)->eventIDnumber; - Long64_t timeBinOfCount_tmp = it->first; - Int_t modulo = timeBinOfCount_tmp % 524288; - if ((timeBinOfCount_tmp <= timeBinMin) || (timeBinOfCount_tmp > timeBinMax)) { - if (bool_debugingRequired) { - if (debugEventMap[evtID]>3) {std::cout<<"GetNextGoodPositron: Hit out of data interval"< skip it - } - - // Hit candidate was found. Now check its coincidences and vetos - Bool_t bool_coincidenceConditions = true; - for (counterMapType::const_iterator itCounter = koincidenceCounterMap.begin(); itCounter!=koincidenceCounterMap.end(); ++itCounter) { - if (bool_debugingRequired) { - if (debugEventMap[evtID]>4) { (itCounter->second)->myPrintThisCounter(evtID); } - } - if (!( (itCounter->second)->IsInCoincidence(timeBinOfCount_tmp,'P') )) { - if (bool_debugingRequired) { - if (debugEventMap[evtID]>3) {std::cout<<"GetNextGoodPositron: Coincidence required but not found (timeBin="< remove the candidate. - if (bool_ignoreUnperfectPositrons) it_positron_hits_to_be_deleted.push_back(it); - bool_coincidenceConditions = false; - goto CoincidencesChecked; - // goto endOfThisHit; // no coincidence found ==> skip hit - } - } - for (counterMapType::const_iterator itCounter = vetoCounterMap.begin(); itCounter!=vetoCounterMap.end(); ++itCounter) { - if ( (itCounter->second)->IsInCoincidence(timeBinOfCount_tmp,'P') ) { - if (bool_debugingRequired) { - if (debugEventMap[evtID]>3) {std::cout<<"GetNextGoodPositron: Coincidence vith veto detector found (timeBin="< remove the candidate. - if (bool_ignoreUnperfectPositrons) it_positron_hits_to_be_deleted.push_back(it); - bool_coincidenceConditions = false; - goto CoincidencesChecked; - // goto endOfThisHit; // coincidence with veto found ==> skip hit - } - } - - CoincidencesChecked: - if (!bool_coincidenceConditions) continue; // This hit does not fulfill coincidence and veto criteria - if (positronQuality==2) { - for(std::list::iterator itt = it_positron_hits_to_be_deleted.begin(); itt != it_positron_hits_to_be_deleted.end(); ++itt) { - hitMap.erase(*itt); - } - return 3; // An electron was already found before, and now again ==> double hit - } - else positronQuality=2; - - kEntry = (it->second)->eventEntry; - idet = (it->second)->det_i; - idetID = (it->second)->det_id; - idetEdep = (it->second)->det_edep; - timeBinOfNextGoodHit = timeBinOfCount_tmp; - timeBinOfNextGoodHit_phaseShifted = (it->second) -> timeBin2; - if (bool_debugingRequired) { - if (debugEventMap[evtID]>3) {std::cout<<"GetNextGoodPositron: Good positron candidate found in this counter. (timeBin="<second)->eventIDnumber<<")"<::iterator itt = it_positron_hits_to_be_deleted.begin(); itt != it_positron_hits_to_be_deleted.end(); ++itt) { - hitMap.erase(*itt); - } - - return positronQuality; -} - -//================================================================ -void musrCounter::SetCoincidenceTimeWindowOfAllCoincidenceDetectors(char motherCounter, Long64_t maxCoinc, Long64_t min, Long64_t max) { - // std::cout<<"QQQQQQQQQQQQQQQQQQQQQ koincidenceCounterMap.size()="<second)->GetMaxCoincidenceTimeWindow()); - if (maxCoinc < maxCoinc_AlreadySet) (it->second)->SetMaxCoincidenceTimeWindow(maxCoinc); - - if (motherCounter=='M') (it->second)->SetCoincidenceTimeWindow_M(min,max); - else if (motherCounter=='P') (it->second)->SetCoincidenceTimeWindow_P(min,max); - else { - std::cout<<"musrCounter::SetCoincidenceTimeWindowOfAllCoincidenceDetectors ERROR: Strange motherCounter " - < S T O P "<second; - Long64_t maxCoinc_AlreadySet = counter->GetMaxCoincidenceTimeWindow(); - Long64_t min_AlreadySet = counter->GetAntiCoincidenceTimeWindowMin(); - Long64_t max_AlreadySet = counter->GetAntiCoincidenceTimeWindowMax(); - if (maxCoinc < maxCoinc_AlreadySet) counter->SetMaxCoincidenceTimeWindow(maxCoinc); - if (min < min_AlreadySet) counter->SetAntiCoincidenceTimeWindowMin(min); - if (max > max_AlreadySet) counter->SetAntiCoincidenceTimeWindowMax(max); - } -} - -//================================================================ -void musrCounter::myPrintThisCounter(Int_t evtID, Int_t detail) { - Bool_t eventMixing=false; - if ((hitMap.begin()==hitMap.end()) && (detail<=1) ) return; - // if (detail>1) std::cout<<"musrCounter::myPrintThisCounter: counterNr = "<first<<" ("<<(it->first)%524288 <<") "<<(it->second)->eventIDnumber<<","; - if (evtID != (it->second)->eventIDnumber) {eventMixing=true;} - } - if (eventMixing) {std::cout<<" Potential event mixing";} - std::cout< (previousClock+musrAnalysis::clock_interval)) { -// previousClock += musrAnalysis::clock_interval; -// // dumpFile<<"-1\t"<=musrAnalysis::rewindTimeBins) tdcBin -= musrAnalysis::rewindTimeBins; - else if (tdcBin<0) tdcBin += musrAnalysis::rewindTimeBins; - // Int_t tdc = (tdcBinsend_to_dump(detID,tdcBin,false); -} -//================================================================ -void musrCounter::WriteRewindIntoDumpFile() { - DumpInfoToDumpFile(-2,1000,0); -} -//================================================================ +//#include +#include "musrCounter.hh" +#include "TCanvas.h" +#include "musrAnalysis.hh" + +typedef std::map debugEventMapType; +debugEventMapType debugEventMap; +Bool_t bool_debugingRequired; + +Bool_t musrCounter::bool_ignoreUnperfectMuons = true; +Bool_t musrCounter::bool_ignoreUnperfectPositrons = true; +Bool_t musrCounter::bool_WriteDataToDumpFile = false; +//Long64_t musrCounter::previousClock = -1; +//Long64_t musrCounter::CLOCK_INTERVAL = 512000; +//ofstream musrCounter::dumpFile; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +musrCounter::musrCounter(int CHANNEL_NR, char CHANNEL_NAME[200], char CHANNEL_TYPE, float E_THRESH, int TIME_SHIFT, double DEADTIME, Bool_t KEEP_BELOW_THRESH) { + // pointerToAnalysis=this; + counterNr = CHANNEL_NR; + strcpy(counterName,CHANNEL_NAME); + counterType = CHANNEL_TYPE; + couterEThreshold = E_THRESH; + counterTimeShift = (Long64_t) TIME_SHIFT; + keepBelowThresholdHits = KEEP_BELOW_THRESH; + discriminatorRecoveryTime = DEADTIME; + std::cout<<"musrCounter::musrCounter: Creating counter "<Fill(variable,vaha); +} + +//================================================================ +void musrCounter::DrawTDChistogram() { + char canvasName[501]; + sprintf(canvasName,"c%s",TDC_histoName); + TCanvas* cTmp = new TCanvas(canvasName,canvasName); + histTDC->Draw(); +} + +//================================================================ +void musrCounter::FillHitInCounter(Double_t edep, Long64_t timeBin, Long64_t timeBin2, Int_t kEntry, Int_t eveID, Int_t iDet, Int_t detectorID, Int_t eventNum, Int_t& multiCtr){ + static hitInfo *hFlagged; // common to all histograms + //cDEL std::cout<<"FillHitInCounter: timeBin="<=couterEThreshold) || ((counterType=='P') && keepBelowThresholdHits)) { + // multiple count labelling (JSL) + // counter provided by caller (per event across all counters), reset for new muon + // first big hit numbered 0 + // first hit relabelled 1 when second significant hit comes in + // second and subsequent big hits labelled 2,3,etc + // small ones labelled -1 regardless of sequence + // Only for P counters; V,K,M all labelled 0. + Int_t multiCtrTmp; + if(counterType=='P') { + if(edep>=couterEThreshold) { + if((multiCtr==1) && hFlagged) { + // a second good hit, relabel the first hit + // std::cout << "flagged double count in event "<multiHitCtr = 1; + // hFlagged=NULL; + multiCtr++; + } + multiCtrTmp=multiCtr; + multiCtr++; + } else { + multiCtrTmp=-1; + } + } else { + multiCtrTmp=0; // M, V or K counter + } + hitInfo* hInfo = new hitInfo(kEntry,eveID,iDet,detectorID,edep,timeBin-counterTimeShift,timeBin2-counterTimeShift, multiCtrTmp, NULL,0); + if((multiCtrTmp==0) && (counterType=='P')) { hFlagged=hInfo; } // save pointer to the first hit + if(multiCtrTmp>0) { + hInfo->firstMulti = hFlagged; + } + //cDEL std::cout<first; + hitInfo* tempEvnr= it->second; + tempEvnr->RewindTimeBin2(musrAnalysis::rewindTimeBins); + hitMap_TMP.insert( std::pair(tempBinT-musrAnalysis::rewindTimeBins,tempEvnr) ); + } + hitMap.swap(hitMap_TMP); +} + +//================================================================ +Bool_t musrCounter::IsInCoincidence(Long64_t timeBin, char motherCounter){ + // timeBin ... time bin, at which the coincidence is searched + + if (hitMap.empty()) return false; + Long64_t timeBinMin; + Long64_t timeBinMax; + + // If timeBinMinimum and timeBinMaximum are not specified, use internal time window of the detector (koincidence or veto detectors). + // Otherwise use timeBinMinimum and timeBinMaximum (e.g.coincidence of a positron counter with other positron counters). + if (counterType == 'V') timeBinMin = timeBin + antiCoincidenceTimeWindowMin; // this is veto detector + else if (motherCounter=='M') timeBinMin = timeBin + coincidenceTimeWindowMin_M; // this is coinc. detector connected to M + else if (motherCounter=='P') timeBinMin = timeBin + coincidenceTimeWindowMin_P; // this is coinc. detector connected to P + + if (counterType == 'V') timeBinMax = timeBin + antiCoincidenceTimeWindowMax; // this is veto detector + else if (motherCounter=='M') timeBinMax = timeBin + coincidenceTimeWindowMax_M; // this is coinc. detector connected to M + else if (motherCounter=='P') timeBinMax = timeBin + coincidenceTimeWindowMax_P; // this is coinc. detector connected to P + + for (hitMap_TYPE::iterator it = hitMap.begin(); it != hitMap.end(); ++it) { + Long64_t timeBinOfCount_tmp = it->first; + if ((timeBinOfCount_tmp >= timeBinMin) && (timeBinOfCount_tmp <= timeBinMax)) { + // if ((timeBin!=timeBinOfCount_tmp)||(!ignoreHitsAtBinZero)) { + return true; + // } + } + else if (timeBinOfCount_tmp > timeBinMax) return false; + } + return false; +} + +//================================================================ +Bool_t musrCounter::GetNextGoodMuon(Int_t evtID, Long64_t timeBinMin, Long64_t& timeBinOfNextHit, Int_t& kEntry, Int_t& idet, Int_t& idetID, Double_t& idetEdep) { + // This function searches for a good muon, i.e. the muon + // 1) belongs to the currently analysed event + // 2) is in coincidence with all required coincidence detectors + // 3) is not in coincidence with veto detectors + // INPUT PARAMETERS: evtID, timeBinMin + // OUTPUT PARAMETERS: timeBinOfNextHit + // + // Loop over the hits in the counter + // std::cout<<" musrCounter::GetNextGoodMuon timeBinMin="< S T O P !!!\n"; exit(1);} + + std::list it_muon_hits_to_be_deleted; + for (hitMap_TYPE::iterator it = hitMap.begin(); it != hitMap.end(); ++it) { + + Long64_t timeBinOfCount_tmp = it->first; + timeBinOfNextHit = timeBinOfCount_tmp; + Int_t modulo = timeBinOfNextHit % 524288; + if (timeBinOfCount_tmp <= timeBinMin) continue; // This hit was already processed previously ==> skip it + + Int_t eventNumber = (it->second)->eventIDnumber; + if (eventNumber!=evtID) continue; // This trigger hit does not correspond to the currently processed event + // ==> skip it, because it was already proceesed or will be processed in future + numberOfMuonCandidates++; + if (bool_debugingRequired) {if (debugEventMap[evtID]>3) std::cout<<"GetNextGoodMuon: muon candidate found ("<second)->IsInCoincidence(timeBinOfCount_tmp,'M') )) { // no coincidence found ==> skip hit + // if (bool_ignoreUnperfectMuons) hitMap.erase(it); + if (bool_ignoreUnperfectMuons) it_muon_hits_to_be_deleted.push_back(it); + bool_coincidenceConditions = false; + if (bool_debugingRequired) {if (debugEventMap[evtID]>3) std::cout<<"GetNextGoodMuon: muon candidate not in koincidence ("<second)->IsInCoincidence(timeBinOfCount_tmp,'M') ) { // coincidence with veto found ==> skip hit + // if (bool_ignoreUnperfectMuons) hitMap.erase(it); + if (bool_ignoreUnperfectMuons) it_muon_hits_to_be_deleted.push_back(it); + bool_coincidenceConditions = false; + if (bool_debugingRequired) {if (debugEventMap[evtID]>3) std::cout<<"GetNextGoodMuon: muon candidate vetoed ("<3) std::cout<<"GetNextGoodMuon: muon candidate after VK ("<3) std::cout<<"GetNextGoodMuon: muon candidate killed by pileup muon ("<second)->eventEntry; + idet = (it->second)->det_i; + idetID = (it->second)->det_id; + idetEdep = (it->second)->det_edep; + if (bool_debugingRequired) {if (debugEventMap[evtID]>1) std::cout<<"GetNextGoodMuon: GOOD muon candidate found (" + <::iterator itt = it_muon_hits_to_be_deleted.begin(); itt != it_muon_hits_to_be_deleted.end(); ++itt) { + hitMap.erase(*itt); + } + return true; + } + for(std::list::iterator itt = it_muon_hits_to_be_deleted.begin(); itt != it_muon_hits_to_be_deleted.end(); ++itt) { + hitMap.erase(*itt); + } + return false; +} + +//================================================================ +Bool_t musrCounter::CheckForPileupMuons(Long64_t timeBin0) { + // Check for pileup muons. If double hit in M-counter is found, return true. + Long64_t timeBinMinimum = timeBin0; + for (hitMap_TYPE::iterator it = hitMap.begin(); it != hitMap.end(); ++it) { + Long64_t timeBinOfCount_tmp = it->first; + // std::cout<<"timeBin0="< S T O P !!!\n"; exit(1);} + std::list it_positron_hits_to_be_deleted; + for (hitMap_TYPE::iterator it = hitMap.begin(); it != hitMap.end(); ++it) { + // Int_t eventNumber = (it->second)->eventIDnumber; + Long64_t timeBinOfCount_tmp = it->first; + Int_t modulo = timeBinOfCount_tmp % 524288; + if ((timeBinOfCount_tmp <= timeBinMin) || (timeBinOfCount_tmp > timeBinMax)) { + if (bool_debugingRequired) { + if (debugEventMap[evtID]>3) {std::cout<<"GetNextGoodPositron: Hit out of data interval"< skip it + } + + // Hit candidate was found. Now check its coincidences and vetos + Bool_t bool_coincidenceConditions = true; + for (counterMapType::const_iterator itCounter = koincidenceCounterMap.begin(); itCounter!=koincidenceCounterMap.end(); ++itCounter) { + if (bool_debugingRequired) { + if (debugEventMap[evtID]>4) { (itCounter->second)->myPrintThisCounter(evtID); } + } + if (!( (itCounter->second)->IsInCoincidence(timeBinOfCount_tmp,'P') )) { + if (bool_debugingRequired) { + if (debugEventMap[evtID]>3) {std::cout<<"GetNextGoodPositron: Coincidence required but not found (timeBin="< remove the candidate. + if (bool_ignoreUnperfectPositrons) it_positron_hits_to_be_deleted.push_back(it); + bool_coincidenceConditions = false; + goto CoincidencesChecked; + // goto endOfThisHit; // no coincidence found ==> skip hit + } + } + for (counterMapType::const_iterator itCounter = vetoCounterMap.begin(); itCounter!=vetoCounterMap.end(); ++itCounter) { + if ( (itCounter->second)->IsInCoincidence(timeBinOfCount_tmp,'P') ) { + if (bool_debugingRequired) { + if (debugEventMap[evtID]>3) {std::cout<<"GetNextGoodPositron: Coincidence vith veto detector found (timeBin="< remove the candidate. + if (bool_ignoreUnperfectPositrons) it_positron_hits_to_be_deleted.push_back(it); + bool_coincidenceConditions = false; + goto CoincidencesChecked; + // goto endOfThisHit; // coincidence with veto found ==> skip hit + } + } + + CoincidencesChecked: + if (!bool_coincidenceConditions) continue; // This hit does not fulfill coincidence and veto criteria + if (positronQuality==2) { + for(std::list::iterator itt = it_positron_hits_to_be_deleted.begin(); itt != it_positron_hits_to_be_deleted.end(); ++itt) { + hitMap.erase(*itt); + } + return 3; // An electron was already found before, and now again ==> double hit + } + else positronQuality=2; + + kEntry = (it->second)->eventEntry; + idet = (it->second)->det_i; + idetID = (it->second)->det_id; + idetEdep = (it->second)->det_edep; + timeBinOfNextGoodHit = timeBinOfCount_tmp; + timeBinOfNextGoodHit_phaseShifted = (it->second) -> timeBin2; + if (bool_debugingRequired) { + if (debugEventMap[evtID]>3) {std::cout<<"GetNextGoodPositron: Good positron candidate found in this counter. (timeBin="<second)->eventIDnumber<<")"<::iterator itt = it_positron_hits_to_be_deleted.begin(); itt != it_positron_hits_to_be_deleted.end(); ++itt) { + hitMap.erase(*itt); + } + + return positronQuality; +} + +//================================================================ +Int_t musrCounter::GetNextGoodPositronPulsed(Int_t entWanted1, Int_t entWanted2, Long64_t timeBinMin, Long64_t timeBinMax, Long64_t& timeBinOfNextGoodHit, Long64_t& timeBinOfNextGoodHit_phaseShifted, Int_t& kEntry, Int_t& idet, Int_t& idetID, Double_t& idetEdep, Int_t& idetFirstMulti, hitInfo*& hitStruct) { +// pulsed. Sort through one detector + // return positron quality: (>= -1 are "counted" events, 0,1,-2,-3 are "ideal") + // -1000: no more positron candidates + // 0: a normal "good" positron, the only above threshold hit for that muon + // 1..n: "good" positrons, but double count events. 1 - 1st such hit 2=2nd, etc + // -1: "stacked" event, this positron plus remaining "charge" adds to threshold (double hit status of such events not recorded) + // -2..-999: "dead" event, good positron but will not be counted. -2=only hit -3=1st of double -4=2nd of double, etc + Int_t positronQuality=-1000; + Int_t idMin=+1000000000; + Int_t idMax=-1000000000; + // + // entWanted: must be in range + // timeBinMin, timeBinMax: range to search + // timeBinOfNextGoodHit: starting point on entry, filled with time. If < timeBinMin, reset discriminator to beginning and run through pre-time-window events + // timeBinOfNextGoodHit_phaseShifted: adjusted (out only) + // kEntry: entry number for this event + // idet: detector number + // idetID: + // idetEdep: energy deposited by this positron event (may be < threshold!) + // + // may no longer need to unpackage all the vars? + + if(timeBinOfNextGoodHit < timeBinMin || timeBinOfNextGoodHit < discriminatorLastTime) { + // rewind discriminator + discriminatorLastVolts = 0.0; + discriminatorLastTime = timeBinOfNextGoodHit; + discriminatorIterator = hitMap.begin(); + } + // process events until a good hit found, or end + while((discriminatorIterator != hitMap.end()) && (discriminatorIterator->first <= timeBinMax)) { + if(discriminatorIterator->second->eventEntry > idMax) { idMax=discriminatorIterator->second->eventEntry; } + if(discriminatorIterator->second->eventEntry < idMin) { idMin=discriminatorIterator->second->eventEntry; } + Long_t dT=((discriminatorIterator->first)-discriminatorLastTime); + double discriminatorDropVolts=discriminatorLastVolts * exp(-dT/discriminatorRecoveryTime); + discriminatorLastVolts=discriminatorDropVolts + discriminatorIterator->second->det_edep; + discriminatorLastTime=discriminatorIterator->first; + // discriminate it! + Bool_t discriminatorTriggered = (discriminatorDropVolts < couterEThreshold && discriminatorLastVolts > couterEThreshold); + // have we found the wanted event? + if ((((discriminatorIterator->second->eventEntry >= entWanted1) && (discriminatorIterator->second->eventEntry <= entWanted2)) && discriminatorIterator->first > timeBinMin) && (discriminatorTriggered || (discriminatorIterator->second->det_edep > couterEThreshold))) { + //yes + if(discriminatorTriggered) { + positronQuality=discriminatorIterator->second->multiHitCtr; // already checked to see if it was above threshold on its own and/or double + } else { // a missed good count, record these too + positronQuality= -2 - discriminatorIterator->second->multiHitCtr; + } + kEntry = (discriminatorIterator->second)->eventEntry; + idet = (discriminatorIterator->second)->det_i; + idetID = (discriminatorIterator->second)->det_id; + idetEdep = (discriminatorIterator->second)->det_edep; + timeBinOfNextGoodHit = discriminatorIterator->first; + timeBinOfNextGoodHit_phaseShifted = (discriminatorIterator->second) -> timeBin2; + if(((discriminatorIterator->second)->multiHitCtr > 1) && (discriminatorIterator->second)->firstMulti) { + idetFirstMulti = (discriminatorIterator->second)->firstMulti->det_i; + } else { + idetFirstMulti = -1000; // not a second or subsequent multi hit, or not recorded for some reason + } + hitStruct = discriminatorIterator->second; + discriminatorIterator->second->posQual = positronQuality; + discriminatorIterator++; + break; + } else { + discriminatorIterator++; + hitStruct = NULL; + } + } + if(positronQuality==-1000 && ((idMax>idMin) && timeBinOfNextGoodHit<0)) { + // std::cout << "Didn't find entry " << entWanted << " but only range " << idMin << " to " << idMax << " from " << timeBinOfNextGoodHit << std::endl; + } +return positronQuality; +} + +//================================================================ +void musrCounter::SetCoincidenceTimeWindowOfAllCoincidenceDetectors(char motherCounter, Long64_t maxCoinc, Long64_t min, Long64_t max) { + // std::cout<<"QQQQQQQQQQQQQQQQQQQQQ koincidenceCounterMap.size()="<second)->GetMaxCoincidenceTimeWindow()); + if (maxCoinc < maxCoinc_AlreadySet) (it->second)->SetMaxCoincidenceTimeWindow(maxCoinc); + + if (motherCounter=='M') (it->second)->SetCoincidenceTimeWindow_M(min,max); + else if (motherCounter=='P') (it->second)->SetCoincidenceTimeWindow_P(min,max); + else { + std::cout<<"musrCounter::SetCoincidenceTimeWindowOfAllCoincidenceDetectors ERROR: Strange motherCounter " + < S T O P "<second; + Long64_t maxCoinc_AlreadySet = counter->GetMaxCoincidenceTimeWindow(); + Long64_t min_AlreadySet = counter->GetAntiCoincidenceTimeWindowMin(); + Long64_t max_AlreadySet = counter->GetAntiCoincidenceTimeWindowMax(); + if (maxCoinc < maxCoinc_AlreadySet) counter->SetMaxCoincidenceTimeWindow(maxCoinc); + if (min < min_AlreadySet) counter->SetAntiCoincidenceTimeWindowMin(min); + if (max > max_AlreadySet) counter->SetAntiCoincidenceTimeWindowMax(max); + } +} + +//================================================================ +void musrCounter::myPrintThisCounter(Int_t evtID, Int_t detail) { + Bool_t eventMixing=false; + if ((hitMap.begin()==hitMap.end()) && (detail<=1) ) return; + // if (detail>1) std::cout<<"musrCounter::myPrintThisCounter: counterNr = "<first<<" ("<<(it->first)%524288 <<") "<<(it->second)->eventIDnumber<<","; + if (evtID != (it->second)->eventIDnumber) {eventMixing=true;} + } + if (eventMixing) {std::cout<<" Potential event mixing";} + std::cout< (previousClock+musrAnalysis::clock_interval)) { +// previousClock += musrAnalysis::clock_interval; +// // dumpFile<<"-1\t"<=musrAnalysis::rewindTimeBins) tdcBin -= musrAnalysis::rewindTimeBins; + else if (tdcBin<0) tdcBin += musrAnalysis::rewindTimeBins; + // Int_t tdc = (tdcBinsend_to_dump(detID,tdcBin,false); +} +//================================================================ +void musrCounter::WriteRewindIntoDumpFile() { + DumpInfoToDumpFile(-2,1000,0); +} +//================================================================ diff --git a/musrSimAna/musrCounter.hh b/musrSimAna/musrCounter.hh index 0fca77d..b4df8cd 100644 --- a/musrSimAna/musrCounter.hh +++ b/musrSimAna/musrCounter.hh @@ -1,112 +1,123 @@ -#ifndef musrCounter_h -#define musrCounter_h 1 -#include -#include -#include -#include -#include -#include -#include -#include - -class hitInfo { -public: - hitInfo(Int_t kEntry, Int_t evID, Int_t deI, Int_t detectorID, Double_t deEDEP, Long64_t timeBIN2) {eventEntry=kEntry; eventIDnumber=evID; det_i=deI; det_id = detectorID; det_edep=deEDEP; timeBin2=timeBIN2;} - ~hitInfo() {} - void RewindTimeBin2(Long64_t timeBinsToRewind) {timeBin2-=timeBinsToRewind;} - Int_t eventEntry; - Int_t eventIDnumber; - Int_t det_i; - Int_t det_id; - Double_t det_edep; - Long64_t timeBin2; - - // extern double GlobalKamil; - // typedef std::map debugEventMapType; - // extern debugEventMapType debugEventMap; - // extern Bool_t bool_debugingRequired; -}; - -class musrCounter { - public: - musrCounter(int CHANNEL_NR, char CHANNEL_NAME[200], char CHANNEL_TYPE, float E_THRESH, int TIME_SHIFT); - ~musrCounter(); - int GetCounterNr() {return counterNr;} - char GetCounterType() {return counterType;} - void SetCoincidenceCounter(musrCounter* c, int icNr) { - int cNr = abs(icNr); - if (icNr>0) { - std::cout<<"SetCoincidenceCounter: Adding counter ="< counterMapType; - counterMapType koincidenceCounterMap; - counterMapType vetoCounterMap; - char TDC_histoName[200]; - int TDC_t0, TDC_t1, TDC_t2, TDC_histoNrAdd; - char TDC_histoNameAdd[200]; - TH1D* histTDC; - Long64_t antiCoincidenceTimeWindowMin, coincidenceTimeWindowMin_M, coincidenceTimeWindowMin_P; - Long64_t antiCoincidenceTimeWindowMax, coincidenceTimeWindowMax_M, coincidenceTimeWindowMax_P; - Long64_t maxCoincidenceTimeWindow; - // typedef std::map hitMap_TYPE; // Long64_t = timeBin, Int_t=eventID - typedef std::map hitMap_TYPE; // Long64_t = timeBin, hitInfo = eventID and det_i - hitMap_TYPE hitMap; - // std::list timeOfHitsList; - - Int_t doubleHitN; - Long64_t numberOfMuonCandidates; - Long64_t numberOfMuonCandidatesAfterVK; - Long64_t numberOfMuonCandidatesAfterVKandDoubleHitRemoval; - - public: - static Bool_t bool_ignoreUnperfectMuons; - static Bool_t bool_ignoreUnperfectPositrons; - static Bool_t bool_WriteDataToDumpFile; - // static ofstream dumpFile; - // static Long64_t previousClock; - // static Long64_t CLOCK_INTERVAL; -}; - -#endif +#ifndef musrCounter_h +#define musrCounter_h 1 +#include +#include +#include +#include +#include +#include +#include +#include + +class hitInfo { +public: + hitInfo(Int_t kEntry, Int_t evID, Int_t deI, Int_t detectorID, Double_t deEDEP, Long64_t timeBIN1, Long64_t timeBIN2, Int_t multiCtr, hitInfo* firstMulti, Int_t posQuality) {eventEntry=kEntry; eventIDnumber=evID; det_i=deI; det_id = detectorID; det_edep=deEDEP; timeBin1=timeBIN1; timeBin2=timeBIN2; multiHitCtr=multiCtr; firstMulti=NULL;posQual=posQuality;} + ~hitInfo() {} + void RewindTimeBin2(Long64_t timeBinsToRewind) {timeBin2-=timeBinsToRewind;} + Int_t eventEntry; + Int_t eventIDnumber; + Int_t det_i; + Int_t det_id; + Double_t det_edep; + Long64_t timeBin1; // repeated here in case this is not stored in a Map with First=timeBin1 + Long64_t timeBin2; + Int_t multiHitCtr; + hitInfo* firstMulti; + Int_t posQual; + + // extern double GlobalKamil; + // typedef std::map debugEventMapType; + // extern debugEventMapType debugEventMap; + // extern Bool_t bool_debugingRequired; +}; + +class musrCounter { + public: + musrCounter(int CHANNEL_NR, char CHANNEL_NAME[200], char CHANNEL_TYPE, float E_THRESH, int TIME_SHIFT, double DEADTIME, Bool_t KEEP_BELOW_THRESH); + ~musrCounter(); + int GetCounterNr() {return counterNr;} + char GetCounterType() {return counterType;} + void SetCoincidenceCounter(musrCounter* c, int icNr) { + int cNr = abs(icNr); + if (icNr>0) { + std::cout<<"SetCoincidenceCounter: Adding counter ="< counterMapType; + counterMapType koincidenceCounterMap; + counterMapType vetoCounterMap; + char TDC_histoName[200]; + int TDC_t0, TDC_t1, TDC_t2, TDC_histoNrAdd; + char TDC_histoNameAdd[200]; + TH1D* histTDC; + Long64_t antiCoincidenceTimeWindowMin, coincidenceTimeWindowMin_M, coincidenceTimeWindowMin_P; + Long64_t antiCoincidenceTimeWindowMax, coincidenceTimeWindowMax_M, coincidenceTimeWindowMax_P; + Long64_t maxCoincidenceTimeWindow; + // typedef std::map hitMap_TYPE; // Long64_t = timeBin, Int_t=eventID + typedef std::map hitMap_TYPE; // Long64_t = timeBin, hitInfo = eventID and det_i + hitMap_TYPE hitMap; + // std::list timeOfHitsList; + // for pulsed double hit processing + double discriminatorLastVolts; + Long64_t discriminatorLastTime; + hitMap_TYPE::iterator discriminatorIterator; + Double_t discriminatorRecoveryTime; // in TDC bins! + + Int_t doubleHitN; + Long64_t numberOfMuonCandidates; + Long64_t numberOfMuonCandidatesAfterVK; + Long64_t numberOfMuonCandidatesAfterVKandDoubleHitRemoval; + + public: + static Bool_t bool_ignoreUnperfectMuons; + static Bool_t bool_ignoreUnperfectPositrons; + static Bool_t bool_WriteDataToDumpFile; + // static ofstream dumpFile; + // static Long64_t previousClock; + // static Long64_t CLOCK_INTERVAL; +}; + +#endif diff --git a/musrSimAna/musrTH.cxx b/musrSimAna/musrTH.cxx index 8103c4c..ce0410d 100644 --- a/musrSimAna/musrTH.cxx +++ b/musrSimAna/musrTH.cxx @@ -49,7 +49,7 @@ void musrTH::FillTH1D(Double_t vaha, Bool_t* cond){ for (Int_t i=0; iGetName()<<"\", funct_xMin="<FixParameter(0,omega);} diff --git a/src/meyer.cc b/src/meyer.cc index 2abd560..c3567f4 100644 --- a/src/meyer.cc +++ b/src/meyer.cc @@ -60,6 +60,10 @@ #include #include #include +// James Lord: +// already defines its own constant Pi so no need to look for M_PI anywhere +// #define _USE_MATH_DEFINES 1 +// #include using namespace std; meyer::meyer() @@ -258,7 +262,7 @@ void meyer::Get_F_Function_Meyer(double tau, double Ekin, double Z1, double Z2, } // std::cout<< "M4: "<50.) { thetaStep = .5; @@ -292,7 +296,7 @@ void meyer::Get_F_Function_Meyer(double tau, double Ekin, double Z1, double Z2, // ! Berechne aus theta das 'reduzierte' thetaSchlange (dabei gleich // ! noch von degree bei theta in Radiant bei thetaSchlange umrechnen): // - thetaSchlange = Meyer_faktor4 * Ekin * theta *M_PI/180; + thetaSchlange = Meyer_faktor4 * Ekin * theta *Pi/180; // ! Auslesen der Tabellenwerte fuer die f-Funktionen: @@ -305,7 +309,7 @@ void meyer::Get_F_Function_Meyer(double tau, double Ekin, double Z1, double Z2, } // ! Berechnen der Streuintensitaet: - F = Meyer_faktor4*Meyer_faktor4 * Ekin*Ekin /2 /M_PI * (f1 - Meyer_faktor3*f2);// TAO, Anselm was: Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2); + F = Meyer_faktor4*Meyer_faktor4 * Ekin*Ekin /2 /Pi * (f1 - Meyer_faktor3*f2);// TAO, Anselm was: Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2); nBin = nBin + 1; if (nBin>nBinMax) @@ -317,7 +321,7 @@ void meyer::Get_F_Function_Meyer(double tau, double Ekin, double Z1, double Z2, value[nBin] = sin(theta)*F; fValues[nBin+1] = F; // ! fuer Testzwecke - fValuesFolded[nBin+1] = sin(theta/180*M_PI)*F;// ! fuer Testzwecke + fValuesFolded[nBin+1] = sin(theta/180*Pi)*F;// ! fuer Testzwecke }// end of do loop @@ -348,7 +352,7 @@ void meyer::Get_F_Function_Meyer(double tau, double Ekin, double Z1, double Z2, //! Berechne die Werte fuer theta=0: F_Functions_Meyer(tau,0.,&f1,&f2); - F = Meyer_faktor4*Meyer_faktor4 * Ekin*Ekin /2 /M_PI * (f1 - Meyer_faktor3*f2);// TAO, Anselm was: Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2); + F = Meyer_faktor4*Meyer_faktor4 * Ekin*Ekin /2 /Pi * (f1 - Meyer_faktor3*f2);// TAO, Anselm was: Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2); fValues[1] = F; fValuesFolded[1] = 0.; @@ -463,7 +467,7 @@ void meyer:: Get_F_Function(double tau,double theta, double Ekin, double Z1, dou nBin = 0; - thetaSchlange = Meyer_faktor4 * Ekin * theta *M_PI/180; + thetaSchlange = Meyer_faktor4 * Ekin * theta *Pi/180; F_Functions_Meyer(tau,thetaSchlange,&f1,&f2); @@ -472,7 +476,7 @@ void meyer:: Get_F_Function(double tau,double theta, double Ekin, double Z1, dou goto bigtheta; } - *F = Meyer_faktor4*Meyer_faktor4 * Ekin*Ekin /2 /M_PI * (f1 - Meyer_faktor3*f2); + *F = Meyer_faktor4*Meyer_faktor4 * Ekin*Ekin /2 /Pi * (f1 - Meyer_faktor3*f2); bigtheta:for( i = 1;i<= nBin; i++) { @@ -486,7 +490,7 @@ void meyer:: Get_F_Function(double tau,double theta, double Ekin, double Z1, dou //! Berechne die Werte fuer theta=0: double norm; F_Functions_Meyer(tau,0.,&f1,&f2); - norm = Meyer_faktor4*Meyer_faktor4 * Ekin*Ekin /2 /M_PI * (f1 - Meyer_faktor3*f2); + norm = Meyer_faktor4*Meyer_faktor4 * Ekin*Ekin /2 /Pi * (f1 - Meyer_faktor3*f2); *F=*F/norm; } diff --git a/src/musrDetectorConstruction.cc b/src/musrDetectorConstruction.cc index 5bd84b2..4c67088 100644 --- a/src/musrDetectorConstruction.cc +++ b/src/musrDetectorConstruction.cc @@ -44,6 +44,7 @@ #include "G4Box.hh" #include "G4Cons.hh" #include "G4Polycone.hh" +#include "G4Torus.hh" #include "G4LogicalVolume.hh" #include "G4PVPlacement.hh" #include "G4Tubs.hh" @@ -329,6 +330,13 @@ G4VPhysicalVolume* musrDetectorConstruction::Construct() { solidName+=name; solid = new G4Para(solidName,x1*mm,x2*mm,x3*mm,x4*deg,x5*deg,x6*deg); } + else if (strcmp(tmpString2,"torus")==0){ // added JSL. Torus piece, Rmin (bore), Rmax (outer), Rtorus (swept), pSPhi (start angle), pDPhi (swept angle) + sscanf(&line[0],"%*s %*s %*s %s %lf %lf %lf %lf %lf %s %lf %lf %lf %s %s", + name,&x1,&x2,&x3,&x4,&x5,material,&posx,&posy,&posz,mothersName,rotMatrix); + sscanf(&line[0],"%*s %*s %*s %*s %*g %*g %*g %*g %*g %*s %*g %*g %*g %*s %*s %s %d %s",sensitiveDet,&volumeID,actualFieldName); + solidName+=name; + solid = new G4Torus(solidName,x1*mm,x2*mm,x3*mm,x4*deg,x5*deg); + } else if (strcmp(tmpString2,"cylpart")==0){ // Volume introduced by Pavel Bakule on 12 May 2009 sscanf(&line[0],"%*s %*s %*s %s %lf %lf %lf %lf %s %lf %lf %lf %s %s", name,&x1,&x2,&x3,&x4,material,&posx,&posy,&posz,mothersName,rotMatrix); @@ -665,7 +673,7 @@ G4VPhysicalVolume* musrDetectorConstruction::Construct() { sscanf(&line[0],"%*s %*s %*s %*s %*g %*g %*g %*s %*g %*g %*g %*s %*s %s %d",sensitiveDet,&volumeID); solidName+=name; G4Box* solidGPDcutOut = new G4Box ("solidGPDcutOut",x1*mm,x1*mm,(x3+0.01)*mm); - G4Box* solidGPDmHolder = new G4Box ("solidGPDmHolder",sqrt(2)*x1*mm,x2*mm,x3*mm); + G4Box* solidGPDmHolder = new G4Box ("solidGPDmHolder",sqrt((double)2)*x1*mm,x2*mm,x3*mm); // G4RotationMatrix* rot = new G4RotationMatrix(45*deg,0,0); G4RotationMatrix* rot = new G4RotationMatrix(G4ThreeVector(0,0,1),45*deg); // G4RotationMatrix* rot = new G4RotationMatrix(); @@ -673,6 +681,28 @@ G4VPhysicalVolume* musrDetectorConstruction::Construct() { solid = new G4SubtractionSolid(solidName,solidGPDmHolder,solidGPDcutOut,rot,trans); // solid = new G4SubtractionSolid(solidName,solidGPDcutOut,solidGPDmHolder,rot,trans); } + else if (strcmp(tmpString2,"cruciform")==0){ + // JSL: Create a solid cruciform (union of 3 mutually perpendicular cylinders). Top port can be different to bottom. + // x1=radius of main (+-z) x2=radius of +-x and -y, x3=radius of +y x4=z extent x5=x,y extent + // could enclose another of these inside, filled with vacuum + sscanf(&line[0],"%*s %*s %*s %s %lf %lf %lf %lf %lf %s %lf %lf %lf %s %s", + name,&x1,&x2,&x3,&x4,&x5,material,&posx,&posy,&posz,mothersName,rotMatrix); + sscanf(&line[0],"%*s %*s %*s %*s %*g %*g %*g %*g %*g %*s %*g %*g %*g %*s %*s %s %d %s",sensitiveDet,&volumeID,actualFieldName); + solidName+=name; + //G4double roundingErr=0.01*mm; // to avoid some displaying problems of the subtracted volumes + G4Tubs* solidMainBore = new G4Tubs("solidMainBore" ,0.*mm,x1*mm,x4*mm,0*deg,360*deg); + G4Tubs* solidHorizCrossBore = new G4Tubs("solidHorizCrossBore",0.*mm,x2*mm,x5*mm,0*deg,360*deg); + G4Tubs* solidBottomBore = new G4Tubs("solidBottomBore" ,0.*mm,x2*mm,x5/2*mm,0*deg,360*deg); + G4Tubs* solidTopBore = new G4Tubs("solidTopBore" ,0.*mm,x3*mm,x5/2*mm,0*deg,360*deg); + G4RotationMatrix* rotx = new G4RotationMatrix(G4ThreeVector(0.,1.,0.),90.*deg); + G4RotationMatrix* roty = new G4RotationMatrix(G4ThreeVector(1.,0.,0.),90.*deg); + G4ThreeVector nowhere( 0,0,0); + G4ThreeVector UpOffset( 0., x5/2.*mm, 0.); + G4ThreeVector DownOffset( 0., -x5/2.*mm, 0.); + G4UnionSolid* partXZonly = new G4UnionSolid("partXZonly", solidMainBore, solidHorizCrossBore, rotx, nowhere); + G4UnionSolid* partXZBonly = new G4UnionSolid("partXZBonly", partXZonly, solidBottomBore, roty, DownOffset); + solid = new G4UnionSolid(solidName, partXZBonly, solidTopBore, roty, UpOffset); + } else ReportGeometryProblem(line); G4ThreeVector position = G4ThreeVector (posx*mm,posy*mm,posz*mm); @@ -1631,6 +1661,41 @@ void musrDetectorConstruction::DefineMaterials() Air->AddElement(N, fractionmass=0.7); Air->AddElement(O, fractionmass=0.3); + G4Material* Air1mbar = + new G4Material("Air1mbar" , density= 1.290e-3*mg/cm3, ncomponents=2); + Air1mbar->AddElement(N, fractionmass=0.7); + Air1mbar->AddElement(O, fractionmass=0.3); + + G4Material* AirE1mbar = + new G4Material("AirE1mbar" , density= 1.290e-4*mg/cm3, ncomponents=2); + AirE1mbar->AddElement(N, fractionmass=0.7); + AirE1mbar->AddElement(O, fractionmass=0.3); + + G4Material* AirE2mbar = + new G4Material("AirE2mbar" , density= 1.290e-5*mg/cm3, ncomponents=2); + AirE2mbar->AddElement(N, fractionmass=0.7); + AirE2mbar->AddElement(O, fractionmass=0.3); + + G4Material* AirE3mbar = + new G4Material("AirE3mbar" , density= 1.290e-6*mg/cm3, ncomponents=2); + AirE3mbar->AddElement(N, fractionmass=0.7); + AirE3mbar->AddElement(O, fractionmass=0.3); + + G4Material* AirE4mbar = + new G4Material("AirE4mbar" , density= 1.290e-7*mg/cm3, ncomponents=2); + AirE4mbar->AddElement(N, fractionmass=0.7); + AirE4mbar->AddElement(O, fractionmass=0.3); + + G4Material* AirE5mbar = + new G4Material("AirE5mbar" , density= 1.290e-8*mg/cm3, ncomponents=2); + AirE5mbar->AddElement(N, fractionmass=0.7); + AirE5mbar->AddElement(O, fractionmass=0.3); + + G4Material* AirE6mbar = + new G4Material("AirE6mbar" , density= 1.290e-9*mg/cm3, ncomponents=2); + AirE6mbar->AddElement(N, fractionmass=0.7); + AirE6mbar->AddElement(O, fractionmass=0.3); + // // examples of vacuum // @@ -1661,6 +1726,9 @@ void musrDetectorConstruction::DefineMaterials() new G4Material("HeliumGas80mbar",z=2., a=4.002602*g/mole, density= 0.00001410112*g/cm3); new G4Material("HeliumGas90mbar",z=2., a=4.002602*g/mole, density= 0.00001586376*g/cm3); new G4Material("HeliumGas100mbar",z=2.,a=4.002602*g/mole, density= 0.00001762640*g/cm3); + new G4Material("HeliumGasSat4K",z=2., a=4.002602*g/mole, density= 0.016891*g/cm3); // saturated vapour above liquid at 4.2K (JSL) + new G4Material("HeliumGas5mbar4K",z=2.,a=4.002602*g/mole, density= 0.016891*5.0/1013.0*g/cm3); // typical cold exchange gas, 4.2K and 5 mbar + new G4Material("HeliumGas2mbar4K",z=2.,a=4.002602*g/mole, density= 0.016891*2.0/1013.0*g/cm3); // typical cold exchange gas, 4.2K and 5 mbar if (musrParameters::boolG4OpticalPhotons) { diff --git a/src/musrErrorMessage.cc b/src/musrErrorMessage.cc index e220369..60286be 100644 --- a/src/musrErrorMessage.cc +++ b/src/musrErrorMessage.cc @@ -47,6 +47,7 @@ void musrErrorMessage::musrError(SEVERITY severity, G4String message, G4bool sil actualErrorMessage.mesSeverity = severity; actualErrorMessage.nTimes = 1; ErrorMapping[message]=actualErrorMessage; + it = ErrorMapping.find(message); G4cout<<"!!!"<AbortRun(true); } - if (thisEventNr != 0 and thisEventNr%nHowOftenToPrintEvent == 0) { + if ((thisEventNr != 0) && (thisEventNr%nHowOftenToPrintEvent == 0)) { time_t curr=time(0); //char * ctime(const time_t * tp); G4cout << ">>> Event " << evt->GetEventID() <<". Running already for "<GetTrajectoryContainer()))[i]); - trj->DrawTrajectory(1000); + trj->DrawTrajectory(); //removed argument 1000 (JSL) } } } diff --git a/src/musrPhysicsList.cc b/src/musrPhysicsList.cc index aa40a46..2f05521 100644 --- a/src/musrPhysicsList.cc +++ b/src/musrPhysicsList.cc @@ -264,6 +264,7 @@ void musrPhysicsList::ConstructProcess() // For optical photons #include "G4Scintillation.hh" +#include "G4Cerenkov.hh" // For models #include "G4ProcessTable.hh" @@ -336,6 +337,13 @@ void musrPhysicsList::ConstructEM() else if (stringProcessName=="G4OpRayleigh") pManager->AddDiscreteProcess(new G4OpRayleigh); else if (stringProcessName=="G4OpBoundaryProcess") pManager->AddDiscreteProcess(new G4OpBoundaryProcess); else if (stringProcessName=="G4OpWLS") pManager->AddDiscreteProcess(new G4OpWLS); + else if (stringProcessName=="G4Cerenkov") { + G4Cerenkov* myCerenkov = new G4Cerenkov(); + myCerenkov->SetMaxNumPhotonsPerStep(20); // settings from GEANT example N06 + myCerenkov->SetMaxBetaChangePerStep(10.0); + myCerenkov->SetTrackSecondariesFirst(false); // as for Scintillation, do main high energy particles first + pManager->AddDiscreteProcess(myCerenkov); // added JSL + } else { sprintf(eMessage,"musrPhysicsList: Process \"%s\" is not implemented in musrPhysicsList.cc for addDiscreteProcess. It can be easily added.", charProcessName); @@ -373,6 +381,14 @@ void musrPhysicsList::ConstructEM() if (musrParameters::finiteRiseTimeInScintillator) myScintillation->SetFiniteRiseTime(true); pManager->AddProcess(myScintillation,nr1,nr2,nr3); } + else if (stringProcessName=="G4Cerenkov") { + G4Cerenkov* myCerenkov = new G4Cerenkov(); + myCerenkov->SetMaxNumPhotonsPerStep(20); // settings from GEANT example N06 + myCerenkov->SetMaxBetaChangePerStep(10.0); + myCerenkov->SetTrackSecondariesFirst(false); // as for Scintillation, do main high energy particles first + pManager->AddProcess(myCerenkov,nr1,nr2,nr3); // added JSL + pManager->SetProcessOrdering(myCerenkov,idxPostStep); // from Example N06 + } // cks: musrMuScatter could be uncommented here, but testing is needed, because Toni has some strange comments // in his original "musrPhysicsList.cc about implementing musrMuScatter. // else if (stringProcessName=="musrMuScatter") pManager->AddProcess(new musrMuScatter,nr1,nr2,nr3); diff --git a/src/musrRootOutput.cc b/src/musrRootOutput.cc index f25879d..23ea2ba 100644 --- a/src/musrRootOutput.cc +++ b/src/musrRootOutput.cc @@ -833,8 +833,9 @@ void musrRootOutput::SetPhotDetTime(G4double time) { nOptPhotDet++; } else { + nOptPhotDet++; // still want to know how many in total (JSL) char message[200]; sprintf(message,"musrRootOutput.cc::SetPhotDetTime: number of individual photons larger than maxNOptPhotDet (=%d)",maxNOptPhotDet); - musrErrorMessage::GetInstance()->musrError(WARNING,message,false); + musrErrorMessage::GetInstance()->musrError(WARNING,message,true); // had silent=false and printed all messages (JSL) } } diff --git a/src/musrScintSD.cc b/src/musrScintSD.cc index 00b621d..77e384a 100644 --- a/src/musrScintSD.cc +++ b/src/musrScintSD.cc @@ -35,6 +35,7 @@ #include "musrErrorMessage.hh" #include "musrSteppingAction.hh" //#include "TCanvas.h" +#include "TH1D.h" #include "TMath.h" #include "TF1.h" #include @@ -131,6 +132,7 @@ musrScintSD::musrScintSD(G4String name) APDcellsTimeVariationRequested=false; APDcrossTalkRequested=false; APDcrossTalkProb=0.; + // verboseLevel = 9; // JSL } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -167,8 +169,10 @@ void musrScintSD::Initialize(G4HCofThisEvent* HCE) { if (musrParameters::boolG4OpticalPhotons) { if (!musrParameters::boolG4OpticalPhotonsUnprocess) { for (optHitMapType::const_iterator it=optHitMap.begin() ; it != optHitMap.end(); it++ ) { + if (verboseLevel>1) G4cout<<"VERBOSE 2 : deleting optHitDetectorMap" <<"\n"; delete (it->second); } + if (verboseLevel>1) G4cout<<"VERBOSE 2 : clearing optHitMap" <<"\n"; optHitMap.clear(); } } @@ -208,6 +212,7 @@ G4bool musrScintSD::ProcessHits(G4Step* aStep,G4TouchableHistory*) + if (verboseLevel>1) G4cout<<"VERBOSE 2 : creating a new musrScintHit" <<"\n"; musrScintHit* newHit = new musrScintHit(); // newHit->SetParticleName (aTrack->GetDefinition()->GetParticleName()); newHit->SetParticleName(particleName); @@ -286,6 +291,7 @@ void musrScintSD::ProcessOpticalPhoton(G4Step* aStep) { // G4cout<<" detID ="<(detID,optHitDetectorMapTmp)); iter = optHitMap.find(detID); @@ -380,7 +386,7 @@ void musrScintSD::EndOfEvent(G4HCofThisEvent*) { // in which case times are huge and due to the limited rounding // precision become equal --> map ignores the same "keys", // multimap does not. - std::map::iterator it; + std::multimap::iterator it; for (G4int i=0; iGetGlobalTime(); @@ -670,6 +676,7 @@ void musrScintSD::EndOfEvent_OptiacalPhotons() { iHistNr++; char nameHist[200]; sprintf(nameHist,"OPSAhist_%d_%d_%d",eeeventID,OPSA_detID,iHistNr); char nameHistTitle[200]; sprintf(nameHistTitle,"OPSAhist_%d_%d_%d;time (ns);Nr of photons",eeeventID,OPSA_detID,iHistNr); + if (verboseLevel>1) G4cout<<"VERBOSE 2 : creating a new TH1D for OPSAhisto" <<"\n"; OPSAhisto = new TH1D(nameHist, nameHistTitle, OPSAhistoNbin, OPSAhistoMin, OPSAhistoMax); // poiss = new TF1("poiss",poissonf,0.,.5,2); // x in [0;300], 2 // poiss->SetParameter(0,1); @@ -677,9 +684,11 @@ void musrScintSD::EndOfEvent_OptiacalPhotons() { if (bool_pulseShapeExists) { sprintf(nameHist,"OPSAshape_%d_%d_%d",eeeventID,OPSA_detID,iHistNr); sprintf(nameHistTitle,"OPSAshape_%d_%d_%d;time (ns);Pulse signal",eeeventID,OPSA_detID,iHistNr); + if (verboseLevel>1) G4cout<<"VERBOSE 2 : creating a new TH1D for OPSAshape" <<"\n"; OPSAshape = new TH1D(nameHist, nameHistTitle, OPSAhistoNbin, OPSAhistoMin, OPSAhistoMax); sprintf(nameHist,"OPSA_CFD_%d_%d_%d",eeeventID,OPSA_detID,iHistNr); sprintf(nameHistTitle,"OPSA_CFD_%d_%d_%d;time (ns);CFD signal",eeeventID,OPSA_detID,iHistNr); + if (verboseLevel>1) G4cout<<"VERBOSE 2 : creating a new TH1D for OPSA_CFD" <<"\n"; OPSA_CFD = new TH1D(nameHist, nameHistTitle, OPSAhistoNbin, OPSAhistoMin, OPSAhistoMax); } } @@ -695,6 +704,7 @@ void musrScintSD::EndOfEvent_OptiacalPhotons() { else { // create histogram because it does not exist char nameHistTitle[200]; sprintf(nameHistTitle,"OPSAhistSUM_%d_%d;time (ns);Nr of photons",OPSA_detID,iHistNrSUM); char nameHistTitle0[200]; sprintf(nameHistTitle0,"OPSAhistSUM0_%d_%d;time (ns);Nr of photons",OPSA_detID,iHistNrSUM); + if (verboseLevel>1) G4cout<<"VERBOSE 2 : creating new TH1Ds for OPSAhistoSUM,0" <<"\n"; OPSAhistoSUM = new TH1D(nameHist, nameHistTitle, OPSAhistoNbin, OPSAhistoMin, OPSAhistoMax); OPSAhistoSUM0= new TH1D(nameHist0,nameHistTitle0,OPSAhistoNbin, OPSAhistoMin, OPSAhistoMax); mapOfOPSAsumHistograms.insert(std::pair(nameHist,OPSAhistoSUM)); @@ -1026,13 +1036,16 @@ void musrScintSD::EndOfEvent_OptiacalPhotons() { // Delete the histograms from memory if they were created if ((boolStoreThisOPSAhist)||(bool_pulseShapeExists)) { + if (verboseLevel>1) G4cout<<"VERBOSE 2 : deleting OPSAhisto" <<"\n"; delete OPSAhisto; if (bool_pulseShapeExists) { + if (verboseLevel>1) G4cout<<"VERBOSE 2 : deleting OPSAshape and CFD" <<"\n"; delete OPSAshape; delete OPSA_CFD; } } + if (verboseLevel>1) G4cout<<"VERBOSE 2 : creating new signalInfo" <<"\n"; signalInfo* mySignalInfo = new signalInfo(OPSA_detID,OPSA_nPhot,OPSA_nPhotPrim,OPSA_timeFirst,OPSA_timeSecond,OPSA_timeThird, OPSA_timeA,OPSA_timeB,OPSA_timeC,OPSA_timeD,OPSA_timeMean,OPSA_timeLast, OPSA_CFD_time,OPSA_CFD_ampl,timeCFDarray,OPSA_timeC1); @@ -1070,6 +1083,7 @@ void musrScintSD::EndOfEvent_OptiacalPhotons() { } // Now delete all mySignalInfo* from OPSA_signal_Map for (OPSA_signal_MapType::const_iterator itOPSA = OPSA_signal_Map.begin(); itOPSA != OPSA_signal_Map.end(); itOPSA++) { + if (verboseLevel>1) G4cout<<"VERBOSE 2 : deleting itOPSA->second" <<"\n"; delete (itOPSA->second); } OPSA_signal_Map.clear(); @@ -1162,16 +1176,20 @@ G4int musrScintSD::FindAPDcellID(G4Step* aStep) { void musrScintSD::FireAPDcell(optHitDetectorMapType* optHitDetectorMap, G4int APDcellID, G4double time, G4int nTruePhe) { if ( (musrRootOutput::store_phot_time) && (nTruePhe>0) ) myRootOutput->SetPhotDetTime(time); if (!APDcellsEffectRequested) { + if (verboseLevel>1) G4cout<<"VERBOSE 2 : storing photon hit (non APD)" <<"\n"; APDidClass tmpAPDid(0,nTruePhe); // optHitDetectorMap->insert(std::pair(time,0)); optHitDetectorMap->insert(std::pair(time,tmpAPDid)); } else { G4bool APDcellAlreadyFired = false; + if (verboseLevel>1) G4cout<<"VERBOSE 2 : searching for the APD element" <<"\n"; for (optHitDetectorMapType::iterator it2 = optHitDetectorMap->begin(); it2 != optHitDetectorMap->end(); it2++ ) { if ((it2->second).GetAPDcellID()==APDcellID) { // this cell already fired before ==> check times + if (verboseLevel>1) G4cout<<"VERBOSE 2 : this cell already fired before" <<"\n"; APDcellAlreadyFired = true; if (time<(it2->first)) { // the new cell fired before the already saved cell ==> replace it + if (verboseLevel>1) G4cout<<"VERBOSE 2 : and the new photon is earlier, replacing" <<"\n"; G4int tmpAPDcellNphot = (it2->second).GetAPDcellNphot() + nTruePhe; APDidClass tmpAPDid(APDcellID,tmpAPDcellNphot); optHitDetectorMap->erase(it2); @@ -1183,6 +1201,7 @@ void musrScintSD::FireAPDcell(optHitDetectorMapType* optHitDetectorMap, G4int AP } if (!APDcellAlreadyFired) { // optHitDetectorMap->insert(std::pair(time,APDcellID)); + if (verboseLevel>1) G4cout<<"VERBOSE 2 : this cell hasn't fired, storing" <<"\n"; APDidClass tmpAPDid(APDcellID,nTruePhe); optHitDetectorMap->insert(std::pair(time,tmpAPDid)); } diff --git a/src/musrTabulatedElementField.cc b/src/musrTabulatedElementField.cc index 47ec04c..49a1f6e 100644 --- a/src/musrTabulatedElementField.cc +++ b/src/musrTabulatedElementField.cc @@ -617,10 +617,12 @@ void musrTabulatedElementField::addFieldValue2D(const G4double point[4], local = global2local.TransformPoint(global); double x, z, z_sign; - if ((strcmp(fieldTableType,"2D")==0)||(strcmp(fieldTableType,"2DBOpera")==0)|| - (strcmp(fieldTableType,"2D_OperaXY"))||(strcmp(fieldTableType,"2DEf")==0)) { +// if ((strcmp(fieldTableType,"2D")==0)||(strcmp(fieldTableType,"2DBOpera")==0)|| +// (strcmp(fieldTableType,"2D_OperaXY"))||(strcmp(fieldTableType,"2DEf")==0)) { // Field is defined in just positive range of z; i.e. it is expected to be "symmetric" // and the field for negative z is calculated from the positive z half. + if (minimumz >= 0) { + // JSL: Use field values for z<0 if they're in the table! Reflect otherwise. x = sqrt(local.x()*local.x()+local.y()*local.y()); z = fabs(local.z()); z_sign = (local.z()>0) ? 1.:-1.; @@ -631,8 +633,9 @@ void musrTabulatedElementField::addFieldValue2D(const G4double point[4], z = local.z(); z_sign = 1; } - // Check that the point is within the defined region - if ( x=minimumx && x=minimumz && zevNrKriz) std::cout<<"bol som tu"<