diff --git a/doc/musrSimAna.pdf b/doc/musrSimAna.pdf index 39c33dc..ca7e615 100644 Binary files a/doc/musrSimAna.pdf and b/doc/musrSimAna.pdf differ diff --git a/doc/musrSimAna.tex b/doc/musrSimAna.tex index 5b27c71..42b05d2 100644 --- a/doc/musrSimAna.tex +++ b/doc/musrSimAna.tex @@ -290,6 +290,14 @@ All events should/have to be (?) saved in the Root tree 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. @@ -400,6 +408,13 @@ All events should/have to be (?) saved in the Root tree \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} } \\ diff --git a/musrSim.cc b/musrSim.cc index d151790..720fe56 100644 --- a/musrSim.cc +++ b/musrSim.cc @@ -41,7 +41,7 @@ int main(int argc,char** argv) { XInitThreads(); G4cout<<"\n\n*************************************************************"< Add it in the musrAnalysis.cxx S T O P !!!"<promptPeakWindowMin) && (det_time10GetXaxis()->GetXmin()); +} +//============================================================================================== +Int_t musrTH::GetXmax1D() { + return int(histArray1D[0]->GetXaxis()->GetXmax()); +} +//============================================================================================== Int_t musrTH::GetNbinsX1D() { return histArray1D[0]->GetNbinsX(); } @@ -171,7 +179,8 @@ void musrTH::FillHumanDecayArray(musrTH* decayMapHistos, humanDecayMapType myMap } // // if (iHumanBinForAllTheRest != -1) { - for (Int_t j=1; j<= (decayMapHistos->GetNbinsX1D()); j++) { + // for (Int_t j=1; j<= (decayMapHistos->GetNbinsX1D()); j++) { + for (Int_t j=(decayMapHistos->GetXmin1D()); j<= (decayMapHistos->GetXmax1D()); j++) { Double_t value = decayMapHistos->GetBinContent1D(i,j); Bool_t thisBinWasAssigned=false; if (value!=0) { @@ -180,8 +189,10 @@ void musrTH::FillHumanDecayArray(musrTH* decayMapHistos, humanDecayMapType myMap if (iDecayHistoBin==j) thisBinWasAssigned=true; } } - if ((!thisBinWasAssigned)&&(value!=0)) { - std::cout<<"musrHT.cxx: Some muons stoped and decayed in detector no. "< GetBinContent(XXXX); } } diff --git a/musrSimAna/musrTH.hh b/musrSimAna/musrTH.hh index 87fef96..5d14a4d 100644 --- a/musrSimAna/musrTH.hh +++ b/musrSimAna/musrTH.hh @@ -34,6 +34,8 @@ public: // TH1D** GetHistArray1D(std::string& varToBeFilled) {varToBeFilled = variableToBeFilled_X; return histArray1D;} TH1D** GetHistArray1D() {return histArray1D;} // TH2D** GetHistArray2D() {return histArray2D;} + Int_t GetXmin1D(); + Int_t GetXmax1D(); Int_t GetNbinsX1D(); Int_t GetNbinsX2D(); Int_t GetNbinsY2D();