From b404a381ce4c76e747d9535b8b72951888b0760e Mon Sep 17 00:00:00 2001 From: "Ryan@SOLARIS-MAC" Date: Tue, 6 May 2025 11:01:54 -0500 Subject: [PATCH] rename all Key folders to small letter, update SimHelper and related code --- .gitignore | 2 + .vscode/c_cpp_properties.json | 3 +- Armory/ClassReactionConfig.h | 12 +- Armory/EventBuilder | 2 +- Cleopatra/ClassSimPlotter.h | 1 + Cleopatra/PlotTGraphTObjArray.h | 5 +- Cleopatra/SimChecker.C | 12 +- Cleopatra/SimTransfer.C | 7 +- armory/AnalysisLib.h | 392 ++++ armory/AutoFit.C | 2861 +++++++++++++++++++++++++ armory/ClassCorrParas.h | 175 ++ armory/ClassDetGeo.h | 268 +++ armory/ClassReactionConfig.h | 345 +++ armory/ClassReactionParas_tobeKill.h | 158 ++ armory/GeneralSort.C | 199 ++ armory/GeneralSort.h | 359 ++++ armory/GeneralSortAgent.C | 56 + armory/Process_BasicConfig | 90 + armory/Process_Download | 109 + armory/Process_EventBuilder | 111 + armory/Process_MultiRuns | 96 + armory/Process_Run | 101 + armory/Process_Sort | 95 + armory/readRawTrace.C | 144 ++ armory/readTrace.C | 171 ++ cleopatra/Check_Simulation_obsolete.C | 656 ++++++ cleopatra/ClassDecay.h | 180 ++ cleopatra/ClassHelios.h | 551 +++++ cleopatra/ClassIsotope.h | 520 +++++ cleopatra/ClassKnockout.h | 301 +++ cleopatra/ClassSimPlotter.h | 503 +++++ cleopatra/ClassTargetScattering.h | 202 ++ cleopatra/ClassTransfer.h | 593 +++++ cleopatra/Cleopatra.C | 111 + cleopatra/ExtractXSec.C | 48 + cleopatra/ExtractXSec.h | 546 +++++ cleopatra/ExtractXSecFromText.C | 41 + cleopatra/FindThetaCM.C | 56 + cleopatra/FindThetaCM.h | 143 ++ cleopatra/InFileCreator.C | 68 + cleopatra/InFileCreator.h | 404 ++++ cleopatra/Isotope.C | 64 + cleopatra/PlotTGraphTObjArray.C | 58 + cleopatra/PlotTGraphTObjArray.h | 101 + cleopatra/PySimHelper.py | 132 ++ cleopatra/SimAlpha.C | 181 ++ cleopatra/SimChecker.C | 237 ++ cleopatra/SimHelper.C | 599 ++++++ cleopatra/SimKnockout.C | 507 +++++ cleopatra/SimTransfer.C | 813 +++++++ cleopatra/SimTransfer_single.C | 722 +++++++ cleopatra/SimulationChecker.C | 240 +++ cleopatra/constant.h | 71 + cleopatra/makefile | 41 + cleopatra/nuclear_data.py | 153 ++ cleopatra/potentials.h | 1073 ++++++++++ cleopatra/ptolemy | Bin 0 -> 3134828 bytes cleopatra/ptolemy_mac | 2 + working/reactionConfig.txt | 2 +- 59 files changed, 15676 insertions(+), 17 deletions(-) create mode 100644 armory/AnalysisLib.h create mode 100644 armory/AutoFit.C create mode 100644 armory/ClassCorrParas.h create mode 100644 armory/ClassDetGeo.h create mode 100644 armory/ClassReactionConfig.h create mode 100644 armory/ClassReactionParas_tobeKill.h create mode 100644 armory/GeneralSort.C create mode 100644 armory/GeneralSort.h create mode 100644 armory/GeneralSortAgent.C create mode 100644 armory/Process_BasicConfig create mode 100755 armory/Process_Download create mode 100755 armory/Process_EventBuilder create mode 100755 armory/Process_MultiRuns create mode 100755 armory/Process_Run create mode 100755 armory/Process_Sort create mode 100644 armory/readRawTrace.C create mode 100644 armory/readTrace.C create mode 100644 cleopatra/Check_Simulation_obsolete.C create mode 100644 cleopatra/ClassDecay.h create mode 100644 cleopatra/ClassHelios.h create mode 100644 cleopatra/ClassIsotope.h create mode 100644 cleopatra/ClassKnockout.h create mode 100644 cleopatra/ClassSimPlotter.h create mode 100644 cleopatra/ClassTargetScattering.h create mode 100644 cleopatra/ClassTransfer.h create mode 100644 cleopatra/Cleopatra.C create mode 100644 cleopatra/ExtractXSec.C create mode 100644 cleopatra/ExtractXSec.h create mode 100644 cleopatra/ExtractXSecFromText.C create mode 100644 cleopatra/FindThetaCM.C create mode 100644 cleopatra/FindThetaCM.h create mode 100644 cleopatra/InFileCreator.C create mode 100644 cleopatra/InFileCreator.h create mode 100644 cleopatra/Isotope.C create mode 100644 cleopatra/PlotTGraphTObjArray.C create mode 100644 cleopatra/PlotTGraphTObjArray.h create mode 100755 cleopatra/PySimHelper.py create mode 100644 cleopatra/SimAlpha.C create mode 100644 cleopatra/SimChecker.C create mode 100644 cleopatra/SimHelper.C create mode 100644 cleopatra/SimKnockout.C create mode 100644 cleopatra/SimTransfer.C create mode 100644 cleopatra/SimTransfer_single.C create mode 100644 cleopatra/SimulationChecker.C create mode 100644 cleopatra/constant.h create mode 100644 cleopatra/makefile create mode 100755 cleopatra/nuclear_data.py create mode 100644 cleopatra/potentials.h create mode 100755 cleopatra/ptolemy create mode 100755 cleopatra/ptolemy_mac diff --git a/.gitignore b/.gitignore index 22ae63e..dfd9b8b 100644 --- a/.gitignore +++ b/.gitignore @@ -30,5 +30,7 @@ Cleopatra/SimTransfer Cleopatra/SimTransfer_single Cleopatra/Cleopatra +EventBuilder + __pycache__ *.DS_Store \ No newline at end of file diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 8ca9a6b..1fce0d0 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -4,7 +4,8 @@ "name": "Mac", "includePath": [ "${workspaceFolder}/**", - "/Applications/root_v6.30.06/include/**" + "/Applications/root_v6.30.06/include/**", + "/opt/homebrew/Cellar/root/6.34.08_1/**" ], "defines": [], "compilerPath": "/usr/bin/g++", diff --git a/Armory/ClassReactionConfig.h b/Armory/ClassReactionConfig.h index b7f6ed5..6c302b6 100644 --- a/Armory/ClassReactionConfig.h +++ b/Armory/ClassReactionConfig.h @@ -258,29 +258,29 @@ inline bool ReactionConfig::LoadReactionConfig(TMacro * macro){ if(str[1] == "+" && dondon[2].find('+') != std::string::npos ){ // printf(" only comfim + states\n"); - exList[ID].Add( atoi(dondon[1].c_str()), 1.0, 1.0, atoi(str[3].c_str())); + exList[ID].Add( atoi(dondon[1].c_str())/1000., 1.0, 1.0, atoi(str[3].c_str())); } if(str[1] == "-" && dondon[2].find('-') != std::string::npos ){ // printf(" only comfim - states\n"); - exList[ID].Add( atoi(dondon[1].c_str()), 1.0, 1.0, atoi(str[3].c_str())); + exList[ID].Add( atoi(dondon[1].c_str())/1000., 1.0, 1.0, atoi(str[3].c_str())); } if( str[1] == "known" ){ // printf(" All comfim state\n"); - exList[ID].Add( atoi(dondon[1].c_str()), 1.0, 1.0, atoi(str[3].c_str())); + exList[ID].Add( atoi(dondon[1].c_str())/1000., 1.0, 1.0, atoi(str[3].c_str())); } }else{ if(str[1] == "+all" && dondon[2].find('+') != std::string::npos ){ // printf(" All state : %s\n", str[1].c_str()); - exList[ID].Add( atoi(dondon[1].c_str()), 1.0, 1.0, atoi(str[3].c_str())); + exList[ID].Add( atoi(dondon[1].c_str())/1000., 1.0, 1.0, atoi(str[3].c_str())); } if(str[1] == "-all" && dondon[2].find('-') != std::string::npos ){ // printf(" All state : %s\n", str[1].c_str()); - exList[ID].Add( atoi(dondon[1].c_str()), 1.0, 1.0, atoi(str[3].c_str())); + exList[ID].Add( atoi(dondon[1].c_str())/1000., 1.0, 1.0, atoi(str[3].c_str())); } if( str[1] == "all" ){ // printf(" All state \n"); - exList[ID].Add( atoi(dondon[1].c_str()), 1.0, 1.0, atoi(str[3].c_str())); + exList[ID].Add( atoi(dondon[1].c_str())/1000., 1.0, 1.0, atoi(str[3].c_str())); } } diff --git a/Armory/EventBuilder b/Armory/EventBuilder index 4505ee1..ebcc552 120000 --- a/Armory/EventBuilder +++ b/Armory/EventBuilder @@ -1 +1 @@ -/home/ryan/SOLARIS_DAQ/Aux/EventBuilder \ No newline at end of file +/Users/solaris/SOLARIS_DAQ/Aux/EventBuilder \ No newline at end of file diff --git a/Cleopatra/ClassSimPlotter.h b/Cleopatra/ClassSimPlotter.h index 752c8a0..d209d46 100644 --- a/Cleopatra/ClassSimPlotter.h +++ b/Cleopatra/ClassSimPlotter.h @@ -482,6 +482,7 @@ inline void Plotter::Plot(){ }///===== end of pad loop + cCheck->Update(); } std::vector Plotter::FindRange(TString branch){ diff --git a/Cleopatra/PlotTGraphTObjArray.h b/Cleopatra/PlotTGraphTObjArray.h index d646f5b..ea3b14e 100644 --- a/Cleopatra/PlotTGraphTObjArray.h +++ b/Cleopatra/PlotTGraphTObjArray.h @@ -44,7 +44,7 @@ void PlotTGraphTObjArray(TString rootFileName, bool isSavePNG = false){ const int n = gList->GetLast() + 1 ; - TGraph * gr[n]; + TGraph ** gr = new TGraph *[n]; //Get minimum, maximum Y double maxY = 0; @@ -94,5 +94,8 @@ void PlotTGraphTObjArray(TString rootFileName, bool isSavePNG = false){ gROOT->ProcessLine(".q"); } + + for( int i = 0; i < n; i++) delete gr[i]; + delete [] gr; } diff --git a/Cleopatra/SimChecker.C b/Cleopatra/SimChecker.C index 21ae1c4..32c324f 100644 --- a/Cleopatra/SimChecker.C +++ b/Cleopatra/SimChecker.C @@ -24,6 +24,7 @@ #include "../Cleopatra/ClassIsotope.h" #include "../Cleopatra/ClassTransfer.h" #include "../Cleopatra/ClassSimPlotter.h" +#include plotID StringToPlotID(TString str); @@ -45,14 +46,14 @@ void SimChecker(TString filename = "transfer.root", printf(">>>>> %d reactions found.\n", numReact); - std::string reactionList[numReact]; + std::vector reactionList(numReact); for( int i = 0; i < numReact; i++ ){ std::string haha = ListOfReactions->GetListOfLines()->At(i)->GetName(); std::vector kaka = AnalysisLib::SplitStr(haha, "|"); reactionList[i]= kaka[1]; } - ExcitedEnergies reactEx[numReact]; //2-D array [i][j] = i-reaction, j-Ex + std::vector reactEx(numReact); //2-D array [i][j] = i-reaction, j-Ex TMacro * AllExList = (TMacro *) file->FindObjectAny("AllExList"); TMacro * ExID_ReactID_List = (TMacro *) file->FindObjectAny("ExID_ReactID_List"); @@ -90,8 +91,8 @@ void SimChecker(TString filename = "transfer.root", //^################################################ Find e-range, z-range - double zRange[numReact][2]; - double eMax[numReact]; + std::vector> zRange(numReact, std::vector(2)); + std::vector eMax(numReact); int count = 0; for( int i = 0; i < numReact; i++ ){ @@ -197,13 +198,14 @@ void SimChecker(TString filename = "transfer.root", printf("#####################################################\n"); - Plotter * plotter[numReact]; + Plotter ** plotter = new Plotter*[numReact]; for( int i = 0; i < numReact; i++){ plotter[i] = new Plotter(tree, i, reactionList[i], detGeo, reactEx[i], gate, padPlotID); plotter[i]->SetRanges(zRange[i][0], zRange[i][1], eMax[i], elumMax, thetaCMMax); plotter[i]->SetCanvas(colCount, rowCount, 500, padPlotID); plotter[i]->Plot(); + } return; diff --git a/Cleopatra/SimTransfer.C b/Cleopatra/SimTransfer.C index 62dd3c7..25c70a3 100644 --- a/Cleopatra/SimTransfer.C +++ b/Cleopatra/SimTransfer.C @@ -96,7 +96,7 @@ void Transfer( TMacro dwbaExList_Used; TMacro dwbaReactList_Used; - bool useDWBA[numTransfer]; + bool *useDWBA = new bool[numTransfer]; for( int i = 0; i < numTransfer; i++ ) useDWBA[i] = false; if( distFile->IsOpen() ) { @@ -111,7 +111,7 @@ void Transfer( int numEx = dwbaExList->GetListOfLines()->GetSize() - 1 ; - ExcitedEnergies dwbaExTemp[numTransfer]; + ExcitedEnergies * dwbaExTemp = new ExcitedEnergies[numTransfer]; for( int i = 1; i <= numEx ; i++){ std::string reactionName = dwbaReactList->GetListOfLines()->At(i-1)->GetName(); @@ -145,6 +145,8 @@ void Transfer( } } + delete [] dwbaExTemp; + }else{ printf("------- no DWBA input. Use the ExList from %s\n", basicConfig.c_str()); } @@ -740,6 +742,7 @@ void Transfer( delete [] transfer; delete [] decay; delete [] helios; + delete [] useDWBA; distFile->Close(); delete distFile; diff --git a/armory/AnalysisLib.h b/armory/AnalysisLib.h new file mode 100644 index 0000000..7944804 --- /dev/null +++ b/armory/AnalysisLib.h @@ -0,0 +1,392 @@ +#ifndef ANALYSIS_LIB_H +#define ANALYSIS_LIB_H + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +namespace AnalysisLib { + +//*######################################### Execute Python Script +std::vector executePythonScript(std::string command) { + std::vector result; + printf("Python : %s \n", command.c_str()); + FILE* pipe = popen(command.c_str(), "r"); + if (!pipe) { + std::cerr << "Failed to open pipe for command: " << command << std::endl; + return result; + } + + constexpr int buffer_size = 256; + char buffer[buffer_size]; + + while (fgets(buffer, buffer_size, pipe) != nullptr) { + result.emplace_back(buffer); + } + + pclose(pipe); + return result; +} + +//*######################################### TRAPEZOID +TGraph * TrapezoidFilter(TGraph * trace, int baseLineEnd = 80, int riseTime = 10, int flatTop = 20, float decayTime = 2000){ + ///Trapezoid filter https://doi.org/10.1016/0168-9002(94)91652-7 + + TGraph * trapezoid = new TGraph(); + trapezoid->Clear(); + + ///find baseline; + double baseline = 0; + for( int i = 0; i < baseLineEnd; i++){ + baseline += trace->Eval(i); + } + baseline = baseline*1./baseLineEnd; + + int length = trace->GetN(); + + double pn = 0.; + double sn = 0.; + for( int i = 0; i < length ; i++){ + + double dlk = trace->Eval(i) - baseline; + if( i - riseTime >= 0 ) dlk -= trace->Eval(i - riseTime) - baseline; + if( i - flatTop - riseTime >= 0 ) dlk -= trace->Eval(i - flatTop - riseTime) - baseline; + if( i - flatTop - 2*riseTime >= 0) dlk += trace->Eval(i - flatTop - 2*riseTime) - baseline; + + if( i == 0 ){ + pn = dlk; + sn = pn + dlk*decayTime; + }else{ + pn = pn + dlk; + sn = sn + pn + dlk*decayTime; + } + trapezoid->SetPoint(i, i, sn / decayTime / riseTime); + } + return trapezoid; +} + +bool isEmptyOrSpaces(const std::string& str) { + if (str.empty()) { + return true; + } + for (char c : str) { + if (!std::isspace(c)) { + return false; + } + } + return true; +} + +std::vector SplitStr(std::string tempLine, std::string splitter, int shift = 0){ + + std::vector output; + + size_t pos; + do{ + pos = tempLine.find(splitter); /// fine splitter + if( pos == 0 ){ ///check if it is splitter again + tempLine = tempLine.substr(pos+1); + continue; + } + + std::string secStr; + if( pos == std::string::npos ){ + secStr = tempLine; + }else{ + secStr = tempLine.substr(0, pos+shift); + tempLine = tempLine.substr(pos+shift); + } + + ///check if secStr is begin with space + while( secStr.substr(0, 1) == " ") secStr = secStr.substr(1); + + ///check if secStr is end with space + while( secStr.back() == ' ') secStr = secStr.substr(0, secStr.size()-1); + + output.push_back(secStr); + ///printf(" |%s---\n", secStr.c_str()); + + }while(pos != std::string::npos ); + + return output; +}; + +//************************************** TCutG + +TObjArray * LoadListOfTCut(TString fileName, TString cutName = "cutList"){ + + if( fileName == "" ) return nullptr; + + TObjArray * cutList = nullptr; + + TFile * fCut = new TFile(fileName); + bool isCutFileOpen = fCut->IsOpen(); + if(!isCutFileOpen) { + printf( "Failed to open rdt-cutfile 1 : %s\n" , fileName.Data()); + }else{ + cutList = (TObjArray *) fCut->FindObjectAny(cutName); + + if( cutList ){ + int numCut = cutList->GetEntries(); + printf("=========== found %d cutG in %s \n", numCut, fCut->GetName()); + + for(int i = 0; i < numCut ; i++){ + printf("cut name : %s , VarX: %s, VarY: %s, numPoints: %d \n", + cutList->At(i)->GetName(), + ((TCutG*)cutList->At(i))->GetVarX(), + ((TCutG*)cutList->At(i))->GetVarY(), + ((TCutG*)cutList->At(i))->GetN() + ); + } + } + } + + return cutList; +} + +TCutG * LoadSingleTCut( TString fileName, TString cutName = "cutEZ"){ + + if( fileName == "" ) return nullptr; + TCutG * cut = nullptr; + + TFile * fCut = new TFile(fileName); + bool isCutFileOpen = fCut->IsOpen(); + if( !isCutFileOpen) { + printf( "Failed to open E-Z cutfile : %s\n" , fileName.Data()); + }else{ + cut = (TCutG *) fCut->FindObjectAny(cutName); + if( cut != NULL ) { + printf("Found EZ cut| name : %s, VarX: %s, VarY: %s, numPoints: %d \n", + cut->GetName(), + cut->GetVarX(), + cut->GetVarY(), + cut->GetN() + ); + } + } + + return cut; +} + + +//************************************** Others +std::vector> combination(std::vector arr, int r){ + + std::vector> output; + + int n = arr.size(); + std::vector v(n); + std::fill(v.begin(), v.begin()+r, 1); + do { + //for( int i = 0; i < n; i++) { printf("%d ", v[i]); }; printf("\n"); + + std::vector temp; + for (int i = 0; i < n; ++i) { + if (v[i]) { + //printf("%.1f, ", arr[i]); + temp.push_back(arr[i]); + } + } + //printf("\n"); + + output.push_back(temp); + + } while (std::prev_permutation(v.begin(), v.end())); + + return output; +} + +double* sumMeanVar(std::vector data){ + + int n = data.size(); + double sum = 0; + for( int k = 0; k < n; k++) sum += data[k]; + double mean = sum/n; + double var = 0; + for( int k = 0; k < n; k++) var += pow(data[k] - mean,2); + + static double output[3]; + output[0] = sum; + output[1] = mean; + output[2] = var; + + return output; +} + +double* fitSlopeIntercept(std::vector dataX, std::vector dataY){ + + double * smvY = sumMeanVar(dataY); + double sumY = smvY[0]; + double meanY = smvY[1]; + + double * smvX = sumMeanVar(dataX); + double sumX = smvX[0]; + double meanX = smvX[1]; + double varX = smvX[2]; + + int n = dataX.size(); + double sumXY = 0; + for( int j = 0; j < n; j++) sumXY += dataX[j] * dataY[j]; + + double slope = ( sumXY - sumX * sumY/n ) / varX; + double intercept = meanY - slope * meanX; + + static double output[2]; + output[0] = slope; + output[1] = intercept; + + return output; + +} + +std::vector> FindMatchingPair(std::vector enX, std::vector enY){ + + //output[0] = fitEnergy; + //output[1] = refEnergy; + + int nX = enX.size(); + int nY = enY.size(); + + std::vector fitEnergy; + std::vector refEnergy; + + if( nX > nY ){ + + std::vector> output = combination(enX, nY); + + double * smvY = sumMeanVar(enY); + double sumY = smvY[0]; + double meanY = smvY[1]; + double varY = smvY[2]; + + double optRSquared = 0; + double absRSqMinusOne = 1; + int maxID = 0; + + for( int k = 0; k < (int) output.size(); k++){ + + double * smvX = sumMeanVar(output[k]); + double sumX = smvX[0]; + double meanX = smvX[1]; + double varX = smvX[2]; + + double sumXY = 0; + for( int j = 0; j < nY; j++) sumXY += output[k][j] * enY[j]; + + double rSq = abs(sumXY - sumX*sumY/nY)/sqrt(varX*varY); + + //for( int j = 0; j < nY ; j++){ printf("%.1f, ", output[k][j]); }; printf("| %.10f\n", rSq); + + if( abs(rSq-1) < absRSqMinusOne ) { + absRSqMinusOne = abs(rSq-1); + optRSquared = rSq; + maxID = k; + } + } + + fitEnergy = output[maxID]; + refEnergy = enY; + + printf(" R^2 : %.20f\n", optRSquared); + + //calculation fitting coefficient + //double * si = fitSlopeIntercept(fitEnergy, refEnergy); + //printf( " y = %.4f x + %.4f\n", si[0], si[1]); + + }else if( nX < nY ){ + + std::vector> output = combination(enY, nX); + + + double * smvX = sumMeanVar(enX); + double sumX = smvX[0]; + double meanX = smvX[1]; + double varX = smvX[2]; + + double optRSquared = 0; + double absRSqMinusOne = 1; + int maxID = 0; + + for( int k = 0; k < (int) output.size(); k++){ + + double * smvY = sumMeanVar(output[k]); + double sumY = smvY[0]; + double meanY = smvY[1]; + double varY = smvY[2]; + + double sumXY = 0; + for( int j = 0; j < nX; j++) sumXY += output[k][j] * enX[j]; + + double rSq = abs(sumXY - sumX*sumY/nX)/sqrt(varX*varY); + + //for( int j = 0; j < nX ; j++){ printf("%.1f, ", output[k][j]); }; printf("| %.10f\n", rSq); + + if( abs(rSq-1) < absRSqMinusOne ) { + absRSqMinusOne = abs(rSq-1); + optRSquared = rSq; + maxID = k; + } + } + + fitEnergy = enX; + refEnergy = output[maxID]; + printf(" R^2 : %.20f\n", optRSquared); + + }else{ + fitEnergy = enX; + refEnergy = enY; + + //if nX == nY, ther could be cases that only partial enX and enY are matched. + + } + + printf("fitEnergy = ");for( int k = 0; k < (int) fitEnergy.size() ; k++){ printf("%7.2f, ", fitEnergy[k]); }; printf("\n"); + printf("refEnergy = ");for( int k = 0; k < (int) refEnergy.size() ; k++){ printf("%7.2f, ", refEnergy[k]); }; printf("\n"); + + std::vector> haha; + haha.push_back(fitEnergy); + haha.push_back(refEnergy); + + return haha; + +} + +std::string create_range_string(const std::vector& nums) { + std::string range_str; + int lastNum = nums[0]; + int rangeStart = lastNum; + for (int i = 1; i < (int) nums.size(); i++) { + if (nums[i] == lastNum + 1) { + lastNum = nums[i]; + } else { + if (rangeStart == lastNum) { + range_str += std::to_string(rangeStart) + "_"; + } else { + range_str += std::to_string(rangeStart) + "-" + std::to_string(lastNum) + "_"; + } + rangeStart = lastNum = nums[i]; + } + } + // Add the last range + if (rangeStart == lastNum) { + range_str += std::to_string(rangeStart); + } else { + range_str += std::to_string(rangeStart) + "-" + std::to_string(lastNum); + } + return range_str; +} + + +} + +#endif \ No newline at end of file diff --git a/armory/AutoFit.C b/armory/AutoFit.C new file mode 100644 index 0000000..4b94781 --- /dev/null +++ b/armory/AutoFit.C @@ -0,0 +1,2861 @@ +/*************************************************** + * This is a root macro for Auto fitting + * + * Created by Tsz Leung (Ryan) TANG, around 2019. + * updated 01-04-2022 + * + * contact goluckyryan@gmail.com + ***************************************************/ + +#ifndef AutoFit_C +#define AutoFit_C + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +namespace AutoFit{ + +//Global fit paramaters +std::vector BestFitMean; +std::vector BestFitCount; +std::vector BestFitSigma; + +TString recentFitMethod; + +void ShowFitMethod(){ + printf("----------------------- Method of Fitting ---------------\n"); + printf("---------------------------------------------------------\n"); + printf(" fitAuto() - estimate BG, find peak, and fit n-Gauss \n"); + printf(" fitGaussPol() - fit 1 Gauss + pol-n BG\n"); + printf(" fit2GaussP1() - fit 2 Gauss + pol-1 BG \n"); + printf(" fitGF3Pol() - fit GF3 + pol-n BG \n"); + //printf(" fitNGF3() - fit n-GF3, estimated BG \n"); + printf(" fitNGauss() - fit n-Gauss, estimated BG, need input\n"); + printf(" fitNGaussSub() - fit estimated BG with Pol, subtract, fit n-Guass\n"); + printf(" fitNGaussPol() - fit n-Gauss + pol-n BG \n"); + printf(" fitNGaussPolSub() - subtract Pol-n BG, fit n-Gauss \n"); + printf("\n"); + printf("------- Mouse click Fit : \n"); + printf(" clickFitNGaussPol() - fit n-Gauss + pol-n BG \n"); + printf(" clickFitNGaussPolSub() - Fit Pol-n BG, subtract, fit n-Gauss\n"); + printf("\n"); + printf("------- Utility : \n"); + printf(" SaveFitPara() - Save the inital/Best fit parameters.\n"); + printf(" ShowFitMerhod() - Show this menual.\n"); + printf("---------------------------------------------------------\n"); +} + +void AutoFit(){ + ShowFitMethod(); +} + +std::vector SplitStrAF(std::string tempLine, std::string splitter, int shift = 0){ + + std::vector output; + + size_t pos; + do{ + pos = tempLine.find(splitter); // fine splitter + if( pos == 0 ){ //check if it is splitter again + tempLine = tempLine.substr(pos+1); + continue; + } + + std::string secStr; + if( pos == std::string::npos ){ + secStr = tempLine; + }else{ + secStr = tempLine.substr(0, pos+shift); + tempLine = tempLine.substr(pos+shift); + } + + //check if secStr is begin with space + if( secStr.substr(0, 1) == " "){ + secStr = secStr.substr(1); + } + + output.push_back(secStr); + //printf(" |%s---\n", secStr.c_str()); + + }while(pos != std::string::npos ); + + return output; +} + +TColor RGBWheel(double ang){ + + ang = ang * TMath::DegToRad(); + + double r = std::max(0., (1+2*cos(ang))/3.); + double g = std::max(0., (1 - cos(ang) + sqrt(3)* sin(ang))/3.); + double b = std::max(0., (1 - cos(ang) - sqrt(3)* sin(ang))/3.); + + TColor col(r,g,b); + + return col; + +} + +int nPeaks = 16; +Double_t nGauss(Double_t *x, Double_t *par) { + Double_t result = 0; + for (Int_t p=0;pGetNpar(); + int count = totPar/numParPerPeak; + printf("ID "); + for( int i = 0; i < numParPerPeak; i++){ + printf("par%d ", i); + } + printf("\n"); + + for( int i = 0; i < count ; i++){ + printf("%3d ", i); + for( int j = 0; j < numParPerPeak; j++){ + int parID = numParPerPeak * i + j; + printf("%.3f(%.3f) ", fit->GetParameter(parID), fit->GetParError(parID)); + } + printf("\n"); + } +} + +void GoodnessofFit(TH1F * hist, TF1 * fit){ + + int nBin = hist->GetNbinsX(); + int effBin = 0; + double mean = 0; + double ysq = 0; + double SSR = 0; + double chisq = 0; //with estimated error be sqrt(y) + double Xsq = 0; // for Pearson's chi-sq test + for( int i = 1; i <= nBin; i++){ + + double e = hist->GetBinError(i); + if( e > 0 ) { + effBin ++; + double y = hist->GetBinContent(i); + double x = hist->GetBinCenter(i); + double ybar = fit->Eval(x); + ysq += y*y; + mean += y; + SSR += (y - ybar)*(y-ybar); + chisq += (y - ybar)*(y-ybar)/e/e; + + + if( ybar > e ) { + Xsq += (y - ybar)*(y-ybar)/ybar; + }else{ + Xsq += (y - ybar)*(y-ybar)/e; + } + //printf(" %d | x : %f, y : %f, ybar : %f , X-sq : %f\n", i, x, y, ybar, Xsq); + } + } + mean = mean / nBin; + double SSTotal = ysq + mean*mean; + + int npar = fit->GetNpar(); + int ndf = effBin - npar; + printf("#################################################\n"); + printf("## Goodness of Fit. ##\n"); + printf("#################################################\n"); + printf(" eff. Bin(%d) - numPar(%d) = ndf = %d \n", effBin, npar, ndf); + + printf("============== Regression analysis\n"); + printf("----------------- R-sq \n"); + printf(" SSTotal = %f \n", SSTotal); + printf(" SSR = %f \n", SSR); + printf(" MSR = %f <-- is it similar to sample variance?\n", SSR/ndf); + double Rsq = 1 - SSR/SSTotal; + printf(" R-sq = %f \n", Rsq ); + + printf("----------------- Chi-sq \n"); + printf(" Chi-sq = %f \n", chisq); + printf(" rd. Chi-sq = %f \n", chisq/ndf); + printf("ROOT Chi-Sq = %f , NDF = %d \n", fit->GetChisquare(), fit->GetNDF()); + //================ chi-sq test + printf("============== Hypothesis testing\n"); + printf(" Null Hypothesis : the fitting model is truth. \n"); + printf(" * p-value = prob. that Null Hypo. is truth. \n"); + printf(" * the Pearson's test in here only for background free data \n"); + printf(" Pearson's X-sq = %.2f \n", Xsq); + double p = 1 - TMath::Prob(Xsq, ndf); + printf(" Pearson's p-value = %.2f %s 0.05 | %s\n", p, p < 0.05 ? "<": ">", p < 0.05 ? "reject" : "cannot reject"); + double pchi = 1 - TMath::Prob(chisq, ndf); + printf(" Chi-sq p-value = %.2f %s 0.05 | %s\n", pchi, pchi < 0.05 ? "<": ">", pchi < 0.05 ? "reject" : "cannot reject"); + double pRoot = 1- fit->GetProb(); + printf("ROOT Chi-sq p-value = %.2f %s 0.05 | %s\n", pRoot, pRoot < 0.05 ? "<": ">", pRoot < 0.05 ? "reject" : "cannot reject"); + printf("################################################\n"); +} + +std::vector energy, height, sigma, lowE, highE ; +std::vector energyFlag, sigmaFlag; + +bool loadFitParameters(TString fitParaFile){ + + energy.clear(); energyFlag.clear(); + sigma.clear(); sigmaFlag.clear(); + + lowE.clear(); highE.clear(); + + height.clear(); + + bool paraRead = false; + + printf("====================================================================== \n"); + printf("----- loading fit parameters from : %s", fitParaFile.Data()); + std::ifstream file; + file.open(fitParaFile.Data()); + + if( !file){ + printf("\ncannot read file : %s \n", fitParaFile.Data()); + return 0; + } + + while( file.good()) { + std::string tempLine; + getline(file, tempLine); + + if( tempLine.substr(0, 1) == "#" ) continue; + if( tempLine.substr(0, 2) == "//" ) continue; + if( tempLine.size() < 5 ) continue; + + ///printf("%s\n", tempLine.c_str()); + + std::vector temp = SplitStrAF(tempLine, " "); + + if( temp.size() < 7 ) continue; + + energy.push_back( atof(temp[0].c_str())); + lowE.push_back( atof(temp[1].c_str())); + highE.push_back( atof(temp[2].c_str())); + energyFlag.push_back(atoi(temp[3].c_str())); + sigma.push_back( atof(temp[4].c_str())); + sigmaFlag.push_back( atoi(temp[5].c_str())); + height.push_back( atof(temp[6].c_str())); + + } + + printf("... done.\n"); + + int n = energy.size(); + TString limStr = "(fixed)"; + printf("%2s| %34s | %10s \n", "ID", "Peak [MeV]", "Sigma [MeV]"); + for( int j = 0; j < n; j ++){ + if( energyFlag[j] == 0 ) limStr.Form("(limited, %6.3f - %6.3f)", lowE[j], highE[j]); + printf("%2d| %7.4f %-26s | %7.4f (%5s) \n", j, energy[j], limStr.Data(), sigma[j], sigmaFlag[j] == 1 ? "fixed" : "free"); + } + + paraRead = true; + + printf("====================================================================== \n"); + + return paraRead; + +} + +TCanvas * NewCanvas(TString name, TString title, int divX, int divY, int padSizeX, int padSizeY){ + TCanvas * output = NULL; + if( gROOT->FindObjectAny(name) == NULL ){ + output = new TCanvas(name, title, divX * padSizeX, divY * padSizeY); + }else{ + output = (TCanvas *) gROOT->FindObjectAny(name) ; + output->Clear(); + } + output->Divide(divX, divY); + return output; +} + +void ScaleAndDrawHist(TH1F * hist, double xMin, double xMax){ + + if ( xMin != xMax ) hist->GetXaxis()->SetRangeUser(xMin, xMax); + int maxBin = hist->GetMaximumBin(); + double ymax = hist->GetBinContent(maxBin); + hist->GetYaxis()->SetRangeUser(0, 1.1 * ymax); + hist->Draw(); + +} + +void PlotResidual(TH1F * hist, TF1 * fit){ + + TH1F * hRes = (TH1F*) hist->Clone(); + hRes->GetListOfFunctions()->Clear(); + hRes->SetTitle("Residual"); + hRes->SetName("hRes"); + hRes->SetYTitle("Hist - fit"); + hRes->Sumw2(0); + hRes->Sumw2(1); + hRes->Add(fit, -1); + hRes->Draw(); + +} + + +//######################################## +//### Fit a Gauss + Pol-n +//######################################## +void fitGaussPol(TH1F * hist, double mean, double sigmaMax, int degPol, double xMin, double xMax, TString optStat = ""){ + + printf("=========================================================\n"); + printf("================ fit 1-Gauss + Pol-%d BG ================\n", degPol); + printf(" * mean Range +- 5 sigmaMax \n"); + printf(" * inital parameters of the polynomial is random/pow(10, i) \n"); + printf("==========================================================\n"); + + recentFitMethod = "fitGaussPol"; + + gStyle->SetOptStat(optStat); + TCanvas * cFitGaussPol = NewCanvas("cFitGaussPol", Form("fit Gauss & Pol-%d | fitGaussPol", degPol), 1, 2, 800, 350); + cFitGaussPol->cd(1); + + ScaleAndDrawHist(hist, xMin, xMax); + + const int nPar = 3 + degPol + 1; + + TString funcExp = "[0] * TMath::Gaus(x, [1], [2], 1)"; + for( int i = 0; i < degPol+1 ; i++){ + funcExp += Form(" + [%d]*TMath::Power(x,%d)", i+3 , i); + } + TF1 * fit = new TF1("fit", funcExp.Data(), xMin, xMax); + + double * para = new double[nPar]; + para[0] = 100 * 0.05 * TMath::Sqrt(TMath::TwoPi()); + para[1] = mean; + para[2] = sigmaMax/2.; + for( int i = 0 ; i < degPol+1; i++){ + para[3 + i ] = gRandom->Rndm()/TMath::Power(10, i); + } + + fit->SetLineWidth(2); + fit->SetLineColor(1); + fit->SetNpx(1000); + fit->SetParameters(para); + + fit->SetParLimits(0, 0, 1e9); + fit->SetParLimits(1, mean - 5*sigmaMax, mean + 5 * sigmaMax); + fit->SetParLimits(2, 0, sigmaMax); + + hist->Fit("fit", "Rq"); + + const Double_t* paraE = fit->GetParErrors(); + const Double_t* paraA = fit->GetParameters(); + + double bw = hist->GetBinWidth(1); + + printf("histogram name : %s \n====== Gaussian:\ncount: %8.0f(%3.0f)\nmean : %8.4f(%8.4f)\nsigma: %8.4f(%8.4f) \n", + hist->GetName(), + paraA[0] / bw, paraE[0] /bw, + paraA[1], paraE[1], + paraA[2], paraE[2]); + + printf("------- the polnomail BG:\n"); + for(int i = 0 ; i < degPol+1; i++){ + printf("%2d | %8.4f(%8.4f) \n", i, paraA[3+i], paraE[3+i]); + } + + TLatex text; + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.04); + + double chi2 = fit->GetChisquare(); + int ndf = fit->GetNDF(); + text.DrawLatex(0.12, 0.8, Form("#bar{#chi^{2}} : %5.3f", chi2/ndf)); + text.DrawLatex(0.12, 0.75,Form("count: %4.0f(%3.0f)", paraA[0] / bw, paraE[0] /bw)); + text.DrawLatex(0.12, 0.70,Form("E_{x}: %6.3f(%5.3f) MeV", paraA[1], paraE[1])); + text.DrawLatex(0.12, 0.65,Form("#sigma: %3.0f(%3.0f) keV", paraA[2] * 1000., paraE[2] * 1000.)); + + for( int i = 0; i < degPol + 1; i++){ + text.DrawLatex(0.60, 0.85 - 0.05*i ,Form("%3s: %8.3f(%8.3f)", Form("p%d", i), paraA[3+i], paraE[3+i])); + } + + TString expression = "[0] "; + for( int j = 1; j < degPol + 1; j++){ + expression += Form(" + [%d]*TMath::Power(x, %d)", j, j); + } + TF1 * g0 = new TF1("g0", expression.Data(), xMin, xMax); + for( int j = 0; j < degPol + 1 ; j++){ + g0->SetParameter(j, paraA[3+j]); + } + g0->SetLineColor(4); + g0->Draw("same"); + + TF1* f0 = new TF1("f0", "[0] * TMath::Gaus(x, [1], [2], 1)", xMin, xMax); + f0->SetParameter(0, paraA[0]); + f0->SetParameter(1, paraA[1]); + f0->SetParameter(2, paraA[2]); + f0->SetLineColor(2); + f0->SetNpx(1000); + f0->Draw("same"); + +// GoodnessofFit(hist, fit); + + cFitGaussPol->cd(2); + PlotResidual(hist, fit); + + BestFitCount.clear(); + BestFitMean.clear(); + BestFitSigma.clear(); + + BestFitCount.push_back(paraA[0]); + BestFitMean.push_back(paraA[1]); + BestFitSigma.push_back(paraA[2]); + +} + +//######################################## +//#### fit 2 gauss + pol-1 // not updated +//######################################## +std::vector fit2GaussP1(TH1F * hist, double mean1, double sigma1, + double mean2, double sigma2, + double xMin, double xMax, TString optStat = "", bool newCanvas = false){ + + + printf("=========================================================\n"); + printf("================ fit 2-Gauss + Pol-1 BG ================\n" ); + printf(" NOT updated. It works, but the code is old \n"); + printf("==========================================================\n"); + + recentFitMethod = "fit2GaussP1"; + + std::vector output; + output.clear(); + + gStyle->SetOptStat(optStat); + TCanvas * cFit2GaussP1 = NewCanvas("cFit2GaussP1", "fit Gauss & P1 | fit2GaussP1", 1, 1, 800, 350); + cFit2GaussP1->cd(1); + + ScaleAndDrawHist(hist, xMin, xMax); + + TF1 * fit = new TF1("fit", "[0] * TMath::Gaus(x, [1], [2], 1) + [3] * TMath::Gaus(x, [4], [5], 1) + [6] + [7]*x", xMin, xMax); + + double * para = new double[8]; + para[0] = 20 * 0.05 * TMath::Sqrt(TMath::TwoPi()); + para[1] = mean1; + para[2] = sigma1; + para[3] = 100 * 0.05 * TMath::Sqrt(TMath::TwoPi()); + para[4] = mean2; + para[5] = sigma2; + para[6] = 1; + para[7] = 0; + + fit->SetLineWidth(2); + fit->SetLineColor(2); + fit->SetNpx(1000); + fit->SetParameters(para); + + hist->Fit("fit", "Rq"); + + const Double_t* paraE = fit->GetParErrors(); + const Double_t* paraA = fit->GetParameters(); + + double bw = hist->GetBinWidth(1); + + printf("%7s ====== count: %8.0f(%3.0f), mean: %8.4f(%8.4f), sigma: %8.4f(%8.4f) \n", + hist->GetName(), + paraA[0] / bw, paraE[0] /bw, + paraA[1], paraE[1], + paraA[2], paraE[2]); + printf("%7s ====== count: %8.0f(%3.0f), mean: %8.4f(%8.4f), sigma: %8.4f(%8.4f) \n", + "", + paraA[3] / bw, paraE[3] /bw, + paraA[4], paraE[4], + paraA[5], paraE[5]); + + output.push_back( paraA[0]/bw); + output.push_back( paraE[0]/bw); + output.push_back( paraA[1]); + output.push_back( paraE[1]); + output.push_back( paraA[2]); + output.push_back( paraE[2]); + + output.push_back( paraA[3]/bw); + output.push_back( paraE[3]/bw); + output.push_back( paraA[4]); + output.push_back( paraE[4]); + output.push_back( paraA[5]); + output.push_back( paraE[5]); + + + TLatex text; + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.04); + + double chi2 = fit->GetChisquare(); + int ndf = fit->GetNDF(); + text.DrawLatex(0.15, 0.8, Form("#bar{#chi^{2}} : %5.3f", chi2/ndf)); + + text.DrawLatex(0.15, 0.75,Form("count: %4.0f(%3.0f), E_{x}: %6.3f(%5.3f) MeV, #sigma: %3.0f(%3.0f) keV ", + paraA[0] / bw, paraE[0] /bw, + paraA[1], paraE[1], + paraA[2] * 1000., paraE[2] * 1000.)); + text.DrawLatex(0.15, 0.7, Form("count: %4.0f(%3.0f), E_{x}: %6.3f(%5.3f) MeV, #sigma: %3.0f(%3.0f) keV ", + paraA[3] / bw, paraE[3] /bw, + paraA[4], paraE[4], + paraA[5] * 1000., paraE[5] * 1000.)); + + text.DrawLatex(0.15, 0.6, Form("Line : %6.3f(%5.3f) + %6.3f(%5.3f)x ", + paraA[6], paraE[6], + paraA[7], paraE[7])); + + GoodnessofFit(hist, fit); + + + BestFitCount.clear(); + BestFitMean.clear(); + BestFitSigma.clear(); + + for( int i = 0; i < 2; i++){ + BestFitCount.push_back(paraA[3*i]/ bw); + BestFitMean.push_back(paraA[3*i+1]); + BestFitSigma.push_back(paraA[3*i+2]); + } + + return output; +} + + +//######################################## +//#### fit for gamma + pol-n BG +//######################################## +void fitGF3Pol(TH1F * hist, double mean, double sigmaMax, double ratio, double beta, double step, int degPol, double xMin, double xMax, TString optStat = ""){ + + printf("=========================================================\n"); + printf("================ fit GF1 + Pol-%d BG ================\n", degPol); + printf(" * mean Range = xMin, xMax \n"); + printf(" * inital parameters of the polynomial is random/pow(10, i) \n"); + printf("==========================================================\n"); + + recentFitMethod = "fitGF3Pol"; + + gStyle->SetOptStat(optStat); + + gStyle->SetOptStat(optStat); + TCanvas * cFitGF3Pol = NewCanvas("cFitGF3Pol", Form("fit GF3 + pol-%d | fitGF3Pol", degPol), 1, 2, 800, 350); + cFitGF3Pol->cd(1); + + ScaleAndDrawHist(hist, xMin, xMax); + + nPeaks = 1; + nPols = degPol; + int nPar = 6*nPeaks + degPol + 1; + + TF1 * fit = new TF1("fit", nGF3Pol, xMin, xMax, nPar); + + fit->Print(); + + double * para = new double[nPar]; + para[0] = hist->GetMaximum() *4; + para[1] = mean; + para[2] = sigmaMax/2.; + para[3] = ratio ; + para[4] = beta ; + para[5] = step ; + for( int i = 0 ; i < degPol + 1; i++){ + para[6+i] = gRandom->Rndm()/TMath::Power(10, i); + } + + fit->SetLineWidth(2); + fit->SetLineColor(1); + fit->SetNpx(1000); + fit->SetParameters(para); + + fit->SetParLimits(0, 0, 1e9); + fit->SetParLimits(1, xMin, xMax); + fit->SetParLimits(2, 0.00000001, sigmaMax); + fit->SetParLimits(3, 0, 0.5); + fit->SetParLimits(4, 1, 400); + fit->SetParLimits(5, 0, 0.5); + + hist->Fit("fit", "Rq"); + + const Double_t* paraE = fit->GetParErrors(); + const Double_t* paraA = fit->GetParameters(); + + double chisquare = fit->GetChisquare(); + int ndf = fit->GetNDF(); + double bw = hist->GetBinWidth(1); + + printf("histogram : %s \n", hist->GetName()); + printf("========= The Gaussian \n"); + printf("count: %8.0f(%3.0f)\n", paraA[0] / bw, paraE[0] /bw); + printf("mean : %8.4f(%8.4f)\n", paraA[1], paraE[1]); + printf("sigma: %8.4f(%8.4f)\n", paraA[2], paraE[2]); + + TLatex text; + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.04); + text.SetTextColor(1); + + text.DrawLatex(0.12, 0.65, Form("count : %5.0f(%5.0f)", paraA[0]/bw, paraE[0]/bw)); + text.DrawLatex(0.12, 0.60, Form(" mean : %5.3f(%5.3f) keV", paraA[1], paraE[1])); + text.DrawLatex(0.12, 0.55, Form("sigma : %5.3f(%5.3f) keV", paraA[2], paraE[2])); + text.DrawLatex(0.12, 0.50, Form(" FWHM : %5.3f(%5.3f) keV", paraA[2] *2.355, paraE[2]*2.355)); + + text.DrawLatex(0.12, 0.40, Form("#chi^2/ndf : %5.3f", chisquare/ndf)); + + //GoodnessofFit(hist, fit); + + /// 0 1 2 3 4 5 + std::string label[8] = {"Area", "mean", "sigma", "ratio", "beta", "step"}; + printf("---------- The detail\n"); + for(int i = 0 ; i < 6 ; i++){ + printf("%d | %8s | %f (%f) \n", i, label[i].c_str(), paraA[i], paraE[i]); + text.DrawLatex(0.65, 0.85-0.05*i, Form("%6s: %5.3f(%5.3f)", label[i].c_str(), paraA[i], paraE[i])); + } + for(int i = 6 ; i < nPar; i++){ + printf("%d | %8s | %f (%f) \n", i, Form("p%d", i-6), paraA[i], paraE[i]); + text.DrawLatex(0.65, 0.85-0.05*i, Form("%6s: %5.3f (%5.3f) \n", Form("p%d", i-6), paraA[i], paraE[i])); + } + + /// norm * (1-ratio)* TMath::Gaus(x[0], mean, sigma, 1) + TF1 * g0 = new TF1("g0", "[0] * (1.0-[3]) * TMath::Gaus(x, [1], [2], 1)", xMin, xMax); + g0->SetParameter(0, paraA[0]); + g0->SetParameter(1, paraA[1]); + g0->SetParameter(2, paraA[2]); + g0->SetParameter(3, paraA[3]); + g0->SetNpx(1000); + g0->SetLineColor(kRed); + + /// norm * ratio * exp( sigma * sigma/2/beta/beta)* exp((x[0]-mean)/beta) * TMath::Erfc( (x[0]-mean)/(sigma * sqrt(2)) + sigma/beta/sqrt(2)) ; + TF1 * g1 = new TF1("g1", "[0] * [3] * exp( [2] * [2]/2/[4]/[4]) / (2* [4])* exp((x-[1])/[4]) * TMath::Erfc( (x-[1])/([2] * sqrt(2)) + [2]/[4]/sqrt(2)) ", xMin, xMax); + g1->SetParameter(0, paraA[0]); + g1->SetParameter(1, paraA[1]); + g1->SetParameter(2, paraA[2]); + g1->SetParameter(3, paraA[3]); + g1->SetParameter(4, paraA[4]); + g1->SetNpx(1000); + g1->SetLineColor(kGreen +3); + + /// norm * step * TMath::Erfc( (x[0]-mean)/(sigma * sqrt(2)) ); + TF1 * g2 = new TF1("g2", "[0] * [3] * TMath::Erfc( (x-[1])/([2] * sqrt(2)) );", xMin, xMax); + g2->SetParameter(0, paraA[0]); + g2->SetParameter(1, paraA[1]); + g2->SetParameter(2, paraA[2]); + g2->SetParameter(3, paraA[5]); + g2->SetNpx(1000); + g2->SetLineColor(kViolet); + + + TString expression = "[0] "; + for( int j = 1; j < degPol + 1; j++){ + expression += Form(" + [%d]*TMath::Power(x, %d)", j, j); + } + TF1 * g3 = new TF1("g3", expression.Data(), xMin, xMax); + for( int j = 0; j < degPol + 1 ; j++){ + g3->SetParameter(j, paraA[6+j]); + } + g3->SetLineColor(kBlue); + g3->Draw("same"); + + + g0->Draw("same"); + g1->Draw("same"); + g2->Draw("same"); + g3->Draw("same"); + + cFitGF3Pol->cd(2); + PlotResidual(hist, fit); + +} + +//############################################## +//##### Auto Fit n-Gauss with estimated BG +//############################################## +std::vector fitAuto(TH1F * hist, int bgEst = 10, + double peakThreshold = 0.05, + double sigmaMax = 0, + int peakDensity = 4, + TString optStat = ""){ + + printf("================================================================\n"); + printf("========== Auto Fit n-Gauss with estimated BG ==================\n"); + printf(" * bgEst = parameter of BG estimation, larger BG, more linear \n"); + printf(" * peakThreshold = precentage of the highest peak that will count \n"); + printf(" * sigmaMax = maximum sigma, if -1, program try to find the sigma \n"); + printf(" * peakDensity = peak will closer when the number is larger "); + printf(" \n"); + printf(" after peaks found, the i-th peaks will be limited by the mid-point\n"); + printf(" by the (i-1)-th peak and the i-th peak, and the mid-point of the\n"); + printf(" i-th peak and (i+1)-th peak \n"); + printf(" i.e. [peak(i-1)+peak(i)]/2 < limit of peak(i) < [peak(i)+peak(i+1)]/2 \n"); + printf("================================================================\n"); + + recentFitMethod = "fitAuto"; + + gStyle->SetOptStat(optStat); + TCanvas *cFitAuto = NewCanvas("cFitAuto","Auto Fitting | fitAuto", 1, 4, 800, 300); + cFitAuto->cd(1); + + ScaleAndDrawHist(hist, 0, 0); + + TH1F * specS = (TH1F*) hist->Clone(); + double xMin = hist->GetXaxis()->GetXmin(); + double xMax = hist->GetXaxis()->GetXmax(); + int xBin = hist->GetXaxis()->GetNbins(); + + TString titleH; + titleH.Form("fitted spectrum (BG=%d); Ex [MeV]; Count / %4.0f keV", bgEst, (xMax-xMin)*1000./xBin ); + specS->SetTitle(titleH); + specS->SetName("specS"); + ///specS->GetXaxis()->SetTitleSize(0.06); + ///specS->GetYaxis()->SetTitleSize(0.06); + ///specS->GetXaxis()->SetTitleOffset(0.7); + ///specS->GetYaxis()->SetTitleOffset(0.6); + + //=================== find peak and fit + gStyle->SetOptFit(0); + TSpectrum * peak = new TSpectrum(50); + nPeaks = peak->Search(hist, peakDensity, "", peakThreshold); + + if( bgEst > 0 ) { + printf("============= estimating background...\n"); + TH1 * h1 = peak->Background(hist, bgEst); + h1->Draw("same"); + printf("============= substracting the linear background...\n"); + specS->Sumw2(); + specS->Add(h1, -1.); + } + + cFitAuto->cd(2)->SetGrid(); + cFitAuto->cd(2); + specS->Draw("hist"); + + //========== Fitting + printf("============= Fitting....."); + printf(" found %d peaks \n", nPeaks); + + double * xpos = peak->GetPositionX(); + double * ypos = peak->GetPositionY(); + + int * inX = new int[nPeaks]; + TMath::Sort(nPeaks, xpos, inX, 0 ); + std::vector energy, height; + for( int j = 0; j < nPeaks; j++){ + energy.push_back(xpos[inX[j]]); + height.push_back(ypos[inX[j]]); + } + for( int j = 0; j < nPeaks; j++){ + printf(" energy : %f , %f \n", energy[j], height[j]); + } + + + if( sigmaMax == 0 ){ + printf("------------- Estimate sigma for each peak \n"); + sigma.clear(); + int binMin = hist->FindBin(xMin); + int binMax = hist->FindBin(xMax); + for( int i = 0; i < nPeaks ; i++){ + int b0 = hist->FindBin(energy[i]); + double sMin = (xMax-xMin)/5., sMax = (xMax-xMin)/5.; + //---- backward search, stop when + for( int b = b0-1 ; b > binMin ; b-- ){ + double y = hist->GetBinContent(b); + double x = hist->GetBinCenter(b); + if( y < (height[i])/2. ) { + sMin = energy[i] - hist->GetBinCenter(b); + break; + } + } + //---- forward search, stop when + for( int b = b0+1 ; b < binMax ; b++ ){ + double y = hist->GetBinContent(b); + double x = hist->GetBinCenter(b); + if( y < (height[i])/2. ) { + sMax = hist->GetBinCenter(b) - energy[i]; + break; + } + } + + double temp = TMath::Min(sMin, sMax); + /// When there are multiple peaks closely packed : + if( i > 0 && temp > 2.5 * sigma.back() ) temp = sigma.back(); + sigma.push_back(temp); + + printf("%2d | x : %8.2f | sigma(est) %f \n", i, energy[i], sigma[i]); + } + }else if( sigmaMax < 0 ){ + printf("========== use user input sigma : %f (fixed)\n", abs(sigmaMax)); + sigma.clear(); + for( int i = 0; i < nPeaks ; i++) sigma.push_back(abs(sigmaMax)); + }else if( sigmaMax > 0 ){ + printf("========== use user input sigma : %f/2. \n", sigmaMax/2.); + sigma.clear(); + for( int i = 0; i < nPeaks ; i++) sigma.push_back(sigmaMax/2.); + } + + + + int numParPerPeak = 3; + const int n = numParPerPeak * nPeaks; + double * para = new double[n]; + for(int i = 0; i < nPeaks ; i++){ + para[numParPerPeak*i+0] = height[i] * 0.05 * TMath::Sqrt(TMath::TwoPi()); + para[numParPerPeak*i+1] = energy[i]; + if( sigmaMax == 0 ){ + para[numParPerPeak*i+2] = sigma[i]; + }else if(sigmaMax < 0 ){ + para[numParPerPeak*i+2] = abs(sigmaMax); + }else if(sigmaMax > 0 ){ + para[numParPerPeak*i+2] = sigmaMax/2.; + } + } + + TF1 * fit = new TF1("fit", nGauss, xMin, xMax, 3 * nPeaks ); + fit->SetLineWidth(2); + fit->SetLineColor(2); + fit->SetNpx(1000); + fit->SetParameters(para); + + if( nPeaks > 1 ){ + for( int i = 0; i < nPeaks; i++){ + fit->SetParLimits(numParPerPeak*i+0, 0, 1e+9); + double de1 = 1, de2 = 1; + if( i == 0 ){ + de2 = (energy[i+1] - energy[i])/2.; + de1 = de2; + }else if( i < nPeaks -1 ){ + de1 = (energy[i] - energy[i-1])/2.; + de2 = (energy[i+1] - energy[i])/2.; + }else{ + de1 = (energy[i] - energy[i-1])/2.; + de2 = de1; + } + + fit->SetParLimits(numParPerPeak*i+1, energy[i] - de1 , energy[i] + de2); + if( sigmaMax== 0 ) fit->SetParLimits(numParPerPeak*i+2, 0, 1.5*sigma[i]); // add 50% margin of sigma + if( sigmaMax < 0 ) fit->FixParameter(numParPerPeak*i+2, abs(sigmaMax)); + if( sigmaMax > 0 ) fit->SetParLimits(numParPerPeak*i+2, 0, sigmaMax); + } + }else{ + fit->SetParLimits(0, 0, 1e+9); + fit->SetParLimits(2, 0, sigmaMax); + } + + specS->Fit("fit", "q"); + + + const Double_t* paraE = fit->GetParErrors(); + const Double_t* paraA = fit->GetParameters(); + + //======== calculate reduce chi-squared + //GoodnessofFit(specS, fit); + + double bw = specS->GetBinWidth(1); + + std::vector exPos; + for(int i = 0; i < nPeaks ; i++){ + exPos.push_back(paraA[numParPerPeak*i+1]); + printf("%2d , count: %8.0f(%3.0f), mean: %8.4f(%8.4f), sigma: %8.4f(%8.4f) \n", + i, + paraA[numParPerPeak*i] / bw, paraE[numParPerPeak*i] /bw, + paraA[numParPerPeak*i+1], paraE[numParPerPeak*i+1], + paraA[numParPerPeak*i+2], paraE[numParPerPeak*i+2]); + + } + cFitAuto->Update(); + + //draw the indivual fit + fit->Draw("same"); + + const int nn = nPeaks; + TF1 ** gFit = new TF1 *[nn]; + for( int i = 0; i < nPeaks; i++){ + gFit[i] = new TF1(Form("gFit%d", i), "[0] * TMath::Gaus(x,[1],[2], 1)", xMin, xMax); + gFit[i]->SetParameter(0, paraA[numParPerPeak*i]); + gFit[i]->SetParameter(1, paraA[numParPerPeak*i+1]); + gFit[i]->SetParameter(2, paraA[numParPerPeak*i+2]); + gFit[i]->SetLineColor(i+1); + gFit[i]->SetNpx(1000); + gFit[i]->SetLineWidth(1); + gFit[i]->Draw("same"); + } + + specS->Draw("hist same"); + + //======== print text on plot + TLatex text; + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.04); + + double chi2 = fit->GetChisquare(); + int ndf = fit->GetNDF(); + text.SetTextSize(0.06); + text.DrawLatex(0.15, 0.8, Form("#bar{#chi^{2}} : %5.3f", chi2/ndf)); + + cFitAuto->cd(3); + PlotResidual(specS, fit); + + cFitAuto->cd(4); + text.SetTextSize(0.05); + text.SetTextColor(2); + + text.DrawLatex(0.1, 0.9, Form(" %13s, %18s, %18s", "count", "mean", "sigma")); + + BestFitCount.clear(); + BestFitMean.clear(); + BestFitSigma.clear(); + + for( int i = 0; i < nPeaks; i++){ + text.DrawLatex(0.1, 0.8-0.05*i, Form(" %2d, %8.0f(%3.0f), %8.4f(%8.4f), %8.4f(%8.4f)\n", + i, + paraA[3*i] / bw, paraE[3*i] /bw, + paraA[3*i+1], paraE[3*i+1], + paraA[3*i+2], paraE[3*i+2])); + + BestFitCount.push_back(paraA[3*i]/ bw); + BestFitMean.push_back(paraA[3*i+1]); + BestFitSigma.push_back(paraA[3*i+2]); + } + + return exPos; + +} + + +//######################################## +//###### NOT tested +//######################################## +std::vector fitNGF3(TH1 * hist, int bgEst = 10, + double peakThreshold = 0.1, + double sigmaMax = 20, + int peakDensity = 4, + TString optStat = "", bool newPlot = true){ + + TCanvas *cFitAuto = NULL; + if( newPlot ){ + cFitAuto = new TCanvas("cFitAuto","Auto Fitting", 100, 100, 800,800); + cFitAuto->Divide(1,2); + + gStyle->SetOptStat(optStat); + cFitAuto->cd(1); + hist->Draw(); + } + + recentFitMethod = "fitNGF3"; + + TH1F * specS = (TH1F*) hist->Clone(); + double xMin = hist->GetXaxis()->GetXmin(); + double xMax = hist->GetXaxis()->GetXmax(); + int xBin = hist->GetXaxis()->GetNbins(); + + TString titleH; + titleH.Form("fitted spectrum (BG=%d); Ex [MeV]; Count / %4.0f keV", bgEst, (xMax-xMin)*1000./xBin ); + specS->SetTitle(titleH); + specS->SetName("specS"); + ///specS->GetXaxis()->SetTitleSize(0.06); + ///specS->GetYaxis()->SetTitleSize(0.06); + ///specS->GetXaxis()->SetTitleOffset(0.7); + ///specS->GetYaxis()->SetTitleOffset(0.6); + + //=================== find peak and fit + gStyle->SetOptFit(0); + TSpectrum * peak = new TSpectrum(50); + nPeaks = peak->Search(hist, peakDensity, "", peakThreshold); + + if( bgEst > 0 ) { + printf("============= estimating background...\n"); + TH1 * h1 = peak->Background(hist, bgEst); + h1->Draw("same"); + printf("============= substracting the linear background...\n"); + specS->Sumw2(); + specS->Add(h1, -1.); + } + + if( newPlot ){ + cFitAuto->cd(2)->SetGrid(); + cFitAuto->cd(2); + } + specS->Draw("hist"); + + + //========== Fitting + if( newPlot ){ + printf("============= Fitting....."); + printf(" found %d peaks \n", nPeaks); + } + double * xpos = peak->GetPositionX(); + double * ypos = peak->GetPositionY(); + + int * inX = new int[nPeaks]; + TMath::Sort(nPeaks, xpos, inX, 0 ); + std::vector energy, height; + for( int j = 0; j < nPeaks; j++){ + energy.push_back(xpos[inX[j]]); + height.push_back(ypos[inX[j]]); + } + if( newPlot ){ + for( int j = 0; j < nPeaks; j++){ + printf(" energy : %f , %f \n", energy[j], height[j]); + } + } + + int numParPerPeak = 6; + const int n = numParPerPeak * nPeaks; + double * para = new double[n]; + for(int i = 0; i < nPeaks ; i++){ + para[numParPerPeak*i+0] = height[i] * 0.05 * TMath::Sqrt(TMath::TwoPi()); + para[numParPerPeak*i+1] = energy[i]; + para[numParPerPeak*i+2] = sigmaMax; + para[numParPerPeak*i+3] = height[i] * 0.05 * TMath::Sqrt(TMath::TwoPi()) * 0.1; + para[numParPerPeak*i+4] = sigmaMax; + para[numParPerPeak*i+5] = -4; + } + + TF1 * fit = new TF1("fit", nGF3, xMin, xMax, numParPerPeak * nPeaks ); + fit->SetLineWidth(2); + fit->SetLineColor(2); + fit->SetNpx(1000); + fit->SetParameters(para); + + if( nPeaks > 1 ){ + for( int i = 0; i < nPeaks; i++){ + fit->SetParLimits(numParPerPeak*i+0, 0, 1e+9); + double de1 = 1, de2 = 1; + if( i == 0 ){ + de2 = (energy[i+1] - energy[i])/2.; + de1 = de2; + }else if( i < nPeaks -1 ){ + de1 = (energy[i] - energy[i-1])/2.; + de2 = (energy[i+1] - energy[i])/2.; + }else{ + de1 = (energy[i] - energy[i-1])/2.; + de2 = de1; + } + + fit->SetParLimits(numParPerPeak*i+1, energy[i] - de1 , energy[i] + de2); + fit->SetParLimits(numParPerPeak*i+2, 0, sigmaMax * 5); + + fit->SetParLimits(numParPerPeak*i+3, 0, 1e+9); + fit->SetParLimits(numParPerPeak*i+4, 0, sigmaMax); + fit->SetParLimits(numParPerPeak*i+5, -10, -2); + + } + }else{ + fit->SetParLimits(0, 0, 1e+9); + fit->SetParLimits(2, 0, sigmaMax); + fit->SetParLimits(3, 0, 1e+9); + fit->SetParLimits(4, 0, sigmaMax); + fit->SetParLimits(5, -10, -2); + } + specS->Fit("fit", "q"); + + + const Double_t* paraE = fit->GetParErrors(); + const Double_t* paraA = fit->GetParameters(); + + //======== calculate reduce chi-squared + if( newPlot ) GoodnessofFit(specS, fit); + + double bw = specS->GetBinWidth(1); + + std::vector exPos; + for(int i = 0; i < nPeaks ; i++){ + exPos.push_back(paraA[numParPerPeak*i+1]); + double totCount = paraA[numParPerPeak*i] + paraA[numParPerPeak*i+3]; + double totCountErr = sqrt(paraE[numParPerPeak*i]*paraE[numParPerPeak*i] + paraE[numParPerPeak*i+3]*paraE[numParPerPeak*i+3]); + printf("%2d , count: %8.0f(%3.0f)+%8.0f(%3.0f)=%8.0f(%3.0f), mean: %8.4f(%8.4f), sigma: %8.4f(%8.4f), skewneww: %4.1f(%4.1f) \n", + i, + paraA[numParPerPeak*i] / bw, paraE[numParPerPeak*i] /bw, + paraA[numParPerPeak*i+3] / bw, paraE[numParPerPeak*i+3] /bw, + totCount / bw, totCountErr /bw, + paraA[numParPerPeak*i+1], paraE[numParPerPeak*i+1], + paraA[numParPerPeak*i+2], paraE[numParPerPeak*i+2], + paraA[numParPerPeak*i+5], paraE[numParPerPeak*i+5]); + + //PrintPar(fit, numParPerPeak); + } + if( newPlot ) cFitAuto->Update(); + + //draw the indivual fit + fit->Draw("same"); + + const int nn = nPeaks; + TF1 ** gFit = new TF1 *[nn]; + TF1 ** kFit = new TF1 *[nn]; + TF1 ** zFit = new TF1 *[nn]; + for( int i = 0; i < nPeaks; i++){ + gFit[i] = new TF1(Form("gFit%d", i), "[0] * TMath::Gaus(x,[1],[2], 1) + [3] * TMath::Gaus(x,[1],[4], 1) * ( 1 + TMath::Erf( [5]*(x-[1])/sqrt(2)/[4] ))", xMin, xMax); + gFit[i]->SetParameter(0, paraA[numParPerPeak*i]); + gFit[i]->SetParameter(1, paraA[numParPerPeak*i+1]); + gFit[i]->SetParameter(2, paraA[numParPerPeak*i+2]); + gFit[i]->SetParameter(3, paraA[numParPerPeak*i+3]); + gFit[i]->SetParameter(4, paraA[numParPerPeak*i+4]); + gFit[i]->SetParameter(5, paraA[numParPerPeak*i+5]); + gFit[i]->SetLineColor(i+1); + gFit[i]->SetNpx(1000); + gFit[i]->SetLineWidth(1); + gFit[i]->Draw("same"); + + kFit[i] = new TF1(Form("kFit%d", i), "[0] * TMath::Gaus(x,[1],[2], 1) * ( 1 + TMath::Erf( [3]*(x-[1])/sqrt(2)/[2] ))", xMin, xMax); + kFit[i]->SetParameter(0, paraA[numParPerPeak*i+3]); + kFit[i]->SetParameter(1, paraA[numParPerPeak*i+1]); + kFit[i]->SetParameter(2, paraA[numParPerPeak*i+4]); + kFit[i]->SetParameter(3, paraA[numParPerPeak*i+5]); + kFit[i]->SetLineColor(i+1); + kFit[i]->SetNpx(1000); + kFit[i]->SetLineWidth(1); + kFit[i]->Draw("same"); + + zFit[i] = new TF1(Form("zFit%d", i), "[0] * TMath::Gaus(x,[1],[2], 1)", xMin, xMax); + zFit[i]->SetParameter(0, paraA[numParPerPeak*i]); + zFit[i]->SetParameter(1, paraA[numParPerPeak*i+1]); + zFit[i]->SetParameter(2, paraA[numParPerPeak*i+2]); + zFit[i]->SetLineColor(i+1); + zFit[i]->SetNpx(1000); + zFit[i]->SetLineWidth(1); + zFit[i]->Draw("same"); + + } + + specS->Draw("hist same"); + + return exPos; + +} + +//######################################## +//###### fir N Gauss with estimated BG +//######################################## +void fitNGauss(TH1F * hist, int bgEst = 10, TString fitFile = "AutoFit_para.txt", TString optStat = ""){ + + printf("================================================================\n"); + printf("================ fit N-Gauss with estimated BG ================\n"); + printf(" * bgEst = larger of bgEst, more linear the estimated BG \n"); + printf(" * need the file input \n"); + printf(" \n"); + printf(" 1) The histogram will be subtracted by the estimated BG. \n"); + printf(" 2) n-Gauss will then be fitted the BG subtracted histogram \n"); + printf("================================================================\n"); + + recentFitMethod = "fitNGauss"; + + bool isParaRead = loadFitParameters(fitFile); + if( !isParaRead ) { + printf("Please provide a valid input file\n"); + return; + } + + nPeaks = energy.size(); + + gStyle->SetOptStat(optStat); + TCanvas *cFitNGauss = NewCanvas("cFitNGauss","Fit n-Gauss | fitNGauss", 1,4, 800, 300);; + cFitNGauss->cd(1); + + ScaleAndDrawHist(hist, 0, 0); + + TH1F * specS = (TH1F*) hist->Clone(); + double xMin = hist->GetXaxis()->GetXmin(); + double xMax = hist->GetXaxis()->GetXmax(); + int xBin = hist->GetXaxis()->GetNbins(); + + TString titleH; + titleH.Form("fitNGauss (BG = %2d); Ex [MeV]; Count / %4.0f keV", bgEst, (xMax-xMin)*1000./xBin ); + specS->SetTitle(titleH); + specS->SetName("specS"); + + //=================== find peak and fi + + gStyle->SetOptFit(0); + //cFitNGauss->cd(2)->SetGrid(); + cFitNGauss->cd(2); + + if( bgEst > 0 ) { + printf("============= estimating background...\n"); + TSpectrum * peak = new TSpectrum(50); + TH1 * h1 = peak->Background(hist, bgEst); + cFitNGauss->cd(1); + h1->Draw("same"); + cFitNGauss->cd(2); + printf("============= substracting the estimated background...\n"); + specS->Sumw2(); + specS->Add(h1, -1.); + } + + specS->Draw("hist"); + + //========== Fitting + printf("============= Fitting %d-Gauss..... \n", nPeaks); + + const int n = 3 * nPeaks; + double * para = new double[n]; + for(int i = 0; i < nPeaks ; i++){ + para[3*i+0] = height[i] * 0.05 * TMath::Sqrt(TMath::TwoPi()); + para[3*i+1] = energy[i]; + para[3*i+2] = sigma[i]/2.; + } + + TF1 * fit = new TF1("fit", nGauss, xMin, xMax, 3* nPeaks ); + fit->SetLineWidth(3); + fit->SetLineColor(1); + fit->SetNpx(1000); + fit->SetParameters(para); + + //fixing parameters + for( int i = 0; i < nPeaks; i++){ + fit->SetParLimits(3*i , 0, 1e9); + + if( energyFlag[i] == 1 ) { + fit->FixParameter(3*i+1, energy[i]); + }else{ + fit->SetParLimits(3*i+1, lowE[i], highE[i]); + } + if( sigmaFlag[i] == 1 ) { + fit->FixParameter(3*i+2, sigma[i]); + }else{ + fit->SetParLimits(3*i+2, 0, sigma[i]); + } + } + + specS->Fit("fit", "q"); + + const Double_t* paraE = fit->GetParErrors(); + const Double_t* paraA = fit->GetParameters(); + + //======== calculate reduce chi-squared + //GoodnessofFit(specS, fit); + + double bw = specS->GetBinWidth(1); + + for(int i = 0; i < nPeaks ; i++){ + printf(" %2d , count: %8.0f(%3.0f), mean: %8.4f(%8.4f), sigma: %8.4f(%8.4f) \n", + i, + paraA[3*i] / bw, paraE[3*i] /bw, + paraA[3*i+1], paraE[3*i+1], + paraA[3*i+2], paraE[3*i+2]); + } + printf("\n"); + + //draw the indivual fit + specS->Draw("hist"); + fit->Draw("same"); + + const int nn = nPeaks; + TF1 ** gFit = new TF1 *[nn]; + for( int i = 0; i < nPeaks; i++){ + gFit[i] = new TF1(Form("gFit%d", i), "[0] * TMath::Gaus(x,[1],[2], 1)", xMin, xMax); + gFit[i]->SetParameter(0, paraA[3*i]); + gFit[i]->SetParameter(1, paraA[3*i+1]); + gFit[i]->SetParameter(2, paraA[3*i+2]); + gFit[i]->SetLineColor(i+1); + gFit[i]->SetNpx(1000); + gFit[i]->SetLineWidth(1); + gFit[i]->Draw("same"); + } + + specS->Draw("hist same"); + //specS->Draw("E same"); + + + //======== print text on plot + TLatex text; + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.06); + + double chi2 = fit->GetChisquare(); + int ndf = fit->GetNDF(); + text.DrawLatex(0.15, 0.8, Form("#bar{#chi^{2}} : %5.3f", chi2/ndf)); + + cFitNGauss->cd(3); + PlotResidual(specS, fit); + + cFitNGauss->cd(4); + + text.SetTextSize(0.05); + text.SetTextColor(2); + + text.DrawLatex(0.1, 0.9, Form(" %13s, %18s, %18s", "count", "mean", "sigma")); + + BestFitCount.clear(); + BestFitMean.clear(); + BestFitSigma.clear(); + + for( int i = 0; i < nPeaks; i++){ + text.DrawLatex(0.1, 0.8-0.05*i, Form(" %2d, %8.0f(%3.0f), %8.4f(%8.4f), %8.4f(%8.4f)\n", + i, + paraA[3*i] / bw, paraE[3*i] /bw, + paraA[3*i+1], paraE[3*i+1], + paraA[3*i+2], paraE[3*i+2])); + + BestFitCount.push_back(paraA[3*i]/ bw); + BestFitMean.push_back(paraA[3*i+1]); + BestFitSigma.push_back(paraA[3*i+2]); + } + + cFitNGauss->Update(); +} + + +//######################################## +//#### not updated +//######################################## +void fitNGaussSub(TH1F * hist, int bgEst = 10, int degPol = 1, TString fitFile = "AutoFit_para.txt", TString optStat = ""){ + + + printf("==================================================================\n"); + printf("======== fit N-Gauss with estimated BG (method-2) ================\n"); + printf(" * bgEst = larger of bgEst, more linear the estimated BG \n"); + printf(" * degPol = degree of polynomial \n"); + printf(" * need the file input \n"); + printf(" \n"); + printf(" 1) A BG is estimated, and then the BG is fitted by a polynomial. \n"); + printf(" 2) The histogram will be subtracted by the polynomial. \n"); + printf(" 3) n-Gauss will then be fitted the subtracted histogram \n"); + printf("================================================================\n"); + + recentFitMethod = "fitNGaussSub"; + + bool isParaRead = loadFitParameters(fitFile); + if( !isParaRead ) { + printf("Please provide a valid input file\n"); + return; + } + + nPeaks = energy.size(); + nPols = degPol; + + gStyle->SetOptStat(optStat); + TCanvas *cFitNGaussSub = NewCanvas("cFitNGaussSub","Fit n-Gauss, replace estimated BG with Pol-n | fitNGauss2", 1, 4, 800, 300 ); + //if(! cFitNGaussSub->GetShowEventStatus() ) cFitNGaussSub->ToggleEventStatus(); + + cFitNGaussSub->cd(1); + ScaleAndDrawHist(hist, 0, 0); + + TH1F * specS = (TH1F*) hist->Clone(); + double xMin = hist->GetXaxis()->GetXmin(); + double xMax = hist->GetXaxis()->GetXmax(); + int xBin = hist->GetXaxis()->GetNbins(); + + TString titleH; + titleH.Form("fitNGauss2 (replace Est. BG with Pol-%d) (BG = %2d); Ex [MeV]; Count / %4.0f keV", degPol, bgEst, (xMax-xMin)*1000./xBin ); + specS->SetTitle(titleH); + specS->SetName("specS"); + + printf("============= estimating background...\n"); + TSpectrum * peak = new TSpectrum(50); + TH1 * h1 = peak->Background(hist, bgEst); + + printf("============= fit the est-background with a polynomial function...\n"); + + TString polExp = "[0]"; + for( int i = 1; i < degPol + 1; i++){ + polExp += Form("+[%d]*TMath::Power(x,%d)", i, i ); + } + TF1 * bg = new TF1("bg", polExp.Data(), xMin, xMax); + + bg->SetParameter(0, 50); + bg->SetParameter(0, 0); + bg->SetLineColor(2); + bg->SetNpx(1000); + h1->Fit("bg", "R", ""); + + hist->Draw(); + bg->Draw("same"); + + + //======== print text on plot + TLatex text; + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.04); + + const Double_t * paraAt = bg->GetParameters(); + const Double_t * paraEt = bg->GetParErrors(); + + for( int i = 0; i < degPol + 1; i++){ + text.DrawLatex(0.6, 0.85 - 0.05*i, Form("%4s : %8.4e(%8.4e)\n", Form("p%d", i), paraAt[i], paraEt[i])); + } + + gStyle->SetOptFit(0); +// cFitNGaussSub->cd(2)->SetGrid(); + cFitNGaussSub->cd(2); + + printf("============= substracting the polynomial background...\n"); + specS->Sumw2(); + specS->Add(bg, -1.); + specS->Draw("hist"); + + //========== Fitting + printf("============= Fitting..... \n"); + + const int n = 3 * nPeaks; + double * para = new double[n]; + for(int i = 0; i < nPeaks ; i++){ + para[3*i+0] = height[i] * 0.05 * TMath::Sqrt(TMath::TwoPi()); + para[3*i+1] = energy[i]; + para[3*i+2] = sigma[i]/2.; + } + + TF1 * fit = new TF1("fit", nGauss, xMin, xMax, 3* nPeaks ); + fit->SetLineWidth(3); + fit->SetLineColor(1); + fit->SetNpx(1000); + fit->SetParameters(para); + + //fixing parameters + for( int i = 0; i < nPeaks; i++){ + fit->SetParLimits(3*i , 0, 1e9); + + if( energyFlag[i] == 1 ) { + fit->FixParameter(3*i+1, energy[i]); + }else{ + fit->SetParLimits(3*i+1, lowE[i], highE[i]); + } + if( sigmaFlag[i] == 1 ) { + fit->FixParameter(3*i+2, sigma[i]); + }else{ + fit->SetParLimits(3*i+2, 0, sigma[i]); + } + } + + specS->Fit("fit", "q"); + + const Double_t* paraE = fit->GetParErrors(); + const Double_t* paraA = fit->GetParameters(); + + GoodnessofFit(specS, fit); + + double bw = specS->GetBinWidth(1); + + for(int i = 0; i < nPeaks ; i++){ + printf(" %2d , count: %8.0f(%3.0f), mean: %8.4f(%8.4f), sigma: %8.4f(%8.4f) \n", + i, + paraA[3*i] / bw, paraE[3*i] /bw, + paraA[3*i+1], paraE[3*i+1], + paraA[3*i+2], paraE[3*i+2]); + } + printf("\n"); + + + //draw the indivual fit + specS->Draw("hist"); + fit->Draw("same"); + + const int nn = nPeaks; + TF1 ** gFit = new TF1 *[nn]; + for( int i = 0; i < nPeaks; i++){ + gFit[i] = new TF1(Form("gFit%d", i), "[0] * TMath::Gaus(x,[1],[2], 1)", xMin, xMax); + gFit[i]->SetParameter(0, paraA[3*i]); + gFit[i]->SetParameter(1, paraA[3*i+1]); + gFit[i]->SetParameter(2, paraA[3*i+2]); + gFit[i]->SetLineColor(i+1); + gFit[i]->SetNpx(1000); + gFit[i]->SetLineWidth(1); + gFit[i]->Draw("same"); + } + + specS->Draw("hist same"); + //specS->Draw("E same"); + + double chi2 = fit->GetChisquare(); + int ndf = fit->GetNDF(); + text.SetTextSize(0.06); + text.DrawLatex(0.15, 0.8, Form("#bar{#chi^{2}} : %5.3f", chi2/ndf)); + + + cFitNGaussSub->cd(3); + PlotResidual(specS, fit); + + cFitNGaussSub->cd(4); + + text.SetTextSize(0.05); + text.SetTextColor(2); + + text.DrawLatex(0.1, 0.9, Form(" %13s, %18s, %18s", "count", "mean", "sigma")); + + BestFitCount.clear(); + BestFitMean.clear(); + BestFitSigma.clear(); + + for( int i = 0; i < nPeaks; i++){ + text.DrawLatex(0.1, 0.8-0.05*i, Form(" %2d, %8.0f(%3.0f), %8.4f(%8.4f), %8.4f(%8.4f)\n", + i, + paraA[3*i] / bw, paraE[3*i] /bw, + paraA[3*i+1], paraE[3*i+1], + paraA[3*i+2], paraE[3*i+2])); + + BestFitCount.push_back(paraA[3*i]/ bw); + BestFitMean.push_back(paraA[3*i+1]); + BestFitSigma.push_back(paraA[3*i+2]); + } + +} + + +//######################################## +//#### fit N-Gauss with pol-n BG +//######################################## +void fitNGaussPol(TH1F * hist, int degPol, TString fitFile = "AutoFit_para.txt",double xMin = 0, double xMax = 0, TString optStat = ""){ + + printf("================================================================\n"); + printf("================ fit N-Gauss with Pol-%1d BG ==================\n", degPol); + printf(" * degPol = degree of polynomial \n"); + printf(" * need the file input \n"); + printf(" * xMin, xMax = if left empty, full range will be used\n"); + printf(" \n"); + printf(" 1) The histogram will be fitted by n-Gauss + Pol \n"); + printf("================================================================\n"); + + recentFitMethod = "fitNGaussPol"; + + bool isParaRead = loadFitParameters(fitFile); + if( !isParaRead ) { + printf("Please provide a valid input file\n"); + return; + } + + gStyle->SetOptStat(optStat); + nPeaks = energy.size(); + nPols = degPol; + + TCanvas * cFitNGaussPol = NewCanvas("cFitNGaussPol", Form("Fitting with n-Gauss + pol-%d | fitNGaussPol", degPol), 1, 3, 800, 300); + //if(! cFitNGaussPol->GetShowEventStatus() ) cFitNGaussPol->ToggleEventStatus(); + cFitNGaussPol->cd(1); + + ScaleAndDrawHist(hist, xMin, xMax); + + if( xMin == xMax){ + xMin = hist->GetXaxis()->GetXmin(); + xMax = hist->GetXaxis()->GetXmax(); + } + int xBin = hist->GetXaxis()->GetNbins(); + + + printf("============= find the polynomial background ..... \n"); + + int nPar = 3 * nPeaks + nPols + 1; + double * para = new double[nPar]; + for(int i = 0; i < nPeaks ; i++){ + para[3*i+0] = height[i] * 0.05 * TMath::Sqrt(TMath::TwoPi()); + para[3*i+1] = energy[i]; + para[3*i+2] = sigma[i]/2.; + } + + for(int i = 0; i < nPols + 1; i++){ + //if( ggg == NULL ){ + para[3*nPeaks+i] = gRandom->Rndm()/TMath::Power(10, 3*i); + //}else{ + // para[3*nPeaks+i] = gPara[i]; + //} + } + + TF1 * fit = new TF1("fit", nGaussPol, xMin, xMax, nPar ); + fit->SetLineWidth(3); + fit->SetLineColor(1); + fit->SetNpx(1000); + fit->SetParameters(para); + + //fixing parameters + for( int i = 0; i < nPeaks; i++){ + fit->SetParLimits(3*i , 0, 1e9); + if( energyFlag[i] == 1 ) { + fit->FixParameter(3*i+1, energy[i]); + }else{ + fit->SetParLimits(3*i+1, lowE[i], highE[i]); + } + if( sigmaFlag[i] == 1 ) { + fit->FixParameter(3*i+2, sigma[i]); + }else{ + fit->SetParLimits(3*i+2, 0, sigma[i]); + } + } + + hist->Fit("fit", "Rq"); + + //=========== get the polynomial part + const Double_t* paraA = fit->GetParameters(); + const Double_t* paraE = fit->GetParErrors(); + + TString polExp = "[0]"; + for( int i = 1; i < degPol + 1; i++){ + polExp += Form("+[%d]*TMath::Power(x,%d)", i, i ); + } + + TF1 * bg = new TF1("bg", polExp.Data(), xMin, xMax); + for( int i = 0; i < degPol + 1; i++){ + bg->SetParameter(i, paraA[3*nPeaks+i]); + } + bg->SetNpx(1000); + + for( int i = 0; i < degPol + 1; i++){ + printf("%4s : %8.4e(%8.4e)\n", Form("p%d", i), paraA[3*nPeaks+i], paraE[3*nPeaks+i]); + } + printf("====================================\n"); + + cFitNGaussPol->cd(1); + bg->Draw("same"); + + TLatex text; + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.04); + text.SetTextColor(1); + + for( int i = 0; i < degPol + 1; i++){ + text.DrawLatex(0.6, 0.85 - 0.05*i, Form("%4s : %8.4e(%8.4e)\n", Form("p%d", i), paraA[3*nPeaks+i], paraE[3*nPeaks+i])); + } + + double chi2 = fit->GetChisquare(); + int ndf = fit->GetNDF(); + text.SetTextSize(0.06); + text.DrawLatex(0.15, 0.8, Form("#bar{#chi^{2}} : %5.3f", chi2/ndf)); + + + //GoodnessofFit(specS, fit); + + double bw = hist->GetBinWidth(1); + + for(int i = 0; i < nPeaks ; i++){ + printf(" %2d , count: %8.0f(%3.0f), mean: %8.4f(%8.4f), sigma: %8.4f(%8.4f) \n", + i, + paraA[3*i] / bw, paraE[3*i] /bw, + paraA[3*i+1], paraE[3*i+1], + paraA[3*i+2], paraE[3*i+2]); + } + printf("\n"); + + + const int nn = nPeaks; + TF1 ** gFit = new TF1 *[nn]; + for( int i = 0; i < nPeaks; i++){ + gFit[i] = new TF1(Form("gFit%d", i), "[0] * TMath::Gaus(x,[1],[2], 1)", xMin, xMax); + gFit[i]->SetParameter(0, paraA[3*i]); + gFit[i]->SetParameter(1, paraA[3*i+1]); + gFit[i]->SetParameter(2, paraA[3*i+2]); + gFit[i]->SetLineColor(i+1); + gFit[i]->SetNpx(1000); + gFit[i]->SetLineWidth(1); + gFit[i]->Draw("same"); + } + + cFitNGaussPol->Update(); + + cFitNGaussPol->cd(2); + PlotResidual(hist, fit); + + cFitNGaussPol->cd(3); + + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.05); + text.SetTextColor(2); + + text.DrawLatex(0.1, 0.9, Form(" %13s, %18s, %18s", "count", "mean", "sigma")); + + BestFitCount.clear(); + BestFitMean.clear(); + BestFitSigma.clear(); + + for( int i = 0; i < nPeaks; i++){ + text.DrawLatex(0.1, 0.8-0.05*i, Form(" %2d, %8.0f(%3.0f), %8.4f(%8.4f), %8.4f(%8.4f)\n", + i, + paraA[3*i] / bw, paraE[3*i] /bw, + paraA[3*i+1], paraE[3*i+1], + paraA[3*i+2], paraE[3*i+2])); + + BestFitCount.push_back(paraA[3*i]/ bw); + BestFitMean.push_back(paraA[3*i+1]); + BestFitSigma.push_back(paraA[3*i+2]); + } +} + + + + +//######################################## +//#### fit N-Gauss with pol-n BG +//######################################## +void fitNGaussPolSub(TH1F * hist, int degPol, TString fitFile = "AutoFit_para.txt",double xMin = 0, double xMax = 0, TString optStat = ""){ + + printf("================================================================\n"); + printf("========= fit N-Gauss with Pol-%1d BG / 2nd method ============\n", degPol); + printf(" * degPol = degree of polynomial \n"); + printf(" * need the file input \n"); + printf(" * xMin, xMax = if left empty, full range will be used\n"); + printf(" \n"); + printf(" 1) The histogram will be fitted by n-Gauss + Pol -> to get the estimated BG \n"); + printf(" 2) The histogram will be subtracted by the Pol BG. \n"); + printf(" 3) n-Gauss will then be fitted the BG subtracted histogram \n"); + printf("================================================================\n"); + + recentFitMethod = "fitNGaussPolSub"; + + bool isParaRead = loadFitParameters(fitFile); + if( !isParaRead ) { + printf("Please provide a valid input file\n"); + return; + } + + gStyle->SetOptStat(optStat); + nPeaks = energy.size(); + nPols = degPol; + + TCanvas * cFitNGaussPolSub = NewCanvas("cFitNGaussPolSub", Form("Fitting with n-Gauss + pol-%d (method-2) | fitGaussPol2", degPol), 1, 4, 800, 300); + //if(! cFitNGaussPol->GetShowEventStatus() ) cFitNGaussPol->ToggleEventStatus(); + cFitNGaussPolSub->cd(1); + + ScaleAndDrawHist(hist, xMin, xMax); + + if( xMin == xMax){ + xMin = hist->GetXaxis()->GetXmin(); + xMax = hist->GetXaxis()->GetXmax(); + } + int xBin = hist->GetXaxis()->GetNbins(); + + printf("============= find the polynomial background ..... \n"); + + int nPar = 3 * nPeaks + nPols + 1; + double * para = new double[nPar]; + for(int i = 0; i < nPeaks ; i++){ + para[3*i+0] = height[i] * 0.05 * TMath::Sqrt(TMath::TwoPi()); + para[3*i+1] = energy[i]; + para[3*i+2] = sigma[i]/2.; + } + + for(int i = 0; i < nPols + 1; i++){ + para[3*nPeaks+i] = gRandom->Rndm()/TMath::Power(10, 3*i); + } + + TF1 * fit = new TF1("fit", nGaussPol, xMin, xMax, nPar ); + fit->SetLineWidth(3); + fit->SetLineColor(1); + fit->SetNpx(1000); + fit->SetParameters(para); + + //fixing parameters + for( int i = 0; i < nPeaks; i++){ + fit->SetParLimits(3*i , 0, 1e9); + if( energyFlag[i] == 1 ) { + fit->FixParameter(3*i+1, energy[i]); + }else{ + fit->SetParLimits(3*i+1, lowE[i], highE[i]); + } + if( sigmaFlag[i] == 1 ) { + fit->FixParameter(3*i+2, sigma[i]); + }else{ + fit->SetParLimits(3*i+2, 0, sigma[i]); + } + } + + hist->Fit("fit", "nq"); + + //=========== get the polynomial part and substract + const Double_t* paraAt = fit->GetParameters(); + const Double_t* paraEt = fit->GetParErrors(); + + TString polExp = "[0]"; + for( int i = 1; i < degPol + 1; i++){ + polExp += Form("+[%d]*TMath::Power(x,%d)", i, i ); + } + + TF1 * bg = new TF1("bg", polExp.Data(), xMin, xMax); + for( int i = 0; i < degPol + 1; i++){ + bg->SetParameter(i, paraAt[3*nPeaks+i]); + } + bg->SetNpx(1000); + + for( int i = 0; i < degPol + 1; i++){ + printf("%4s : %8.4e(%8.4e)\n", Form("p%d", i), paraAt[3*nPeaks+i], paraEt[3*nPeaks+i]); + } + printf("====================================\n"); + + cFitNGaussPolSub->cd(1); + bg->Draw("same"); + + TH1F * specS = (TH1F*) hist->Clone(); + TString titleH; + titleH.Form("pol-%d BG Subtracted spectrum (fitNGaussPol-2); Ex [MeV]; Count / %4.0f keV", degPol, (xMax-xMin)*1000./xBin ); + specS->SetTitle(titleH); + specS->SetName("specS"); + + //=================== find peak and fit + + gStyle->SetOptFit(0); + ///cFitNGaussPol->cd(2)->SetGrid(); + cFitNGaussPolSub->cd(2); + + printf("============= substracting the polynomial background...\n"); + specS->Sumw2(); + specS->Add(bg, -1.); + specS->Draw("hist"); + + //======= fit again + printf("============= fitting the subtracted spectrum.... \n"); + + nPar = 3* nPeaks; + TF1 * fita = new TF1("fita", nGauss, xMin, xMax, nPar ); + fita->SetLineWidth(3); + fita->SetLineColor(1); + fita->SetNpx(1000); + fita->SetParameters(para); + + //fixing parameters + for( int i = 0; i < nPeaks; i++){ + fita->SetParLimits(3*i , 0, 1e9); + + if( energyFlag[i] == 1 ) { + fita->FixParameter(3*i+1, energy[i]); + }else{ + fita->SetParLimits(3*i+1, lowE[i], highE[i]); + } + if( sigmaFlag[i] == 1 ) { + fita->FixParameter(3*i+2, sigma[i]); + }else{ + fita->SetParLimits(3*i+2, 0, sigma[i]); + } + } + + specS->Fit("fita", "q"); + + const Double_t* paraE = fita->GetParErrors(); + const Double_t* paraA = fita->GetParameters(); + + //GoodnessofFit(specS, fit); + + double bw = specS->GetBinWidth(1); + + for(int i = 0; i < nPeaks ; i++){ + printf(" %2d , count: %8.0f(%3.0f), mean: %8.4f(%8.4f), sigma: %8.4f(%8.4f) \n", + i, + paraA[3*i] / bw, paraE[3*i] /bw, + paraA[3*i+1], paraE[3*i+1], + paraA[3*i+2], paraE[3*i+2]); + } + printf("\n"); + + + //draw the indivual fit + specS->Draw("hist"); + fita->Draw("same"); + + const int nn = nPeaks; + TF1 ** gFit = new TF1 *[nn]; + for( int i = 0; i < nPeaks; i++){ + gFit[i] = new TF1(Form("gFit%d", i), "[0] * TMath::Gaus(x,[1],[2], 1)", xMin, xMax); + gFit[i]->SetParameter(0, paraA[3*i]); + gFit[i]->SetParameter(1, paraA[3*i+1]); + gFit[i]->SetParameter(2, paraA[3*i+2]); + gFit[i]->SetLineColor(i+1); + gFit[i]->SetNpx(1000); + gFit[i]->SetLineWidth(1); + gFit[i]->Draw("same"); + } + + specS->Draw("hist same"); + //specS->Draw("E same"); + + + TLatex text; + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.04); + text.SetTextColor(1); + + for( int i = 0; i < degPol + 1; i++){ + text.DrawLatex(0.6, 0.85 - 0.05*i, Form("%4s : %8.4e(%8.4e)\n", Form("p%d", i), paraA[3*nPeaks+i], paraE[3*nPeaks+i])); + } + + double chi2 = fita->GetChisquare(); + int ndf = fita->GetNDF(); + text.SetTextSize(0.06); + text.DrawLatex(0.15, 0.8, Form("#bar{#chi^{2}} : %5.3f", chi2/ndf)); + + + cFitNGaussPolSub->cd(3); + PlotResidual(specS, fita); + + cFitNGaussPolSub->cd(4); + + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.05); + text.SetTextColor(2); + + text.DrawLatex(0.1, 0.9, Form(" %13s, %18s, %18s", "count", "mean", "sigma")); + + BestFitCount.clear(); + BestFitMean.clear(); + BestFitSigma.clear(); + + for( int i = 0; i < nPeaks; i++){ + text.DrawLatex(0.1, 0.8-0.05*i, Form(" %2d, %8.0f(%3.0f), %8.4f(%8.4f), %8.4f(%8.4f)\n", + i, + paraA[3*i] / bw, paraE[3*i] /bw, + paraA[3*i+1], paraE[3*i+1], + paraA[3*i+2], paraE[3*i+2])); + + BestFitCount.push_back(paraA[3*i]/ bw); + BestFitMean.push_back(paraA[3*i+1]); + BestFitSigma.push_back(paraA[3*i+2]); + } + + +} + +//################################################# +//#### fit N-Gauss with pol-n BG using mouse click +//################################################# + +int nClick = 0; +bool peakFlag = 1; +std::vector xPeakList; +std::vector yPeakList; +std::vector xBGList; +std::vector yBGList; + +TH1F * tempHist; +int markerStyle = 23; +int markerColor = 2; +int markerBGColor = 4; + +void Clicked() { + int event = gPad->GetEvent(); + if (event != 11) return; + TObject *select = gPad->GetSelected(); + if (!select) return; + + TH1F *h = (TH1F*)select; + int px = gPad->GetEventX(); + double xd = gPad->AbsPixeltoX(px); + float x = gPad->PadtoX(xd); + + if( peakFlag ) { + xPeakList.push_back(x); + }else{ + xBGList.push_back(x); + } + int b = tempHist->FindBin(x); + double y = tempHist->GetBinContent(b); + if( peakFlag ){ + yPeakList.push_back(y); + }else{ + yBGList.push_back(y); + } + // add marker in the histogram + TMarker * mark = new TMarker(x,y, markerStyle); + mark->SetMarkerColor(markerColor); + tempHist->GetListOfFunctions()->Add(mark); + + printf("%2d | x : %8.2f , y : %.0f \n", nClick, x, y); + + nClick ++; + +} + + +void SaveFitPara(bool isBestFit = true, TString fileName = "AutoFit_para.txt"){ + + if( xPeakList.size() == 0 && BestFitMean.size() == 0 ){ + printf(" no fit paramaters availible. \n"); + return; + } + + if( recentFitMethod == "fitGF3Pol" || recentFitMethod == "fitGF3" ){ + printf(" Not support for GF3 fitting. \n"); + return; + } + + printf("Save to : %s \n", fileName.Data()); + FILE * file_out; + file_out = fopen (fileName.Data(), "w+"); + + fprintf(file_out, "# for n-Gauss fit, can use \"#\", or \"//\" to comment out whole line\n"); + fprintf(file_out, "# peak low high fixed? sigma_Max fixed? hight\n"); + + + if ( xPeakList.size() == 0 || isBestFit ){ + for( int i = 0 ; i < BestFitMean.size() ; i++){ + fprintf(file_out, "%.3f %.3f %.3f 0 %.3f 0 %.0f\n", + BestFitMean[i], + BestFitMean[i] - 5*BestFitSigma[i], + BestFitMean[i] + 5*BestFitSigma[i], + BestFitSigma[i], + BestFitCount[i]); + } + }else{ + for( int i = 0 ; i < xPeakList.size() ; i++){ + fprintf(file_out, "%.3f %.3f %.3f 0 %.3f 0 %.0f\n", + xPeakList[i], + xPeakList[i] - 5*sigma[i], + xPeakList[i] + 5*sigma[i], + sigma[i], + yPeakList[i]); + } + } + fclose(file_out); +} + + +void clickFitNGaussPol(TH1F * hist, int degPol, double sigmaMax = 0, double meanRange = 0){ + + printf("=========================================================\n"); + printf("======== fit n-Gauss + Pol-%d BG using mouse click =====\n", degPol ); + printf("==========================================================\n"); + + recentFitMethod = "clickFitNGaussPol"; + + gStyle->SetOptStat(""); + gStyle->SetOptFit(0); + + TCanvas * cClickFitNGaussPol = NULL; + if( gROOT->FindObjectAny("cClickFitGaussPol") == NULL ){ + cClickFitNGaussPol = new TCanvas("cClickFitNGaussPol", Form("fit Gauss & Pol-%d by mouse click | clickFitGaussPol", degPol), 1400, 1200); + }else{ + delete gROOT->FindObjectAny("cClickFitNGaussPol") ; + cClickFitNGaussPol = new TCanvas("cClickFitNGaussPol", Form("fit Gauss & Pol-%d by mouse click | clickFitGaussPol", degPol), 1400, 1200); + } + cClickFitNGaussPol->Divide(1, 4); + for(int i = 1; i <= 4 ; i++){ + cClickFitNGaussPol->cd(i)->SetGrid(0,0); + } + + if(! cClickFitNGaussPol->GetShowEventStatus() ) cClickFitNGaussPol->ToggleEventStatus(); + cClickFitNGaussPol->cd(1); + + + hist->GetListOfFunctions()->Clear(); + ScaleAndDrawHist(hist, 0, 0); + TH1F* hspec = (TH1F*) hist->Clone(); + hspec->Sumw2(); + cClickFitNGaussPol->Update(); + cClickFitNGaussPol->Draw(); + + TLatex helpMsg; + helpMsg.SetNDC(); + helpMsg.SetTextFont(82); + helpMsg.SetTextSize(0.06); + helpMsg.SetTextColor(kRed); + helpMsg.DrawLatex(0.15, 0.8, "Click for peaks: (Double-click / x / Ctrl to end) "); + + printf("--------- Click the histogram for peaks: (Double-click / x / Ctrl to end) \n"); + nClick = 0; + xPeakList.clear(); + yPeakList.clear(); + markerColor = 2; + markerStyle = 23; + peakFlag = 1; + cClickFitNGaussPol->cd(1)->SetCrosshair(1); + cClickFitNGaussPol->cd(1)->AddExec("ex", "Clicked()"); + tempHist = hist; + TObject * obj ; + do{ + obj = gPad->WaitPrimitive(); + if( obj == NULL ) break; + }while( obj != NULL); + + if( degPol >= 0 ){ + printf("--------- Click the histogram for Background: (Double-click / x / Ctrl to end) \n"); + printf(" * when no input, program will estimate \n"); + + cClickFitNGaussPol->cd(1)->Clear(); + hist->Draw(); + helpMsg.SetTextColor(markerBGColor); + helpMsg.DrawLatex(0.15, 0.8, "Click for BG: (Double-click / x / Ctrl to end) "); + helpMsg.DrawLatex(0.15, 0.75, "* when no input, program will estimate"); + cClickFitNGaussPol->Update(); + cClickFitNGaussPol->Draw(); + + nClick = 0; + xBGList.clear(); + yBGList.clear(); + markerColor = markerBGColor; + markerStyle = 33; + peakFlag = 0; + cClickFitNGaussPol->cd(1)->AddExec("ex", "Clicked()"); + do{ + obj = gPad->WaitPrimitive(); + if( obj == NULL ) break; + }while( obj != NULL); + + } + + cClickFitNGaussPol->cd(1)->DeleteExec("ex"); + cClickFitNGaussPol->cd(1)->SetCrosshair(0); + cClickFitNGaussPol->cd(1)->Clear(); + hist->Draw(); + + tempHist = NULL; + + cClickFitNGaussPol->Update(); + cClickFitNGaussPol->Draw(); + + nPols = degPol; + double xMin = hspec->GetXaxis()->GetXmin(); + double xMax = hspec->GetXaxis()->GetXmax(); + + TString polExp = "[0]"; + for( int i = 1; i < degPol + 1; i++) polExp += Form("+[%d]*TMath::Power(x,%d)", i, i ); + TF1 *bg = new TF1("bg", polExp.Data(), xMin, xMax); + bg->SetNpx(1000); + bg->SetLineColor(markerBGColor); + bg->SetLineWidth(1); + if( xBGList.size() > 0 ) { + printf("---------------- fit the BG with Pol-%d \n", nPols); + TGraph * gBG = new TGraph((int) xBGList.size(), &xBGList[0], &yBGList[0]); + for( int i = 0; i < degPol + 1; i++) bg->SetParameter(i, gRandom->Rndm()/TMath::Power(10, 3*i)); + gBG->Fit("bg", "Rq"); + bg->Draw("same"); + //printf("--------------- Subtracting the BG \n"); + //hspec->Add(bg, -1); + }else{ + for( int i = 0; i < nPols+1; i++) bg->SetParameter(i, 0.); + } + + nPeaks = (int) xPeakList.size(); + if( sigmaMax == 0 ){ + printf("------------- Estimate sigma for each peak \n"); + sigma.clear(); + int binMin = hist->FindBin(xMin); + int binMax = hist->FindBin(xMax); + for( int i = 0; i < nPeaks ; i++){ + int b0 = hist->FindBin(xPeakList[i]); + double estBG = bg->Eval(xPeakList[i]); + double sMin = (xMax-xMin)/5., sMax = (xMax-xMin)/5.; + //---- backward search, stop when + for( int b = b0-1 ; b > binMin ; b-- ){ + double y = hist->GetBinContent(b); + double x = hist->GetBinCenter(b); + if( y - (bg->Eval(x)) < (yPeakList[i]-estBG)/2. ) { + sMin = xPeakList[i] - hist->GetBinCenter(b); + break; + } + } + //---- forward search, stop when + for( int b = b0+1 ; b < binMax ; b++ ){ + double y = hist->GetBinContent(b); + double x = hist->GetBinCenter(b); + if( y - (bg->Eval(x)) < (yPeakList[i]-estBG)/2. ) { + sMax = hist->GetBinCenter(b) - xPeakList[i]; + break; + } + } + + double temp = TMath::Min(sMin, sMax); + /// When there are multiple peaks closely packed : + if( i > 0 && temp > 2.5 * sigma.back() ) temp = sigma.back(); + sigma.push_back(temp); + + printf("%2d | x : %8.2f | sigma(est) %f \n", i, xPeakList[i], sigma[i]); + + } + + //---- use the mean of the sigma + double sigma0 = 0; + for( int i = 0; i < nPeaks ; i++) sigma0 += sigma[i]; + sigma0 = sigma0/(nPeaks+1); + for( int i = 0; i < nPeaks ; i++) sigma[i] = sigma0; + printf("========== use the mean sigma : %f \n", sigma0); + }else if( sigmaMax < 0 ){ + printf("========== use user input sigma : %f (fixed)\n", abs(sigmaMax)); + sigma.clear(); + for( int i = 0; i < nPeaks ; i++) sigma.push_back(abs(sigmaMax)); + }else if( sigmaMax > 0 ){ + printf("========== use user input sigma : %f/2. \n", sigmaMax/2.); + sigma.clear(); + for( int i = 0; i < nPeaks ; i++) sigma.push_back(sigmaMax/2.); + } + + printf("-------------- Fit the spectrum with %d-Gauss + Pol-%d\n", nPeaks, nPols ); + cClickFitNGaussPol->cd(2); + hspec->Draw("hist"); + + int nPar = 3 * nPeaks + nPols + 1; + double * para = new double[nPar]; + for(int i = 0; i < nPeaks ; i++){ + para[3*i+0] = yPeakList[i] * 0.05 * TMath::Sqrt(TMath::TwoPi()); + para[3*i+1] = xPeakList[i]; + if( sigmaMax == 0){ + para[3*i+2] = sigma[i]; + }else if(sigmaMax < 0 ){ + para[3*i+2] = abs(sigmaMax); + }else if(sigmaMax > 0 ){ + para[3*i+2] = sigmaMax/2.; + } + } + for(int i = 0; i < nPols+1 ; i++){ + para[3*nPeaks+i] = bg->GetParameter(i); + } + + TF1 * fit = new TF1("fit", nGaussPol, xMin, xMax, nPar ); + fit->SetLineWidth(3); + fit->SetLineColor(1); + fit->SetNpx(1000); + fit->SetParameters(para); + + //limit parameters + for( int i = 0; i < nPeaks; i++){ + fit->SetParLimits(3*i , 0, 1e9); + + if( meanRange <= 0 ) { + double dE1, dE2; + if( i == 0 ){ + dE2 = xPeakList[i+1] - xPeakList[i]; + dE1 = dE2; + }else if ( i == nPeaks-1 ){ + dE1 = xPeakList[i] - xPeakList[i-1]; + dE2 = dE1; + }else{ + dE1 = xPeakList[i] - xPeakList[i-1]; + dE2 = xPeakList[i+1] - xPeakList[i]; + } + fit->SetParLimits(3*i+1, xPeakList[i] - dE1 , xPeakList[i] + dE2 ); + }else{ + fit->SetParLimits(3*i+1, xPeakList[i] - meanRange/2. , xPeakList[i] + meanRange/2. ); + } + if( sigmaMax== 0 ) fit->SetParLimits(3*i+2, 0, 1.5*sigma[i]); // add 50% margin of sigma + if( sigmaMax < 0 ) fit->FixParameter(3*i+2, abs(sigmaMax)); + if( sigmaMax > 0 ) fit->SetParLimits(3*i+2, 0, sigmaMax); + } + + hspec->Fit("fit", "Rq"); + fit->Draw("same"); + + //=========== get the polynomial part + const Double_t* paraA = fit->GetParameters(); + const Double_t* paraE = fit->GetParErrors(); + + double chi2 = fit->GetChisquare(); + int ndf = fit->GetNDF(); + double bw = hspec->GetBinWidth(1); + + for(int i = 0; i < nPeaks ; i++){ + printf(" %2d , count: %8.0f(%3.0f), mean: %8.4f(%8.4f), sigma: %8.4f(%8.4f) \n", + i, + paraA[3*i] / bw, paraE[3*i] /bw, + paraA[3*i+1], paraE[3*i+1], + paraA[3*i+2], paraE[3*i+2]); + } + printf("\n"); + + TLatex text; + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.06); + text.DrawLatex(0.15, 0.8, Form("#bar{#chi^{2}} : %5.3f", chi2/ndf)); + + for( int i = 0; i < degPol + 1; i++){ + text.DrawLatex(0.6, 0.85 - 0.05*i, Form("%4s : %8.4e(%8.4e)\n", Form("p%d", i), paraA[3*nPeaks+i], paraE[3*nPeaks+i])); + } + + TF1 ** gFit = new TF1 *[nPeaks]; + for( int i = 0; i < nPeaks; i++){ + gFit[i] = new TF1(Form("gFit%d", i), "[0] * TMath::Gaus(x,[1],[2], 1)", xMin, xMax); + gFit[i]->SetParameter(0, paraA[3*i]); + gFit[i]->SetParameter(1, paraA[3*i+1]); + gFit[i]->SetParameter(2, paraA[3*i+2]); + gFit[i]->SetLineColor(i+1); + gFit[i]->SetNpx(1000); + gFit[i]->SetLineWidth(1); + gFit[i]->Draw("same"); + } + + if( degPol >= 0 ){ + TF1 *bg2 = new TF1("bg", polExp.Data(), xMin, xMax); + bg2->SetNpx(1000); + bg2->SetLineColor(markerBGColor); + bg2->SetLineWidth(1); + for( int i = 0; i < nPols + 1; i++){ + bg2->SetParameter(i, paraA[3*nPeaks+i]); + } + bg2->Draw("same"); + } + + cClickFitNGaussPol->cd(3); + PlotResidual(hspec, fit); + + cClickFitNGaussPol->cd(4); + + text.SetTextSize(0.05); + text.SetTextColor(2); + text.DrawLatex(0.1, 0.9, Form(" %13s, %18s, %18s", "count", "mean", "sigma")); + + BestFitCount.clear(); + BestFitMean.clear(); + BestFitSigma.clear(); + + for( int i = 0; i < nPeaks; i++){ + text.DrawLatex(0.1, 0.8-0.05*i, Form(" %2d, %8.0f(%3.0f), %8.4f(%8.4f), %8.4f(%8.4f)\n", + i, + paraA[3*i] / bw, paraE[3*i] /bw, + paraA[3*i+1], paraE[3*i+1], + paraA[3*i+2], paraE[3*i+2])); + + BestFitCount.push_back(paraA[3*i]/ bw); + BestFitMean.push_back(paraA[3*i+1]); + BestFitSigma.push_back(paraA[3*i+2]); + } + +} + + + +void clickFitNGaussPolSub(TH1F * hist, int degPol, double sigmaMax = 0, double meanRange = 0){ + + printf("=========================================================\n"); + printf("= fit n-Gauss + Pol-%d BG using mouse click (method-2) =\n", degPol ); + printf("==========================================================\n"); + + recentFitMethod = "clickFitNGaussPolSub"; + + gStyle->SetOptStat(""); + gStyle->SetOptFit(0); + + TCanvas * cClickFitNGaussPolsub = NULL; + if( gROOT->FindObjectAny("cClickFitGaussPolsub") == NULL ){ + cClickFitNGaussPolsub = new TCanvas("cClickFitNGaussPol", Form("fit Gauss & Pol-%d by mouse click (sub) | clickFitGaussPolsub", degPol), 1400, 1200); + }else{ + delete gROOT->FindObjectAny("cClickFitNGaussPolsub") ; + cClickFitNGaussPolsub = new TCanvas("cClickFitNGaussPolsub", Form("fit Gauss & Pol-%d by mouse click (sub) | clickFitGaussPolsub", degPol), 1400, 1200); + } + cClickFitNGaussPolsub->Divide(1, 4); + for(int i = 1; i <= 4 ; i++){ + cClickFitNGaussPolsub->cd(i)->SetGrid(0,0); + } + + if(! cClickFitNGaussPolsub->GetShowEventStatus() ) cClickFitNGaussPolsub->ToggleEventStatus(); + cClickFitNGaussPolsub->cd(1); + + + hist->GetListOfFunctions()->Clear(); + ScaleAndDrawHist(hist, 0, 0); + TH1F* hspec = (TH1F*) hist->Clone(); + hspec->Sumw2(); + cClickFitNGaussPolsub->Update(); + cClickFitNGaussPolsub->Draw(); + + TLatex helpMsg; + helpMsg.SetNDC(); + helpMsg.SetTextFont(82); + helpMsg.SetTextSize(0.06); + helpMsg.SetTextColor(kRed); + helpMsg.DrawLatex(0.15, 0.8, "Click for peaks: (Double-click / x / Ctrl to end) "); + + + printf("--------- Click the histogram for peaks: (Double-click / x / Ctrl to end) \n"); + nClick = 0; + xPeakList.clear(); + yPeakList.clear(); + markerColor = 2; + markerStyle = 23; + peakFlag = 1; + cClickFitNGaussPolsub->cd(1)->SetCrosshair(1); + cClickFitNGaussPolsub->cd(1)->AddExec("ex", "Clicked()"); + tempHist = hist; + TObject * obj ; + do{ + obj = gPad->WaitPrimitive(); + if( obj == NULL ) break; + }while( obj != NULL); + + if( degPol >= 0 ){ + printf("--------- Click the histogram for Background: (Double-click / x / Ctrl to end) \n"); + + cClickFitNGaussPolsub->cd(1)->Clear(); + hist->Draw(); + helpMsg.SetTextColor(markerBGColor); + helpMsg.DrawLatex(0.15, 0.8, "Click for BG: (Double-click / x / Ctrl to end) "); + cClickFitNGaussPolsub->Update(); + cClickFitNGaussPolsub->Draw(); + + nClick = 0; + xBGList.clear(); + yBGList.clear(); + markerColor = markerBGColor; + markerStyle = 33; + peakFlag = 0; + do{ + obj = gPad->WaitPrimitive(); + if( obj == NULL ) break; + }while( obj != NULL); + } + cClickFitNGaussPolsub->cd(1)->DeleteExec("ex"); + cClickFitNGaussPolsub->cd(1)->SetCrosshair(0); + cClickFitNGaussPolsub->cd(1)->Clear(); + hist->Draw(); + + tempHist = NULL; + + if( xBGList.size() == 0 ) helpMsg.DrawLatex(0.15, 0.75, " No BG defined ! fitting could be problematics. "); + + cClickFitNGaussPolsub->Update(); + cClickFitNGaussPolsub->Draw(); + + nPols = degPol; + double xMin = hspec->GetXaxis()->GetXmin(); + double xMax = hspec->GetXaxis()->GetXmax(); + + TString polExp = "[0]"; + for( int i = 1; i < degPol + 1; i++) polExp += Form("+[%d]*TMath::Power(x,%d)", i, i ); + TF1 *bg = new TF1("bg", polExp.Data(), xMin, xMax); + bg->SetNpx(1000); + bg->SetLineColor(markerBGColor); + bg->SetLineWidth(1); + if( xBGList.size() > 0 ) { + printf("---------------- fit the BG with Pol-%d \n", nPols); + + TGraph * gBG = new TGraph((int) xBGList.size(), &xBGList[0], &yBGList[0]); + + for( int i = 0; i < degPol + 1; i++) bg->SetParameter(i, gRandom->Rndm()/TMath::Power(10, 3*i)); + + gBG->Fit("bg", "Rq"); + bg->Draw("same"); + + printf("--------------- Subtracting the BG \n"); + hspec->Add(bg, -1); + }else{ + for( int i = 0; i < nPols+1; i++) bg->SetParameter(i, 0.); + } + + + TLatex text; + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.06); + + double chi2BG = bg->GetChisquare(); + int ndfBG = bg->GetNDF(); + + text.DrawLatex(0.15, 0.8, Form("#bar{#chi^{2}} : %5.3f", chi2BG/ndfBG)); + + //=========== get the polynomial BG + const Double_t* paraAt = bg->GetParameters(); + const Double_t* paraEt = bg->GetParErrors(); + + for( int i = 0; i < degPol + 1; i++){ + text.DrawLatex(0.6, 0.85 - 0.05*i, Form("%4s : %8.2f(%8.2f)\n", Form("p%d", i), paraAt[i], paraEt[i])); + } + + nPeaks = (int) xPeakList.size(); + if( sigmaMax == 0 ){ + printf("------------- Estimate sigma for each peak \n"); + sigma.clear(); + int binMin = hist->FindBin(xMin); + int binMax = hist->FindBin(xMax); + + for( int i = 0; i < nPeaks ; i++){ + int b0 = hist->FindBin(xPeakList[i]); + double estBG = bg->Eval(xPeakList[i]); + double sMin = (xMax-xMin)/5., sMax = (xMax-xMin)/5.; + //---- backward search, stop when + for( int b = b0-1 ; b > binMin ; b-- ){ + double y = hist->GetBinContent(b); + double x = hist->GetBinCenter(b); + if( y - (bg->Eval(x)) < (yPeakList[i]-estBG)/2. ) { + sMin = xPeakList[i] - hist->GetBinCenter(b); + break; + } + } + //---- forward search, stop when + for( int b = b0+1 ; b < binMax ; b++ ){ + double y = hist->GetBinContent(b); + double x = hist->GetBinCenter(b); + if( y - (bg->Eval(x)) < (yPeakList[i]-estBG)/2. ) { + sMax = hist->GetBinCenter(b) - xPeakList[i]; + break; + } + } + + double temp = TMath::Min(sMin, sMax); + /// When there are multiple peaks closely packed : + if( i > 0 && temp > 2.5 * sigma.back() ) temp = sigma.back(); + sigma.push_back(temp); + + printf("%2d | x : %8.2f | sigma(est) %f \n", i, xPeakList[i], sigma[i]); + + } + }else if( sigmaMax < 0 ){ + printf("========== use user input sigma : %f (fixed)\n", abs(sigmaMax)); + sigma.clear(); + for( int i = 0; i < nPeaks ; i++) sigma.push_back(abs(sigmaMax)); + }else if( sigmaMax > 0 ){ + printf("========== use user input sigma : %f/2. \n", sigmaMax/2.); + sigma.clear(); + for( int i = 0; i < nPeaks ; i++) sigma.push_back(sigmaMax/2.); + } + + printf("-------------- Fit the subtracted spectrum with %d-Gauss\n", nPeaks ); + cClickFitNGaussPolsub->cd(2); + hspec->Draw("hist"); + + int nPar = 3 * nPeaks; + double * para = new double[nPar]; + for(int i = 0; i < nPeaks ; i++){ + para[3*i+0] = yPeakList[i] * 0.05 * TMath::Sqrt(TMath::TwoPi()); + para[3*i+1] = xPeakList[i]; + if( sigmaMax == 0){ + para[3*i+2] = sigma[i]; + }else if(sigmaMax < 0 ){ + para[3*i+2] = abs(sigmaMax); + }else if(sigmaMax > 0 ){ + para[3*i+2] = sigmaMax/2.; + } + } + + TF1 * fit = new TF1("fit", nGauss, xMin, xMax, nPar ); + fit->SetLineWidth(3); + fit->SetLineColor(1); + fit->SetNpx(1000); + fit->SetParameters(para); + + //limit parameters + for( int i = 0; i < nPeaks; i++){ + fit->SetParLimits(3*i , 0, 1e9); + + if( meanRange <= 0 ) { + double dE1, dE2; + if( i == 0 ){ + dE2 = xPeakList[i+1] - xPeakList[i]; + dE1 = dE2; + }else if ( i == nPeaks-1 ){ + dE1 = xPeakList[i] - xPeakList[i-1]; + dE2 = dE1; + }else{ + dE1 = xPeakList[i] - xPeakList[i-1]; + dE2 = xPeakList[i+1] - xPeakList[i]; + } + fit->SetParLimits(3*i+1, xPeakList[i] - dE1 , xPeakList[i] + dE2 ); + }else{ + fit->SetParLimits(3*i+1, xPeakList[i] - meanRange/2. , xPeakList[i] + meanRange/2. ); + } + if( sigmaMax== 0 ) fit->SetParLimits(3*i+2, 0, 1.5*sigma[i]); // add 50% margin of sigma + if( sigmaMax < 0 ) fit->FixParameter(3*i+2, abs(sigmaMax)); + if( sigmaMax > 0 ) fit->SetParLimits(3*i+2, 0, sigmaMax); + } + + hspec->Fit("fit", "Rq"); + fit->Draw("same"); + + //=========== get the fit parameters + const Double_t* paraA = fit->GetParameters(); + const Double_t* paraE = fit->GetParErrors(); + + double chi2 = fit->GetChisquare(); + int ndf = fit->GetNDF(); + double bw = hspec->GetBinWidth(1); + + text.DrawLatex(0.15, 0.8, Form("#bar{#chi^{2}} : %5.3f", chi2/ndf)); + + for(int i = 0; i < nPeaks ; i++){ + printf(" %2d , count: %8.0f(%3.0f), mean: %8.4f(%8.4f), sigma: %8.4f(%8.4f) \n", + i, + paraA[3*i] / bw, paraE[3*i] /bw, + paraA[3*i+1], paraE[3*i+1], + paraA[3*i+2], paraE[3*i+2]); + } + printf("\n"); + + TF1 ** gFit = new TF1 *[nPeaks]; + for( int i = 0; i < nPeaks; i++){ + gFit[i] = new TF1(Form("gFit%d", i), "[0] * TMath::Gaus(x,[1],[2], 1)", xMin, xMax); + gFit[i]->SetParameter(0, paraA[3*i]); + gFit[i]->SetParameter(1, paraA[3*i+1]); + gFit[i]->SetParameter(2, paraA[3*i+2]); + gFit[i]->SetLineColor(i+1); + gFit[i]->SetNpx(1000); + gFit[i]->SetLineWidth(1); + gFit[i]->Draw("same"); + } + + cClickFitNGaussPolsub->cd(3); + PlotResidual(hspec, fit); + + cClickFitNGaussPolsub->cd(4); + + text.SetTextSize(0.05); + text.SetTextColor(2); + text.DrawLatex(0.1, 0.9, Form(" %13s, %18s, %18s", "count", "mean", "sigma")); + + BestFitCount.clear(); + BestFitMean.clear(); + BestFitSigma.clear(); + + for( int i = 0; i < nPeaks; i++){ + text.DrawLatex(0.1, 0.8-0.05*i, Form(" %2d, %8.0f(%3.0f), %8.4f(%8.4f), %8.4f(%8.4f)\n", + i, + paraA[3*i] / bw, paraE[3*i] /bw, + paraA[3*i+1], paraE[3*i+1], + paraA[3*i+2], paraE[3*i+2])); + + BestFitCount.push_back(paraA[3*i]/ bw); + BestFitMean.push_back(paraA[3*i+1]); + BestFitSigma.push_back(paraA[3*i+2]); + } +} + + +//######################################## +//#### fit N-Gauss with pol-1 BG at fixed for < 0 +//######################################## +void fitSpecial(TH1F * hist, TString fitFile = "AutoFit_para.txt"){ + + printf("================================================================\n"); + printf("================ Special fit for h074_82Kr =====================\n"); + printf(" * need the file input \n"); + printf("================================================================\n"); + + + bool isParaRead = loadFitParameters(fitFile); + if( !isParaRead ) { + printf("Please provide a valid input file\n"); + return; + } + + gStyle->SetOptStat(""); + gStyle->SetOptFit(0); + nPeaks = energy.size(); + nPols = 1; + + TCanvas * cFitSpecial = NewCanvas("cFitSpecial", "Fitting for h074_82Kr", 1, 3, 800, 300); + //if(! cFitSpecial->GetShowEventStatus() ) cFitSpecial->ToggleEventStatus(); + cFitSpecial->cd(1); + + ScaleAndDrawHist(hist, 0, 0); + + double xMin = hist->GetXaxis()->GetXmin(); + double xMax = hist->GetXaxis()->GetXmax(); + int xBin = hist->GetXaxis()->GetNbins(); + + printf("============= find the pol-1 background ..... \n"); + + TF1 * fitpol1 = new TF1("fitpol1", "pol1", xMin, -0.3); + fitpol1->SetParameter(0, gRandom->Rndm()); + fitpol1->SetParameter(1, gRandom->Rndm()); + + hist->Fit("fitpol1", "Rq"); + + double x0 = fitpol1->GetParameter(0); + double x1 = fitpol1->GetParameter(1); + + + int nPar = 3 * nPeaks + nPols + 1; + double * para = new double[nPar]; + for(int i = 0; i < nPeaks ; i++){ + para[3*i+0] = height[i] * 0.05 * TMath::Sqrt(TMath::TwoPi()); + para[3*i+1] = energy[i]; + para[3*i+2] = sigma[i]/2.; + } + + para[3*nPeaks+0] = x0; + para[3*nPeaks+1] = x1; + + + TF1 * fit = new TF1("fit", nGaussPol, xMin, xMax, nPar ); + fit->SetLineWidth(3); + fit->SetLineColor(1); + fit->SetNpx(1000); + fit->SetParameters(para); + + //fixing parameters + for( int i = 0; i < nPeaks; i++){ + fit->SetParLimits(3*i , 0, 1e9); + if( energyFlag[i] == 1 ) { + fit->FixParameter(3*i+1, energy[i]); + }else{ + fit->SetParLimits(3*i+1, lowE[i], highE[i]); + } + if( sigmaFlag[i] == 1 ) { + fit->FixParameter(3*i+2, sigma[i]); + }else{ + fit->SetParLimits(3*i+2, 0, sigma[i]); + } + } + + fit->FixParameter(3*nPeaks + 0, x0); + fit->FixParameter(3*nPeaks + 1, x1); + + hist->Fit("fit", "Rq"); + + //=========== get the polynomial part + const Double_t* paraA = fit->GetParameters(); + const Double_t* paraE = fit->GetParErrors(); + + TString polExp = "[0]"; + for( int i = 1; i < nPols + 1; i++){ + polExp += Form("+[%d]*TMath::Power(x,%d)", i, i ); + } + + TF1 * bg = new TF1("bg", polExp.Data(), xMin, xMax); + for( int i = 0; i < nPols + 1; i++){ + bg->SetParameter(i, paraA[3*nPeaks+i]); + } + bg->SetNpx(1000); + + for( int i = 0; i < nPols + 1; i++){ + printf("%4s : %8.4e(%8.4e)\n", Form("p%d", i), paraA[3*nPeaks+i], paraE[3*nPeaks+i]); + } + printf("====================================\n"); + + cFitSpecial->cd(1); + bg->Draw("same"); + + TLatex text; + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.04); + text.SetTextColor(1); + + for( int i = 0; i < nPols + 1; i++){ + text.DrawLatex(0.6, 0.85 - 0.05*i, Form("%4s : %8.4e(%8.4e)\n", Form("p%d", i), paraA[3*nPeaks+i], paraE[3*nPeaks+i])); + } + + double chi2 = fit->GetChisquare(); + int ndf = fit->GetNDF(); + text.SetTextSize(0.06); + text.DrawLatex(0.15, 0.8, Form("#bar{#chi^{2}} : %5.3f", chi2/ndf)); + + + //GoodnessofFit(specS, fit); + + double bw = hist->GetBinWidth(1); + + for(int i = 0; i < nPeaks ; i++){ + printf(" %2d , count: %8.0f(%3.0f), mean: %8.4f(%8.4f), sigma: %8.4f(%8.4f) \n", + i, + paraA[3*i] / bw, paraE[3*i] /bw, + paraA[3*i+1], paraE[3*i+1], + paraA[3*i+2], paraE[3*i+2]); + } + printf("\n"); + + + const int nn = nPeaks; + TF1 ** gFit = new TF1 *[nn]; + for( int i = 0; i < nPeaks; i++){ + gFit[i] = new TF1(Form("gFit%d", i), "[0] * TMath::Gaus(x,[1],[2], 1)", xMin, xMax); + gFit[i]->SetParameter(0, paraA[3*i]); + gFit[i]->SetParameter(1, paraA[3*i+1]); + gFit[i]->SetParameter(2, paraA[3*i+2]); + gFit[i]->SetLineColor(i+1); + gFit[i]->SetNpx(1000); + gFit[i]->SetLineWidth(1); + gFit[i]->Draw("same"); + } + + cFitSpecial->Update(); + + cFitSpecial->cd(2); + PlotResidual(hist, fit); + + cFitSpecial->cd(3); + + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.05); + text.SetTextColor(2); + + text.DrawLatex(0.1, 0.9, Form(" %13s, %18s, %18s", "count", "mean", "sigma")); + + for( int i = 0; i < nPeaks; i++){ + text.DrawLatex(0.1, 0.8-0.05*i, Form(" %2d, %8.0f(%3.0f), %8.4f(%8.4f), %8.4f(%8.4f)\n", + i, + paraA[3*i] / bw, paraE[3*i] /bw, + paraA[3*i+1], paraE[3*i+1], + paraA[3*i+2], paraE[3*i+2])); + } + +} + +} + +#endif diff --git a/armory/ClassCorrParas.h b/armory/ClassCorrParas.h new file mode 100644 index 0000000..960862e --- /dev/null +++ b/armory/ClassCorrParas.h @@ -0,0 +1,175 @@ +#ifndef Parameters_H +#define Parameters_H + +//************************************** Correction parameters; +class CorrParas { +private: + + int defaultSize; + +public: + CorrParas(int defaultSize = 100){ + is_xn_OK = false; + is_xfxne_OK = false; + is_e_OK = false; + is_xScale_OK = false; + is_rdt_OK = false; + + this->defaultSize = defaultSize; + }; + + void LoadAllCorrections(){ + LoadXNCorr(); + LoadXFXN2ECorr(); + LoadECorr(); + LoadXScaleCorr(); + LoadRDTCorr(); + } + + void CheckCorrParasSize(size_t arraySize, size_t rdtSize){ + printf("------------ Check Correction parameter sizes\n"); + + if( is_xn_OK && xnCorr.size() < arraySize ) { + printf(" xnCorr [%zu] < array size %zu. Set xnCorr[1..99] = 1.0 \n", xnCorr.size(), arraySize); + for( int i = 0; i < defaultSize; i++ ) xnCorr.push_back(1.0); + is_xn_OK = false; + } + if( is_xfxne_OK && xfxneCorr.size() < arraySize ) { + printf(" xfxneCorr [%zu] < array size %zu. Set xfxneCorr[1..99] = (0.0, 1.0) \n", xfxneCorr.size(), arraySize); + for( int i = 0; i < defaultSize; i++ ) xfxneCorr.push_back({0.0, 1.0}); + is_xScale_OK = false; + } + if( is_e_OK && eCorr.size() < arraySize ) { + printf(" eCorr [%zu] < array size %zu. Set eCorr[1..99] = (1.0, 0.0) \n", xnCorr.size(), arraySize); + for( int i = 0; i < defaultSize; i++ ) eCorr.push_back({1.0, 0.0}); + is_e_OK = false; + } + if( is_xScale_OK && xScale.size() < arraySize ) { + printf(" xScale [%zu] < array size %zu. Set xScale[1..99] = 1.0 \n", xScale.size(), arraySize); + for( int i = 0; i < defaultSize; i++ ) xScale.push_back(1.0); + is_xScale_OK = false; + } + if( is_rdt_OK && rdtCorr.size() < rdtSize ) { + printf(" rdtCorr [%zu] < array size %zu. Set rdtScale[1..99] = (0.0, 1.0) \n", rdtCorr.size(), arraySize); + for( int i = 0; i < defaultSize; i++ ) rdtCorr.push_back({0.0, 1.0}); + is_rdt_OK = false; + } + + printf("------------ Done Check Corr. Para. Size.\n"); + } + + bool is_xn_OK; + bool is_xfxne_OK; + bool is_e_OK; + bool is_xScale_OK; + bool is_rdt_OK; + + std::vector xnCorr; //correction of xn to match xf + std::vector> xfxneCorr; //correction of xn and xf to match e + std::vector> eCorr; // correction to e, ch -> MeV + std::vector xScale; // correction of x to be (0,1) + std::vector> rdtCorr; // correction of rdt, ch -> MeV + + //~========================================= xf = xn correction + void LoadXNCorr(bool verbose = false, const char * fileName = "correction_xf_xn.dat"){ + printf(" loading xf-xn correction."); + xnCorr.clear(); + std::ifstream file; + file.open(fileName); + if( file.is_open() ){ + float a; + while( file >> a ) xnCorr.push_back(a); + printf(".......... done. size:%zu\n", xnCorr.size()); + is_xn_OK = true; + }else{ + for( int i = 0; i < defaultSize; i++ ) xnCorr.push_back(1.0); + printf(".......... fail. xnCorr[1..99] = 1.0\n"); + is_xn_OK = false; + } + file.close(); + if( verbose ) for(int i = 0; i < (int) xnCorr.size(); i++) printf("%2d | %10.3f\n", i, xnCorr[i]); + } + + //~========================================= X-Scale correction + void LoadXScaleCorr(bool verbose = false, const char * fileName = "correction_scaleX.dat"){ + printf(" loading x-Scale correction."); + xScale.clear(); + std::ifstream file; + file.open(fileName); + if( file.is_open() ){ + float a; + while( file >> a ) xScale.push_back(a); + printf("........ done. size:%zu\n", xScale.size()); + is_xScale_OK = true; + }else{ + for( int i = 0; i < defaultSize; i++ ) xScale.push_back(1.0); + printf("........ fail. xScale[1..99] = 1.0\n"); + is_xScale_OK = false; + } + file.close(); + if( verbose ) for(int i = 0; i < (int) xScale.size(); i++) printf("%2d | %10.3f\n", i, xnCorr[i]); + } + + //~========================================= e = xf + xn correction + void LoadXFXN2ECorr(bool verbose = false, const char * fileName = "correction_xfxn_e.dat"){ + printf(" loading xf/xn-e correction."); + xfxneCorr.clear(); + std::ifstream file; + file.open(fileName); + if( file.is_open() ){ + float a, b; + while( file >> a >> b) xfxneCorr.push_back({a, b}); + printf("........ done. size:%zu\n", xfxneCorr.size()); + is_xfxne_OK = true; + }else{ + for( int i = 0; i < defaultSize; i++ ) xfxneCorr.push_back({0.0, 1.0}); + printf("........ fail. xfxneCorr[1..99] = (0.0, 1.0)\n"); + is_xfxne_OK = false; + } + file.close(); + if( verbose ) for(int i = 0; i < (int) xfxneCorr.size(); i++) printf("%2d | %10.3f, %10.3f\n", i, xfxneCorr[i][0], xfxneCorr[i][1]); + } + + //~========================================= e correction + void LoadECorr(bool verbose = false, const char * fileName = "correction_e.dat"){ + printf(" loading e correction."); + eCorr.clear(); + std::ifstream file; + file.open(fileName); + if( file.is_open() ){ + float a, b; + while( file >> a >> b) eCorr.push_back( {a, b} ); // 1/a1, a0 , e' = e * a1 + a0 + printf(".............. done. size:%zu\n", eCorr.size()); + is_e_OK = true; + }else{ + for( int i = 0; i < defaultSize; i++ ) eCorr.push_back( {1.0, 0.0} ); + printf(".............. fail. eCorr[1..99] = (1.0, 0.0) \n"); + is_e_OK = false; + } + file.close(); + if( verbose ) for(int i = 0; i < (int) eCorr.size(); i++) printf("%2d | %10.3f, %10.3f\n", i, eCorr[i][0], eCorr[i][1]); + } + + //~========================================= rdt correction + void LoadRDTCorr(bool verbose = false, const char * fileName = "correction_rdt.dat"){ + printf(" loading rdt correction."); + rdtCorr.clear(); + std::ifstream file; + file.open(fileName); + if( file.is_open() ){ + float a, b; + while( file >> a >> b) rdtCorr.push_back({a, b}); + printf("............ done. size:%zu\n", rdtCorr.size()); + is_rdt_OK = true; + }else{ + for( int i = 0; i < defaultSize; i++ ) rdtCorr.push_back( {0.0, 1.0} ); + printf("............ fail. rdtCorr[1..99] = (0.0, 1.0)\n"); + is_rdt_OK = false; + } + file.close(); + if( verbose ) for(int i = 0; i < (int) rdtCorr.size(); i++) printf("%2d | %10.3f, %10.3f\n", i, rdtCorr[i][0], rdtCorr[i][1]); + } + +}; + +#endif \ No newline at end of file diff --git a/armory/ClassDetGeo.h b/armory/ClassDetGeo.h new file mode 100644 index 0000000..41b0bf5 --- /dev/null +++ b/armory/ClassDetGeo.h @@ -0,0 +1,268 @@ +#ifndef ClassDetGeo_H +#define ClassDetGeo_H + +#include /// for FILE +#include +#include +#include +#include + +#include "TMath.h" +#include "TString.h" +#include "TMacro.h" + +#include "AnalysisLib.h" + +struct Array{ + + bool enable; + + double detPerpDist; /// distance from axis + double detWidth; /// width + double detLength; /// length + double blocker; + double firstPos; /// meter + double eSigma; /// intrinsic energy resolution MeV + double zSigma; /// intrinsic position resolution mm + bool detFaceOut; ///detector_facing_Out_or_In + std::vector pos; /// realtive position in meter + int colDet, rowDet; /// colDet = number of different pos, rowDet, number of same pos + std::vector detPos; ///absolute position of detector + int numDet; /// colDet * rowDet + + double zMin, zMax; + + void DeduceAbsolutePos(){ + + colDet = pos.size(); + numDet = colDet * rowDet; + detPos.clear(); + + for(int id = 0; id < colDet; id++){ + if( firstPos > 0 ) detPos.push_back(firstPos + pos[id]); + if( firstPos < 0 ) detPos.push_back(firstPos - pos[colDet - 1 - id]); + // printf("%d | %f, %f \n", id, pos[id], detPos[id]); + } + + zMin = TMath::Min(detPos.front(), detPos.back()) - (firstPos < 0 ? detLength : 0); + zMax = TMath::Max(detPos.front(), detPos.back()) + (firstPos > 0 ? detLength : 0); + } + + void Print() const{ + + printf("------------------------------- Array\n"); + + for(int i = 0; i < colDet ; i++){ + if( firstPos > 0 ){ + printf("%d, %8.2f mm - %8.2f mm \n", i, detPos[i], detPos[i] + detLength); + }else{ + printf("%d, %8.2f mm - %8.2f mm \n", i, detPos[i] - detLength , detPos[i]); + } + } + + printf(" Blocker Position: %8.2f mm \n", firstPos > 0 ? firstPos - blocker : firstPos + blocker ); + printf(" First Position: %8.2f mm \n", firstPos); + printf(" number of det : %d = %d x %d (side x col) \n", numDet, rowDet, colDet); + printf(" detector facing : %s\n", detFaceOut ? "Out" : "In"); + printf(" energy resol.: %f MeV\n", eSigma); + printf(" pos-Z resol.: %f mm \n", zSigma); + } + +}; + +struct Auxillary{ + + //========== recoil + double detPos; // + double outerRadius; + double innerRadius; + + bool isCoincident; + + double detPos1 = 0; // virtual recoil + double detPos2 = 0; // virtual recoil + + //========== enum + double elumPos1 = 0; + double elumPos2 = 0; + + void Print() const { + printf("------------------------------- Auxillary\n"); + printf(" Recoil detector pos: %8.2f mm, radius: %6.2f - %6.2f mm \n", detPos, innerRadius, outerRadius); + + if( elumPos1 != 0 || elumPos2 != 0 || detPos1 != 0 || detPos2 != 0){ + printf("=================================== Virtual Detectors\n"); + if( elumPos1 != 0 ) printf(" Elum 1 pos.: %f mm \n", elumPos1); + if( elumPos2 != 0 ) printf(" Elum 2 pos.: %f mm \n", elumPos2); + if( detPos1 != 0 ) printf(" Recoil 1 pos.: %f mm \n", detPos1); + if( detPos2 != 0 ) printf(" Recoil 2 pos.: %f mm \n", detPos2); + printf("=====================================================\n"); + } + } + +}; + +class DetGeo { + +public: + DetGeo(){}; + DetGeo(TString detGeoTxt){ LoadDetectorGeo(detGeoTxt, false);} + DetGeo(TMacro * macro){ LoadDetectorGeo(macro, false);} + ~DetGeo(){}; + + double Bfield; /// T + int BfieldSign ; /// sign of B-field + double bore; /// bore , mm + + unsigned short numGeo; + double zMin, zMax; /// total range span of all arrays + + bool LoadDetectorGeo(TString fileName, bool verbose = true); + bool LoadDetectorGeo(TMacro * macro, bool verbose = true); + + //=================== array + std::vector array; + std::vector aux; + + void Print( int printArray = 0) ; // 0 = no print, -1 = print all, 1 = print only enabled + + short GetArrayID(int id){ + int detCount = 0; + for( int i = 0; i < numGeo; i ++ ){ + detCount += array[i].numDet; + if( id < detCount ) return i; + } + return -1; + } + +private: + +}; + +inline bool DetGeo::LoadDetectorGeo(TString fileName, bool verbose){ + + TMacro * haha = new TMacro(); + if( haha->ReadFile(fileName) > 0 ) { + if( LoadDetectorGeo(haha, verbose) ){ + delete haha; + return true; + }else{ + delete haha; + return false; + } + }else{ + delete haha; + return false; + } +} + +///Using TMacro to load the detectorGeo frist, +///this indrect method is good for loading detectorGeo from TMacro in root file +inline bool DetGeo::LoadDetectorGeo(TMacro * macro, bool verbose){ + + if( macro == NULL ) return false; + + TList * haha = macro->GetListOfLines(); + int numLine = (haha)->GetSize(); + + // for( int i = 0; i < 2 ; i++) array[i].pos.clear(); + + int detFlag = 0; + int detLine = 0; + + for( int i = 0 ; i < numLine; i++){ + + std::string line = macro->GetListOfLines()->At(i)->GetName(); + + if( AnalysisLib::isEmptyOrSpaces(line) ) continue; + + std::vector str = AnalysisLib::SplitStr(line, " "); + + // printf("%3d | %s\n", i, str[0].c_str()); + if( str[0].find("#//") != std::string::npos ) continue; + if( str[0].find("####") != std::string::npos ) break; + if( str[0].find("#===") != std::string::npos ) { + detFlag ++; + array.push_back(Array()); + aux.push_back(Auxillary()); + detLine = 0; + continue;; + } + + if( detFlag == 0 ){ + if ( detLine == 0 ) { + Bfield = atof(str[0].c_str()); + BfieldSign = Bfield > 0 ? 1: -1; + } + if ( detLine == 1 ) bore = atof(str[0].c_str()); + } + + if( detFlag > 0){ + unsigned short ID = detFlag - 1; + if ( detLine == 0 ) array[ID].enable = str[0] == "true" ? true : false; + if ( detLine == 1 ) aux[ID].detPos = atof(str[0].c_str()); + if ( detLine == 2 ) aux[ID].innerRadius = atof(str[0].c_str()); + if ( detLine == 3 ) aux[ID].outerRadius = atof(str[0].c_str()); + if ( detLine == 4 ) aux[ID].isCoincident = str[0] == "true" ? true : false; + if ( detLine == 5 ) aux[ID].detPos1 = atof(str[0].c_str()); + if ( detLine == 6 ) aux[ID].detPos2 = atof(str[0].c_str()); + if ( detLine == 7 ) aux[ID].elumPos1 = atof(str[0].c_str()); + if ( detLine == 8 ) aux[ID].elumPos2 = atof(str[0].c_str()); + if ( detLine == 9 ) array[ID].detPerpDist = atof(str[0].c_str()); + if ( detLine == 10 ) array[ID].detWidth = atof(str[0].c_str()); + if ( detLine == 11 ) array[ID].detLength = atof(str[0].c_str()); + if ( detLine == 12 ) array[ID].blocker = atof(str[0].c_str()); + if ( detLine == 13 ) array[ID].firstPos = atof(str[0].c_str()); + if ( detLine == 14 ) array[ID].eSigma = atof(str[0].c_str()); + if ( detLine == 15 ) array[ID].zSigma = atof(str[0].c_str()); + if ( detLine == 16 ) array[ID].detFaceOut = str[0] == "Out" ? true : false; + if ( detLine == 17 ) array[ID].rowDet = atoi(str[0].c_str()); + if ( detLine >= 18 ) array[ID].pos.push_back(atof(str[0].c_str())); + } + + detLine ++; + } + + zMin = 99999; + zMax = -99999; + numGeo = 0; + + for( int i = 0; i < detFlag; i ++ ){ + array[i].DeduceAbsolutePos(); + if (array[i].enable ) { + numGeo ++; + double zmax = TMath::Max(array[i].zMin, array[i].zMax); + double zmin = TMath::Min(array[i].zMin, array[i].zMax); + if( zmax > zMax ) zMax = zmax; + if( zmin < zMin ) zMin = zmin; + } + } + + if( verbose ) Print(false); + + return true; + +} + +inline void DetGeo::Print(int printArray){ + + printf("#####################################################\n"); + printf(" B-field : %8.2f T, %s\n", Bfield, Bfield > 0 ? "out of plan" : "into plan"); + printf(" Bore : %8.2f mm\n", bore); + printf(" No. of det. Set. : %zu \n", array.size()); + + printf(" z-Min : %8.2f mm\n", zMin); + printf(" z-Max : %8.2f mm\n", zMax); + if( printArray != 0 ) { + for( size_t i = 0; i < array.size() ; i++){ + if( printArray > 0 && !array[i].enable ) continue; + printf("================================= %zu-th Detector Info (%s)\n", i, array[i].enable ? "enabled" : "disabled"); + array[i].Print(); + aux[i].Print(); + } + } + printf("#####################################################\n"); + +} + +#endif \ No newline at end of file diff --git a/armory/ClassReactionConfig.h b/armory/ClassReactionConfig.h new file mode 100644 index 0000000..6c302b6 --- /dev/null +++ b/armory/ClassReactionConfig.h @@ -0,0 +1,345 @@ +#ifndef ClassReactionConfig_H +#define ClassReactionConfig_H + +#include /// for FILE +#include +#include +#include +#include + +#include "TMath.h" +#include "TString.h" +#include "TMacro.h" + +#include "AnalysisLib.h" +#include "../Cleopatra/ClassIsotope.h" + +struct Recoil { + + Isotope light; + unsigned short lightA, lightZ; + unsigned short heavyA, heavyZ; + + std::string lightStoppingPowerFile = ""; ///stopping_power_for_light_recoil + std::string heavyStoppingPowerFile = ""; ///stopping_power_for_heavy_recoil + + bool isDecay = false; ///isDacay + unsigned short decayA = 0; ///decayNucleus_A + unsigned short decayZ = 0; ///decayNucleus_Z + + void Print() const { + printf(" light : A = %3d, Z = %2d \n", lightA, lightZ); + printf(" heavy : A = %3d, Z = %2d \n", heavyA, heavyZ); + + printf(" light stopping file : %s \n", lightStoppingPowerFile.c_str()); + printf(" heavy stopping file : %s \n", heavyStoppingPowerFile.c_str()); + printf(" is simulate decay : %s \n", isDecay ? "Yes" : "No"); + if( isDecay ){ + printf(" heavy decay : A = %d, Z = %d \n", decayA, decayZ); + } + } + +}; + +struct EnergyLevel{ + + float Ex, xsec, SF, sigma; + + EnergyLevel(float Ex, float xsec, float SF, float sigma) { + this->Ex = Ex; + this->xsec = xsec; + this->SF = SF; + this->sigma = sigma; + } + + void Print(std::string str) const { + printf("%11.3f %8.1f %5.1f %5.3f%s", Ex, xsec, SF, sigma, str.c_str() ); + } + +}; + + +struct ExcitedEnergies { + + std::vector ExList; + + void Clear(){ + ExList.clear(); + } + + void Add(float Ex, float xsec, float SF, float sigma){ + ExList.push_back( EnergyLevel(Ex, xsec, SF, sigma)); + } + + void Print() const { + printf("Energy[MeV] Rel.Xsec SF sigma\n"); + for( size_t i = 0; i < ExList.size(); i++){ + ExList[i].Print("\n"); + } + } + +}; + +class ReactionConfig { + +public: + ReactionConfig(){} + ReactionConfig(TString configTxt){ LoadReactionConfig(configTxt);} + ReactionConfig(TMacro * macro){ LoadReactionConfig(macro);} + ~ReactionConfig(){} + + Isotope beam; + unsigned short beamA, beamZ; + float beamEx; ///excitation_energy_of_A[MeV] + float beamEnergy; ///MeV/u + float beamEnergySigma; ///beam-energy_sigma_in_MeV/u + float beamTheta; ///beam-angle_in_mrad + float beamThetaSigma; ///beam-emittance_in_mrad + float beamX; ///x_offset_of_Beam_in_mm + float beamY; ///y_offset_of_Beam_in_mm + + Isotope target; + unsigned short targetA, targetZ; + bool isTargetScattering; ///isTargetScattering + float targetDensity; ///target_density_in_g/cm3 + float targetThickness; ///targetThickness_in_cm + std::string beamStoppingPowerFile; ///stopping_power_for_beam + + std::vector recoil; + std::vector exList; + + int numEvents; ///number_of_Event_being_generated + bool isRedo; ///isReDo + + void SetReactionSimple(int beamA, int beamZ, + int targetA, int targetZ, + int recoilA, int recoilZ, + float beamEnergy_AMeV); + + bool LoadReactionConfig(TString fileName); + bool LoadReactionConfig(TMacro * macro); + + void Print(int ID = -1, bool withEx = true) const; + +private: + +}; + +inline void ReactionConfig::SetReactionSimple(int beamA, int beamZ, + int targetA, int targetZ, + int recoilA, int recoilZ, + float beamEnergy_AMeV){ + + this->beamA = beamA; + this->beamZ = beamZ; + this->targetA = targetA; + this->targetZ = targetZ; + + this->recoil.push_back(Recoil()); + + this->recoil.back().lightA = recoilA; + this->recoil.back().lightZ = recoilZ; + recoil.back().heavyA = this->beamA + this->targetA - recoil.back().lightA; + recoil.back().heavyZ = this->beamZ + this->targetZ - recoil.back().lightZ; + + beamEnergy = beamEnergy_AMeV; + beamEnergySigma = 0; + beamTheta = 0; + beamThetaSigma = 0; + beamX = 0; + beamY = 0; + +} + +inline bool ReactionConfig::LoadReactionConfig(TString fileName){ + TMacro * haha = new TMacro(); + if( haha->ReadFile(fileName) > 0 ) { + if( LoadReactionConfig(haha) ){ + delete haha; + return true; + }else{ + delete haha; + return false; + } + }else{ + delete haha; + return false; + } +} + +inline bool ReactionConfig::LoadReactionConfig(TMacro * macro){ + + if( macro == NULL ) return false; + + int recoilFlag = 0; + int recoilLine = 0; + + int numLine = macro->GetListOfLines()->GetSize(); + + for( int i = 0; i < numLine; i ++){ + + std::string line = macro->GetListOfLines()->At(i)->GetName(); + if( AnalysisLib::isEmptyOrSpaces(line) ) continue; + + std::vector str =AnalysisLib::SplitStr(line, " "); + // printf("%d |%s|%d|%d\n", i, str[0].c_str(), recoilFlag, recoilLine); + + if( str[0].find("####") != std::string::npos ) break; + if( str[0].find("#---") != std::string::npos ) continue; + if( str[0].find("#===") != std::string::npos ) { + recoilFlag ++; + recoilLine = 0; + recoil.push_back(Recoil()); + exList.push_back(ExcitedEnergies()); + continue; + } + + if( recoilFlag == 0 ){ + if( recoilLine == 0 ) { + beam.SetIsoByName(str[0]); + beamA = beam.A; + beamZ = beam.Z; + } + if( recoilLine == 1 ) beamEx = atoi(str[0].c_str()); + if( recoilLine == 2 ) beamEnergy = atof(str[0].c_str()); + if( recoilLine == 3 ) beamEnergySigma = atof(str[0].c_str()); + if( recoilLine == 4 ) beamTheta = atof(str[0].c_str()); + if( recoilLine == 5 ) beamThetaSigma = atof(str[0].c_str()); + if( recoilLine == 6 ) beamX = atof(str[0].c_str()); + if( recoilLine == 7 ) beamY = atof(str[0].c_str()); + + if( recoilLine == 8 ) { + target.SetIsoByName(str[0]); + targetA = target.A; + targetZ = target.Z; + } + if( recoilLine == 9 ) isTargetScattering = str[0].compare("true") == 0 ? true: false; + if( recoilLine == 10 ) targetDensity = atof(str[0].c_str()); + if( recoilLine == 11 ) targetThickness = atof(str[0].c_str()); + if( recoilLine == 12 ) beamStoppingPowerFile = str[0]; + + if( recoilLine == 13 ) numEvents = atoi(str[0].c_str()); + if( recoilLine == 14 ) isRedo = str[0].compare("true" ) == 0 ? true : false; + } + + if( recoilFlag > 0 ){ + + unsigned ID = recoilFlag - 1; + if( recoilLine == 0 ) { + recoil[ID].light.SetIsoByName(str[0]); + recoil[ID].lightA = recoil[ID].light.A; + recoil[ID].lightZ = recoil[ID].light.Z; + } + if( recoilLine == 1 ) recoil[ID].lightStoppingPowerFile = str[0]; + if( recoilLine == 2 ) recoil[ID].heavyStoppingPowerFile = str[0]; + if( recoilLine == 3 ) recoil[ID].isDecay = str[0].compare("true") == 0 ? true : false; + if( recoilLine == 4 ) recoil[ID].decayA = atoi(str[0].c_str()); + if( recoilLine == 5 ) recoil[ID].decayZ = atoi(str[0].c_str()); + + if( recoilLine > 5 && str.size() == 4) { + if( str[0].find('#') != std::string::npos) continue; + if( str[0] == "IAEA"){ + + recoil[ID].heavyA = beamA + targetA - recoil[ID].lightA; + recoil[ID].heavyZ = beamZ + targetZ - recoil[ID].lightZ; + printf(">>>>>>>>>>>>> Retrieving Ex data from IAEA website....\n"); + std::string scriptPath = "../WebSimHelper/getEx.py " + std::to_string(recoil[ID].heavyA) + " " + std::to_string(recoil[ID].heavyZ) + " " + str[2]; + std::vector output = AnalysisLib::executePythonScript(scriptPath); + + if( output.size() > 1 ){ + for( size_t dudu = 1 ; dudu < output.size(); dudu ++ ){ + printf("%s", output[dudu].c_str()); + std::vector dondon = AnalysisLib::SplitStr(output[dudu], " "); + + if( str[1].find("all") == std::string::npos){ // only comfirm states + if(dondon[2].find(')') != std::string::npos ) continue; + if(dondon[2].find('N') != std::string::npos ) continue; + // printf("kdlsakdas ---- %s\n", str[1].c_str()); + + if(str[1] == "+" && dondon[2].find('+') != std::string::npos ){ + // printf(" only comfim + states\n"); + exList[ID].Add( atoi(dondon[1].c_str())/1000., 1.0, 1.0, atoi(str[3].c_str())); + } + if(str[1] == "-" && dondon[2].find('-') != std::string::npos ){ + // printf(" only comfim - states\n"); + exList[ID].Add( atoi(dondon[1].c_str())/1000., 1.0, 1.0, atoi(str[3].c_str())); + } + if( str[1] == "known" ){ + // printf(" All comfim state\n"); + exList[ID].Add( atoi(dondon[1].c_str())/1000., 1.0, 1.0, atoi(str[3].c_str())); + } + + }else{ + if(str[1] == "+all" && dondon[2].find('+') != std::string::npos ){ + // printf(" All state : %s\n", str[1].c_str()); + exList[ID].Add( atoi(dondon[1].c_str())/1000., 1.0, 1.0, atoi(str[3].c_str())); + } + if(str[1] == "-all" && dondon[2].find('-') != std::string::npos ){ + // printf(" All state : %s\n", str[1].c_str()); + exList[ID].Add( atoi(dondon[1].c_str())/1000., 1.0, 1.0, atoi(str[3].c_str())); + } + if( str[1] == "all" ){ + // printf(" All state \n"); + exList[ID].Add( atoi(dondon[1].c_str())/1000., 1.0, 1.0, atoi(str[3].c_str())); + } + + } + } + }else{ + printf(" No states found from IAEA database, assume ground state."); + exList[ID].Add( 0, 1.0, 1.0, 0.01); + } + }else{ + exList[ID].Add( atoi(str[0].c_str()), atoi(str[1].c_str()), atoi(str[2].c_str()), atoi(str[3].c_str())); + } + } + + } + + recoilLine ++; + + } + + for( size_t i = 0; i < recoil.size(); i++){ + recoil[i].heavyA = beamA + targetA - recoil[i].lightA; + recoil[i].heavyZ = beamZ + targetZ - recoil[i].lightZ; + } + return true; +} + +inline void ReactionConfig::Print(int ID, bool withEx) const{ + + printf("#####################################################\n"); + + printf("number of Simulation Events : %d \n", numEvents); + printf(" is Redo until hit array : %s \n", isRedo ? "Yes" : "No"); + + printf("================================= Beam\n"); + printf(" beam : A = %3d, Z = %2d, Ex = %.2f MeV\n", beamA, beamZ, beamEx); + printf(" beam Energy : %.2f +- %.2f MeV/u, dE/E = %5.2f %%\n", beamEnergy, beamEnergySigma, beamEnergySigma/beamEnergy); + printf(" Angle : %.2f +- %.2f mrad\n", beamTheta, beamThetaSigma); + printf(" offset : (x,y) = (%.2f, %.2f) mmm \n", beamX, beamY); + + printf("================================= Target\n"); + printf(" target : A = %3d, Z = %2d \n", targetA, targetZ); + printf(" enable scattering : %s \n", isTargetScattering ? "Yes" : "No"); + if(isTargetScattering){ + printf(" target density : %.f g/cm3\n", targetDensity); + printf(" thickness : %.f cm\n", targetThickness); + printf(" beam stopping file : %s \n", beamStoppingPowerFile.c_str()); + } + + printf("================================= Number of recoil reactions : %zu\n", recoil.size()); + for( int i = 0; i < (int)recoil.size(); i ++ ){ + if( ID == i || ID < 0 ){ + printf("------------------------------------------ Recoil-%d\n", i); + recoil[i].Print(); + if( withEx ) exList[i].Print(); + } + } + + + printf("#####################################################\n"); +} + +#endif \ No newline at end of file diff --git a/armory/ClassReactionParas_tobeKill.h b/armory/ClassReactionParas_tobeKill.h new file mode 100644 index 0000000..7abdf74 --- /dev/null +++ b/armory/ClassReactionParas_tobeKill.h @@ -0,0 +1,158 @@ +#ifndef ReactionParameters_H +#define ReactionParameters_H + +#include "ClassDetGeo.h" + +class ReactionParas{ + +public: + ReactionParas(); + + double Et; // total energy in CM frame + double beta; // Lorentz beta from Lab to CM + double gamma; // Lorentz gamma from Lab to CM + double alpha; // E-Z slope / beta + double G; //The G-coefficient.... + double massB; // heavy mass + double q; // charge of light particle + double mass; //light mass + bool hasReactionPara; + + double detPrepDist; + + void LoadReactionParas(bool verbose = false); + std::pair CalExTheta(double e, double z) + +}; + +ReactionParas::ReactionParas(){ + +} + +//~========================================= reaction parameters +inline void ReactionParas::LoadReactionParas(bool verbose = false){ + + //check is the transfer.root is using the latest reactionConfig.txt + //sicne reaction.dat is generated as a by-product of transfer.root + //TFile * transfer = new TFile("transfer.root"); + //TString aaa1 = ""; + //TString aaa2 = ""; + //if( transfer->IsOpen() ){ + // TMacro * reactionConfig = (TMacro *) transfer->FindObjectAny("reactionConfig"); + // TMacro presentReactionConfig ("reactionConfig.txt"); + // aaa1 = ((TMD5*) reactionConfig->Checksum())->AsString(); + // aaa2 = ((TMD5*) presentReactionConfig.Checksum())->AsString(); + //} + //printf("%s\n", aaa1.Data()); + //printf("%s\n", aaa2.Data()); + + //if( aaa1 != aaa2 ) { + // printf("########################## recalculate transfer.root \n"); + // system("../Cleopatra/Transfer"); + // printf("########################## transfer.root updated\n"); + //} + + std::string fileName; + + detPrepDist = Array::detPerpDist; + + printf(" loading reaction parameters"); + std::ifstream file; + file.open(fileName.c_str()); + hasReactionPara = false; + if( file.is_open() ){ + std::string x; + int i = 0; + while( file >> x ){ + if( x.substr(0,2) == "//" ) continue; + if( i == 0 ) mass = atof(x.c_str()); + if( i == 1 ) q = atof(x.c_str()); + if( i == 2 ) beta = atof(x.c_str()); + if( i == 3 ) Et = atof(x.c_str()); + if( i == 4 ) massB = atof(x.c_str()); + i = i + 1; + } + printf("........ done.\n"); + + hasReactionPara = true; + alpha = 299.792458 * abs(detGeo.Bfield) * q / TMath::TwoPi()/1000.; //MeV/mm + gamma = 1./TMath::Sqrt(1-beta * beta); + G = alpha * gamma * beta * detPrepDist ; + + if( verbose ){ + printf("\tmass-b : %f MeV/c2 \n", mass); + printf("\tcharge-b : %f \n", q); + printf("\tE-total : %f MeV \n", Et); + printf("\tmass-B : %f MeV/c2 \n", massB); + printf("\tbeta : %f \n", beta); + printf("\tB-field : %f T \n", detGeo.Bfield); + printf("\tslope : %f MeV/mm \n", alpha * beta); + printf("\tdet radius: %f mm \n", detPrepDist); + printf("\tG-coeff : %f MeV \n", G); + printf("=====================================================\n"); + } + + }else{ + printf("........ fail.\n"); + } + file.close(); + +} + +inline std::pair ReactionParas::CalExTheta(double e, double z){ + + ReactionParas * reactParas = nullptr; + + if( detGeo.array1.zMin <= z && z <= detGeo.array1.zMax ){ + reactParas = &reactParas1; + if( !hasReactionPara) return {TMath::QuietNaN(), TMath::QuietNaN()}; + } + + if( detGeo.array2.zMin <= z && z <= detGeo.array2.zMax ){ + reactParas = &reactParas2; + if( !hasReactionPara) return {TMath::QuietNaN(), TMath::QuietNaN()}; + } + + double Ex = TMath::QuietNaN(); + double thetaCM = TMath::QuietNaN(); + + double y = e + mass; // to give the KE + mass of proton; + double Z = alpha * gamma * beta * z; + double H = TMath::Sqrt(TMath::Power(gamma * beta,2) * (y*y - mass * mass) ) ; + + if( TMath::Abs(Z) < H ) { + ///using Newton's method to solve 0 == H * sin(phi) - G * tan(phi) - Z = f(phi) + double tolerrence = 0.001; + double phi = 0; ///initial phi = 0 -> ensure the solution has f'(phi) > 0 + double nPhi = 0; /// new phi + + int iter = 0; + do{ + phi = nPhi; + nPhi = phi - (H * TMath::Sin(phi) - G * TMath::Tan(phi) - Z) / (H * TMath::Cos(phi) - G /TMath::Power( TMath::Cos(phi), 2)); + iter ++; + if( iter > 10 || TMath::Abs(nPhi) > TMath::PiOver2()) break; + }while( TMath::Abs(phi - nPhi ) > tolerrence); + phi = nPhi; + + /// check f'(phi) > 0 + double Df = H * TMath::Cos(phi) - G / TMath::Power( TMath::Cos(phi),2); + if( Df > 0 && TMath::Abs(phi) < TMath::PiOver2() ){ + double K = H * TMath::Sin(phi); + double x = TMath::ACos( mass / ( y * gamma - K)); + double momt = mass * TMath::Tan(x); /// momentum of particel b or B in CM frame + double EB = TMath::Sqrt(mass * mass + Et * Et - 2 * Et * TMath::Sqrt(momt*momt + mass * mass)); + Ex = EB - massB; + + double hahaha1 = gamma * TMath::Sqrt(mass * mass + momt * momt) - y; + double hahaha2 = gamma * beta * momt; + thetaCM = TMath::ACos(hahaha1/hahaha2) * TMath::RadToDeg(); + + } + } + return std::make_pair(Ex, thetaCM); + +} + + +#endif \ No newline at end of file diff --git a/armory/GeneralSort.C b/armory/GeneralSort.C new file mode 100644 index 0000000..8bd25a9 --- /dev/null +++ b/armory/GeneralSort.C @@ -0,0 +1,199 @@ +#define GeneralSort_cxx + +#include +#include +#include + +#include "GeneralSort.h" + +#include +#include +#include +#include +#include + +Long64_t processedEntry = 0; +float lastPercentage = 0; + +//^############################################################## +Bool_t GeneralSort::Process(Long64_t entry){ + + if( entry < 1 ) printf("============================== start processing data\n"); + + ///initialization + for( int i = 0; i < mapping::nDetType; i++){ + if( mapping::detNum[i] == 0 ) continue; + for( int j = 0; j < mapping::detNum[i]; j++){ + eE[i][j] = TMath::QuietNaN(); + eT[i][j] = 0; + + if( isTraceExist && traceMethod > 1){ + teE[i][j] = TMath::QuietNaN(); + teT[i][j] = TMath::QuietNaN(); + teR[i][j] = TMath::QuietNaN(); + } + } + } + + b_evID->GetEntry(entry); + b_multi->GetEntry(entry); + b_bd->GetEntry(entry); + b_ch->GetEntry(entry); + b_e->GetEntry(entry); + b_e_t->GetEntry(entry); + + for( unsigned int i = 0 ; i < multi; i++){ + + int detID = mapping::map[bd[i]][ch[i]]; + if( detID < 0 ) continue; + int detType = mapping::FindDetTypeIndex(detID); + int reducedDetID = detID - (detID/100) * 100; + eE[detType][reducedDetID] = e[i] * mapping::detParity[detType]; + eT[detType][reducedDetID] = e_t[i]; + } + + //@===================================== Trace + if( isTraceExist && traceMethod > 0 ){ + + b_tl->GetEntry(entry); + b_trace->GetEntry(entry); + + int countTrace = 0; + + arr->Clear("C"); + + for( unsigned int i = 0; i < multi; i++){ + int detID = mapping::map[bd[i]][ch[i]]; + if( detID < 0 ) continue; + + int traceLength = tl[i]; + gTrace = (TGraph*) arr->ConstructedAt(countTrace, "C"); + gTrace->Clear(); + gTrace->Set(traceLength); + + gTrace->SetTitle(Form("ev:%llu,nHit:%d,id:%d,len:%d", evID, i, detID, traceLength)); + countTrace ++; + + for( int k = 0 ; k < traceLength; k++){ + gTrace->SetPoint(k, k, trace[i][k]); + } + + //***=================== fit + if( traceMethod == 2){ + + int detType = mapping::FindDetTypeIndex(detID); + if( mapping::detNum[detType] == 0 ) continue; + + //TODO use a blackList + //if( mapping::detTypeName[detType] != "rdt") continue; + + gFit->SetRange(0, traceLength); + + gFit->SetParameter(0, e[i]); + gFit->SetParameter(1, 100); //triggerTime //TODO how to not hardcode? + gFit->SetParameter(2, 10); //rise time //TODO how to not hardcode? + gFit->SetParameter(3, trace[i][0]); //base line + gFit->SetParameter(4, 100); // decay //TODO how to not hardcode? + gFit->SetParameter(5, -0.01); // pre-rise slope //TODO how to not hardcode? + + gFit->SetParLimits(1, 85, 125); //raneg for the trigger time + gFit->SetParLimits(5, -2, 0); + + gTrace->Fit("gFit", "QR", "", 0, traceLength); + + int reducedDetID = detID - (detID/100) * 100; + teE[detType][reducedDetID] = gFit->GetParameter(0); + teT[detType][reducedDetID] = gFit->GetParameter(1); + teR[detType][reducedDetID] = gFit->GetParameter(2); + + // delete gFit; + // gFit = nullptr; + } + + //***=================== Trapezoid filter + if( traceMethod == 3){ + //TODO + } + + } + + } + + if( !isParallel){ + processedEntry ++; + float percentage = processedEntry*100/NumEntries; + if( percentage >= lastPercentage ) { + TString msg; msg.Form("%lu", NumEntries); + int len = msg.Sizeof(); + printf("Processed : %*lld, %3.0f%% | Elapsed %6.1f sec | expect %6.1f sec\n\033[A\r", len, entry, percentage, stpWatch.RealTime(), stpWatch.RealTime()/percentage*100); + stpWatch.Start(kFALSE); + lastPercentage = percentage + 1.0; + if( lastPercentage >= 100) printf("\n"); + + } + } + + newSaveTree->Fill(); + + return kTRUE; +} + +//^############################################################## +void GeneralSort::Terminate(){ + + printf("=============================== %s\n", __func__); + + // CleanUpMemory(); //? Should Clean? + + if( !isParallel){ + stpWatch.Start(kFALSE); + saveFile->cd(); + // newSaveTree->Print("toponly"); + newSaveTree->Write(); + saveFile->Close(); + } + + //get entries + saveFile = TFile::Open(saveFileName); + if( saveFile->IsOpen() ){ + TTree * tree = (TTree*) saveFile->FindObjectAny("gen_tree"); + int validCount = tree->GetEntries(); + saveFile->Close(); + printf("=========================================================================\n"); + PrintTraceMethod(); + printf("----- saved as \033[1;33m%s\033[0m. valid event: %d\n", saveFileName.Data() , validCount); + printf("=========================================================================\n"); + } +} + +//^############################################################## +void GeneralSort::Begin(TTree * tree){ + + printf( "================================================================================\n"); + printf( "============================ SOLARIS GeneralSort.C =========================\n"); + printf( "================================================================================\n"); + + mapping::PrintMapping(); + + DecodeOption(); + if(!isParallel) { + tree->GetEntriesFast(); + stpWatch.Start(); + } + +} + +void GeneralSort::SlaveBegin(TTree * /*tree*/){ +} + +void GeneralSort::SlaveTerminate(){ + printf("============= %s\n", __func__); + if( isParallel){ + printf("%s::SaveTree\n", __func__); + saveFile->cd(); + newSaveTree->Write(); + fOutput->Add(proofFile); + saveFile->Close(); + printf("---- closing this worker\n"); + } +} \ No newline at end of file diff --git a/armory/GeneralSort.h b/armory/GeneralSort.h new file mode 100644 index 0000000..afb8a5a --- /dev/null +++ b/armory/GeneralSort.h @@ -0,0 +1,359 @@ +#ifndef GeneralSort_h +#define GeneralSort_h + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +//^######################################### Skip list for trace fitting +//TODO + +/*********************************======= + +the sequence of each method + +1) Begin (master, stdout) + 2) SlaveBegin (slave) + 3) Init + 4) Notify + 5) Process (looping each event) + 6) SlaveTerminate +7) Terminate + +// variable in the Master will not pass to Slave + +******************************************/ + +/// in Process_Sort, copy the Mapping.h to ~/.proof/working/ +#include "../working/Mapping.h" + +//^######################################### FIT FUNCTION +const int numPara = 6; +double fitFunc(double * x, double * par){ + /// par[0] = A + /// par[1] = t0 + /// par[2] = rise time + /// par[3] = baseline + /// par[4] = decay + /// par[5] = pre-rise slope + + if( x[0] < par[1] ) return par[3] + par[5] * (x[0]-par[1]); + + return par[3] + par[0] * (1 - TMath::Exp(- (x[0] - par[1]) / par[2]) ) * TMath::Exp(- (x[0] - par[1]) / par[4]); +} + +TStopwatch stpWatch; + +//^######################################### Class definition +// Header file for the classes stored in the TTree if any. +class GeneralSort : public TSelector { +public : + TTree *fChain; //!pointer to the analyzed TTree or TChain + +// Fixed size dimensions of array or collections stored in the TTree if any. + + // Declaration of leaf types + ULong64_t evID; + UInt_t multi; + UShort_t bd[100]; //[multi] + UShort_t ch[100]; //[multi] + UShort_t e[100]; //[multi] + ULong64_t e_t[100]; //[multi] + UShort_t lowFlag[100]; //[multi] + UShort_t highFlag[100]; //[multi] + Int_t tl[100]; //[multi] + Int_t trace[100][2500]; //[multi] + + // List of branches + TBranch *b_evID; //! + TBranch *b_multi; //! + TBranch *b_bd; //! + TBranch *b_ch; //! + TBranch *b_e; //! + TBranch *b_e_t; //! + TBranch *b_lowFlag; //! + TBranch *b_highFlag; //! + TBranch *b_tl; //! + TBranch *b_trace; //! + + GeneralSort(TTree * /*tree*/ =0) : fChain(0) { + printf("constructor :: %s\n", __func__); + + isTraceExist = false; + traceMethod = 0; // 0 = ignore trace, 1 = no trace fit, 2 = fit, 3 = trapezoid + + isParallel = false; + + saveFile = nullptr; + newSaveTree = nullptr; + + eE = nullptr; + eT = nullptr; + + arr = nullptr; + gTrace = nullptr; + gFit = nullptr; + arrTrapezoid = nullptr; + gTrapezoid = nullptr; + + teE = nullptr; + teT = nullptr; + teR = nullptr; + + } + virtual ~GeneralSort() { } + virtual Int_t Version() const { return 2; } + virtual void Begin(TTree *tree); + virtual void SlaveBegin(TTree *tree); + virtual void Init(TTree *tree); + virtual Bool_t Notify(); + virtual Bool_t Process(Long64_t entry); + virtual Int_t GetEntry(Long64_t entry, Int_t getall = 0) { return fChain ? fChain->GetTree()->GetEntry(entry, getall) : 0; } + virtual void SetOption(const char *option) { fOption = option; } + virtual void SetObject(TObject *obj) { fObject = obj; } + virtual void SetInputList(TList *input) { fInput = input; } + virtual TList *GetOutputList() const { return fOutput; } + virtual void SlaveTerminate(); + virtual void Terminate(); + + ClassDef(GeneralSort,0); + + bool isTraceExist; + int traceMethod; + + void CleanUpMemory(); + + void SetTraceMethod(int methodID) {traceMethod = methodID;} + void PrintTraceMethod(); + + void SetUpTree(); + void DecodeOption(); + bool isParallel; + + unsigned long NumEntries; + + TString saveFileName; + TFile * saveFile; //! + TProofOutputFile * proofFile; //! + TTree * newSaveTree; //! + + Float_t ** eE; //! + ULong64_t ** eT; //! + + //trace + TClonesArray * arr ;//! + TGraph * gTrace; //! + TF1 * gFit; //! + TClonesArray * arrTrapezoid ;//! + TGraph * gTrapezoid; //! + + //trace energy, trigger time, rise time + Float_t **teE; //! + Float_t **teT; //! + Float_t **teR; //! + +}; + +#endif + +#ifdef GeneralSort_cxx + +//^############################################################## +void GeneralSort::SetUpTree(){ + + printf("%s\n", __func__); + + if( isParallel){ + proofFile = new TProofOutputFile(saveFileName, "M"); + saveFile = proofFile->OpenFile("RECREATE"); + }else{ + saveFile = new TFile(saveFileName,"RECREATE"); + } + + newSaveTree = new TTree("gen_tree", "Tree After GeneralSort"); + newSaveTree->SetDirectory(saveFile); + newSaveTree->AutoSave(); + + newSaveTree->Branch( "evID", &evID, "evID/l"); // simply copy + + eE = new Float_t * [mapping::nDetType]; + eT = new ULong64_t * [mapping::nDetType]; + + for( int i = 0 ; i < mapping::nDetType; i++){ + if( mapping::detNum[i] == 0 ) continue; + eE[i] = new Float_t[mapping::detNum[i]]; + eT[i] = new ULong64_t[mapping::detNum[i]]; + + for( int j = 0; j < mapping::detNum[i]; j++){ + eE[i][j] = TMath::QuietNaN(); + eT[i][j] = 0; + } + + newSaveTree->Branch( mapping::detTypeName[i].c_str(), eE[i], Form("%s[%d]/F", mapping::detTypeName[i].c_str(), mapping::detNum[i])); + newSaveTree->Branch( (mapping::detTypeName[i]+"_t").c_str(), eT[i], Form("%s_t[%d]/l", mapping::detTypeName[i].c_str(), mapping::detNum[i])); + } + + + if( isTraceExist && traceMethod > 0){ + + arr = new TClonesArray("TGraph"); + + newSaveTree->Branch("trace", arr, 256000); + arr->BypassStreamer(); + arr->Clear("C"); + + if( traceMethod > 1 ){ + + teE = new Float_t * [mapping::nDetType]; + teT = new Float_t * [mapping::nDetType]; + teR = new Float_t * [mapping::nDetType]; + + for( int i = 0 ; i < mapping::nDetType; i++){ + if( mapping::detNum[i] == 0 ) continue; + teE[i] = new Float_t[mapping::detNum[i]]; + teT[i] = new Float_t[mapping::detNum[i]]; + teR[i] = new Float_t[mapping::detNum[i]]; + + for( int j = 0; j Branch( ("w" + mapping::detTypeName[i]).c_str(), teE[i], Form("trace_%s[%d]/F", mapping::detTypeName[i].c_str(), mapping::detNum[i])); + newSaveTree->Branch( ("w" + mapping::detTypeName[i]+"T").c_str(), teT[i], Form("trace_%s_time[%d]/F", mapping::detTypeName[i].c_str(), mapping::detNum[i])); + newSaveTree->Branch( ("w" + mapping::detTypeName[i]+"R").c_str(), teR[i], Form("trace_%s_rise[%d]/F", mapping::detTypeName[i].c_str(), mapping::detNum[i])); + } + + } + } + + if( !isParallel ) newSaveTree->Print("toponly"); +} + +//^############################################################## +void GeneralSort::DecodeOption(){ + TString option = GetOption(); + if( option != ""){ + TObjArray * tokens = option.Tokenize(","); + traceMethod = ((TObjString*) tokens->At(0))->String().Atoi(); + saveFileName = ((TObjString*) tokens->At(1))->String(); + isParallel = ((TObjString*) tokens->At(2))->String().Atoi(); + }else{ + traceMethod = -1; + saveFileName = "temp.root"; + isParallel = false; + } + + PrintTraceMethod(); + printf(" Parallel: %s \n", isParallel ? "Yes" : "No"); + printf(" save file: %s \n", saveFileName.Data()); + +} + +//^############################################################## +void GeneralSort::Init(TTree *tree){ + printf("============= %s\n", __func__); + // Set branch addresses and branch pointers + if (!tree) return; + fChain = tree; + fChain->SetMakeClass(1); + + fChain->SetBranchAddress("evID", &evID, &b_evID); + fChain->SetBranchAddress("multi", &multi, &b_multi); + fChain->SetBranchAddress("bd", bd, &b_bd); + fChain->SetBranchAddress("ch", ch, &b_ch); + fChain->SetBranchAddress("e", e, &b_e); + fChain->SetBranchAddress("e_t", e_t, &b_e_t); + fChain->SetBranchAddress("lowFlag", lowFlag, &b_lowFlag); + fChain->SetBranchAddress("highFlag", highFlag, &b_highFlag); + + TBranch * br = (TBranch *) fChain->GetListOfBranches()->FindObject("traceLen"); + if( br == NULL ){ + printf(" ++++++++ no Trace.\n"); + isTraceExist = false; + }else{ + printf(" ++++++++ Found Trace.\n"); + isTraceExist = true; + fChain->SetBranchAddress("traceLen", tl, &b_tl); + fChain->SetBranchAddress("trace", trace, &b_trace); + } + + NumEntries = fChain->GetEntries(); + printf( " ======== total Entry : %ld\n", NumEntries); + + //########################### Get Option + DecodeOption(); + + SetUpTree(); + + gFit = new TF1("gFit", fitFunc, 0, 1250, numPara); + gFit->SetLineColor(6); + + printf("---- end of Init %s\n ", __func__); + +} + +Bool_t GeneralSort::Notify(){ + return kTRUE; +} + +void GeneralSort::PrintTraceMethod(){ + const char* traceMethodStr; + switch(traceMethod) { + case 0 : traceMethodStr = "Ignore Trace"; break; + case 1 : traceMethodStr = "None and Copy Trace"; break; + case 2 : traceMethodStr = "Fit"; break; + case 3 : traceMethodStr = "Trapezoid"; break; + default: traceMethodStr = "Unknown"; break; + } + printf("\033[1;33m ===== Trace method ? %s (%d) \033[m\n", traceMethodStr, traceMethod); +} + +void GeneralSort::CleanUpMemory(){ + printf("Clean up memory"); + if( traceMethod > 1 ){ + for( int i = 0 ; i < mapping::nDetType; i++){ + if( mapping::detNum[i] == 0 ) continue; + delete [] teE[i]; + delete [] teT[i]; + delete [] teR[i]; + + delete [] eE[i]; + delete [] eT[i]; + } + delete [] teE; + delete [] teT; + delete [] teR; + } + + for( int i = 0 ; i < mapping::nDetType; i++){ + if( mapping::detNum[i] == 0 ) continue; + delete [] eE[i]; + delete [] eT[i]; + } + delete [] eE; + delete [] eT; + + //trace + if( arr ) delete arr ; + if( gTrace ) delete gTrace; + if( gFit ) delete gFit; + if( arrTrapezoid ) delete arrTrapezoid ; + if( gTrapezoid ) delete gTrapezoid; + + printf(".... done\n"); + +} + +#endif // #ifdef GeneralSort_cxx diff --git a/armory/GeneralSortAgent.C b/armory/GeneralSortAgent.C new file mode 100644 index 0000000..12510bf --- /dev/null +++ b/armory/GeneralSortAgent.C @@ -0,0 +1,56 @@ + +#include "TTree.h" +#include "TChain.h" +#include "TMacro.h" +#include "TFile.h" +#include "TProof.h" + +void GeneralSortAgent(Int_t runNum, int nWorker = 1, int traceMethod = 0){ + + TString name; + name.Form("../root_data/run%03d.root", runNum); + + TChain * chain = new TChain("tree"); + chain->Add(name); + + chain->GetListOfFiles()->Print(); + + printf("\033[1;33m---------------------total number of Events %llu\033[0m\n", chain->GetEntries()); + + if( chain->GetEntries() == 0 ) return; + + //this is the option for TSelector, the first one is traceMethod, 2nd is save fileName; + TString option; + + if( abs(nWorker) == 1){ + + option.Form("%d,../root_data/gen_run%03d.root,%d", traceMethod, runNum, 0); + chain->Process("../Armory/GeneralSort.C+", option); + + }else{ + + TProof * p = TProof::Open("", Form("workers=%d", abs(nWorker))); + p->ShowCache(); + printf("----------------------------\n"); + + chain->SetProof(); + option.Form("%d,../root_data/gen_run%03d.root,%d", traceMethod, runNum, 1); + chain->Process("../Armory/GeneralSort.C+", option); + } + + //========== open the output root and copy teh timestamp Marco + + TFile * f1 = new TFile(Form("../root_data/run%03d.root", runNum), "READ"); + TMacro * m = (TMacro* ) f1->Get("timeStamp"); + m->AddLine(Form("%d", runNum)); + + TFile * f2 = new TFile(Form("../root_data/gen_run%03d.root", runNum), "UPDATE"); + f2->cd(); + m->Write("timeStamp"); + + f1->Close(); + f2->Close(); + + delete chain; + +} \ No newline at end of file diff --git a/armory/Process_BasicConfig b/armory/Process_BasicConfig new file mode 100644 index 0000000..1246ce3 --- /dev/null +++ b/armory/Process_BasicConfig @@ -0,0 +1,90 @@ +#!/bin/bash -l + +############################################## +# +# This script define color and dataPath +# +############################################## + +if [ ! -z $RED ]; then + echo "Process_BasicConfig already loaded." + return +fi + +RED='\033[1;31m' +YELLOW='\033[1;33m' +ORANGE='\033[0;33m' +GREEN='\033[1;32m' +BLUE='\033[0;34m' +CYAN='\033[0;36m' +NC='\033[0m' #no color +LRED='\033[1;91m' + +echo -e "${RED}##################### Loading Process_BasicConfig.sh ${NC}" + +############## need to distingish mac and daq +Arch="$(uname -s)" +PCName="$(hostname)" +PCID=-1 #if PCID == 1 (DAQ), 2 (MAC), 3 (test station), -1(OTHER) + +#------ Set up data folder, check disk space +echo -e "${YELLOW}##################### Check computer name and arch. ${NC}" +echo "PC name : ${PCName}" +echo "Archetech: ${Arch}" + + +rawDataPath=${SOLARISANADIR}/data_raw/ +rootDataPath=${SOLARISANADIR}/root_data/ + +echo "Raw Data Path : "${rawDataPath} +echo "Root Data Path : "${rootDataPath} + + +if [ ${Arch} == "Linux" ] && [ ${PCName} == "solaris-daq" ]; then + + PCID=1 + + # pathsSetting=${HOME}/SOLARIS_DAQ/programSettings.txt + # if [ -e ${pathsSetting} ]; then + # #echo "Found DAQ programSettings.txt for paths settings" + + # analysisPath=$(cat ${pathsSetting} | head -n 2 | tail -n 1) + + # if [ ! "${analysisPath}" = "$SOLARISANADIR" ]; then + # echo "The analysisPath from ${analysisPath} is different from present folder $SOLARISANADIR. Abort." + # exit + # fi + + # rawDataPathParent=$(cat ${pathsSetting} | head -n 3 | tail -n 1) + # rootDataPathParent=$(cat ${pathsSetting} | head -n 4 | tail -n 1) + + # databaseIP=$(cat ${pathsSetting} | head -n 6 | tail -n 1) + # databaseName=$(cat ${pathsSetting} | head -n 7 | tail -n 1) + + # #echo ${rawDataPathParent} + # #echo ${rootDataPathParent} + # #echo ${databaseIP} + # #echo ${databaseName} + + # else + + # echo "${RED} Cannot found DAQ programSettings.txt for path settings ${NC}" + # echo "Seek Ryan for help" + # exit + + # fi + +fi + +if [ ${Arch} == "Darwin" ] && [ ${PCName} == "SOLARISs-Mac-Studio.local" ]; then + PCID=2 + # rawDataPathParent=${HOME}/experimentalData/ + # rootDataPathParent=${HOME}/experimentalData/ +fi + +if [ ${Arch} == "Linux" ] && [ ${PCName} == "solarisdaq" ]; then + PCID=3 + # rawDataPathParent=${SOLARISANADIR}/data_raw/ + # rootDataPathParent=${SOLARISANADIR}/root_data/ +fi + diff --git a/armory/Process_Download b/armory/Process_Download new file mode 100755 index 0000000..aa5e0bd --- /dev/null +++ b/armory/Process_Download @@ -0,0 +1,109 @@ +#!/bin/bash + +echo -e "${RED}##################### Loading Process_Download.sh ${NC}" + +if [ $# -eq 0 ] || [ $1 == "-help" ]; then + echo "$./process_Download [RunNum]" + echo " RunNum = run number" + echo " * if RunNum = all, sync all" + exit 1 +fi; +RUN=$1 + +runNum=${RUN#0} #remove zero +RUN=$(printf '%03d' $runNum) ##add back the zero + +source $SOLARISANADIR/Armory/Process_BasicConfig + +if [ -z $expName ]; then + source $SOLARISANADIR/working/expName.sh +fi + +IP=solarisdaq # defined at ~/.ssh/config +USR=solaris + +if [ ${RUN} == "all" ]; then + + if [ ${PCID} -eq 2 ]; then + + #=========== Ping to check the connectivity + echo "Checking $IP connetivity, max wait for 3 sec...." + ping -c 3 -W 3 $IP #> /dev/null + if [ $? -ne 0 ]; then + echo -e "$RED !!!!!!! $IP is not alive $NC" + else + #============ Get the raw data + rsync -avuht --progress $USR@$IP:$rawDataPath/$expName_* $MacRawDataPath/data/. + + echo -e "$YELLOW======== rsync RunTimeStamp.dat $NC" + rsync -avuht --progress $USR@$IP:$rawDataPath/$RunTimeStamp* $MacRawDataPath/data/. + + echo -e "$YELLOW======== rsync expName.sh $NC" + rsync -avuht --progress $USR@$IP:Analysis/working/expName.sh $SOLARISANADIR/working/. + fi + else + echo -e "$RED############### Only in SOLARIS MAC can donwload data. skip.$NC" + fi + + echo -e "$YELLOW=============================================$NC" + tail -10 $MacRawDataPath/raw_data/RunTimeStamp.dat + echo -e "$YELLOW=============================================$NC" + + exit 1 +fi + +#just in case people put %03d as RUN +if [ "${RUN:0:2}" == "00" ]; then + RUN=${RUN:2:1} +elif [ "${RUN:0:1}" == "0" ]; then + RUN=${RUN:1:2} +else + RUN=$(printf '%d' $RUN) +fi +RUN=$(printf '%03d' ${RUN}) + +####################################### +#################### Download raw data +echo -e "${CYAN}>>>>>>>>>>>>>>> Download raw data: run ${RUN}${NC}" +if [ ${PCID} -eq 2 ]; then + + #=========== Ping to check the connectivity + echo "Checking $IP connetivity, max wait for 3 sec...." + ping -c 3 $IP -W 3 #> /dev/null + if [ $? -ne 0 ]; then + echo -e "$RED !!!!!!! $IP is not alive $NC" + else + #============ Get the raw data + echo -e "================= RUN $RUN: Get the raw data `date`" + + rsync -avuht --progress $USR@$IP:$rawDataPath/$expName_$RUN* $MacRawDataPath/data/. + + echo -e "$YELLOW======== rsync RunTimeStamp.dat $NC" + rsync -avuht --progress $USR@$IP:$rawDataPath/$RunTimeStamp* $MacRawDataPath/data/. + + echo -e "$YELLOW======== rsync expName.sh $NC" + rsync -avuht --progress $USR@$IP:Analysis/working/expName.sh $SOLARISANADIR/working/. + fi +else + echo -e "$CYAN############### Only in SOLARIS MAC can donwload data. skip.$NC" +fi + +if [ -z ${rawDataPath}/RunTimeStamp.dat ]; then + echo -e "$YELLOW=============================================$NC" + tail -10 ${rawDataPath}/RunTimeStamp.dat + echo -e "$YELLOW=============================================$NC" +fi + +count=`ls -1 ${rawDataPath}/${expName}_${RUN}_*.sol 2>/dev/null | wc -l` +echo -e "========================= Number of Files : ${count}${YELLOW}" +if [ ${count} -eq 0 ]; then + echo "${NC}============================================" + echo "==== RAW Files of RUN-${RUN} not found! " + echo "============================================" + isRunDataExist=false + exit 1 +else + du -hc ${rawDataPath}//${expName}_${RUN}_*.sol + echo -e "$NC=============================================" + isRunDataExist=true +fi diff --git a/armory/Process_EventBuilder b/armory/Process_EventBuilder new file mode 100755 index 0000000..d9c8ae5 --- /dev/null +++ b/armory/Process_EventBuilder @@ -0,0 +1,111 @@ +#!/bin/bash + +echo -e "${RED}##################### Loading Process_EventBuilder.sh ${NC}" + +if [ -z $SOLARISANADIR ]; then + echo "###### env variable SOLARISANADIR not defined. Abort. Please run the SOLARIS.sh." + echo "better add \"source \" into .bashrc" + exit +fi + +if command -v EventBuilder > /dev/null 2>&1; then + echo "EventBuilder exists" +else + echo -e "${RED}EventBuilder does not exist${NC}" + echo -e "${RED}Create a symbolic link of the EventBuilder from the SOLARIS_DAQ/Aux/${NC}" + exit +fi + +if [ $# -ne 3 ] || [ $1 == "-help" ]; then + echo "$ Process_EventBuilder [RunNum] [EventBuild] [timeWin]" + echo " RunNum = run number" + echo " EventBld = 2/1/0/-1/-2 || 2 = with Trace" + echo " timeWin = number of tick for an event " + echo "" + exit 1 +fi; + +RUN=$1 +EventBld=$2 +timeWin=$3 + +source ${SOLARISANADIR}/Armory/Process_BasicConfig +if [ -z $expName ]; then + source $SOLARISANADIR/working/expName.sh +fi + +runNum=${RUN#0} #remove zero +RUN=$(printf '%03d' $runNum) ##add back the zero + +rawDataPattern="$rawDataPath/${expName}_${RUN}_*.sol" +rootDataName="$rootDataPath/run$RUN.root" + +#==== check raw data exist +isRawDataExist=`ls -1 ${rawDataPattern}* 2>/dev/null | wc -l` + +if [ ! $isRawDataExist -gt 0 ]; then + echo -e "${LRED}################# Run Data $rawDataPattern not exist. Abort. ${NC}" + exit +fi + +echo -e "${YELLOW} ============== list of files ${NC}" +\du -h ${rawDataPattern}* +totSize=$(\du -hc ${rawDataPattern}* | tail -n 1 | awk '{print $1}') +echo -e "${YELLOW} ============== total file size : ${totSize}${NC}" + + +#==== check raw data timeStamp +if [ ${Arch} == "Linux" ]; then + rawDataTime=`stat -c "%Z" ${rawDataPattern}* | sort -rn | head -1` +else + rawDataTime=`stat -f "%Sm" -t "%Y%m%d%H%M%S" $rawDataPattern | sort -rn | head -1` +fi + +#==== check if root data exist +isRootDataExist=`ls -1 $rootDataName 2>/dev/null | wc -l` + +#==== if root data exist, check timeStamp +if [ ${isRootDataExist} -gt 0 ]; then + if [ ${Arch} == "Linux" ]; then + rootDataTime=`stat -c "%Z" $rootDataName | sort -rn | head -1` + else + rootDataTime=`stat -f "%Sm" -t "%Y%m%d%H%M%S" $rootDataName | sort -rn | head -1` + fi +else + rootDataTime=0 +fi + + +if [ ${EventBld} -eq 0 ]; then + + echo -e "${LRED}>>>>>>>>>>>>>>>>>>>>> Event Building Skipped by user. ${NC}" + +elif [ ${EventBld} -ge 1 ]; then + + if [ ${rawDataTime} -ge ${rootDataTime} ]; then + + echo -e "${LRED}>>>>>>>>>>>>>>>>>>>>> Event Building $(date) ${NC}" + if [ ${EventBld} -eq 1 ]; then + EventBuilder $rootDataName ${timeWin} 0 $rawDataPattern + elif [ ${EventBld} -eq 2 ]; then + EventBuilder $rootDataName ${timeWin} 1 $rawDataPattern + fi + echo -e "${LRED}<<<<<<<<<<<<<<<< Done Event Building $(date) ${NC}" + + else + echo -e "${GREEN} root data are newer than raw data. No need to merged again.${NC}" + echo -e "${GREEN} You can Force merging using option -${EventBld}, ${ORANGE} see ./process_run.sh -help${NC}" + echo -e "${LRED}>>>>>>>>>>>>>>>>>>>>> Event Building Skipped. ${NC}" + fi + +else + + echo -e "${LRED}>>>>>>>>>>>>>>> Force Event Building $(date) ${NC}" + if [ ${EventBld} -eq -1 ]; then + EventBuilder $rootDataName ${timeWin} 0 $rawDataPattern + elif [ ${EventBld} -eq -2 ]; then + EventBuilder $rootDataName ${timeWin} 1 $rawDataPattern + fi + echo -e "${LRED}<<<<<<<<<<<<<<<< Done Event Building $(date) ${NC}" + +fi \ No newline at end of file diff --git a/armory/Process_MultiRuns b/armory/Process_MultiRuns new file mode 100755 index 0000000..fd0257f --- /dev/null +++ b/armory/Process_MultiRuns @@ -0,0 +1,96 @@ +#!/bin/bash -l + +if [ -z $SOLARISANADIR ]; then + echo "###### env variable SOLARISANADIR not defined. Abort. Please run the SOLARIS.sh." + echo "better add \"source \" into .bashrc" + exit +fi + +if [ $# -le 2 ] || [ $1 == "-help" ]; then + echo "$./process_MultiRuns [RunNum1] [RunNum2] [EventBuild] [GeneralSort] [numMacTerminal]" + echo " RunNum1 = start run number" + echo " RunNum2 = stop run number" + echo " EventBld = 2/1/0/-1/-2 || 2 = with Trace" + echo " GeneralSort = n/0/-n || n = number of worker" + echo " TraceMethod = -1/0/1/2 || -1 no trace, 0 save trace, 1 fit, 2 trapezoid" + echo " numMacTerminal = n ^ || in order to speed up in Mac " + echo " * negative option = force " + echo " ^ only for mac, and it will override GeneralSort to be 1 worker. " + exit 1 +fi; + + +runID1=$1 +runID2=$2 +buidEvt=$3 +nWorker=0 +traceMethod=0 +nTerminal=0 + +if [ $# -ge 4 ]; then nWorker=$4; fi +if [ $# -ge 5 ]; then traceMethod=$5; fi +if [ $# -ge 6 ]; then nTerminal=$6; fi + +source ${SOLARISANADIR}/armory/Process_BasicConfig +source ${SOLARISANADIR}/working/expName.sh + + +if [ $PCID -eq 2 ]; then + if [ $nTerminal -ge 2 ]; then + if [[ $nWorker -ge 0 ]]; then + nWorker=1; + else + nWorker=-1; + fi + fi +else + $nTerminal=0; +fi + + +if [ $nTerminal -eq 0 ]; then + + for i in $(seq $runID1 $runID2); do + Process_Run $i $buidEvt $nWorker $traceMethod 0 + done + +else + + if [ $PCID -ne 2 ]; then + exit 1 + fi + + # Calculate the size of each segment + segment_size=$(( ($runID2 - $runID1 + 1) / $nTerminal )) + + # Iterate through the segments + for i in $(seq 0 $(( $nTerminal - 1 ))); do + start=$(( $runID1 + ($i * $segment_size) )) + end=$(( $start + $segment_size - 1 )) + + # Handle the last segment, which may be larger + if [[ $i -eq $(( $nTerminal - 1 )) ]]; then + end=$runID2 + fi + + echo "Segment $(( $i + 1 )): [$start, $end]" + + profile_name="Homebrew" + width=700 + height=500 + x_pos=200 + y_pos=200 + +osascript <\" into .bashrc" + exit +fi + +if [ "$PWD" != "${SOLARISANADIR}/working" ]; then + echo "============= go to the Working directory" + cd "${SOLARISANADIR}/working" +fi + +if [ $# -eq 0 ] || [ $1 == "-help" ]; then + echo "$ Process_Run [RunNum] [EventBuild] [GeneralSort] [Monitor]" + echo " RunNum = run number / \"lastRun\" " + echo " EventBld = 2/1/0/-1/-2 || 2 = with Trace" + echo " GeneralSort = n/0/-n || n = number of worker + TraceMethod * 100" + echo " TraceMethod = 0 no trace" + echo " = 1 save trace" + echo " = 2 WS fit" + echo " = 3 trapezoid(not implemented)" + echo " e.g. 208 = WS trace with 8 workers" + + #======== change Monitor to Action. + + echo " Monitor = 2/1/0 || 1 = single run, 2 = using the list in ChainMonitors.C" + echo "" + echo " * negative option = force." + echo " * Defult timeWindow for Event builder is 100 tick = 800 ns." + echo "" + exit 1 +fi; + +RUN=$1 +runNum=$1 +EventBld=1 +nWorker=1 +TraceMethod=0 +isMonitor=1 + +if [ $# -ge 2 ]; then EventBld=$2; fi +if [ $# -ge 3 ]; then nWorker=$3; fi +if [ $# -ge 4 ]; then isMonitor=$4; fi + + +temp=$((nWorker / 100)); +if [ $temp -lt 0 ]; then + TraceMethod=$((-1 * temp)); +fi + +nWorker=$((nWorker % 100 )); + +runNum=${RUN#0} #remove zero +RUN=$(printf '%03d' $runNum) ##add back the zero + +################################### Setting display +echo "#################################################" +echo "### Process_Run #####" +echo "#################################################" +echo "### RunID : ${RUN}" +echo "### Event Builder : $EventBld" +echo "### General Sort : $nWorker worker(s)" +echo "### Trace Method : $TraceMethod" +echo "### Monitor : $isMonitor" +echo "#################################################" + +source ${SOLARISANADIR}/Armory/Process_BasicConfig +source ${rawDataPath}/expName.sh + +#################################### CHECK IS RUN DATA EXIST +isRunDataExist=false + +#################################### EVENT BUILDER +source Process_Download $RUN + +if [ $isRunDataExist ]; then + source Process_EventBuilder $RUN $EventBld $timeWin +fi + +#################################### GeneralSort + +if [ $isRunDataExist ]; then + source Process_Sort $RUN $nWorker $TraceMethod +fi +#################################### Monitor + +if [ $isMonitor -eq 0 ]; then + echo -e "${LRED}>>>>>>>>>>>>>>>>>>>>> Monitor Skipped by user. ${NC}" +elif [ $isMonitor -eq 1 ]; then + root -l "ChainMonitors.C($runNum)" +elif [ $isMonitor -eq 2 ]; then + root -l "ChainMonitors.C" +fi + + + + diff --git a/armory/Process_Sort b/armory/Process_Sort new file mode 100755 index 0000000..b0def9e --- /dev/null +++ b/armory/Process_Sort @@ -0,0 +1,95 @@ +#!/bin/bash -l + +echo -e "${RED}##################### Loading Process_Sort.sh ${NC}" + +if [ -z $SOLARISANADIR ]; then + echo "###### env variable SOLARISANADIR not defined. Abort. Please run the SOLARIS.sh." + echo "better add \"source \" into .bashrc" + exit +fi + +if [ $# -eq 0 ] || [ $1 == "-help" ]; then + echo "$ Process_Sort [RunNum] [GeneralSort] [TraceMethod]" + echo " RunNum = run number" + echo " GeneralSort = n/0/-n || n = number of worker" + echo " TraceMethod = -1/0/1/2 || -1 no trace, 0 save trace, 1 fit, 2 trapezoid" + echo "" + exit 1 +fi; + +RUN=$1 +nWorker=$2 +TraceMethod=$3 + +source $SOLARISANADIR/Armory/Process_BasicConfig +if [ -z $expName ]; then + source $SOLARISANADIR/working/expName.sh +fi + +runNum=${RUN#0} #remove zero +RUN=$(printf '%03d' $runNum) ##add back the zero + +if [ ${nWorker} -eq 0 ]; then + echo -e "${LRED}>>>>>>>>>>>>>>>>>>>>> GeneralSort Skipped by user. ${NC}" +else + source $ROOTSYS/bin/thisroot.sh + + #--------- Check is runXXX.root exist + rootDataPath=$SOLARISANADIR/root_data + rootDataName="$rootDataPath/run$RUN.root" + isRootDataExist=`ls -1 $rootDataName 2>/dev/null | wc -l` + + #==== if root data exist, check timeStamp + if [ $isRootDataExist -gt 0 ]; then + if [ ${Arch} == "Linux" ]; then + rootDataTime=`stat -c "%Z" $rootDataName | sort -rn | head -1` + else + rootDataTime=`stat -f "%Sm" -t "%Y%m%d%H%M%S" $rootDataName | sort -rn | head -1` + fi + else + rootDataTime=0 + echo -e "$LRED ################# run$RUN.root does not exist. Abort. $NC" + exit 1 + fi + + #-------- check gen_root timestamp + genRootDataName="$rootDataPath/gen_run$RUN.root" + isGenRootDataExist=`ls -1 $genRootDataName 2>/dev/null | wc -l` + + #----- if gen_runXXX.data exist, check timeStamp + if [ $isGenRootDataExist -gt 0 ]; then + if [ ${Arch} == "Linux" ]; then + genRootDataTime=`stat -c "%Z" $genRootDataName | sort -rn | head -1` + else + genRootDataTime=`stat -f "%Sm" -t "%Y%m%d%H%M%S" $genRootDataName | sort -rn | head -1` + fi + else + genRootDataTime=0 + fi + + mkdir -p ~/.proof/working + cp ${SOLARISANADIR}/working/Mapping.h ~/.proof/working/. + + if [ $nWorker -le -1 ]; then + echo -e "${LRED}>>>>>>>>>>>>>>> Force GeneralSort $(date) ${NC}" + root -l -q -b "$SOLARISANADIR/Armory/GeneralSortAgent.C($runNum, $nWorker, $TraceMethod)" + echo -e "${LRED}<<<<<<<<<<<<<<<< Done GeneralSort $(date) ${NC}" + fi + + if [ $nWorker -ge 1 ]; then + + if [ $rootDataTime -ge $genRootDataTime ]; then + + echo -e "${LRED}>>>>>>>>>>>>>>>>>>>>> GeneralSort $(date) ${NC}" + root -l -q -b "$SOLARISANADIR/Armory/GeneralSortAgent.C($runNum, $nWorker, $TraceMethod)" + echo -e "${LRED}<<<<<<<<<<<<<<<< Done GeneralSort $(date) ${NC}" + + else + echo -e "${GREEN} gen_run$RUN.root is newer than run$RUN.root. No need to GeneralSort again.${NC}" + echo -e "${GREEN} You can Force GeneralSort using option -${nWorker}, ${ORANGE} see Process_Run -help${NC}" + echo -e "${LRED}>>>>>>>>>>>>>>>>>>>>> GeneralSort Skipped. ${NC}" + fi + + fi + +fi \ No newline at end of file diff --git a/armory/readRawTrace.C b/armory/readRawTrace.C new file mode 100644 index 0000000..f2630f9 --- /dev/null +++ b/armory/readRawTrace.C @@ -0,0 +1,144 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "../working/Mapping.h" + +void readRawTrace(TString fileName, int minDetID = 0, int maxDetID = 1000){ + +/**///============================================================== + + TFile * f1 = new TFile (fileName, "read"); + TTree * tree = (TTree *) f1->Get("tree"); + + if( tree == NULL ) { + printf("===== Are you using gen_runXXX.root ? please use runXXX.root\n"); + return; + } + + int totnumEntry = tree->GetEntries(); + printf( "========== total Entry : %d \n", totnumEntry); + + TCanvas * cRead = new TCanvas("cRead", "Read Raw Trace", 0, 1500, 800, 300); + cRead->Divide(1,1); + for( int i = 1; i <= 2 ; i++){ + cRead->cd(i)->SetGrid(); + } + cRead->SetGrid(); + + gStyle->SetOptFit(0); + +/**///============================================================== + Int_t bd[200]; + Int_t ch[200]; + Int_t numHit; + Int_t trace[200][2500]; + Int_t traceLength[200]; + tree->SetBranchAddress("bd", bd); + tree->SetBranchAddress("ch", ch); + tree->SetBranchAddress("multi", &numHit); + tree->SetBranchAddress("trace", trace); + tree->SetBranchAddress("tl", traceLength); + + TLatex text ; + text.SetNDC(); + text.SetTextFont(62); + text.SetTextSize(0.06); + text.SetTextColor(2); + + bool breakFlag = false; + bool lastEvFlag = false; + std::vector oldEv; + int evPointer = 0; + + TGraph * graph = new TGraph(); + + for( int ev = 0; ev < totnumEntry; ev++){ + + if( lastEvFlag ) { + ev = oldEv[evPointer]; + lastEvFlag = false; + } + tree->GetEntry(ev); + + int countJ = 0; + + for( int j = 0; j < numHit ; j++){ + + int detID = mapping[bd[j]][ch[j]]; + + if( !(minDetID <= detID && detID <= maxDetID ) ) continue; + + if( countJ == 0 ) printf("-------------------------------- ev : %d, evPointer : %d| num Trace : %d\n", ev, evPointer, numHit); + + printf("nHit: %d, id : %d, trace Length : %u ( enter = next , q = stop, w = last)\n", j, detID, traceLength[j]); + + graph->Clear(); + graph->Set(traceLength[j]); + for( int k = 0; k < traceLength[j] ; k++){ + graph->SetPoint(k, k, trace[j][k]); + //printf("%4d, %5d |", k, trace[j][k]); + //if( k % 10 ==0 ) printf("\n"); + } + + graph->SetTitle(Form("ev: %d, nHit : %d, id : %d, trace Length : %u\n", ev, j, detID, traceLength[j])); + + cRead->cd(1); + cRead->Clear(); + graph->Draw("Al"); + //g->GetXaxis()->SetRangeUser(0, g->GetN()); + //g->GetYaxis()->SetRangeUser(7500, 35000); + + cRead->Update(); + gSystem->ProcessEvents(); + + + char s[80]; + fgets(s, sizeof s, stdin); + + if( s[0] == 113 ) { // 'q' = 113 + breakFlag = true; + break; + }else if( s[0] == 119 ) { // 'w' = 119 + + if( j > 0 || countJ > 0 ) { + j = j - 2; + } + + if( (j == 0 && (int)oldEv.size() >= 0 && evPointer > 0 ) || countJ == 0 ) { + if( evPointer > 0 ) evPointer --; + if( evPointer == 0 ) printf(" the first event!!! \n"); + lastEvFlag = true; + //printf(" ev : %d, evPt : %d \n", oldEv[evPointer], evPointer); + break; + } + } + + countJ ++; + + } + if( breakFlag ) break; + + if( lastEvFlag == false && countJ > 0 ){ + if( oldEv.size() == evPointer ) oldEv.push_back(ev); + evPointer ++; + } + + + } + + //gROOT->ProcessLine(".q"); + +} diff --git a/armory/readTrace.C b/armory/readTrace.C new file mode 100644 index 0000000..980aeb7 --- /dev/null +++ b/armory/readTrace.C @@ -0,0 +1,171 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +void readTrace(TString fileName, int minDetID = 0, int maxDetID = 1000, bool isGoodOnly = false){ + +/**///============================================================== + + TFile * f1 = new TFile (fileName, "read"); + TTree * tree = (TTree *) f1->Get("gen_tree"); + + int totnumEntry = tree->GetEntries(); + printf( "========== total Entry : %d \n", totnumEntry); + + TCanvas * cRead = new TCanvas("cRead", "Read Trace", 0, 1500, 800, 300); + cRead->Divide(1,1); + for( int i = 1; i <= 2 ; i++){ + cRead->cd(i)->SetGrid(); + } + cRead->SetGrid(); + + gStyle->SetOptFit(0); + +/**///============================================================== + TClonesArray * arr = new TClonesArray("TGraph"); + tree->SetBranchAddress("trace", &arr); + + //TODO UP-Down arrow for pervious-next control + TLine timeVLine; + + TLatex text ; + text.SetNDC(); + text.SetTextFont(62); + text.SetTextSize(0.06); + text.SetTextColor(2); + + bool breakFlag = false; + bool lastEvFlag = false; + std::vector oldEv; + int evPointer = 0; + + for( int ev = 0; ev < totnumEntry; ev++){ + + if( lastEvFlag ) { + ev = oldEv[evPointer]; + lastEvFlag = false; + } + tree->GetEntry(ev); + + int nTrace = arr->GetEntriesFast(); + + int countJ = 0; + + for( int j = 0; j < nTrace ; j++){ + + TGraph * g = (TGraph*) arr->At(j); + + TString gTitle; + gTitle = g->GetTitle(); + ///printf("TGraph Title : %s\n", gTitle.Data()); + + int detID = 0; + int pos = gTitle.Index("id:"); + gTitle.Remove(0, pos+3); + gTitle.Remove(3); + detID = gTitle.Atoi(); + + if( !(minDetID <= detID && detID <= maxDetID ) ) continue; + + if( countJ == 0 ) printf("-------------------------------- ev : %d, evPointer : %d| num Trace : %d\n", ev, evPointer, nTrace); + + + TF1 * gFit = (TF1 *) g->FindObject("gFit"); + + TString kTitle; + + if( gFit != NULL ){ + double base, time = 0, riseTime, energy, chiSq; + energy = gFit->GetParameter(0); + time = gFit->GetParameter(1); + riseTime = gFit->GetParameter(2); + base = gFit->GetParameter(3); + chiSq = gFit->GetChisquare()/gFit->GetNDF(); + int kind = gFit->GetLineColor(); + int det = gFit->GetLineStyle(); + + ///if( !(minDetID <= det && det <= maxDetID ) ) continue; + + if( isGoodOnly){ + if( abs(energy) < 1.5* g->GetRMS(2) ) continue; + if( time > gFit->GetXmax() || time < gFit->GetXmin()) continue; + if( time > 200 || time < 20) continue; + if( riseTime > gFit->GetXmax()/7. || riseTime < 0 ) continue; + } + + //if( energy < 400 ) continue; + + kTitle = Form("(%3d,%d), base: %8.1f, rise: %6.2f, time: %6.1f, energy: %8.1f | chi2: %8.1f, RMS: %6.1f", + det, kind, base, riseTime, time, energy, chiSq, g->GetRMS(2)); + + printf("%s |(q = break, w = last one)", kTitle.Data()); + + + timeVLine.SetX1(time); + timeVLine.SetX2(time); + timeVLine.SetY1(-1000); + timeVLine.SetY2(20000); + timeVLine.SetLineColor(4); + } + + cRead->cd(1); + //cRead->Clear(); + g->Draw("AC"); + //g->GetXaxis()->SetRangeUser(0, g->GetN()); + //g->GetYaxis()->SetRangeUser(7500, 35000); + timeVLine.Draw("same"); + if( gFit != NULL ) text.DrawText(0.11, 0.85, kTitle.Data()); + + cRead->Update(); + gSystem->ProcessEvents(); + + + char s[80]; + fgets(s, sizeof s, stdin); + + if( s[0] == 113 ) { // 'q' = 113 + breakFlag = true; + break; + }else if( s[0] == 119 ) { // 'w' = 119 + + if( j > 0 || countJ > 0 ) { + j = j - 2; + } + + if( (j == 0 && (int)oldEv.size() >= 0 && evPointer > 0 ) || countJ == 0 ) { + if( evPointer > 0 ) evPointer --; + if( evPointer == 0 ) printf(" the first event!!! \n"); + lastEvFlag = true; + //printf(" ev : %d, evPt : %d \n", oldEv[evPointer], evPointer); + break; + } + } + + countJ ++; + + } + if( breakFlag ) break; + + if( lastEvFlag == false && countJ > 0 ){ + if( oldEv.size() == evPointer ) oldEv.push_back(ev); + evPointer ++; + } + + + } + + //gROOT->ProcessLine(".q"); + +} diff --git a/cleopatra/Check_Simulation_obsolete.C b/cleopatra/Check_Simulation_obsolete.C new file mode 100644 index 0000000..53caec4 --- /dev/null +++ b/cleopatra/Check_Simulation_obsolete.C @@ -0,0 +1,656 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../Armory/AnalysisLib.h" +#include "../Armory/ClassDetGeo.h" +#include "../Armory/ClassReactionConfig.h" +#include "../Cleopatra/ClassIsotope.h" +#include "../Cleopatra/ClassTransfer.h" + +double * FindRange(TString branch, TString gate, TTree * tree, double output[2]); +double ExtractNumber(int index, TMacro * macro); +TString ExtractString(int index, TMacro * macro); +vector StringToVector(TString str); +vector intConvertor(vector arr); +vector doubleConvertor(vector arr); + +enum plotID { pEZ, /// 0 + pRecoilXY, /// 1 + pRecoilXY1, /// 2 + pRecoilXY2, /// 3 + pRecoilRZ, /// 4 + pRecoilRTR, /// 5 + pTDiffZ, /// 6 + pThetaCM, /// 7 + pThetaCM_Z, /// 8 + pExCal, /// 9 + pRecoilRThetaCM, /// 10 + pArrayXY, /// 11 + pInfo, /// 12 + pHitID, /// 13 + pElum1XY, /// 14 + pEElum1R, /// 15 + pElum1RThetaCM, /// 16 + pEmpty }; /// 17 +plotID StringToPlotID(TString str); + +//*===================================================== +void Check_Simulation(TString filename = "transfer.root", + TString configFile = "../working/Check_Simulation_Config.txt", + Int_t padSize = 500, + bool outputCanvas = false){ + + printf("=========================== Check_Simulation.C\n"); + + TMacro * config = new TMacro(configFile); + int numLine = config->GetListOfLines()->GetSize(); + int startLineNum = 0; + for( int i = 0; i < numLine ; i++){ + TString haha = config->GetListOfLines()->At(i)->GetName(); + haha.Remove(4); + if( haha != "////" ) { + startLineNum = i; + break; + } + } + + TString gate = ExtractString(startLineNum+1, config); + double elumRange = ExtractNumber(startLineNum+2, config); + std::vector thetaCMRange = doubleConvertor( StringToVector( ExtractString(startLineNum+3,config) )); + bool shownKELines = (ExtractString(startLineNum+4, config).Remove(4) == "true" ? true : false); + bool isOverRideEx = (ExtractString(startLineNum+5, config).Remove(4) == "true" ? true : false); + std::vector oExRange = doubleConvertor( StringToVector ( ExtractString(startLineNum+6, config ))); + + printf("%s \n", gate.Data()); + + ///==== config Canvas + std::vector plotConfig = StringToVector( ExtractString(startLineNum, config)); + std::vector canvas; + int colCount = 0; + int colCount_new = 0; + int rowCount = 1; + for( int i = 0; i < (int) plotConfig.size(); i++){ + if( plotConfig[i] == "break" ) { + rowCount ++; + if( colCount_new > colCount ) colCount = colCount_new; + colCount_new = 0; + continue; + } + canvas.push_back( StringToPlotID(plotConfig[i])); + colCount_new ++; + } + + if( colCount == 0 ) colCount = colCount_new; + //printf("plot row: %d, col: %d \n", rowCount, colCount); + + std::vector Div = {colCount, rowCount}; + + TFile * file = new TFile(filename, "read"); + TTree * tree = (TTree*) file->Get("tree"); + + TObjArray * fxList = (TObjArray *) file->FindObjectAny("EZCurve"); + TObjArray * txList = (TObjArray *) file->FindObjectAny("thetaCM_Z"); + + gStyle->SetOptStat(""); + gStyle->SetStatY(0.9); + gStyle->SetStatX(0.9); + gStyle->SetStatW(0.4); + gStyle->SetStatH(0.2); + gStyle->SetLabelSize(0.05, "XY"); + gStyle->SetTitleFontSize(0.1); + + //*================== detGeoID + TMacro * detGeoIDTxt = (TMacro *) file->FindObjectAny("detGeoID"); + int detGeoID = atoi(detGeoIDTxt->GetListOfLines()->At(0)->GetName()); + + //*================== reactionConfig + TMacro * reactionConfigTxt = (TMacro *) file->FindObjectAny("reactionConfig"); + TString Reaction = reactionConfigTxt->GetName(); + + ReactionConfig reactionConfig(reactionConfigTxt); + Recoil recoil = reactionConfig.recoil[detGeoID]; + + int nEvent = reactionConfig.numEvents; + printf("number of events generated : %d \n", nEvent); + + reactionConfig.Print(detGeoID, false); + + //*================================== detetcor Geometry + printf("=================================\n"); + printf(" loading detector Geometry.\n"); + TMacro * detGeoTxt = (TMacro *) file->FindObjectAny("detGeo"); + + DetGeo detGeo(detGeoTxt); + Array array = detGeo.array[detGeoID]; + + detGeo.Print(); + array.Print(); + + printf("=================================\n"); + + int numDet = array.colDet * array.rowDet ; + + double zRange[3] = {400, -1000, 1000}; /// zRange[0] = nBin + zRange[1] = array.zMin - 50; + zRange[2] = array.zMax + 50; + + printf(" zRange : %f - %f \n", zRange[1], zRange[2]); + printf("=================================\n"); + + //*========================================= Ex List; + double ExRange[2]; + int numEx = 0; + ExcitedEnergies exList; + + // if DEBA_ExList exist, use this, else use the recoil ExList + TMacro * exListTxt = (TMacro *) file->FindObjectAny("DWBA_ExList"); + + ExRange[0] = 9999999; + ExRange[1] = -9999999; + + if( exListTxt == nullptr ){ + + exList = reactionConfig.exList[detGeoID]; + numEx = exList.ExList.size(); + + for( size_t i = 0; i < numEx; i++ ){ + double ex = exList.ExList[i].Ex; + if( ex < ExRange[0] ) ExRange[0] = ex; + if( ex > ExRange[1] ) ExRange[1] = ex; + } + + }else{ + + numEx = exListTxt->GetListOfLines()->GetSize()-1; + for( int i = 1 ; i <= numEx ; i++){ + std::vector tempStr = AnalysisLib::SplitStr(exListTxt->GetListOfLines()->At(i)->GetName(), " "); + double ex = atof(tempStr[0].c_str()); + if( ex < ExRange[0] ) ExRange[0] = ex; + if( ex > ExRange[1] ) ExRange[1] = ex; + exList.Add(ex, atof(tempStr[1].c_str()), 1.0, 0.00); + } + + } + + exList.Print(); + + double dExRange = ExRange[1] - ExRange[0]; + ExRange[0] = ExRange[0] - 0.3 - dExRange * 0.1; + ExRange[1] = ExRange[1] + 0.3 + dExRange * 0.1; + + printf("Number of Ex states = %d \n", numEx); + + //*=================================== calculate Ranges + //eRange by zRange and exList + + TransferReaction transfer; + transfer.SetReactionSimple( reactionConfig.beamA, + reactionConfig.beamZ, + reactionConfig.targetA, + reactionConfig.targetZ, + recoil.lightA, + recoil.lightZ, + reactionConfig.beamEnergy); + + double QQ = transfer.GetCMTotalEnergy(); + double gamm = transfer.GetReactionGamma(); + double mass = transfer.GetMass_b(); + double slope = transfer.GetEZSlope( detGeo.Bfield); + + double eRange[2] = {0, 10}; + eRange[1] = zRange[2] * slope; + + // printf("intercept of 0 MeV : %f MeV \n", intercept); + printf("eRange 0 MeV : %f MeV \n", eRange[1]); + + double dERange = eRange[1] - eRange[0]; + + eRange[0] = eRange[0] - dERange * 0.1; + eRange[1] = eRange[1] + dERange * 0.1; + + + //thetaCMRange + double momentum = transfer.GetMomentumbCM(); + double beta = transfer.GetReactionBeta(); + double alpha = slope / beta; + double thetaMax = acos( (beta * QQ- alpha / gamm * zRange[2])/momentum) * TMath::RadToDeg(); + thetaCMRange[1] = (int) TMath::Ceil(thetaMax/10.)*10; + ///printf(" momentum : %f \n", momentum); + ///printf(" thetaCM Max : %f \n", thetaMax); + ///printf(" thetaCM Range : %d \n", thetaCMRange[1]); + + + double recoilERange[2] = {0, 100}; + + //=================================================== + printf("============================== Gate\n"); + printf("gate : %s\n", gate.Data()); + printf("====================================\n"); + + Int_t size[2] = {padSize,padSize}; ///x,y, single Canvas size + TCanvas * cCheck = new TCanvas("cCheck", "Check For Simulation", 0, 0, size[0]*Div[0], size[1]*Div[1]); + if(cCheck->GetShowEditor() )cCheck->ToggleEditor(); + if(cCheck->GetShowToolBar() )cCheck->ToggleToolBar(); + cCheck->Divide(Div[0],Div[1]); + + for( int i = 1; i <= Div[0]*Div[1] ; i++){ + cCheck->cd(i); + + if( canvas[i-1] == pThetaCM ) { + cCheck->cd(i)->SetGrid(0,0); + cCheck->cd(i)->SetLogy(); + } + + if( canvas[i-1] == pHitID ){ + cCheck->cd(i)->SetLogy(); + } + + plotID pID = canvas[i-1]; + + ///######################################## + if( pID == pEZ){ + TH2F * hez = new TH2F("hez", Form("e-z [gated] @ %5.0f mm; z [mm]; e [MeV]", array.firstPos), zRange[0], zRange[1], zRange[2], + 400, eRange[0], eRange[1]); + tree->Draw("e:z>>hez", gate, "colz"); + if( shownKELines){ + for( int i = 0; i < numEx ; i++){ + fxList->At(i)->Draw("same"); + } + } + } + + if( pID == pRecoilXY ){ + TH2F * hRecoilXY = new TH2F("hRecoilXY", Form("RecoilXY [gated] @ %4.0f mm; X [mm]; Y [mm]", detGeo.aux[detGeoID].detPos ), + 400, -detGeo.aux[detGeoID].outerRadius, detGeo.aux[detGeoID].outerRadius, + 400, -detGeo.aux[detGeoID].outerRadius, detGeo.aux[detGeoID].outerRadius); + tree->Draw("yRecoil:xRecoil>>hRecoilXY", gate, "colz"); + TArc * detArc1 = new TArc(0,0, detGeo.aux[detGeoID].outerRadius); + detArc1->SetLineColor(kBlue-8); + detArc1->SetFillStyle(0); + detArc1->Draw("same"); + TArc * detArc2 = new TArc(0,0, detGeo.aux[detGeoID].innerRadius); + detArc2->SetLineColor(kBlue-8); + detArc2->SetFillStyle(0); + detArc2->Draw("same"); + + if( reactionConfig.beamX != 0. || reactionConfig.beamY != 0. ){ + TArc * arc = new TArc(reactionConfig.beamX, reactionConfig.beamY, 1); + arc->SetLineColor(2); + detArc1->SetFillStyle(0); + arc->Draw("same"); + } + } + + if( pID == pRecoilXY1 ){ + TH2F * hRecoilXY1 = new TH2F("hRecoilXY1", Form("RecoilXY-1 [gated] @ %4.0f mm; X [mm]; Y [mm]", detGeo.aux[detGeoID].detPos1 ), + 400, -detGeo.aux[detGeoID].outerRadius, detGeo.aux[detGeoID].outerRadius, + 400, -detGeo.aux[detGeoID].outerRadius, detGeo.aux[detGeoID].outerRadius); + tree->Draw("yRecoil1:xRecoil1>>hRecoilXY1", gate, "colz"); + } + + if( pID == pRecoilXY2 ){ + TH2F * hRecoilXY2 = new TH2F("hRecoilXY2", Form("RecoilXY-2 [gated] @ %4.0f mm; X [mm]; Y [mm]", detGeo.aux[detGeoID].detPos2 ), + 400, -detGeo.aux[detGeoID].outerRadius, detGeo.aux[detGeoID].outerRadius, + 400, -detGeo.aux[detGeoID].outerRadius, detGeo.aux[detGeoID].outerRadius); + tree->Draw("yRecoil2:xRecoil2>>hRecoilXY2", gate, "colz"); + } + + if( pID == pRecoilRZ ){ + TH2F * hRecoilRZ = new TH2F("hRecoilRZ", "RecoilR - Z [gated]; z [mm]; RecoilR [mm]", zRange[0], zRange[1], zRange[2], 400,0, detGeo.aux[detGeoID].outerRadius); + tree->Draw("rhoRecoil:z>>hRecoilRZ", gate, "colz"); + } + + if( pID == pRecoilRTR ){ + FindRange("TB", gate, tree, recoilERange); + TH2F * hRecoilRTR = new TH2F("hRecoilRTR", "RecoilR - recoilE [gated]; recoil Energy [MeV]; RecoilR [mm]", 500, recoilERange[0], recoilERange[1], 500, 0, detGeo.aux[detGeoID].outerRadius); + tree->Draw("rhoRecoil:TB>>hRecoilRTR", gate, "colz"); + } + + if( pID == pTDiffZ ){ + double tDiffRange [2]; + FindRange("t-tB", gate, tree, tDiffRange); + TH2F * hTDiffZ = new TH2F("hTDiffZ", "time(Array) - time(Recoil) vs Z [gated]; z [mm]; time diff [ns]", zRange[0], zRange[1], zRange[2], 500, tDiffRange[0], tDiffRange[1]); + tree->Draw("t - tB : z >> hTDiffZ", gate, "colz"); + } + + if( pID == pThetaCM ){ + TH1F * hThetaCM[numEx]; + TLegend * legend = new TLegend(0.8,0.2,0.99,0.8); + double maxCount = 0; + int startID = 0; // set the start ExID + for( int i = startID; i < numEx; i++){ + hThetaCM[i] = new TH1F(Form("hThetaCM%d", i), Form("thetaCM [gated] (ExID=%d); thetaCM [deg]; count", i), 200, thetaCMRange[0], thetaCMRange[1]); + hThetaCM[i]->SetLineColor(i+1-startID); + hThetaCM[i]->SetFillColor(i+1-startID); + hThetaCM[i]->SetFillStyle(3000+i-startID); + tree->Draw(Form("thetaCM>>hThetaCM%d", i), gate + Form("&& ExID==%d", i), ""); + legend->AddEntry(hThetaCM[i], Form("Ex=%5.1f MeV", exList.ExList[i].Ex)); + double max = hThetaCM[i]->GetMaximum(); + if( max > maxCount ) maxCount = max; + } + + for( int i = startID; i < numEx; i++){ + hThetaCM[i]->GetYaxis()->SetRangeUser(1, maxCount * 1.2); + if( i == startID ) { + hThetaCM[i]->Draw(); + }else{ + hThetaCM[i]->Draw("same"); + } + } + legend->Draw(); + } + + if( pID == pThetaCM_Z ){ + TH2F *hThetaCM_Z = new TH2F("hThetaCM_Z","ThetaCM vs Z ; Z [mm]; thetaCM [deg]",zRange[0], zRange[1], zRange[2], 200, thetaCMRange[0], thetaCMRange[1]); + tree->Draw("thetaCM:z>>hThetaCM_Z",gate,"col"); + if( shownKELines){ + for( int i = 0; i < numEx ; i++){ + txList->At(i)->Draw("same"); + } + } + } + + if( pID == pExCal ){ + TH1F * hExCal = new TH1F("hExCal", Form("calculated Ex [gated]; Ex [MeV]; count / %.2f keV", (ExRange[1]-ExRange[0])/400.*1000), 400, ExRange[0], ExRange[1]); + tree->Draw("ExCal>>hExCal", gate, ""); + Isotope hRecoil(recoil.heavyA, recoil.heavyZ); + double Sn = hRecoil.CalSp(0,1); + double Sp = hRecoil.CalSp(1,0); + double Sa = hRecoil.CalSp2(4,2); + double S2n = hRecoil.CalSp(0, 2); + + printf("Heavy recoil: %s \n", hRecoil.Name.c_str()); + printf("Sn : %f MeV/u \n", Sn); + printf("Sp : %f MeV/u \n", Sp); + printf("Sa : %f MeV/u \n", Sa); + printf("S2n : %f MeV/u \n", S2n); + + double yMax = hExCal->GetMaximum(); + TLine * lineSn = new TLine(Sn, 0, Sn, yMax); lineSn->SetLineColor(2); lineSn->Draw(""); + TLine * lineSp = new TLine(Sp, 0, Sp, yMax); lineSp->SetLineColor(4); lineSp->Draw("same"); + TLine * lineSa = new TLine(Sa, 0, Sa, yMax); lineSa->SetLineColor(6); lineSa->Draw("same"); + TLine * lineS2n = new TLine(S2n, 0, S2n, yMax); lineS2n->SetLineColor(8); lineS2n->Draw("same"); + + TLatex * text = new TLatex(); + text->SetTextFont(82); + text->SetTextSize(0.06); + text->SetTextColor(2); text->DrawLatex(Sn, yMax*0.9, "S_{n}"); + text->SetTextColor(4); text->DrawLatex(Sp, yMax*0.9, "S_{p}"); + text->SetTextColor(6); text->DrawLatex(Sa, yMax*0.9, "S_{a}"); + text->SetTextColor(8); text->DrawLatex(S2n, yMax*0.9, "S_{2n}"); + + } + + if( pID == pRecoilRThetaCM ){ + TH2F * hRecoilRThetaCM = new TH2F("hRecoilRThetaCM", "RecoilR - thetaCM [gated]; thetaCM [deg]; RecoilR [mm]", 400, 0, 60, 400,0, detGeo.aux[detGeoID].outerRadius); + tree->Draw("rhoRecoil:thetaCM>>hRecoilRThetaCM", gate, "colz"); + } + + if( pID == pArrayXY ){ + TH2F * hArrayXY = new TH2F("hArrayXY", "Array-XY [gated]; X [mm]; Y [mm]", 400, -array.detPerpDist*1.5, array.detPerpDist*1.5, 400, -array.detPerpDist*1.5, array.detPerpDist*1.5); + tree->Draw("yArray:xArray>>hArrayXY", gate, "colz"); + } + + if( pID == pInfo ){ + TLatex text; + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.06); + text.SetTextColor(2); + + text.DrawLatex(0., 0.9, Reaction); + text.DrawLatex(0., 0.8, detGeo.Bfield > 0 ? "out of plan" : "into plan"); + text.SetTextColor(1); + text.DrawLatex(0., 0.7, "gate:"); + + text.SetTextColor(2); + //check gate text length, if > 30, break by "&&" + int ll = gate.Length(); + if( ll > 30 ) { + vector strList = AnalysisLib::SplitStr( (string) gate.Data(), "&&"); + for( int i = 0; i < strList.size(); i++){ + text.DrawLatex(0., 0.6 - 0.05*i, (TString) strList[i]); + } + }else{ + text.DrawLatex(0., 0.6, gate); + } + + if( reactionConfig.beamX != 0.0 || reactionConfig.beamY != 0.0 ){ + text.DrawLatex(0.0, 0.1, Form("Bema pos: (%4.1f, %4.1f) mm", reactionConfig.beamX, reactionConfig.beamY)); + } + } + + if( pID == pElum1XY ){ + TH2F * hElum1XY = new TH2F("hElum1XY", Form("Elum-1 XY [gated] @ %.0f mm ; X [mm]; Y [mm]", detGeo.aux[detGeoID].elumPos1), 400, -elumRange, elumRange, 400, -elumRange, elumRange); + tree->Draw("yElum1:xElum1>>hElum1XY", gate, "colz"); + + double count = hElum1XY->GetEntries(); + + if( count < 2000. ) { + hElum1XY->SetMarkerStyle(7); + if( count < 500. ) hElum1XY->SetMarkerStyle(3); + hElum1XY->Draw("scat"); + } + } + + if( pID == pEElum1R ){ + TH2F * hEElum1Rho = new TH2F("hEElum1Rho", "Elum-1 E-R [gated]; R[mm]; Energy[MeV]", 400, 0, elumRange, 400, eRange[0], eRange[1]); + tree->Draw("Tb:rhoElum1>>hEElum1Rho", gate, "colz"); + } + + if( pID == pElum1RThetaCM){ + int angBin = 400; + + TH2F * hElum1RThetaCM = new TH2F("hElum1RThetaCM", "Elum-1 rho vs ThetaCM [gated]; thatCM [deg]; Elum- rho [mm]", angBin, thetaCMRange[0], thetaCMRange[1], 400, 0, elumRange); + tree->Draw("rhoElum1:thetaCM>>hElum1RThetaCM", gate, "colz"); + + TH1F * htemp = (TH1F *) hElum1RThetaCM->ProjectionX("htemp"); + + double rel = (thetaCMRange[1] - thetaCMRange[0])*1.0/angBin; + printf("angular resolution : %f deg \n", rel); + + vector xList; + double old_y = 0; + for( int i = 1; i <= angBin; i++){ + double y = htemp->GetBinContent(i); + if( old_y == 0 && y > 0) xList.push_back(htemp->GetBinCenter(i)); + if( old_y > 0 && y == 0 ) xList.push_back(htemp->GetBinCenter(i)); + old_y = y; + } + + printf("list of gaps :\n"); + for( int i = 0; i < (int) xList.size(); i+=2){ + printf("%d | %.3f - %.3f deg\n", i, xList[i], xList[i+1]); + } + + TF1 f1("f1", "sin(x)"); + double acceptance = 0; + double err1 = 0; + double err2 = 0; + for( int i = 0; i < (int) xList.size(); i += 2 ){ + acceptance += f1.Integral(xList[i] * TMath::DegToRad(), xList[i+1] * TMath::DegToRad() ) * TMath::TwoPi(); + err1 += f1.Integral((xList[i]-rel) * TMath::DegToRad(), (xList[i+1] + rel) * TMath::DegToRad() ) * TMath::TwoPi(); + err2 += f1.Integral((xList[i]+rel) * TMath::DegToRad(), (xList[i+1] - rel) * TMath::DegToRad() ) * TMath::TwoPi(); + } + printf("acceptance = %f sr +- %f \n", acceptance, (err1-err2)/2); + + TLatex text; + text.SetTextFont(82); + text.SetTextSize(0.06); + text.SetTextColor(2); + text.SetTextAngle(90); + + for( int i = 0; i < (int) xList.size(); i++){ + text.DrawLatex(xList[i], elumRange/2, Form("%.2f", xList[i])); + } + + text.SetNDC(); + text.SetTextAngle(0); + text.DrawLatex(0.15, 0.15, Form("accp. = %.2f(%.2f) msr", acceptance * 1000., (err1-err2)*1000./2)); + + } + + if( pID == pHitID ){ + printf("=======================meaning of Hit ID\n"); + printf(" 1 = light recoil hit array & heavy recoil hit recoil\n"); + printf(" 0 = no detector\n"); + printf(" -1 = light recoil go opposite side of array\n"); + printf(" -2 = light recoil hit > det width\n"); + printf(" -3 = light recoil hit > array \n"); + printf(" -4 = light recoil hit blocker \n"); + printf(" -10 = light recoil orbit radius too big \n"); + printf(" -11 = light recoil orbit radius too small\n"); + printf(" -12 = when reocol at the same side of array, light recoil blocked by recoil detector\n"); + printf(" -13 = more than 3 loops\n"); + printf(" -14 = heavy recoil did not hit recoil \n"); + printf(" -15 = cannot find hit on array\n"); + printf(" -20 = unknown\n"); + printf("===========================================\n"); + + TH1F * hHit = new TH1F("hHit", "hit; hit-ID; count", 13, -11, 2); + tree->Draw("hit>>hHit", "", ""); + } + + } + + cCheck->Modified(); + cCheck->Update(); + + if( outputCanvas ){ + TDatime dateTime; + TString outPNGName = Form("Sim_%d%02d%02d_%06d.png", dateTime.GetYear(), dateTime.GetMonth(), dateTime.GetDay(), dateTime.GetTime()); + + cCheck->SaveAs(outPNGName); + printf("%s\n", outPNGName.Data()); + + gROOT->ProcessLine(".q"); + + } +} + +///============================================================ +///============================================================ + +double * FindRange(TString branch, TString gate, TTree * tree, double output[2]){ + tree->Draw(Form("%s>>temp1", branch.Data()), gate); + TH1F * temp1 = (TH1F *) gROOT->FindObjectAny("temp1"); + + output[1] = temp1->GetXaxis()->GetXmax(); + output[0] = temp1->GetXaxis()->GetXmin(); + + delete temp1; + return output; +} + +double ExtractNumber(int index, TMacro * macro){ + + TString field = macro->GetListOfLines()->At(index)->GetName(); + int pos = field.First('/'); + if( pos >= 0 ) field.Remove(pos); + + return field.Atof(); + +} +TString ExtractString(int index, TMacro * macro){ + + TString field = macro->GetListOfLines()->At(index)->GetName(); + + int pos = field.First('/'); + if( pos >= 0 ) field.Remove(pos); + + return field; + +} + +vector StringToVector(TString str){ + + vector temp; + + bool startFlag = false; + bool endFlag = false; + string jaja=""; + for(int i = 0; i < str.Length(); i++){ + + if( str[i] == '{' ) { + startFlag = true; + continue; + } + if( str[i] == ' '){ + continue; + } + if( startFlag && !endFlag){ + + if( str[i] == ',' ){ + temp.push_back(jaja); + jaja=""; + continue; + } + + if( str[i] == '}') { + temp.push_back(jaja); + endFlag = true; + continue; + } + jaja += str[i]; + + } + } + return temp; +} + +vector intConvertor(vector arr){ + vector out ; + for( int i = 0 ; i < (int) arr.size(); i++){ + out.push_back( arr[i].Atoi()); + } + return out; +} +vector doubleConvertor(vector arr){ + vector out ; + for( int i = 0 ; i < (int) arr.size(); i++){ + out.push_back( arr[i].Atof()); + } + return out; +} + +plotID StringToPlotID(TString str){ + + if( str == "pEZ") return plotID::pEZ; /// 0 + if( str == "pRecoilXY") return plotID::pRecoilXY; /// 1 + if( str == "pThetaCM" ) return plotID::pThetaCM; /// 2 + if( str == "pExCal" ) return plotID::pExCal; /// 2 + if( str == "pArrayXY" ) return plotID::pArrayXY; /// 3 + if( str == "pInfo" ) return plotID::pInfo; /// 4 + if( str == "pElum1XY" ) return plotID::pElum1XY; /// 5 + if( str == "pRecoilXY1" ) return plotID::pRecoilXY1; /// 6 + if( str == "pRecoilXY2" ) return plotID::pRecoilXY2; /// 7 + if( str == "pTDiffZ" ) return plotID::pTDiffZ; /// 8 + if( str == "pRecoilRThetaCM" ) return plotID::pRecoilRThetaCM; /// 9 + if( str == "pRecoilRZ" ) return plotID::pRecoilRZ; /// 10 + if( str == "pEElum1R" ) return plotID::pEElum1R; /// 11 + if( str == "pRecoilRTR" ) return plotID::pRecoilRTR; /// 12 + if( str == "pThetaCM_Z" ) return plotID::pThetaCM_Z; /// 13 + if( str == "pElum1RThetaCM" ) return plotID::pElum1RThetaCM; /// 14 + + if( str == "pHitID" ) return plotID::pHitID; /// 13 + if( str == "pEmpty" ) return plotID::pEmpty ; /// 16 + + return plotID::pEmpty; +} diff --git a/cleopatra/ClassDecay.h b/cleopatra/ClassDecay.h new file mode 100644 index 0000000..7aefb40 --- /dev/null +++ b/cleopatra/ClassDecay.h @@ -0,0 +1,180 @@ +#ifndef decay_h +#define decay_h + +#include "TVector3.h" + +#include "../Cleopatra/ClassIsotope.h" +#include "../Armory/ClassReactionConfig.h" + +//======================================================= +//####################################################### +// Class for Particle Decay +// B --> d + D +// input : TLorentzVector, emitting particle +// output : scattered TLorentzVector +//======================================================= +class Decay{ +public: + Decay(); + ~Decay(); + + double GetQValue() { return Q;} + + double GetAngleChange(){ + TVector3 vD = PD.Vect(); + TVector3 vB = PB.Vect(); + vD.SetMag(1); + vB.SetMag(1); + double dot = vD.Dot(vB); + return TMath::ACos(dot)*TMath::RadToDeg() ; + } + + double GetThetaCM() { return theta * TMath::RadToDeg();} + + double GetCMMomentum(){ return k;} + TLorentzVector GetDaugther_d() {return Pd;} + TLorentzVector GetDaugther_D() {return PD;} + + void SetMotherDaugther(Recoil recoil){ + + Isotope Mother(recoil.heavyA, recoil.heavyZ); + Isotope Daugther_D(recoil.decayA, recoil.decayZ); + Isotope Daugther_d(recoil.heavyA - recoil.decayA, recoil.heavyZ - recoil.decayZ); + + zB = recoil.heavyZ; + zD = recoil.decayZ; + zd = recoil.heavyZ - recoil.decayZ; + + mB = Mother.Mass; + mD = Daugther_D.Mass; + md = Daugther_d.Mass; + + double Q = mB - mD - md; + + printf("====== decay mode : %s --> %s + %s, Q = %.3f MeV \n", Mother.Name.c_str(), Daugther_d.Name.c_str(), Daugther_D.Name.c_str(), Q); + + isMotherSet = true; + + } + + void SetMotherDaugther(int AB, int zB, int AD, int zD){ + Isotope Mother(AB, zB); + Isotope Daugther_D(AD, zD); + Isotope Daugther_d(AB-AD, zB-zD); + + mB = Mother.Mass; + mD = Daugther_D.Mass; + md = Daugther_d.Mass; + + double Q = mB - mD - md; + + printf("====== decay mode : %s --> %s + %s, Q = %.3f MeV \n", Mother.Name.c_str(), Daugther_d.Name.c_str(), Daugther_D.Name.c_str(), Q); + + isMotherSet = true; + } + + int CalDecay(TLorentzVector P_mother, double ExB, double ExD, double normOfReactionPlane = 0){ + if( !isMotherSet ) { + return -1; + } + this->PB = P_mother; + + double MB = mB + ExB; ///mother + double MD = mD + ExD; ///Big_Daugther + Q = MB - MD - md; + if( Q < 0 ) { + this->PD = this->PB; + dTheta = TMath::QuietNaN(); + k = TMath::QuietNaN(); + return -2; + } + + //clear + TLorentzVector temp(0,0,0,0); + PD = temp; + Pd = temp; + + PD.SetUniqueID(zD); + Pd.SetUniqueID(zd); + + k = TMath::Sqrt((MB+MD+md)*(MB+MD-md)*(MB-MD+md)*(MB-MD-md))/2./MB; + + //in mother's frame, assume isotropic decay + theta = TMath::ACos(2 * gRandom->Rndm() - 1) ; + + //for non isotropic decay, edit f1. + //theta = TMath::ACos(f1->GetRandom()); + + double phi = TMath::TwoPi() * gRandom->Rndm(); + PD.SetE(TMath::Sqrt(mD * mD + k * k )); + PD.SetPz(k); + PD.SetTheta(theta); + PD.SetPhi(phi); + + Pd.SetE(TMath::Sqrt(md * md + k * k )); + Pd.SetPz(k); + Pd.SetTheta(theta + TMath::Pi()); + Pd.SetPhi(phi + TMath::Pi()); + + PD.RotateY(TMath::Pi()/2.); + PD.RotateZ(normOfReactionPlane); + + Pd.RotateY(TMath::Pi()/2.); + Pd.RotateZ(normOfReactionPlane); + + //Transform to Lab frame; + TVector3 boost = PB.BoostVector(); + + PD.Boost(boost); + Pd.Boost(boost); + + return 1; + } + +private: + TLorentzVector PB, Pd, PD; + + double mB, mD, md; + double zB, zD, zd; + double theta; + + TF1 * f1; + + bool isMotherSet; + double Q; + double k; // momentum in B-frame + double dTheta; // change of angle +}; + +Decay::Decay(){ + TLorentzVector temp(0,0,0,0); + PB = temp; + Pd = temp; + PD = temp; + + mB = TMath::QuietNaN(); + mD = TMath::QuietNaN(); + md = TMath::QuietNaN(); + + zB = 0; + zD = 0; + zd = 0; + + theta = TMath::QuietNaN(); + + k = TMath::QuietNaN(); + + Q = TMath::QuietNaN(); + dTheta = TMath::QuietNaN(); + isMotherSet = false; + + // f1 = new TF1("f1", "(1+ROOT::Math::legendre(2,x))/2.", -1, 1); //need to compile ROOT with -Dmathmore=ON + f1 = new TF1("f1", "sin(x)", -1, 1); +} + +Decay::~Decay(){ + delete f1; +} + + +#endif \ No newline at end of file diff --git a/cleopatra/ClassHelios.h b/cleopatra/ClassHelios.h new file mode 100644 index 0000000..6ab1893 --- /dev/null +++ b/cleopatra/ClassHelios.h @@ -0,0 +1,551 @@ +#ifndef HELIOS_Library_h +#define HELIOS_Library_h + +#include "TBenchmark.h" +#include "TLorentzVector.h" +#include "TVector3.h" +#include "TMath.h" +#include "TFile.h" +#include "TTree.h" +#include "TRandom.h" +#include "TMacro.h" +#include "TGraph.h" +#include +#include + +#include "../Armory/AnalysisLib.h" +#include "../Armory/ClassDetGeo.h" +#include "../Armory/ClassReactionConfig.h" + +//======================================================= +//####################################################### +//Class for HELIOS +//input Lorentz vector, detector configuration +//output e, z, Ex, thetaCM, etc +//======================================================= + +struct trajectory{ + double theta, phi; + double vt, vp; // tranvser and perpendicular velocity + double rho; // orbit radius + double z0, t0; // position cycle + double x, y, z; // hit position + double t; //actual orbit time; + double R; //hit radius = sqrt(x^2+y^2); + int detID, detRowID; + int loop; + double effLoop; + + void PrintTrajectory(){ + printf("=====================\n"); + printf(" theta : %f deg\n", theta*TMath::RadToDeg()); + printf(" phi : %f deg\n", phi*TMath::RadToDeg()); + printf(" vt : %f mm/ns\n", vt); + printf(" vp : %f mm/ns\n", vp); + printf(" rho : %f mm\n", rho); + printf(" z0 : %f mm\n", z0); + printf(" t0 : %f ns\n", t0); + printf("(x, y, z) : (%f, %f. %f) mm\n", x, y, z); + printf(" R : %f mm\n", R); + printf(" t : %f ns\n", t); + printf(" effLoop : %f cycle\n", effLoop); + printf(" Loop : %d cycle\n", loop); + printf(" detRowID : %d \n", detRowID); + printf(" detID : %d \n", detID); + + } + + void Clear(){ + theta = TMath::QuietNaN(); + phi = TMath::QuietNaN(); + vt = TMath::QuietNaN(); + vp = TMath::QuietNaN(); + rho = TMath::QuietNaN(); + z0 = TMath::QuietNaN(); + t0 = TMath::QuietNaN(); + x = TMath::QuietNaN(); + y = TMath::QuietNaN(); + z = TMath::QuietNaN(); + effLoop = TMath::QuietNaN(); + detID = -1; + detRowID = -1; + loop = -1; + } +}; + +class HELIOS{ +public: + + HELIOS(); + HELIOS(std::string detGeoFile, unsigned short ID); + ~HELIOS(); + + void SetCoincidentWithRecoil(bool TorF){ this->isCoincidentWithRecoil = TorF;} + bool GetCoincidentWithRecoil(){return this->isCoincidentWithRecoil;} + bool SetDetectorGeometry(std::string filename, unsigned short ID); + void SetBeamPosition(double x, double y) { xOff = x; yOff = y;} + + void OverrideMagneticField(double BField); + void OverrideFirstPos(double firstPos); + void OverrideDetectorDistance(double perpDist); + void OverrideDetectorFacing(bool isOutside); + + int CheckDetAcceptance(); + int CalArrayHit(TLorentzVector Pb, bool debug = false); + int CalRecoilHit(TLorentzVector PB); + void CalTrajectoryPara(TLorentzVector P, bool isLightRecoil); + + int GetNumberOfDetectorsInSamePos(){return array.rowDet;} + double GetEnergy()const {return e;} + double GetDetX() const {return detX;} // position in each detector, range from -1, 1 + + /// clockwise rotation for B-field along the z-axis, sign = 1. + double XPos(double Zpos, double theta, double phi, double rho, int sign){ + if( TMath::IsNaN(Zpos) ) return TMath::QuietNaN(); + return rho * ( TMath::Sin( TMath::Tan(theta) * Zpos / rho - sign * phi ) + sign * TMath::Sin(phi) ) + xOff; + } + double YPos(double Zpos, double theta, double phi, double rho, int sign){ + if( TMath::IsNaN(Zpos) ) return TMath::QuietNaN(); + return rho * sign * (TMath::Cos( TMath::Tan(theta) * Zpos / rho - sign * phi ) - TMath::Cos(phi)) + yOff; + } + double RPos(double Zpos, double theta, double phi, double rho, int sign){ + if( TMath::IsNaN(Zpos) ) return TMath::QuietNaN(); + double x = XPos(Zpos, theta, phi, rho, sign) ; + double y = YPos(Zpos, theta, phi, rho, sign) ; + return sqrt(x*x+y*y); + } + + double GetXPos(double ZPos){ return TMath::IsNaN(ZPos) ? TMath::QuietNaN() : XPos( ZPos, orbitb.theta, orbitb.phi, orbitb.rho, detGeo.BfieldSign); } + double GetYPos(double ZPos){ return TMath::IsNaN(ZPos) ? TMath::QuietNaN() : YPos( ZPos, orbitb.theta, orbitb.phi, orbitb.rho, detGeo.BfieldSign); } + double GetR(double ZPos) { return TMath::IsNaN(ZPos) ? TMath::QuietNaN() : RPos( ZPos, orbitb.theta, orbitb.phi, orbitb.rho, detGeo.BfieldSign); } + + double GetRecoilEnergy(){return eB;} + double GetRecoilXPos(double ZPos){ return TMath::IsNaN(ZPos) ? TMath::QuietNaN() : XPos( ZPos, orbitB.theta, orbitB.phi, orbitB.rho, detGeo.BfieldSign); } + double GetRecoilYPos(double ZPos){ return TMath::IsNaN(ZPos) ? TMath::QuietNaN() : YPos( ZPos, orbitB.theta, orbitB.phi, orbitB.rho, detGeo.BfieldSign); } + double GetRecoilR(double ZPos) { return TMath::IsNaN(ZPos) ? TMath::QuietNaN() : RPos( ZPos, orbitB.theta, orbitB.phi, orbitB.rho, detGeo.BfieldSign); } + + void PrintGeometry() const; + + double GetBField() const {return detGeo.Bfield;} + double GetDetRadius() const {return array.detPerpDist;} + + trajectory GetTrajectory_b() const {return orbitb;} + trajectory GetTrajectory_B() const {return orbitB;} + + DetGeo GetDetectorGeometry() const {return detGeo;} + Array GetArrayGeometry() const {return array;} + Auxillary GetAuxGeometry() const {return aux;} + + TString GetHitMessage() {return hitMessage;} + TString GetAcceptanceMessage() { AcceptanceCodeToMsg(acceptanceCode); return acceptanceMsg;} + + TString AcceptanceCodeToMsg(short code ); + +private: + + DetGeo detGeo; + Array array; + Auxillary aux; + + trajectory orbitb, orbitB; + + double e,detX ; ///energy of light recoil, position X + double rhoHit; /// radius of particle-b hit on recoil detector + + double eB; ///energy of heavy recoil + + bool isDetReady; + + TString hitMessage; + TString acceptanceMsg; //acceptance check + short acceptanceCode; + + double xOff, yOff; // beam position + + bool overrideDetDistance; + bool overrideFirstPos; + bool isCoincidentWithRecoil; + + const double c = 299.792458; //mm/ns + + void Clear(); + +}; + +HELIOS::HELIOS(){ + Clear(); +} + +HELIOS::HELIOS(std::string detGeoFile, unsigned short ID){ + Clear(); + SetDetectorGeometry(detGeoFile, ID); +} + +HELIOS::~HELIOS(){ + +} + +void HELIOS::Clear(){ + + orbitb.Clear(); + orbitB.Clear(); + + e = TMath::QuietNaN(); + eB = TMath::QuietNaN(); + detX = TMath::QuietNaN(); + rhoHit = TMath::QuietNaN(); + + xOff = 0.0; + yOff = 0.0; + + isDetReady = false; + + hitMessage = ""; + acceptanceMsg = ""; + acceptanceCode = 0; + + overrideDetDistance = false; + overrideFirstPos = false; + isCoincidentWithRecoil = false; +} + +void HELIOS::OverrideMagneticField(double BField){ + this->detGeo.Bfield = BField; + this->detGeo.BfieldSign = BField > 0 ? 1: -1; +} + +void HELIOS::OverrideFirstPos(double firstPos){ + overrideFirstPos = true; + printf("------ Overriding FirstPosition to : %8.2f mm \n", firstPos); + this->array.firstPos = firstPos; +} + +void HELIOS::OverrideDetectorDistance(double perpDist){ + overrideDetDistance = true; + printf("------ Overriding Detector Distance to : %8.2f mm \n", perpDist); + this->array.detPerpDist = perpDist; +} + +void HELIOS::OverrideDetectorFacing(bool isOutside){ + this->array.detFaceOut = isOutside; + printf(" Detectors are facing %s\n", array.detFaceOut ? "outside": "inside" ); +} + +bool HELIOS::SetDetectorGeometry(std::string filename, unsigned short ID){ + + if( detGeo.LoadDetectorGeo(filename, false)) { + + array = detGeo.array[ID]; + aux = detGeo.aux[ID]; + isCoincidentWithRecoil = detGeo.aux[ID].isCoincident; + isDetReady = true; + + }else{ + printf("cannot read file %s.\n", filename.c_str()); + isDetReady = false; + } + + return isDetReady; +} + +void HELIOS::PrintGeometry() const{ + + printf("=====================================================\n"); + printf(" B-field : %8.2f T, %s\n", detGeo.Bfield, detGeo.Bfield > 0 ? "out of plan" : "into plan"); + printf(" Bore : %8.2f mm\n", detGeo.bore); + printf("----------------------------------- Detector Position \n"); + array.Print(); + aux.Print(); + printf("=====================================================\n"); + +} + +TString HELIOS::AcceptanceCodeToMsg(short code ){ + + switch(code){ + case 3 : acceptanceMsg = "try one more loop"; break; + case 2 : acceptanceMsg = "hit less than the nearest array. increase loop"; break; + case 1 : acceptanceMsg = "GOOD!! hit Array"; break; + + case 0 : acceptanceMsg = "detector geometry incomplete."; break; + case -1 : acceptanceMsg = "array at upstream, z is downstream."; break; + case -2 : acceptanceMsg = "array at downstream, z is upstream."; break; + case -3 : acceptanceMsg = "hit at the XY gap."; break; + case -4 : acceptanceMsg = "hit more upstream than the array length"; break; + case -5 : acceptanceMsg = "hit more downstream than the array length"; break; + case -6 : acceptanceMsg = "hit blocker"; break; + case -7 : acceptanceMsg = "hit array Z-gap"; break; + + case -10 : acceptanceMsg = "rho is too big"; break; + case -11 : acceptanceMsg = "rho is too small"; break; + case -12 : acceptanceMsg = "light recoil blocked by recoil detector"; break; + case -13 : acceptanceMsg = "more than 3 loops."; break; + case -14 : acceptanceMsg = "heavy recoil does not hit recoil detector"; break; + case -15 : acceptanceMsg = "det Row ID == -1"; break; + default : acceptanceMsg = "unknown error."; break; + } + + return acceptanceMsg; + +} + +int HELIOS::CheckDetAcceptance(){ + + //CalArrayHit and CalRecoilHit must be done before. + + if( isDetReady == false ) { acceptanceCode = 0; return acceptanceCode; } + + // -1 ========= when recoil direction is not same side of array + if( array.firstPos < 0 && orbitb.z > 0 ) {acceptanceCode = -1; return acceptanceCode;} + + // -2 ========= when recoil direction is not same side of array + if( array.firstPos > 0 && orbitb.z < 0 ) {acceptanceCode = -2; return acceptanceCode;} + + // -11 ======== rho is too small + if( 2 * orbitb.rho < array.detPerpDist ) { acceptanceCode = -11; return acceptanceCode;} + + // -15 ========= if detRowID == -1, should be (2 * orbitb.rho < perpDist) + if( orbitb.detRowID == -1 ) {acceptanceCode = -15; return acceptanceCode;} + + // -10 =========== when rho is too big . + if( array.detFaceOut && detGeo.bore < 2 * orbitb.rho) { acceptanceCode = -10; return acceptanceCode;} + + // -14 ========== check particle-B hit radius on recoil dectector + if( isCoincidentWithRecoil && orbitB.R > aux.outerRadius ) {acceptanceCode = -14; return acceptanceCode;} + + //if( isCoincidentWithRecoil && (orbitB.R > rhoRecoilout || orbitB.R < rhoRecoilin) ) return -14; + + // -12 ========= check is particle-b was blocked by recoil detector + rhoHit = GetR(aux.detPos); + if( orbitb.z > 0 && aux.detPos > 0 && orbitb.z > aux.detPos && rhoHit < aux.outerRadius ) { acceptanceCode = -12; return acceptanceCode;} + if( orbitb.z < 0 && aux.detPos < 0 && orbitb.z < aux.detPos && rhoHit < aux.outerRadius ) { acceptanceCode = -12; return acceptanceCode;} + + // -13 ========= not more than 3 loops + if( orbitb.loop > 3 ) {acceptanceCode = -13; return acceptanceCode;} + + // -3 ========= calculate the "y"-distance from detector center + if( sqrt(orbitb.R*orbitb.R - array.detPerpDist * array.detPerpDist)> array.detWidth/2 ) { acceptanceCode = -3; return acceptanceCode;} + + // -4, -5 ==== when zPos further the range of whole array, more loop would not save + if( array.firstPos < 0 && orbitb.z < array.detPos[0] - array.detLength ) { acceptanceCode = -4; return acceptanceCode;} + if( array.firstPos > 0 && orbitb.z > array.detPos[array.colDet-1] + array.detLength ) { acceptanceCode = -5; return acceptanceCode;} + + // -6 ======== Hit on blacker + if( array.blocker != 0 && array.firstPos > 0 && array.detPos[0] - array.blocker < orbitb.z && orbitb.z < array.detPos[0] ) {acceptanceCode = -6; return acceptanceCode;} + if( array.blocker != 0 && array.firstPos < 0 && array.detPos[array.colDet-1] < orbitb.z && orbitb.z < array.detPos[array.colDet-1] + array.blocker ) { acceptanceCode = -6; return acceptanceCode;} + + // 2 ====== when zPos less then the nearest position, more loop may hit + int increaseLoopFlag = 0; + if( array.firstPos < 0 && array.detPos[array.colDet-1] < orbitb.z ) increaseLoopFlag = 2; + if( array.firstPos > 0 && array.detPos[0] > orbitb.z ) increaseLoopFlag = 2; + if (increaseLoopFlag == 2 ) { + orbitb.z += orbitb.z0; + orbitb.effLoop += 1.0; + orbitb.loop += 1; + orbitb.t = orbitb.t0 * orbitb.effLoop; + acceptanceCode = 2; + return acceptanceCode; + } + + // 1 ======= check hit array z- position + if( array.firstPos < 0 ){ + for( int i = 0; i < array.colDet; i++){ + if( array.detPos[i] - array.detLength <= orbitb.z && orbitb.z <= array.detPos[i]) { + orbitb.detID = i; + detX = ( orbitb.z - (array.detPos[i] + array.detLength/2 ))/ array.detLength * 2 ;// range from -1 , 1 + acceptanceCode = 1; + return acceptanceCode; + } + } + }else{ + for( int i = 0; i < array.colDet ; i++){ + if( array.detPos[i] <= orbitb.z && orbitb.z <= array.detPos[i] + array.detLength) { + ///printf(" %d | %f < z = %f < %f \n", i, array.detPos[i], orbitb.z, array.detPos[i]+length); + orbitb.detID = i; + detX = ( orbitb.z - (array.detPos[i] - array.detLength/2 ))/ array.detLength*2 ;// range from -1 , 1 + acceptanceCode = 1; + return acceptanceCode; + } + } + } + + + // -7 ======== check hit array gap + if( array.firstPos < 0 ){ + for( int i = 0; i < array.colDet-1 ; i++){ + if( array.detPos[i] < orbitb.z && orbitb.z < array.detPos[i+1] - array.detLength ) { acceptanceCode = -7; return acceptanceCode; }//increaseLoopFlag = 3; + } + }else{ + for( int i = 0; i < array.colDet-1 ; i++){ + if( array.detPos[i] + array.detLength < orbitb.z && orbitb.z < array.detPos[i+1] ) { acceptanceCode = -7; return acceptanceCode; }//increaseLoopFlag = 3; + } + } + if (increaseLoopFlag == 3 ) { + orbitb.z += orbitb.z0; + orbitb.effLoop += 1.0; + orbitb.loop += 1; + orbitb.t = orbitb.t0 * orbitb.effLoop; + acceptanceCode = 3; + return acceptanceCode; + } + + acceptanceCode = -20 ; + return acceptanceCode; // for unknown reason +} + +void HELIOS::CalTrajectoryPara(TLorentzVector P, bool isLightRecoil){ + + if( isLightRecoil ){ + orbitb.theta = P.Theta(); + orbitb.phi = P.Phi(); + orbitb.rho = P.Pt() / abs(detGeo.Bfield) / P.GetUniqueID() / c * 1000; //mm + orbitb.vt = P.Beta() * TMath::Sin(P.Theta()) * c ; // mm / nano-second + orbitb.vp = P.Beta() * TMath::Cos(P.Theta()) * c ; // mm / nano-second + orbitb.t0 = TMath::TwoPi() * orbitb.rho / orbitb.vt; // nano-second + orbitb.z0 = orbitb.vp * orbitb.t0; + + orbitb.detID = -1; + orbitb.detRowID = -1; + + }else{ + orbitB.theta = P.Theta(); + orbitB.phi = P.Phi(); + orbitB.rho = P.Pt() / abs(detGeo.Bfield) / P.GetUniqueID() / c * 1000; //mm + orbitB.vt = P.Beta() * TMath::Sin(P.Theta()) * c ; // mm / nano-second + orbitB.vp = P.Beta() * TMath::Cos(P.Theta()) * c ; // mm / nano-second + orbitB.t0 = TMath::TwoPi() * orbitB.rho / orbitB.vt; // nano-second + orbitB.z0 = orbitB.vp * orbitB.t0; + + orbitB.detID = -1; + orbitB.detRowID = -1; + } +} + +int HELIOS::CalArrayHit(TLorentzVector Pb, bool debug){ + + e = Pb.E() - Pb.M(); + detX = TMath::QuietNaN(); + rhoHit = TMath::QuietNaN(); + + CalTrajectoryPara(Pb, true); + + int targetLoop = 1; + int inOut = array.detFaceOut == true ? 1: 0; //1 = from Outside, 0 = from inside + + if( debug ) { + printf("===================================\n"); + printf("theta : %f deg, phi : %f deg \n", orbitb.theta * TMath::RadToDeg(), orbitb.phi * TMath::RadToDeg()); + printf("z0: %f mm, rho : %f mm \n", orbitb.z0, orbitb.rho); + printf(" inOut : %d = %s \n", inOut, inOut == 1 ? "Out" : "in"); + printf(" z range : %.2f - %.2f \n", detGeo.zMin, detGeo.zMax); + printf(" B-field sign : %d\n", detGeo.BfieldSign); + printf("-----------------------------------\n"); + } + + std::vector zPossible; + std::vector dID; //detRowID + + int iStart = ( detGeo.BfieldSign == 1 ? 0 : -array.rowDet ); + int iEnd = ( detGeo.BfieldSign == 1 ? 2 * array.rowDet : array.rowDet ); + for( int i = iStart; i < iEnd ; i++){ + + double phiD = TMath::TwoPi()/array.rowDet * i ; + double dphi = orbitb.phi - phiD; + double aEff = array.detPerpDist - (xOff * TMath::Cos(phiD) + yOff * TMath::Sin(phiD)); + double hahaha = asin( aEff/ orbitb.rho - detGeo.BfieldSign * sin(dphi)); + + int n = 2*targetLoop + inOut; + + double zP = orbitb.z0 /TMath::TwoPi() * ( detGeo.BfieldSign * dphi + n * TMath::Pi() + pow(-1, n) * hahaha ); + + if( debug ) { + double xP = GetXPos(zP) ; + double yP = GetYPos(zP) ; + printf("phiD: %4.0f, dphi: %6.1f, mod(pi): %6.1f, Loop : %9.5f, zHit : %8.3f mm, (x,y) = (%7.2f, %7.2f) \n", + phiD * TMath::RadToDeg(), + (orbitb.phi-phiD) * TMath::RadToDeg(), + fmod(orbitb.phi-phiD, TMath::Pi())*TMath::RadToDeg(), + zP/orbitb.z0, zP, xP, yP ); + } + + ///Selection + if( !TMath::IsNaN(zP) && 0 < zP/orbitb.z0 && TMath::Max(0, targetLoop-1) < zP/orbitb.z0 && zP/orbitb.z0 < targetLoop ) { + zPossible.push_back(zP); + dID.push_back(i); + } + } + + if( debug ) printf("-----------------------------------\n"); + double dMin = 1; + for( int i = 0; i < (int) zPossible.size(); i++){ + + double dd = abs(zPossible[i]/orbitb.z0 - (targetLoop - (1-inOut))); + + if( debug ) printf(" %d | zP : %8.3f mm; loop : %9.5f ", i, zPossible[i], zPossible[i]/orbitb.z0); + + if( dd < dMin) { + orbitb.z = zPossible[i]; + dMin = dd; + orbitb.effLoop = zPossible[i]/orbitb.z0; + orbitb.loop = TMath::Ceil(orbitb.effLoop); + orbitb.detRowID = (12+dID[i])%4; + orbitb.t = orbitb.t0 * orbitb.effLoop; + + double phiD = TMath::TwoPi()/array.rowDet * dID[i] ; + double dphi = orbitb.phi - phiD ; + + if( debug ) { + // Check is in or out + double hitDir = cos( orbitb.z/orbitb.z0 * TMath::TwoPi() - detGeo.BfieldSign * dphi ); + printf(" hitDir : %4.1f ", hitDir); + if( ( inOut == 1 && hitDir > 0 ) || (inOut == 0 && hitDir < 0 ) ) { + printf(" != %f ", array.detPerpDist); + orbitb.z = TMath::QuietNaN(); + orbitb.loop = -1; + orbitb.detRowID = -1; + hitMessage = "wrong direction."; + return - 2; + } + + // this must be false, otherwise, calculation error + double xPos = GetXPos(orbitb.z ) ; + double yPos = GetYPos(orbitb.z ) ; + double a = xPos * cos(phiD) + yPos * sin(phiD); + printf(" a : %f ", a); + if( abs(a - array.detPerpDist) > 0.01) { + printf(" != %f ", array.detPerpDist); + orbitb.z = TMath::QuietNaN(); + orbitb.loop = -1; + orbitb.detRowID = -1; + hitMessage = "not on the detector plan."; + return -3; + } + } + } + if(debug) printf("\n"); + } + + // calculate x, y, R + orbitb.x = GetXPos(orbitb.z) ; + orbitb.y = GetYPos(orbitb.z) ; + orbitb.R = GetR(orbitb.z); + + hitMessage = "successful hit."; + return 1; // return 1 when OK +} + +int HELIOS::CalRecoilHit(TLorentzVector PB){ + + CalTrajectoryPara(PB, false); + + orbitB.z = aux.detPos; + orbitB.x = GetRecoilXPos(aux.detPos) ; + orbitB.y = GetRecoilYPos(aux.detPos) ; + orbitB.R = GetRecoilR(aux.detPos); + orbitB.effLoop = orbitB.z/orbitB.z0; + orbitB.t = orbitB.t0 * orbitB.effLoop ; + + return 1; +} + +#endif diff --git a/cleopatra/ClassIsotope.h b/cleopatra/ClassIsotope.h new file mode 100644 index 0000000..4416dba --- /dev/null +++ b/cleopatra/ClassIsotope.h @@ -0,0 +1,520 @@ +/*********************************************************************** + * + * This is Isotope.h, To extract the isotope mass from massXX.txt + * + *------------------------------------------------------- + * created by Ryan (Tsz Leung) Tang, Nov-18, 2018 + * email: goluckyryan@gmail.com + * ********************************************************************/ + + +#ifndef ISOTOPE_H +#define ISOTOPE_H + +#include +#include +#include +#include +#include +#include +#include "constant.h" // amu +#include //atoi +#include + +std::string massData="../Cleopatra/mass20.txt"; + +// about the mass**.txt +// Mass Excess = (ATOMIC MASS - A)*amu | e.g. n : (1.088664.91585E-6-1)*amu +// mass excess uncertaintly +// BEA = (Z*M(1H) + N*M(1n) - Me(A,Z))/A , Me is the mass with electrons +// BEA = (Z*mp + N*mn - M(A,Z))/A , M is the mass without electrons + +class Isotope { +public: + int A, Z; + double Mass, MassError, BEA; + std::string Name, Symbol; + std::string dataSource; + + Isotope(){dataSource = massData;}; + Isotope(int a, int z){ dataSource = massData; SetIso(a,z); }; + Isotope(std::string name){ dataSource = massData; SetIsoByName(name); }; + + void SetMassTablePath(std::string path){ dataSource = path;} + + void SetIso(int a, int z); + void SetIsoByName(std::string name); + + double CalSp(int Np, int Nn); // this for the Np-proton, Nn-neutron removal + double CalSp2(int a, int z); // this is for (a,z) nucleus removal + + double CalBeta(double T){ + double Etot = Mass + T; + double gamma = 1 + T/Mass; + double beta = sqrt(1 - 1 / gamma / gamma ) ; + return beta; + } + + void Print(); + void ListShell(); + +private: + void FindMassByAZ(int a, int z); // give mass, massError, BEA, Name, Symbol; + void FindMassByName(std::string name); // give Z, mass, massError, BEA; + + int TwoJ(int nShell); + std::string Orbital(int nShell); + int magic(int i){ + switch (i){ + case 0: return 2; break; + case 1: return 8; break; + case 2: return 20; break; + case 3: return 28; break; + case 4: return 40; break; + case 5: return 50; break; + case 6: return 82; break; + case 7: return 128; break; + } + return 0; + } + + int magicShellID(int i){ + switch (i){ + case 0: return 0; break; + case 1: return 2; break; + case 2: return 5; break; + case 3: return 6; break; + case 4: return 9; break; + case 5: return 10; break; + case 6: return 15; break; + case 7: return 21; break; + } + return 0; + } + + int fileStartLine; + int fileEndLine; + int lineMass050_099; + int lineMass100_149; + int lineMass150_199; + int lineMass200; + + + void setFileLines(){ + fileStartLine = 37; + fileEndLine = 3594; + + lineMass050_099 = 466; + lineMass100_149 = 1160; + lineMass150_199 = 1994; + lineMass200 = 2774; + } + + bool isFindOnce; + +}; + +void Isotope::SetIso(int a, int z){ + this->A = a; + this->Z = z; + FindMassByAZ(a,z); +} + +void Isotope::SetIsoByName(std::string name){ + FindMassByName(name); +} + +void Isotope::FindMassByAZ(int A, int Z){ + std::string line; + int lineNum=0; + int list_A, list_Z; + + std::ifstream myfile; + int flag=0; + + setFileLines(); + + int numLineStart = fileStartLine; + int numLineEnd = fileEndLine; + + if ( A >= 50 && A < 100) numLineStart = lineMass050_099; + if ( A >=100 && A < 150) numLineStart = lineMass100_149; + if ( A >=150 && A < 200) numLineStart = lineMass150_199; + if ( A >=200 ) numLineStart = lineMass200; + + myfile.open(dataSource.c_str()); + + if (myfile.is_open()) { + while (/*! myfile.eof() &&*/ flag == 0 && lineNum = numLineStart ){ + list_Z = atoi((line.substr(10,5)).c_str()); + list_A = atoi((line.substr(15,5)).c_str()); + + if ( A == list_A && Z == list_Z) { + this->BEA = atof((line.substr(54,11)).c_str()); + this->Mass = list_Z*mp + (list_A-list_Z)*mn - this->BEA/1000*list_A; + this->MassError = atof((line.substr(65,7)).c_str()); + std::string str = line.substr(20,2); + str.erase(remove(str.begin(), str.end(), ' '), str.end()); + this->Symbol = str; + + std::ostringstream ss; + ss << A << this->Symbol; + this->Name = ss.str(); + flag = 1; + }else if ( list_A > A) { + this->BEA = -404; + this->Mass = -404; + this->MassError = -404; + this->Symbol = "non"; + this->Name = "non"; + break; + } + + } + } + + if( this->Name == "1H" ) this->Name = "p"; + if( this->Name == "2H" ) this->Name = "d"; + if( this->Name == "3H" ) this->Name = "t"; + if( this->Name == "4He" ) this->Name = "a"; + + myfile.close(); + }else { + printf("Unable to open %s\n", dataSource.c_str()); + } +} + +void Isotope::FindMassByName(std::string name){ + + // done seperate the Mass number and the name + if( name == "n" ) { + this->Name = "1n"; + this->BEA = 0; + this->Mass = mn; + this->MassError = 0; + this->Name = "n"; + this->A = 1; + this->Z = 0; + return; + } + if( name == "p" ) name = "1H"; + if( name == "d" ) name = "2H"; + if( name == "t" ) name = "3H"; + if( name == "a" ) name = "4He"; + + std::string temp = name; + int lastDigit = 0; + + for(int i=0; temp[i]; i++){ + if(temp[i] == '0') lastDigit = i; + if(temp[i] == '1') lastDigit = i; + if(temp[i] == '2') lastDigit = i; + if(temp[i] == '3') lastDigit = i; + if(temp[i] == '4') lastDigit = i; + if(temp[i] == '5') lastDigit = i; + if(temp[i] == '6') lastDigit = i; + if(temp[i] == '7') lastDigit = i; + if(temp[i] == '8') lastDigit = i; + if(temp[i] == '9') lastDigit = i; + } + + this->Symbol = temp.erase(0, lastDigit +1); + //check is Symbol is 2 charaters, if not, add " " at the end + if( this->Symbol.length() == 1 ){ + this->Symbol = this->Symbol + " "; + } + + + temp = name; + int len = temp.length(); + temp = temp.erase(lastDigit+1, len); + + this->A = atoi(temp.c_str()); + //printf(" Symbol = |%s| , Mass = %d\n", this->Symbol.c_str(), this->A); + + // find the nucleus in the data + std::string line; + int lineNum=0; + int list_A; + std::string list_symbol; + + std::ifstream myfile; + int flag=0; + + setFileLines(); + + int numLineStart = fileStartLine; + int numLineEnd = fileEndLine; + + if ( A >= 50 && A < 100) numLineStart = lineMass050_099; + if ( A >=100 && A < 150) numLineStart = lineMass100_149; + if ( A >=150 && A < 200) numLineStart = lineMass150_199; + if ( A >=200 ) numLineStart = lineMass200; + + myfile.open(dataSource.c_str()); + + if (myfile.is_open()) { + while (/*! myfile.eof() &&*/ flag == 0 && lineNum = numLineStart ){ + list_symbol = line.substr(20,2); + list_A = atoi((line.substr(15,5)).c_str()); + + //printf(" A = %d, Sym = |%s| \n", list_A, list_symbol.c_str()); + + if ( this->A == list_A && this->Symbol == list_symbol) { + this->Z = atoi((line.substr(10,5)).c_str()); + this->BEA = atof((line.substr(54,11)).c_str()); + this->Mass = this->Z*mp + (list_A-this->Z)*mn - this->BEA/1000*list_A; + this->MassError = atof((line.substr(65,7)).c_str()); + + std::string str = line.substr(20,2); + str.erase(remove(str.begin(), str.end(), ' '), str.end()); + this->Symbol = str; + + std::ostringstream ss; + ss << this->A << this->Symbol; + this->Name = ss.str(); + flag = 1; + }else if ( list_A > this->A) { + this->BEA = -404; + this->Mass = -404; + this->MassError = -404; + this->Symbol = "non"; + this->Name = "non"; + break; + } + + } + } + myfile.close(); + }else { + printf("Unable to open %s\n", dataSource.c_str()); + } +} + +double Isotope::CalSp(int Np, int Nn){ + Isotope nucleusD(A - Np - Nn, Z - Np); + + if( nucleusD.Mass != -404){ + return nucleusD.Mass + Nn*mn + Np*mp - this->Mass; + }else{ + return -404; + } +} + +double Isotope::CalSp2(int a, int z){ + Isotope nucleusD(A - a , Z - z); + Isotope nucleusS(a,z); + + if( nucleusD.Mass != -404 && nucleusS.Mass != -404){ + return nucleusD.Mass + nucleusS.Mass - this->Mass; + }else{ + return -404; + } +} + +int Isotope::TwoJ(int nShell){ + + switch(nShell){ + case 0: return 1; break; // 0s1/2 + case 1: return 3; break; // 0p3/2 + case 2: return 1; break; // 0p1/2 -- 8 + case 3: return 5; break; // 0d5/2 + case 4: return 1; break; // 1s1/2 + case 5: return 3; break; // 0d3/2 -- 20 + case 6: return 7; break; // 0f7/2 -- 28 + case 7: return 3; break; // 1p3/2 + case 8: return 1; break; // 1p1/2 + case 9: return 5; break; // 0f5/2 -- 40 + case 10: return 9; break; // 0g9/2 -- 50 + case 11: return 7; break; // 0g7/2 + case 12: return 5; break; // 1d5/2 + case 13: return 11; break; // 0h11/2 + case 14: return 3; break; // 1d3/2 + case 15: return 1; break; // 2s1/2 -- 82 + case 16: return 9; break; // 0h9/2 + case 17: return 7; break; // 1f7/2 + case 18: return 13; break; // 0i13/2 + case 19: return 3; break; // 2p3/2 + case 20: return 5; break; // 1f5/2 + case 21: return 1; break; // 1p1/2 -- 126 + case 22: return 9; break; // 1g9/2 + case 23: return 11; break; // 0i11/2 + case 24: return 15; break; // 0j15/2 + case 25: return 5; break; // 2d5/2 + case 26: return 1; break; // 3s1/2 + case 27: return 3; break; // 2d3/2 + case 28: return 7; break; // 1g7/2 + } + + return 0; +} + +std::string Isotope::Orbital(int nShell){ + + switch(nShell){ + case 0: return "0s1 "; break; // + case 1: return "0p3 "; break; // + case 2: return "0p1 "; break; //-- 8 + case 3: return "0d5 "; break; // + case 4: return "1s1 "; break; // + case 5: return "0d3 "; break; //-- 20 + case 6: return "0f7 "; break; //-- 28 + case 7: return "1p3 "; break; // + case 8: return "1p1 "; break; // + case 9: return "0f5 "; break; //-- 40 + case 10: return "0g9 "; break; //-- 50 + case 11: return "0g7 "; break; // + case 12: return "1d5 "; break; // + case 13: return "0h11"; break; // + case 14: return "1d3 "; break; // + case 15: return "2s1 "; break; //-- 82 + case 16: return "0h9 "; break; // + case 17: return "1f7 "; break; // + case 18: return "0i13"; break; // + case 19: return "2p3 "; break; // + case 20: return "1f5 "; break; // + case 21: return "1p1 "; break; //-- 126 + case 22: return "1g9 "; break; // + case 23: return "0i11"; break; // + case 24: return "0j15"; break; // + case 25: return "2d5 "; break; // + case 26: return "3s1 "; break; // + case 27: return "2d3 "; break; // + case 28: return "1g7 "; break; // + } + + return "nan"; +} + +void Isotope::ListShell(){ + + if( Mass < 0 ) return; + + int n = A-Z; + int p = Z; + + int k = std::min(n,p); + int nMagic = 0; + for( int i = 0; i < 7; i++){ + if( magic(i) < k && k <= magic(i+1) ){ + nMagic = i; + break; + } + } + + int coreShell = magicShellID(nMagic-1); + int coreZ1 = magic(nMagic-1); + int coreZ2 = magic(nMagic); + + Isotope core1( 2*coreZ1, coreZ1); + Isotope core2( 2*coreZ2, coreZ2); + + printf("------------------ Core:%3s, inner Core:%3s \n", (core2.Name).c_str(), (core1.Name).c_str()); + printf(" || "); + int t = std::max(n,p); + int nShell = 0; + do{ + int occ = TwoJ(nShell)+1; + if( nShell > coreShell) { + printf("%4s", Orbital(nShell).c_str()); + if( nShell == 0 || nShell == 2 || nShell == 5 || nShell ==6 || nShell == 9 || nShell == 10 || nShell == 15 || nShell == 21){ + printf("|"); + }else{ + printf(","); + } + } + t = t - occ; + nShell++; + }while( t > 0 && nShell < 29); + for( int i = 1; i <= 6; i++){ + if (nShell < 28) { + printf("%4s,", Orbital(nShell).c_str()); + }else if( nShell == 28 ) { + printf("%4s", Orbital(nShell).c_str()); + } + nShell ++; + } + if (nShell < 29) printf("%4s", Orbital(nShell).c_str()); + printf("\n"); + + + printf(" Z = %3d || ", p); + nShell = 0; + do{ + int occ = TwoJ(nShell)+1; + if( nShell > coreShell ){ + if( p > occ ) { + printf("%-4d", occ); + if( nShell == 0 || nShell == 2 || nShell == 5 || nShell ==6 || nShell == 9 || nShell == 10 || nShell == 15 || nShell == 21){ + printf("|"); + }else{ + printf(","); + } + }else{ + printf("%-4d", p); + } + } + p = p - occ; + nShell++; + }while( p > 0 && nShell < 29); + printf("\n"); + + printf(" N = %3d || ", n); + nShell = 0; + do{ + int occ = TwoJ(nShell)+1; + if ( nShell > coreShell ){ + if( n > occ ) { + printf("%-4d", occ); + if( nShell == 0 || nShell == 2 || nShell == 5 || nShell ==6 || nShell == 9 || nShell == 10 || nShell == 15 || nShell == 21){ + printf("|"); + }else{ + printf(","); + } + }else{ + printf("%-4d", n); + } + } + n = n - occ; + nShell++; + }while( n > 0 && nShell < 29); + printf("\n"); + + printf("------------------ \n"); +} + + + +void Isotope::Print(){ + + if (Mass > 0){ + + printf(" using mass data : %s \n", dataSource.c_str()); + printf(" mass of \e[47m\e[31m%s\e[m nucleus (Z,A)=(%3d,%3d) is \e[47m\e[31m%12.5f\e[m MeV, BE/A=%7.5f MeV\n", Name.c_str(), Z, A, Mass, BEA/1000.); + printf(" total BE : %12.5f MeV\n",BEA*A/1000.); + printf(" mass in amu : %12.5f u\n",Mass/amu); + printf(" mass excess : %12.5f MeV\n", Mass + Z*0.510998950 - A*amu); + printf("-------------- Seperation energy \n"); + printf(" S1p: %8.4f| S1n: %8.4f| S(2H ): %8.4f| S1p1n : %8.4f\n", CalSp(1, 0), CalSp(0, 1), CalSp2(2, 1), CalSp(1, 1)); + printf(" S2p: %8.4f| S2n: %8.4f| S(3He): %8.4f| S(3H) : %8.4f\n", CalSp(2, 0), CalSp(0, 2), CalSp2(3, 2), CalSp2(3, 1)); + printf(" S3p: %8.4f| S3n: %8.4f| S(4He): %8.4f|\n", CalSp(3, 0), CalSp(0, 3), CalSp2(4, 2)); + printf(" S4p: %8.4f| S4n: %8.4f| \n", CalSp(4, 0), CalSp(0, 4)); + + }else{ + printf("Error %6.0f, no nucleus with (Z,A) = (%3d,%3d). \n", Mass, Z, A); + } + + +} + +#endif diff --git a/cleopatra/ClassKnockout.h b/cleopatra/ClassKnockout.h new file mode 100644 index 0000000..3edd24d --- /dev/null +++ b/cleopatra/ClassKnockout.h @@ -0,0 +1,301 @@ +#ifndef knockout_h +#define knockout_h + + +//======================================================= +//####################################################### +// Class for Knockout Reaction +// A(a,12)B, A = B + b, a->1, b->2 +// incident particle is A +// the calculation: 1) go to A's rest frame +// 2) calculate the b = A - B +// 3) go to CM frame +//======================================================= +class Knockout{ +public: + Knockout(); + ~Knockout(); + + void SetA(int A, int Z){ + Isotope temp(A,Z); + mA = temp.Mass; + AA = A; + ZA = Z; + nameA = temp.Name; + } + + void SetExA(double Ex){ + this->ExA = Ex; + } + + void Seta(int A, int Z){ + Isotope temp(A,Z); + ma = temp.Mass; + Aa = A; + Za = Z; + m1 = ma; + A1 = A; + Z1 = Z; + namea = temp.Name; + name1 = temp.Name; + } + + void Set2(int A, int Z){ + Isotope temp(A,Z); + m2 = temp.Mass; + A2 = A; + Z2 = Z; + name2 = temp.Name; + + AB = AA + Aa - A1 - A2; + ZB = ZA + Za - Z1 - Z2; + Isotope temp2(AB,ZB); + mB0 = temp2.Mass; + nameB = temp2.Name; + + } + + void SetBSpk(double S, double kb, double thetab, double phib){ + this->S = S; + AB = AA + Aa - A1 - A2; + ZB = ZA + Za - Z1 - Z2; + Isotope temp(AB,ZB); + mB0 = temp.Mass; + nameB = temp.Name; + this->kb = kb; + this->thetab = thetab; + this->phib = phib; + + mB = mA + ExA - m2 + S; + + ExB = mB - mB0; + + if( ExB < 0 && !isOverRideExNegative ){ + printf(" seperation energy is too small. \n"); + } + } + + void OverRideExNegative(bool YN){ + isOverRideExNegative = YN; + } + + TString GetReactionName(){ + TString rName; + + TString normInv; + if( isNormalKinematics ){ + normInv = "Normal Kinematics"; + }else{ + normInv = "Inverse Kinematics"; + } + + rName.Form("%s(%s,%s%s)%s, %s", nameA.c_str(), namea.c_str(), name1.c_str(), name2.c_str(), nameB.c_str(), normInv.Data()); + + return rName; + } + + void SetIncidentEnergyAngle(double KEA, double theta, double phi){ + this->KEA = KEA; + this->thetaIN = theta; + this->phiIN = phi; + } + + void CalIncidentChannel(bool isNormalKinematics); + void CalReactionConstant(bool isNormalKinematics); + void Event(double thetaCM, double phCM); + + double GetMass_A(){return mA;} + double GetMass_a(){return ma;} + double GetMass_b(){return mb;} + double GetMass_B(){return mB;} + double GetMass_Bgs(){return mB0;} + double GetMass_1(){return m1;} + double GetMass_2(){return m2;} + + TLorentzVector GetPA(){return PA;} + TLorentzVector GetPa(){return Pa;} + TLorentzVector GetPb(){return Pb;} + TLorentzVector GetPB(){return PB;} + TLorentzVector GetP1(){return P1;} + TLorentzVector GetP2(){return P2;} + + double GetMomentumbNN(){return p;} + double GetReactionBeta(){return beta;} + double GetReactionGamma(){return gamma;} + double GetNNTotalEnergy(){return Etot;} + + double GetNNTotalKE() {return Etot - mb - ma;} + double GetQValue() {return mA + ExA - m2 - mB;} + double GetMaxExB() {return Etot - mb - mB0;} + +private: + int AA, Aa, A1, A2, AB; + int ZA, Za, Z1, Z2, ZB; + double mA, ma, m1, m2, mB, mB0, mb; + string nameA, namea, name1, name2, nameB; + + double S; // separation energy + double kb; // momentum of b + double thetab, phib;// direction of b + + TLorentzVector PA, Pa, P1, P2, PB, Pb; // lab + + double KEA, thetaIN, phiIN; + double T; + + double k, beta, gamma, Etot, p; // reaction constant, in NN frame + double ExA, ExB; + + bool isNormalKinematics; + bool isOverRideExNegative; + +}; + +Knockout::Knockout(){ + TLorentzVector temp(0,0,0,0); + + PA = temp; + Pa = temp; + P1 = temp; + P2 = temp; + PB = temp; + Pb = temp; + + SetA(12,6); + Seta(1,1); + Set2(1,1); + + SetBSpk(1000, 0, 0, 0); + SetIncidentEnergyAngle(10, 0, 0); + + ExA = 0; + + isNormalKinematics = false; + isOverRideExNegative = false; +} + +Knockout::~Knockout(){ + +} + +void Knockout::CalIncidentChannel(bool isNormalKinematics){ + if( ExB < 0 && !isOverRideExNegative) return; + + this->isNormalKinematics = isNormalKinematics; + + if(!isNormalKinematics){ + //===== construct Lab frame 4-momentum + this->T = KEA * AA; + double kA = TMath::Sqrt(TMath::Power(mA + ExA + T, 2) - (mA + ExA) * (mA + ExA)); + PA.SetXYZM(0, 0, kA, mA + ExA); + PA.RotateY(thetaIN); + PA.RotateZ(phiIN); + + Pa.SetXYZM(0,0,0,ma); + + }else{ + //===== construct 4-momentum + this->T = KEA * Aa; + double ka = TMath::Sqrt(TMath::Power(ma + T, 2) - (ma) * (ma)); + Pa.SetXYZM(0, 0, ka, ma); + Pa.RotateY(thetaIN); + Pa.RotateZ(phiIN); + + PA.SetXYZM(0, 0, 0, mA + ExA); + } + +} + +void Knockout::CalReactionConstant(bool isNormalKinematics){ + if( ExB < 0 && !isOverRideExNegative) return; + + this->isNormalKinematics = isNormalKinematics; + + CalIncidentChannel(isNormalKinematics); + + if(!isNormalKinematics){ + + //===== change to A's rest frame + TVector3 bA = PA.BoostVector(); + PA.Boost(-bA); + + //===== constructe bounded nucleus b + PB.SetXYZM(0, 0, -kb, mB); + PB.RotateY(thetab); + PB.RotateZ(phib); + + Pb = PA - PB; + mb = Pb.M(); + + //===== change to Lab frame + Pb.Boost(bA); + PA.Boost(bA); + PB.Boost(bA); + + }else{ + + //===== constructe bounded nucleus b + PB.SetXYZM(0, 0, -kb, mB); + PB.RotateY(thetab); + PB.RotateZ(phib); + + Pb = PA - PB; + mb = Pb.M(); + + } + + //====== reaction constant + k = (Pa+Pb).P(); + double E = (Pa+Pb).E(); + beta = (Pa+Pb).Beta(); + gamma = 1 / TMath::Sqrt(1- beta * beta); + Etot = TMath::Sqrt(TMath::Power(E,2) - k * k); + p = TMath::Sqrt( (Etot*Etot - TMath::Power(m1 + m2,2)) * (Etot*Etot - TMath::Power(m1 - m2 ,2)) ) / 2 / Etot; + + //if( TMath::IsNaN(p) ){ + // printf(" Mc: %f, m1+m2: %f, kb:%f, thetab:%f, phib:%f\n", Etot, m1+m2, kb, thetab, phib); + //} + +} + +void Knockout::Event(double thetaCM, double phiCM){ + if( ExB < 0 && !isOverRideExNegative ) return; + + //===== construct Pcm + TLorentzVector Pc = Pb + Pa; + TVector3 bc = Pc.BoostVector(); + + TLorentzVector Pac = Pa; + Pac.Boost(-bc); + TVector3 va = Pac.Vect(); + + TLorentzVector Pbc = Pb; + Pbc.Boost(-bc); + TVector3 vb = Pbc.Vect(); + + //--- from P1 + TVector3 v1 = va; + v1.SetMag(p); + + TVector3 u1 = va.Orthogonal(); + v1.Rotate(thetaCM, u1); + v1.Rotate(phiCM + TMath::PiOver2(), va); // somehow, the calculation turn the vector 90 degree. + + TLorentzVector P1c; + P1c.SetVectM(v1, m1); + + //--- from P2 + TLorentzVector P2c; + P2c.SetVectM(-v1, m2); + + //---- to Lab Frame + P1 = P1c; + P1.Boost(bc); + P2 = P2c; + P2.Boost(bc); + +} + + + +#endif \ No newline at end of file diff --git a/cleopatra/ClassSimPlotter.h b/cleopatra/ClassSimPlotter.h new file mode 100644 index 0000000..d209d46 --- /dev/null +++ b/cleopatra/ClassSimPlotter.h @@ -0,0 +1,503 @@ +#ifndef SimPlotter_h +#define SimPlotter_h + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../Armory/ClassDetGeo.h" +#include "../Armory/ClassReactionConfig.h" +#include "../Cleopatra/ClassIsotope.h" + +enum plotID { pEZ, /// 0 + pRecoilXY, /// 1 + pRecoilXY1, /// 2 + pRecoilXY2, /// 3 + pRecoilRZ, /// 4 + pRecoilRTR, /// 5 + pTDiffZ, /// 6 + pThetaCM, /// 7 + pThetaCM_Z, /// 8 + pExCal, /// 9 + pRecoilRThetaCM, /// 10 + pArrayXY, /// 11 + pInfo, /// 12 + pElum1XY, /// 13 + pEElum1R, /// 14 + pElum1RThetaCM, /// 15 + pEmpty }; /// 16 + +class Plotter{ +public: + Plotter(TTree * tree, short reactionID, std::string reactionName, DetGeo detGeo, ExcitedEnergies exList, TString gate, std::vector padPlotID); + ~Plotter(); + + void SetRanges(double zMin, double zMax, double eMax, double elumMax, double thetaCM_Max){ + this->zRange[0] = zMin; + this->zRange[1] = zMax; + this->eMax = eMax; + this->elumMax = elumMax; + this->thetaCM_Max = thetaCM_Max; + } + void SetCanvas( int colSize, int rowSize , int padSize, std::vector padPlotID ){ + cCheck = new TCanvas(Form("SimChecker-%d", rID), + "Simulation Checker", + 200 * rID, + 200 * rID, + padSize*colSize, + padSize*rowSize); + + if(cCheck->GetShowEditor() ) cCheck->ToggleEditor(); + if(cCheck->GetShowToolBar() )cCheck->ToggleToolBar(); + cCheck->Divide(colSize,rowSize); + + numPad = colSize * rowSize; + } + + void Plot(); + +private: + + TTree * tree; + DetGeo detGeo; + std::string reactionName; + short rID; + ExcitedEnergies exList; + int numEx; + TString gate; + TString gateTrue; + std::vector padPlotID; + + double zRange[2]; + double eMax; + double recoilOut; + double recoilIn; + double elumMax; + double thetaCM_Max; + + int numPad; + TCanvas * cCheck; + TH2F * hez; + TH2F * hArrayXY; + TH2F * heavyXY; + TH2F * hElum1XY; + TH1F ** hThetaCM; + TH1F * hExCal; + TH1F * hHit; + TH2F * hRecoilXY1; + TH2F * hRecoilXY2; + TH2F * hTDiffZ; + TH2F * hRecoilRThetaCM; + TH2F * hRecoilRZ; + TH2F * hEElum1Rho; + TH2F * hRecoilRTR; + TH2F * hElum1RThetaCM; + TH2F * hThetaCM_Z; + + Isotope heavy; + + std::vector FindRange(TString branch); + +}; + +Plotter::Plotter(TTree * tree, short reactionID, std::string reactionName, DetGeo detGeo, ExcitedEnergies exList, TString gate, std::vector padPlotID){ + this->tree = tree; + this->rID = reactionID; + this->reactionName = reactionName; + this->exList = exList; + numEx = this->exList.ExList.size(); + + this->detGeo = detGeo; + + this->recoilOut = detGeo.aux[rID].outerRadius; + this->recoilIn = detGeo.aux[rID].innerRadius; + + this->gate = gate; + this->gateTrue = gate + Form(" && rID == %d", rID); + + this->padPlotID = padPlotID; + + cCheck = nullptr; + hez = nullptr; + hArrayXY = nullptr; + heavyXY = nullptr; + hElum1XY = nullptr; + hThetaCM = nullptr; + hExCal = nullptr; + hHit = nullptr; + hRecoilXY1 = nullptr; + hRecoilXY2 = nullptr; + hTDiffZ = nullptr; + hRecoilRThetaCM = nullptr; + hRecoilRZ = nullptr; + hEElum1Rho = nullptr; + hRecoilRTR = nullptr; + hElum1RThetaCM = nullptr; + hThetaCM_Z = nullptr; + + std::size_t pos1 = reactionName.find(")") + 1; + std::size_t pos2 = reactionName.find(" ", pos1); + std::string result = reactionName.substr(pos1, pos2 - pos1); + + pos1 = result.find("{") + 1; + pos2 = result.find("}", pos1); + + std::string massHeavy = result.substr(pos1, pos2-pos1); + std::string symHeavy = result.substr(pos2+1); + + heavy.SetIsoByName(massHeavy + symHeavy); + +} + +Plotter::~Plotter(){ + + if( cCheck ) delete cCheck; + if( hez ) delete hez; + if( hArrayXY ) delete hArrayXY; + if( heavyXY ) delete heavyXY; + if( hElum1XY ) delete hElum1XY; + if( hExCal ) delete hExCal; + if( hRecoilXY1 ) delete hRecoilXY1; + if( hRecoilXY2 ) delete hRecoilXY2; + if( hTDiffZ ) delete hTDiffZ; + if( hRecoilRThetaCM ) delete hRecoilRThetaCM; + if( hRecoilRZ ) delete hRecoilRZ; + if( hEElum1Rho ) delete hEElum1Rho; + if( hRecoilRTR ) delete hRecoilRTR; + if( hElum1RThetaCM ) delete hElum1RThetaCM; + if( hThetaCM_Z ) delete hThetaCM_Z; + + if(hThetaCM ){ + for( int i = 0; i < numEx; i++) delete [] hThetaCM[i]; + delete [] hThetaCM; + } + +} + +inline void Plotter::Plot(){ + + for( int i = 1; i <= numPad; i++ ){ + cCheck->cd(i); + plotID pID = padPlotID[i-1]; + + //&======================================= 0 + if( pID == pEZ){ + hez = new TH2F(Form("hez%d",rID), //need unqie name in root. + Form("e-z [gated] @ %5.0f mm; z [mm]; e [MeV]", detGeo.array[rID].firstPos), + 400, zRange[0], zRange[1], + 400, 0, eMax); + + tree->Draw(Form("e:z>>hez%d", rID), gateTrue , "colz"); + } + + //&======================================= 1 + if( pID == pRecoilXY ){ + heavyXY = new TH2F(Form("heavyXY%d",rID), + Form("RecoilXY [gated] @ %4.0f mm; X [mm]; Y [mm]", detGeo.aux[rID].detPos ), + 400, -recoilOut, recoilOut, + 400, -recoilOut, recoilOut); + tree->Draw(Form("yRecoil:xRecoil>>heavyXY%d", rID), gateTrue, "colz"); + + // printf("%f, %f\n", recoilOut, recoilIn); + TArc * detArc1 = new TArc(0, 0, recoilOut); + detArc1->SetLineColor(kBlue-8); + detArc1->SetFillStyle(0); + detArc1->Draw("same"); + TArc * detArc2 = new TArc(0, 0, recoilIn); + detArc2->SetLineColor(kBlue-8); + detArc2->SetFillStyle(0); + detArc2->Draw("same"); + + // if( reactionConfig.beamX != 0. || reactionConfig.beamY != 0. ){ + // TArc * arc = new TArc(reactionConfig.beamX, reactionConfig.beamY, 1); + // arc->SetLineColor(2); + // detArc1->SetFillStyle(0); + // arc->Draw("same"); + // } + } + + //&======================================= 2 + if( pID == pThetaCM ){ + hThetaCM = new TH1F *[numEx]; + TLegend * legend = new TLegend(0.8,0.2,0.99,0.8); + double maxCount = 0; + for( int h = 0; h < numEx; h++){ + hThetaCM[h] = new TH1F(Form("hThetaCM%d-%d", rID, h), Form("thetaCM [gated] (ExID=%d); thetaCM [deg]; count", h), 200, 0, thetaCM_Max); + hThetaCM[h]->SetLineColor(h+1); + hThetaCM[h]->SetFillColor(h+1); + hThetaCM[h]->SetFillStyle(3000+h); + tree->Draw(Form("thetaCM>>hThetaCM%d-%d", rID, h), gateTrue + Form("&& ExID==%d", h), ""); + legend->AddEntry(hThetaCM[h], Form("Ex=%5.1f MeV", exList.ExList[h].Ex)); + double max = hThetaCM[h]->GetMaximum(); + if( max > maxCount ) maxCount = max; + } + + for( int h = 0; h < numEx; h++){ + hThetaCM[h]->GetYaxis()->SetRangeUser(1, maxCount * 1.2); + if( h == 0 ) { + hThetaCM[h]->Draw(); + }else{ + hThetaCM[h]->Draw("same"); + } + } + legend->Draw(); + } + + //&======================================= 3 + if( pID == pExCal ){ + double exMin = 9999; + double exMax = -1; + for( size_t k = 0 ; k < exList.ExList.size(); k++){ + double kuku = exList.ExList[k].Ex; + if( kuku > exMax ) exMax = kuku; + if( kuku < exMin ) exMin = kuku; + } + + double exPadding = (exMax - exMin) < 1 ? 1 : (exMax - exMin) * 0.3; + + exMin = exMin - exPadding ; + exMax = exMax + exPadding ; + + hExCal = new TH1F(Form("hExCal%d",rID), + Form("calculated Ex [gated]; Ex [MeV]; count / %.2f keV", (exMax-exMin)/400.*1000), + 400, exMin, exMax); + tree->Draw(Form("ExCal>>hExCal%d", rID), gateTrue, ""); + + + double Sn = heavy.CalSp(0,1); + double Sp = heavy.CalSp(1,0); + double Sa = heavy.CalSp2(4,2); + double S2n = heavy.CalSp(0, 2); + + printf("======= Heavy recoil: %s \n", heavy.Name.c_str()); + printf("Sn : %6.2f MeV/u \n", Sn); + printf("Sp : %6.2f MeV/u \n", Sp); + printf("Sa : %6.2f MeV/u \n", Sa); + printf("S2n : %6.2f MeV/u \n", S2n); + + double yMax = hExCal->GetMaximum(); + TLatex * text = new TLatex(); + text->SetTextFont(82); + text->SetTextSize(0.06); + + if( Sn < exMax ) {TLine * lineSn = new TLine(Sn, 0, Sn, yMax); lineSn->SetLineColor(2); lineSn->Draw(""); text->SetTextColor(2); text->DrawLatex(Sn, yMax*0.9, "S_{n}");} + if( Sp < exMax ) {TLine * lineSp = new TLine(Sp, 0, Sp, yMax); lineSp->SetLineColor(4); lineSp->Draw("same"); text->SetTextColor(4); text->DrawLatex(Sp, yMax*0.9, "S_{p}");} + if( Sa < exMax ) {TLine * lineSa = new TLine(Sa, 0, Sa, yMax); lineSa->SetLineColor(6); lineSa->Draw("same"); text->SetTextColor(6); text->DrawLatex(Sa, yMax*0.9, "S_{a}");} + if( S2n < exMax ) {TLine * lineS2n = new TLine(S2n, 0, S2n, yMax); lineS2n->SetLineColor(8); lineS2n->Draw("same"); text->SetTextColor(8); text->DrawLatex(S2n, yMax*0.9, "S_{2n}");} + + } + + //&======================================= 4 + if( pID == pArrayXY ){ + + hArrayXY = new TH2F(Form("hArrayXY%d", rID), + "Array-XY [gated]; X [mm]; Y [mm]", + 400, -detGeo.array[rID].detPerpDist*1.5, detGeo.array[rID].detPerpDist*1.5, + 400, -detGeo.array[rID].detPerpDist*1.5, detGeo.array[rID].detPerpDist*1.5); + tree->Draw(Form("yArray:xArray>>hArrayXY%d", rID), gateTrue, "colz"); + } + + //&======================================= 5 + if( pID == pInfo ){ + TLatex text; + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.06); + text.SetTextColor(2); + + text.DrawLatex(0., 0.9, reactionName.c_str()); + text.DrawLatex(0., 0.8, detGeo.Bfield > 0 ? "out of plan" : "into plan"); + text.SetTextColor(1); + text.DrawLatex(0., 0.7, "gate:"); + + text.SetTextColor(2); + //check gate text length, if > 30, break by "&&" + int ll = gate.Length(); + if( ll > 30 ) { + std::vector strList = AnalysisLib::SplitStr( (std::string) gate.Data(), "&&"); + for( int i = 0; i < strList.size(); i++){ + text.DrawLatex(0., 0.6 - 0.05*i, (TString) strList[i]); + } + }else{ + text.DrawLatex(0., 0.6, gate); + } + + // if( reactionConfig.beamX != 0.0 || reactionConfig.beamY != 0.0 ){ + // text.DrawLatex(0.0, 0.1, Form("Bema pos: (%4.1f, %4.1f) mm", reactionConfig.beamX, reactionConfig.beamY)); + // } + } + + //&======================================= 6 + if( pID == pElum1XY ){ + hElum1XY = new TH2F(Form("hElum1XY%d", rID), + Form("Elum-1 XY [gated] @ %.0f mm ; X [mm]; Y [mm]", detGeo.aux[rID].elumPos1), + 400, -elumMax, elumMax, + 400, -elumMax, elumMax); + tree->Draw(Form("yElum1:xElum1>>hElum1XY%d", rID), gateTrue, "colz"); + + double count = hElum1XY->GetEntries(); + if( count < 2000. ) { + hElum1XY->SetMarkerStyle(7); + if( count < 500. ) hElum1XY->SetMarkerStyle(3); + hElum1XY->Draw("scat"); + } + } + + //&======================================= 7 + if( pID == pRecoilXY1 ){ + TH2F * hRecoilXY1 = new TH2F(Form("hRecoilXY1-%d", rID), + Form("RecoilXY-1 [gated] @ %4.0f mm; X [mm]; Y [mm]", detGeo.aux[rID].detPos1 ), + 400, -detGeo.aux[rID].outerRadius, detGeo.aux[rID].outerRadius, + 400, -detGeo.aux[rID].outerRadius, detGeo.aux[rID].outerRadius); + tree->Draw(Form("yRecoil1:xRecoil1>>hRecoilXY1-%d", rID), gateTrue, "colz"); + } + + //&======================================= 8 + if( pID == pRecoilXY2 ){ + hRecoilXY2 = new TH2F(Form("hRecoilXY2=%d", rID), + Form("RecoilXY-2 [gated] @ %4.0f mm; X [mm]; Y [mm]", detGeo.aux[rID].detPos2 ), + 400, -detGeo.aux[rID].outerRadius, detGeo.aux[rID].outerRadius, + 400, -detGeo.aux[rID].outerRadius, detGeo.aux[rID].outerRadius); + tree->Draw(Form("yRecoil2:xRecoil2>>hRecoilXY2-%d", rID), gate, "colz"); + } + + //&======================================= 9 + if( pID == pTDiffZ ){ + std::vector tDiffRange = FindRange("t-tB"); + hTDiffZ = new TH2F(Form("hTDiffZ%d", rID), + "time(Array) - time(Recoil) vs Z [gated]; z [mm]; time diff [ns]", + 400, zRange[0], zRange[1], + 400, tDiffRange[0], tDiffRange[1]); + tree->Draw(Form("t - tB : z >> hTDiffZ%d", rID), gateTrue, "colz"); + } + + //&======================================= 10 + if( pID == pRecoilRThetaCM ){ + hRecoilRThetaCM = new TH2F(Form("hRecoilRThetaCM%d", rID), + "RecoilR - thetaCM [gated]; thetaCM [deg]; RecoilR [mm]", + 400, 0, 60, + 400, 0, detGeo.aux[rID].outerRadius); + tree->Draw(Form("rhoRecoil:thetaCM>>hRecoilRThetaCM%d", rID), gateTrue, "colz"); + } + + //&======================================= 11 + if( pID == pRecoilRZ ){ + hRecoilRZ = new TH2F(Form("hRecoilRZ%d", rID), + "RecoilR - Z [gated]; z [mm]; RecoilR [mm]", + 400, zRange[0], zRange[1], + 400,0, detGeo.aux[rID].outerRadius); + tree->Draw(Form("rhoRecoil:z>>hRecoilRZ%d", rID), gateTrue, "colz"); + } + + //&======================================= 12 + if( pID == pEElum1R ){ + hEElum1Rho = new TH2F(Form("hEElum1Rho%d", rID), + "Elum-1 E-R [gated]; R[mm]; Energy[MeV]", + 400, 0, elumMax, + 400, 0, eMax); + tree->Draw(Form("Tb:rhoElum1>>hEElum1Rho%d", rID), gateTrue, "colz"); + } + + //&======================================= 13 + if( pID == pRecoilRTR ){ + std::vector recoilERange = FindRange("TB"); + hRecoilRTR = new TH2F(Form("hRecoilRTR%d", rID), + "RecoilR - recoilE [gated]; recoil Energy [MeV]; RecoilR [mm]", + 500, recoilERange[0], recoilERange[1], + 500, 0, detGeo.aux[rID].outerRadius); + tree->Draw(Form("rhoRecoil:TB>>hRecoilRTR%d", rID), gateTrue, "colz"); + } + + //&======================================= 14 + if( pID == pThetaCM_Z ){ + hThetaCM_Z = new TH2F(Form("hThetaCM_Z%d", rID), + "ThetaCM vs Z ; Z [mm]; thetaCM [deg]", + 400, zRange[0], zRange[1], + 400, 0, thetaCM_Max); + tree->Draw(Form("thetaCM:z>>hThetaCM_Z%d", rID), gateTrue,"col"); + } + + //&======================================= 15 + if( pID == pElum1RThetaCM){ + int angBin = 400; + + hElum1RThetaCM = new TH2F(Form("hElum1RThetaCM%d", rID), + "Elum-1 rho vs ThetaCM [gated]; thatCM [deg]; Elum- rho [mm]", + angBin, 0, thetaCM_Max, + 400, 0, elumMax); + tree->Draw(Form("rhoElum1:thetaCM>>hElum1RThetaCM%d", rID), gateTrue, "colz"); + + TH1F * htemp = (TH1F *) hElum1RThetaCM->ProjectionX("htemp"); + + double rel = (thetaCM_Max)*1.0/angBin; + printf("angular resolution : %f deg \n", rel); + + std::vector xList; + double old_y = 0; + for( int i = 1; i <= angBin; i++){ + double y = htemp->GetBinContent(i); + if( old_y == 0 && y > 0) xList.push_back(htemp->GetBinCenter(i)); + if( old_y > 0 && y == 0 ) xList.push_back(htemp->GetBinCenter(i)); + old_y = y; + } + + printf("list of gaps :\n"); + for( int i = 0; i < (int) xList.size(); i+=2){ + printf("%d | %.3f - %.3f deg\n", i, xList[i], xList[i+1]); + } + + TF1 f1("f1", "sin(x)"); + double acceptance = 0; + double err1 = 0; + double err2 = 0; + for( int i = 0; i < (int) xList.size(); i += 2 ){ + acceptance += f1.Integral(xList[i] * TMath::DegToRad(), xList[i+1] * TMath::DegToRad() ) * TMath::TwoPi(); + err1 += f1.Integral((xList[i]-rel) * TMath::DegToRad(), (xList[i+1] + rel) * TMath::DegToRad() ) * TMath::TwoPi(); + err2 += f1.Integral((xList[i]+rel) * TMath::DegToRad(), (xList[i+1] - rel) * TMath::DegToRad() ) * TMath::TwoPi(); + } + printf("acceptance = %f sr +- %f \n", acceptance, (err1-err2)/2); + + TLatex text; + text.SetTextFont(82); + text.SetTextSize(0.06); + text.SetTextColor(2); + text.SetTextAngle(90); + + for( int i = 0; i < (int) xList.size(); i++){ + text.DrawLatex(xList[i], elumMax/2, Form("%.2f", xList[i])); + } + + text.SetNDC(); + text.SetTextAngle(0); + text.DrawLatex(0.15, 0.15, Form("accp. = %.2f(%.2f) msr", acceptance * 1000., (err1-err2)*1000./2)); + + delete htemp; + + } + + }///===== end of pad loop + + cCheck->Update(); +} + +std::vector Plotter::FindRange(TString branch){ + + tree->Draw(Form("%s>>temp1", branch.Data()), gateTrue); + TH1F * temp1 = (TH1F *) gROOT->FindObjectAny("temp1"); + + std::vector output; + if( temp1 != nullptr){ + output.push_back( temp1->GetXaxis()->GetXmax() ); + output.push_back( temp1->GetXaxis()->GetXmin() ); + delete temp1; + } + return output; +} + + +#endif \ No newline at end of file diff --git a/cleopatra/ClassTargetScattering.h b/cleopatra/ClassTargetScattering.h new file mode 100644 index 0000000..969608f --- /dev/null +++ b/cleopatra/ClassTargetScattering.h @@ -0,0 +1,202 @@ +#ifndef targetScattering_h +#define targetScattering_h + +#include +#include +#include + +#include "../Armory/AnalysisLib.h" + +//======================================================= +//####################################################### +// Class for multi-scattering of the beam inside target +// using SRIM to generate stopping power +// input : TLorentzVector, data_files +// output : scattered TLorentzVector +//======================================================= +class TargetScattering{ + +public: + TargetScattering(); + ~TargetScattering(); + + double GetKE0(){return KE0;} + double GetKE() {return KE;} + double GetKELoss() {return KE0-KE;} + double GetDepth() {return depth;} + double GetPathLength() {return length;} + + void LoadStoppingPower(std::string file); + + void SetTarget(double density, double depth){ + this->density = density; + this->depth = depth; + isTargetSet = true; + //printf("===== Target, density: %f g/cm3, depth: %f um \n", density, depth * 1e+4 ); + } + + TLorentzVector Scattering(TLorentzVector P){ + double mass = P.M(); + KE0 = (P.E() - mass); + KE = KE0; + double theta = P.Theta(); + this->length = TMath::Abs(depth/TMath::Cos(theta)); + //printf("------- theta: %f deg, length: %f um, KE: %f MeV \n", theta * TMath::RadToDeg(), this->length * 1e+4, KE); + + //integrate the energy loss within the depth of A + double dx = length/100.; // in cm + double x = 0; + double densityUse = density; + if( unitID == 0 ) densityUse = 1.; + do{ + //assume the particle will not be stopped + //printf(" x: %f, KE: %f, S: %f \n", x, KE, gA->Eval(KE)); + KE = KE - densityUse * gA->Eval(KE) * 10 * dx ; // factor 10, convert MeV/cm -> MeV/cm + + //angular Straggling, assume (Lateral Straggling)/(Projected range) + + + x = x + dx; + }while(x < length && KE > 0 ); + + //printf(" depth: %f cm = %f um, KE : %f -> %f MeV , dE = %f MeV \n", depth, depth * 1e+4, KE0, KE, KE0 - KE); + double newk = 0; + + TLorentzVector Pnew; + TVector3 vb(0,0,0); + + if( KE < 0 ) { + KE = 0.0; // somehow, when KE == 0 , the program has problem to rotate the 4-vector + }else{ + newk = TMath::Sqrt(TMath::Power(mass+KE,2) - mass * mass); + vb = P.Vect(); + vb.SetMag(newk); + } + Pnew.SetVectM(vb,mass); + + return Pnew; + } + +private: + bool isTargetSet; + double density; // density [mg/cm2] + int unitID; // 0 = MeV /mm or keV/um , 1 = MeV / (ug/cm2) + + double depth; // depth in target [cm] + double length; // total path length in target [cm] + double KE0, KE; + + TGraph * gA; // stopping power of A, b, B, in unit of MeV/(mg/cm2) + TGraph * gB; // projection range [nm] + TGraph * gC; // parallel Straggling [nm] + TGraph * gD; // perpendicular Straggling [nm] + +}; + +inline TargetScattering::TargetScattering(){ + isTargetSet = false; + density = 1; // mg/cm2 + unitID = 0; + KE0 = 0; + KE = 0; + depth = 0; + length = 0; + gA = NULL; + gB = NULL; + gC = NULL; + gD = NULL; +} + +inline TargetScattering::~TargetScattering(){ + delete gA; +} + +inline void TargetScattering::LoadStoppingPower(std::string filename){ + + printf("loading Stopping power: %s.", filename.c_str()); + + std::ifstream file; + file.open(filename.c_str()); + + std::vector energy; + std::vector stopping; + std::vector projRange; + std::vector paraStraggling; + std::vector prepStraggling; + + if( file.is_open() ){ + printf("... OK\n"); + char lineChar[16635]; + std::string line; + while( !file.eof() ){ + file.getline(lineChar, 16635, '\n'); + line = lineChar; + + size_t found = line.find("Target Density"); + if( found != std::string::npos ){ + printf(" %s\n", line.c_str()); + } + + found = line.find("Stopping Units ="); + if( found != std::string::npos){ + printf(" %s\n", line.c_str()); + if( line.find("MeV / mm") != std::string::npos ) { + unitID = 0; + }else if( line.find("keV / micron") != std::string::npos ){ + unitID = 0; + }else if( line.find("MeV / (mg/cm2)") != std::string::npos ) { + unitID = 1; + }else{ + printf("please using MeV/mm, keV/um, or MeV/(mg/cm2) \n"); + } + } + + size_t foundkeV = line.find("keV "); + size_t foundMeV = line.find("MeV "); + size_t foundGeV = line.find("GeV "); + if ( foundkeV != std::string::npos || foundMeV != std::string::npos || foundGeV != std::string::npos ){ + std::vector haha = AnalysisLib::SplitStr(line, " "); + //for( int i = 0 ; i < (int) haha.size()-1; i++){ + // printf("%d,%s|", i, haha[i].c_str()); + //} + //printf("\n"); + + found = haha[0].find("keV"); if( found != std::string::npos ) energy.push_back(atof(haha[0].substr(0, found).c_str()) * 0.001); + found = haha[0].find("MeV"); if( found != std::string::npos ) energy.push_back(atof(haha[0].substr(0, found).c_str()) * 1.); + found = haha[0].find("GeV"); if( found != std::string::npos ) energy.push_back(atof(haha[0].substr(0, found).c_str()) * 1000.); + + double a = atof(haha[1].c_str()); + double b = atof(haha[2].c_str()); + stopping.push_back(a+b); + + found = haha[3].find("A") ; if( found != std::string::npos ) projRange.push_back(atof(haha[3].substr(0, found).c_str()) * 0.1); + found = haha[3].find("um"); if( found != std::string::npos ) projRange.push_back(atof(haha[3].substr(0, found).c_str()) * 1000.); + found = haha[3].find("mm"); if( found != std::string::npos ) projRange.push_back(atof(haha[3].substr(0, found).c_str()) * 1e6); + + found = haha[4].find("A") ; if( found != std::string::npos ) paraStraggling.push_back(atof(haha[4].substr(0, found).c_str()) * 0.1); + found = haha[4].find("um"); if( found != std::string::npos ) paraStraggling.push_back(atof(haha[4].substr(0, found).c_str()) * 1e3); + found = haha[4].find("mm"); if( found != std::string::npos ) paraStraggling.push_back(atof(haha[4].substr(0, found).c_str()) * 1e6); + + found = haha[5].find("A") ; if( found != std::string::npos ) prepStraggling.push_back(atof(haha[5].substr(0, found).c_str()) * 0.1); + found = haha[5].find("um"); if( found != std::string::npos ) prepStraggling.push_back(atof(haha[5].substr(0, found).c_str()) * 1e3); + found = haha[5].find("mm"); if( found != std::string::npos ) prepStraggling.push_back(atof(haha[5].substr(0, found).c_str()) * 1e6); + + //printf(" %f, %f, %f, %f, %f \n", energy.back(), stopping.back(), projRange.back(), paraStraggling.back(), prepStraggling.back()); + } + + + } + + }else{ + printf("... fail\n"); + } + + gA = new TGraph(energy.size(), &energy[0], &stopping[0]); + + gB = new TGraph(energy.size(), &energy[0], &projRange[0]); + gC = new TGraph(energy.size(), &energy[0], ¶Straggling[0]); + gD = new TGraph(energy.size(), &energy[0], &prepStraggling[0]); + +} + +#endif \ No newline at end of file diff --git a/cleopatra/ClassTransfer.h b/cleopatra/ClassTransfer.h new file mode 100644 index 0000000..a54511c --- /dev/null +++ b/cleopatra/ClassTransfer.h @@ -0,0 +1,593 @@ +#ifndef Transfer_h +#define Transfer_h + +#include "utility" + +#include "ClassIsotope.h" +#include "../Armory/AnalysisLib.h" +#include "../Armory/ClassReactionConfig.h" + +#include "TLorentzVector.h" +#include "TMath.h" +#include "TF1.h" +#include "TMacro.h" + +//======================================================= +//####################################################### +// Class for Transfer Reaction +// reaction notation A(a,b)B +// A = incident particle +// a = target +// b = light scattered particle +// B = heavy scattered particle +//======================================================= +class TransferReaction { +public: + TransferReaction(){Inititization();}; + TransferReaction(ReactionConfig config, unsigned short ID = 0); + TransferReaction(std::string configFile, unsigned short ID = 0); + TransferReaction(TMacro configMarco, unsigned short ID = 0); + TransferReaction(int beamA, int beamZ, + int targetA, int targetZ, + int recoilA, int recoilZ, float beamEnergy_AMeV); + + ~TransferReaction(); + + void SetA(int A, int Z, double Ex = 0); + void Seta(int A, int Z); + void Setb(int A, int Z); + void SetB(int A, int Z); + void SetIncidentEnergyAngle(double KEA, double theta, double phi); + + void SetReactionFromReactionConfigClass(ReactionConfig reactConfigClassObject, unsigned short ID = 0); + void SetReactionFromFile(std::string configFile, unsigned short ID = 0); + void SetReactionFromTMacro(TMacro configMacro, unsigned short ID = 0); + void SetReactionSimple(int beamA, int beamZ, + int targetA, int targetZ, + int recoilA, int recoilZ, float beamEnergy_AMeV); + + void SetExA(double Ex); + void SetExB(double Ex); + + TString GetReactionName() const; + TString GetReactionName_Latex(); + + ReactionConfig GetRectionConfig() { return config;} + Recoil GetRecoil() { return recoil;} + ExcitedEnergies * GetExList() { return &exList;} + + double GetMass_A() const {return mA + ExA;} + double GetMass_a() const {return ma;} + double GetMass_b() const {return mb;} + double GetMass_B() const {return mB + ExB;} + + double GetCMTotalKE() {return Etot - mA - ma;} + double GetQValue() {return mA + ExA + ma - mb - mB - ExB;} + double GetMaxExB() {return Etot - mb - mB;} + + TLorentzVector GetPA() const {return PA;} + TLorentzVector GetPa() const {return Pa;} + TLorentzVector GetPb() const {return Pb;} + TLorentzVector GetPB() const {return PB;} + + void PrintFourVectors() const; + void PrintReaction(bool withEx = true) const; + + double CalkCM(double ExB); //momentum at CM frame + void CalReactionConstant(); + std::pair CalExThetaCM(double e, double z, double Bfield, double a); + void Event(double thetaCM_rad, double phiCM_rad); + + double GetMomentumbCM() {return p;} + double GetReactionBeta() {return beta;} + double GetReactionGamma() {return gamma;} + double GetCMTotalEnergy() {return Etot;} + double GetEZSlope(double BField) {return 299.792458 * recoil.lightZ * abs(BField) / TMath::TwoPi() * beta / 1000.;} // MeV/mm + + + void CreateExDistribution(); + int GetRandomExID(){ + if( exDistribution ) { + return exDistribution->GetRandom(); + } + return 0; + } + double GetRandomEx(){ + if( exDistribution ) { + int exID = exDistribution->GetRandom(); + return exList.ExList[exID].Ex; + } + return TMath::QuietNaN(); + } + +private: + + ExcitedEnergies exList; + Recoil recoil; + ReactionConfig config; + + std::string nameA, namea, nameb, nameB; + double thetaIN, phiIN; + double mA, ma, mb, mB; + + double TA, T; // TA = KE of A pre u, T = total energy + double ExA, ExB; + + bool isReady; + bool isBSet; + + double k; // CM Boost momentum + double beta, gamma; //CM boost beta + double Etot; + double p; // CM frame momentum of b, B + double slope; // slope of the + + TLorentzVector PA, Pa, Pb, PB; + + TString format(TString name); + + void Inititization(); + + TF1 * exDistribution; + + static double exDistFunc(Double_t *x, Double_t * par){ + return par[(int) x[0]]; + } + +}; + +TransferReaction::TransferReaction(ReactionConfig config, unsigned short ID){ + Inititization(); + + SetA(config.beamA, config.beamZ); + Seta(config.targetA, config.targetZ); + + SetExA(config.beamEx); + + recoil = config.recoil[ID]; + exList = config.exList[ID]; + + Setb(recoil.lightA, recoil.lightZ); + SetB(recoil.heavyA, recoil.heavyZ); + SetIncidentEnergyAngle(config.beamEnergy, 0, 0); + + CalReactionConstant(); + +} + +TransferReaction::TransferReaction(std::string configFile, unsigned short ID){ + Inititization(); + SetReactionFromFile(configFile, ID); +} + +TransferReaction::TransferReaction(TMacro configMarco, unsigned short ID){ + Inititization(); + SetReactionFromTMacro(configMarco, ID); +} + +TransferReaction::TransferReaction(int beamA, int beamZ, + int targetA, int targetZ, + int recoilA, int recoilZ, + float beamEnergy_AMeV){ + Inititization(); + SetReactionSimple(beamA, beamZ, + targetA, targetZ, + recoilA, recoilZ, + beamEnergy_AMeV); +} + +void TransferReaction::Inititization(){ + + thetaIN = 0.; + phiIN = 0.; + SetA(12, 6, 0); + Seta(2,1); + Setb(1,1); + SetB(13,6); + TA = 6; + T = TA * config.beamA; + + exDistribution = nullptr; + + ExA = 0; + ExB = 0; + + CalReactionConstant(); + + TLorentzVector temp (0,0,0,0); + PA = temp; + Pa = temp; + Pb = temp; + PB = temp; + +} + +TransferReaction::~TransferReaction(){ + delete exDistribution; +} + +void TransferReaction::SetA(int A, int Z, double Ex){ + Isotope temp (A, Z); + mA = temp.Mass; + config.beamA = A; + config.beamZ = Z; + ExA = Ex; + nameA = temp.Name; + isReady = false; + isBSet = true; +} + +void TransferReaction::Seta(int A, int Z){ + Isotope temp (A, Z); + ma = temp.Mass; + config.targetA = A; + config.targetZ = Z; + namea = temp.Name; + isReady = false; + isBSet = false; +} +void TransferReaction::Setb(int A, int Z){ + Isotope temp (A, Z); + mb = temp.Mass; + recoil.lightA = A; + recoil.lightZ = Z; + nameb = temp.Name; + isReady = false; + isBSet = false; +} +void TransferReaction::SetB(int A, int Z){ + Isotope temp (A, Z); + mB = temp.Mass; + recoil.heavyA = A; + recoil.heavyZ = Z; + nameB = temp.Name; + isReady = false; + isBSet = true; +} + +void TransferReaction::SetIncidentEnergyAngle(double KEA, double theta, double phi){ + this->TA = KEA; + this->T = TA * config.beamA; + this->thetaIN = theta; + this->phiIN = phi; + isReady = false; +} + +void TransferReaction::SetReactionSimple(int beamA, int beamZ, + int targetA, int targetZ, + int recoilA, int recoilZ, + float beamEnergy_AMeV){ + + config.SetReactionSimple(beamA, beamZ, + targetA, targetZ, + recoilA, recoilZ, beamEnergy_AMeV); + + recoil = config.recoil[0]; + + SetA(config.beamA, config.beamZ); + Seta(config.targetA, config.targetZ); + Setb(recoil.lightA, recoil.lightZ); + SetB(recoil.heavyA, recoil.heavyZ); + SetIncidentEnergyAngle(config.beamEnergy, 0, 0); + + CalReactionConstant(); + +} + +void TransferReaction::SetExA(double Ex){ + this->ExA = Ex; + isReady = false; +} + +void TransferReaction::SetExB(double Ex){ + this->ExB = Ex; + isReady = false; +} + +void TransferReaction::SetReactionFromReactionConfigClass(ReactionConfig reactConfigClassObject, unsigned short ID){ + + config = reactConfigClassObject; + SetA(config.beamA, config.beamZ); + Seta(config.targetA, config.targetZ); + + SetExA(config.beamEx); + + if( ID > config.recoil.size() ){ + printf("Reaction Config only has %zu recoil settings. input is %u. Abort.\n", config.recoil.size(), ID); + return; + } + + recoil = config.recoil[ID]; + exList = config.exList[ID]; + + Setb(recoil.lightA, recoil.lightZ); + SetB(recoil.heavyA, recoil.heavyZ); + SetIncidentEnergyAngle(config.beamEnergy, 0, 0); + + CalReactionConstant(); + +} + +void TransferReaction::SetReactionFromFile(std::string configFile, unsigned short ID){ + + if( config.LoadReactionConfig(configFile) ){ + + SetA(config.beamA, config.beamZ); + Seta(config.targetA, config.targetZ); + + SetExA(config.beamEx); + + if( ID > config.recoil.size() ){ + printf("Reaction Config only has %zu recoil settings. input is %u. Abort.\n", config.recoil.size(), ID); + return; + } + + recoil = config.recoil[ID]; + exList = config.exList[ID]; + + Setb(recoil.lightA, recoil.lightZ); + SetB(recoil.heavyA, recoil.heavyZ); + SetIncidentEnergyAngle(config.beamEnergy, 0, 0); + + CalReactionConstant(); + + }else{ + printf("cannot read file %s.\n", configFile.c_str()); + isReady = false; + } + +} + +void TransferReaction::SetReactionFromTMacro(TMacro configMacro, unsigned short ID){ + + if( config.LoadReactionConfig(&configMacro) ){ + + SetA(config.beamA, config.beamZ); + Seta(config.targetA, config.targetZ); + + SetExA(config.beamEx); + + if( ID > config.recoil.size() ){ + printf("Reaction Config only has %zu recoil settings. input is %u. Abort.\n", config.recoil.size(), ID); + return; + } + + recoil = config.recoil[ID]; + exList = config.exList[ID]; + + Setb(recoil.lightA, recoil.lightZ); + SetB(recoil.heavyA, recoil.heavyZ); + SetIncidentEnergyAngle(config.beamEnergy, 0, 0); + + CalReactionConstant(); + + }else{ + printf("cannot read TMacro %s.\n", configMacro.GetName()); + isReady = false; + } + +} + +TString TransferReaction::GetReactionName() const{ + TString rName; + rName.Form("%s(%s,%s)%s", nameA.c_str(), namea.c_str(), nameb.c_str(), nameB.c_str()); + return rName; +} + +TString TransferReaction::format(TString name){ + if( name.IsAlpha() ) return name; + int len = name.Length(); + TString temp = name; + TString temp2 = name; + if( temp.Remove(0, len-2).IsAlpha()){ + temp2.Remove(len-2); + }else{ + temp = name; + temp.Remove(0, len-1); + temp2.Remove(len-1); + } + return "^{"+temp2+"}"+temp; +} + +TString TransferReaction::GetReactionName_Latex(){ + TString rName; + rName.Form("%s(%s,%s)%s @ %.2f MeV/u", format(nameA).Data(), format(namea).Data(), format(nameb).Data(), format(nameB).Data(), config.beamEnergy); + return rName; +} + +double TransferReaction::CalkCM(double ExB){ + if( !isBSet || !isReady) return TMath::QuietNaN(); + return TMath::Sqrt( (Etot*Etot - TMath::Power(mb + mB + ExB,2)) * (Etot*Etot - TMath::Power(mb - mB - ExB,2)) ) / 2 / Etot; +} + +void TransferReaction::CalReactionConstant(){ + if( !isBSet){ + recoil.heavyA = config.beamA + config.targetA - recoil.lightA; + recoil.heavyZ = config.beamZ + config.targetZ - recoil.lightZ; + Isotope temp (recoil.heavyA, recoil.heavyZ); + mB = temp.Mass; + isBSet = true; + } + + k = TMath::Sqrt(TMath::Power(mA + ExA + T, 2) - (mA + ExA) * (mA + ExA)); + beta = k / (mA + ExA + ma + T); + gamma = 1 / TMath::Sqrt(1- beta * beta); + Etot = TMath::Sqrt(TMath::Power(mA + ExA + ma + T,2) - k * k); + + PA.SetXYZM(0, 0, k, mA + ExA); + PA.RotateY(thetaIN); + PA.RotateZ(phiIN); + Pa.SetXYZM(0,0,0,ma); + + PA.SetUniqueID(config.beamZ); + Pa.SetUniqueID(config.targetZ); + Pb.SetUniqueID(recoil.lightZ); + PB.SetUniqueID(recoil.heavyZ); + + isReady = true; + p = CalkCM(ExB); + +} + +void TransferReaction::PrintFourVectors() const { + + printf("A : %10.2f %10.2f %10.2f %10.2f\n", PA.E(), PA.Px(), PA.Py(), PA.Pz()); + printf("a : %10.2f %10.2f %10.2f %10.2f\n", Pa.E(), Pa.Px(), Pa.Py(), Pa.Pz()); + printf("b : %10.2f %10.2f %10.2f %10.2f\n", Pb.E(), Pb.Px(), Pb.Py(), Pb.Pz()); + printf("B : %10.2f %10.2f %10.2f %10.2f\n", PB.E(), PB.Px(), PB.Py(), PB.Pz()); + printf("-------------------------------------------------------\n"); + printf("B : %10.2f %10.2f %10.2f %10.2f\n", + PA.E() + Pa.E() - Pb.E() - PB.E(), + PA.Px() + Pa.Px() - Pb.Px() - PB.Px(), + PA.Py() + Pa.Py() - Pb.Py() - PB.Py(), + PA.Pz() + Pa.Pz() - Pb.Pz() - PB.Pz()); + +} + +void TransferReaction::PrintReaction(bool withEx) const { + + printf("=====================================================\n"); + printf("\e[1m\e[33m %s \e[0m\n", GetReactionName().Data()); + printf("=====================================================\n"); + printf("------------------------------ Beam\n"); + printf(" beam : A = %3d, Z = %2d, Ex = %.2f MeV\n", config.beamA, config.beamZ, config.beamEx); + printf(" beam Energy : %.2f +- %.2f MeV/u, dE/E = %5.2f %%\n", config.beamEnergy, config.beamEnergySigma, config.beamEnergySigma/config.beamEnergy); + printf(" Angle : %.2f +- %.2f mrad\n", config.beamTheta, config.beamThetaSigma); + printf(" offset : (x,y) = (%.2f, %.2f) mmm \n", config.beamX, config.beamY); + + printf("------------------------------ Target\n"); + printf(" target : A = %3d, Z = %2d \n", config.targetA, config.targetZ); + + printf("------------------------------ Recoil\n"); + printf(" light : A = %3d, Z = %2d \n", recoil.lightA, recoil.lightZ); + printf(" heavy : A = %3d, Z = %2d \n", recoil.heavyA, recoil.heavyZ); + printf("=====================================================\n"); + + if( withEx ) { + exList.Print(); + printf("=====================================================\n"); + } +} + +void TransferReaction::Event(double thetaCM_rad, double phiCM_rad){ + + if( !isReady ) CalReactionConstant(); + + //---- to CM frame + TLorentzVector Pc = PA + Pa; + TVector3 b = Pc.BoostVector(); + + TVector3 vb(0,0,0); + + if( b.Mag() > 0 ){ + TVector3 v0 (0,0,0); + TVector3 nb = v0 - b; + + TLorentzVector PAc = PA; + PAc.Boost(nb); + TVector3 vA = PAc.Vect(); + + TLorentzVector Pac = Pa; + Pac.Boost(nb); + TVector3 va = Pac.Vect(); + + //--- construct vb + vb = va; + vb.SetMag(p); + + TVector3 ub = vb.Orthogonal(); + vb.Rotate(thetaCM_rad, ub); + vb.Rotate(phiCM_rad + TMath::PiOver2(), va); // somehow, the calculation turn the vector 90 degree. + //vb.Rotate(phiCM , va); // somehow, the calculation turn the vector 90 degree. + } + + //--- from Pb + TLorentzVector Pbc; + Pbc.SetVectM(vb, mb); + + //--- from PB + TLorentzVector PBc; + //PBc.SetVectM(vB, mB + ExB); + PBc.SetVectM(-vb, mB + ExB); + + //---- to Lab Frame + Pb = Pbc; Pb.Boost(b); + PB = PBc; PB.Boost(b); + +} + +std::pair TransferReaction::CalExThetaCM(double e, double z, double Bfield, double perpDist){ + + double Ex = TMath::QuietNaN(); + double thetaCM = TMath::QuietNaN(); + + double mass = mb; + double massB = mB; + double y = e + mass; + double slope = 299.792458 * recoil.lightZ * abs(Bfield) / TMath::TwoPi() * beta / 1000.; // MeV/mm; + double alpha = slope/beta; + double G = alpha * gamma * beta * perpDist ; + double Z = alpha * gamma * beta * z; + double H = TMath::Sqrt(TMath::Power(gamma * beta,2) * (y*y - mass * mass) ) ; + double Et = Etot; + + if( TMath::Abs(Z) < H ) { + //using Newton's method to solve 0 == H * sin(phi) - G * tan(phi) - Z = f(phi) + double tolerrence = 0.001; + double phi = 0; //initial phi = 0 -> ensure the solution has f'(phi) > 0 + double nPhi = 0; // new phi + + int iter = 0; + do{ + phi = nPhi; + nPhi = phi - (H * TMath::Sin(phi) - G * TMath::Tan(phi) - Z) / (H * TMath::Cos(phi) - G /TMath::Power( TMath::Cos(phi), 2)); + iter ++; + if( iter > 10 || TMath::Abs(nPhi) > TMath::PiOver2()) break; + }while( TMath::Abs(phi - nPhi ) > tolerrence); + + phi = nPhi; + + // check f'(phi) > 0 + double Df = H * TMath::Cos(phi) - G / TMath::Power( TMath::Cos(phi),2); + if( Df > 0 && TMath::Abs(phi) < TMath::PiOver2() ){ + double K = H * TMath::Sin(phi); + double x = TMath::ACos( mass / ( y * gamma - K)); + double k = mass * TMath::Tan(x); // momentum of particel b or B in CM frame + double EB = TMath::Sqrt(mass*mass + Et*Et - 2*Et*TMath::Sqrt(k*k + mass * mass)); + Ex = EB - massB; + + double hahaha1 = gamma* TMath::Sqrt(mass * mass + k * k) - y; + double hahaha2 = gamma* beta * k; + thetaCM = TMath::ACos(hahaha1/hahaha2) * TMath::RadToDeg(); + + //double pt = k * TMath::Sin(thetaCM * TMath::DegToRad()); + //double pp = gamma*beta*TMath::Sqrt(mass*mass + k*k) - gamma * k * TMath::Cos(thetaCM * TMath::DegToRad()); + //thetaLab = TMath::ATan(pt/pp) * TMath::RadToDeg(); + + }else{ + Ex = TMath::QuietNaN(); + thetaCM = TMath::QuietNaN(); + //thetaLab = TMath::QuietNaN(); + } + + }else{ + Ex = TMath::QuietNaN(); + thetaCM = TMath::QuietNaN(); + //thetaLab = TMath::QuietNaN(); + } + + return std::make_pair(Ex, thetaCM); +} + +void TransferReaction::CreateExDistribution(){ + + int numEx = exList.ExList.size(); + + exDistribution = new TF1("exDistribution", TransferReaction::exDistFunc, 0, numEx, numEx); + for(int q = 0; q < numEx; q++){ + exDistribution->SetParameter(q, exList.ExList[q].xsec*exList.ExList[q].SF); + } + +} + +#endif \ No newline at end of file diff --git a/cleopatra/Cleopatra.C b/cleopatra/Cleopatra.C new file mode 100644 index 0000000..8649b09 --- /dev/null +++ b/cleopatra/Cleopatra.C @@ -0,0 +1,111 @@ +/*********************************************************************** + * + * This is Cleopatra, a sucessor of Ptolemy + * only for (d,p), (d,p), (d,d), or (p,p) + * + * 1) it read a simple infile.in from reaction_setting file + * 2) use Ptolemy to calculate the the creation + * 3) extract the cross sec distribution into txt and root file + * + * ----------------------------------------------------- + * This program will call the root library and compile in g++ + * compilation: + * g++ cleopatra.C -o cleopatra `root-config --cflags --glibs` + * + *------------------------------------------------------ + * The reaction_setting file is simple like: + * + * 206Hg(d,p)207Hg(1s1/2 0.000) 10MeV/u AK + * + * the first is similar to usual reaction setting, the word AK is a + * short name for Optical Potential, user can put as many line as + * they like, Cleopatra can create the suitable infile.in for Ptolomy + * + * ------------------------------------------------------ + * created by Ryan (Tsz Leung) Tang, Nov-18, 2018 + * email: goluckyryan@gmail.com + * ********************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "InFileCreator.h" +#include "ExtractXSec.h" +#include +#include "PlotTGraphTObjArray.h" + +int main (int argc, char *argv[]) { //TODO add angle range + + printf("=================================================================\n"); + printf("===== Cleopatra, Ptolemy for (d,p),(p,d), (p,p) and (d,d) =====\n"); + printf("=================================================================\n"); + + if(argc < 2 || argc > 5) { + printf("Usage: ./Cleopatra input_file (angMin = 0 deg, angMax = 180 deg, angStep = 1 deg)\n"); + printf("Usage: ./Cleopatra input_file angMin angMax (angStep = 1 deg)\n"); + printf("Usage: ./Cleopatra input_file angMin angMax angStep\n"); + exit(0); + }else{ + printf("From file : %s \n", argv[1]); + } + + //================= read infile. extract the reactions, write pptolemy infile for each reaction + std::string readFile = argv[1]; + double angMin = 0.; + double angMax = 180.; + double angStep = 1.; + if( argc >= 4 ){ + angMin = atof(argv[2]); + angMax = atof(argv[3]); + } + if( argc == 5 ){ + angStep = atof(argv[4]); + } + + std::string ptolemyInFileName = argv[1]; + ptolemyInFileName += ".in"; + printf("=================== Create InFile\n"); + InFileCreator( readFile, ptolemyInFileName, angMin, angMax, angStep); + + //================= run ptolemy + std::string ptolemyOutFileName = argv[1]; + ptolemyOutFileName += ".out"; + std::ostringstream commandStream; + #if defined(__linux__) + commandStream << "../Cleopatra/ptolemy <" << ptolemyInFileName << "> " << ptolemyOutFileName; + #elif defined(__APPLE__) && defined(__MACH__) + commandStream << "../Cleopatra/ptolemy_mac <" << ptolemyInFileName << "> " << ptolemyOutFileName; + #endif + std::string command = commandStream.str(); + + printf("=================== Run Ptolemy\n"); + printf("%s \n", command.c_str()); + + int result = std::system(command.c_str()); + if (result == -1) { + std::cerr << "Error executing system command." << std::endl; + return 1; + } + + //================= extract the Xsec and save as txt and root + printf("=================== Extract Cross-section\n"); + ExtractXSec(ptolemyOutFileName); + + //================= Call root to plot the d.s.c. + printf("=================== Plot Result using ROOT.\n"); + std::string rootFileName = argv[1]; + rootFileName += ".root"; + TApplication app ("app", &argc, argv); + PlotTGraphTObjArray(rootFileName); + app.Run(); //nothing run after + return 0; +} diff --git a/cleopatra/ExtractXSec.C b/cleopatra/ExtractXSec.C new file mode 100644 index 0000000..ff82cc7 --- /dev/null +++ b/cleopatra/ExtractXSec.C @@ -0,0 +1,48 @@ +/*********************************************************************** + * + * This is ExtractXSec for *.out for Ptolemy + * + * This program will extract cross section distribution from Ptolmey output. + * save as *.Xsec.txt and *.root for distribution + * + * save ExPtolemy.txt for excitation energies and total X-section + * ----------------------------------------------------- + * This program will call the root library and compile in g++ + * compilation: + * g++ ExtractXSec.C -o ExtractXSec `root-config --cflags --glibs` + * + * ------------------------------------------------------ + * created by Ryan (Tsz Leung) Tang, Nov-18, 2018 + * email: goluckyryan@gmail.com + * ********************************************************************/ + +#include +#include +#include "ExtractXSec.h" + +using namespace std; + +int main (int argc, char *argv[]) { + + printf("=================================================================\n"); + printf("========== Extract Cross-Section From Ptolemy out file ==========\n"); + printf("=================================================================\n"); + + if(argc < 2 || argc > 3) { + printf("Usage: ./ExtractXSec input_file \n"); + printf(" ElasticFlag = 1 , default, extarct Ratio to Rutherford\n"); + printf(" ElasticFlag = 2 , extarct Total Xsec\n"); + printf(" ElasticFlag = 3 , Rutherford\n"); + exit(0); + }else{ + printf("From file : %s \n", argv[1]); + } + + string readFile = argv[1]; + int ElasticFlag = 1; + if( argc == 3 ){ + ElasticFlag = atoi(argv[2]); + } + ExtractXSec(readFile, ElasticFlag); + +} diff --git a/cleopatra/ExtractXSec.h b/cleopatra/ExtractXSec.h new file mode 100644 index 0000000..f73a487 --- /dev/null +++ b/cleopatra/ExtractXSec.h @@ -0,0 +1,546 @@ +/*********************************************************************** + * + * This is ExtractXSec for *.out for Ptolemy + * + * This program will extract cross section distribution from Ptolmey output. + * save as *.Xsec.txt and *.root for distribution + * + * save ExPtolemy.txt for excitation energies and total X-section + * ----------------------------------------------------- + * This program will call the root library and compile in g++ + * compilation: + * g++ ExtractXSec.C -o ExtractXSec `root-config --cflags --glibs` + * + * ------------------------------------------------------ + * created by Ryan (Tsz Leung) Tang, Nov-18, 2018 + * email: goluckyryan@gmail.com + * ********************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../Armory/AnalysisLib.h" + +using namespace std; + +TObjArray * gList = NULL; +double distfunct(double *x, double *par){ + + TGraph * gTemp = (TGraph *) gList->At(par[0]); + + return (gTemp->Eval(x[0]))* sin(x[0] * TMath::DegToRad()); +} + +bool isFloat( string str ) { + int length = str.length(); + for( int i = 0; i < length; i++){ + string it = str.substr(i,1); + if( it == " " || it == "."|| it == "1"|| it == "2"|| + it == "3"|| it == "4"|| it == "5"|| it == "6"|| it == "7"|| it == "8"|| it == "9"|| it == "0"){ + continue; + }else{ + return false; + } + } + return true; +} + +int ExtractXSec (string readFile, int indexForElastic=1) { + + //indexForElastic = 1 ; for Ratio + //indexForElastic = 2 ; for Total + //indexForElastic = 3 ; for Rutherford + + //--- open file.out + ifstream file_in; + file_in.open(readFile.c_str(), ios::in); + if( !file_in){ + printf("Unable to open %s \n", readFile.c_str()); + exit(1); + } + + //---- variable for Xsec + vector title; + vector> dataMatrix; + vector angle; + vector Ex; + vector totalXsec; + vector reaction; + double angleMin = 0; + double angleMax = 0; + double angleStep = -1; + + //================================== read file.out + string line; + int lineNum = 0; + vector dataXsec; + bool startExtract = false; + bool angleFilled = false; + int numCal = 0; + int reactionFlag = 0; + bool preFindForElastic = false; + printf("======================================================\n"); + while(getline(file_in, line)){ + lineNum ++; + //printf("%d , %s\n", lineNum, line.c_str()); + + size_t pos; + string findStr; + int findLen; + + //---- find Title + findStr = "$============================================"; + findLen = findStr.length(); + pos = line.find(findStr); + if( pos != string::npos){ + title.push_back(line.substr(pos + findLen+1)); + + pos = title.back().find("("); + string ex = title.back().substr(3, pos-3); + Ex.push_back( atof(ex.c_str()) ); + + //clear dataXsex for new data set + dataXsec.clear(); + + numCal ++; + continue; + } + + //---- find Reaction + findStr = "0INPUT... CHANNEL"; + findLen = findStr.length(); + pos = line.find(findStr); + if( pos != string::npos ) { + reaction.push_back( line.substr(pos + findLen + 1) ); + reactionFlag = 1; // 1 for (d,d) or (p,p) + ///printf("%d |----------- (d,d), %d\n", lineNum, reactionFlag); + continue; // nextline + } + + findStr = "REACTION:"; + findLen = findStr.length(); + pos = line.find(findStr); + if( pos != string::npos ) { + reaction.push_back( line.substr(pos + findLen + 1) ); + reactionFlag = 2; // 2 for (d,p) or (p,d) + ///printf("%d |----------- (d,p), %d\n", lineNum, reactionFlag); + continue; // nextline + } + + //----- pre find for Elastic scattering + findStr = "0 OPTICAL MODEL SCATTERING FOR THE OUTGOING CHANNEL"; + pos = line.find(findStr); + if( pos != string::npos ) { + preFindForElastic = true; + ///printf("%d |----------- pre Elastics Flag : %d\n", lineNum, preFindForElastic); + continue; + } + + //----- find angle stetting when not known + if( angleStep == -1 ){ + + findStr = "anglemin="; + findLen = findStr.length(); + pos = line.find(findStr); + if( pos != string::npos){ + + size_t pos1 = line.find("anglemax="); + angleMin = atof( line.substr(pos+findLen, pos1 - pos - findLen).c_str() ); + + pos = pos1; + pos1 = line.find("anglestep="); + angleMax = atof( line.substr(pos+findLen, pos1 - pos - findLen).c_str() ); + + angleStep = atof( line.substr(pos1 + findLen+1).c_str() ); + + //printf("%d |---- angle range found.\n", lineNum); + + } + continue; //nextline + } + + //----- check if start extracting Xsec or not + findStr = "dumpdumpdump"; + if( reactionFlag == 1 && preFindForElastic ){ + findStr = "C.M. LAB RUTHERFORD"; + } + if( reactionFlag == 2 ){ + findStr = "0 C.M. REACTION REACTION LOW L HIGH L % FROM"; + } + pos = line.find(findStr); + if( pos != string::npos ) { + startExtract = true; + //printf("%d |----- start extraction \n", lineNum); + continue; + } + + //----- start extracting Xsec + if( startExtract ){ + + if( line.length() < 20 ) continue; + + ///printf("%d |%s \n", line.length(), line.c_str()); + double numAngle, numXsec; + if( reactionFlag == 1 ){ // Elastics (d,d) or (p,p) + numAngle = atof( line.substr(0, 7).c_str()); + if( indexForElastic == 1 ){ + numXsec = atof( line.substr(15, 15).c_str()); + }else if( indexForElastic == 2 ){ + if ( line.length() > 60 ) { + numXsec = atof( line.substr(30, 13).c_str()); + }else{ + numXsec = -404; + } + }else{ + if ( line.length() > 60 ) { + numXsec = atof( line.substr(57, 14).c_str()); + }else{ + numXsec = -404; + } + } + } + + if( reactionFlag == 2 ){ // InElastics (d,p) or (p,d) + if( isFloat( line.substr(0, 7) ) ){ + numAngle = atof( line.substr(0, 7).c_str()); + numXsec = atof( line.substr(7, 19).c_str()); + }else{ + numAngle = -1.0; + numXsec = -1.0; + } + } + + if( numAngle != numXsec && numXsec > 0. ){ + if( !angleFilled ) angle.push_back(numAngle); + dataXsec.push_back(numXsec); + + ///printf(" %f , %f \n", angle.back(), dataXsec.back()); + } + + + } + + //------ find total Xsec, if found stop extraction + findStr = "dumpdumpdump"; + if( reactionFlag == 1 && preFindForElastic){ + findStr = "0TOTAL REACTION CROSS SECTION ="; + } + if( reactionFlag == 2){ + findStr = "0TOTAL:"; + } + findLen = findStr.length(); + pos = line.find(findStr); + + if( pos != string::npos ) { + + totalXsec.push_back( atof(line.substr(pos + findLen).c_str()) ); + + printf("%2d | %s | total Xsec(4pi): %f mb \n", numCal, title.back().c_str(), totalXsec.back()); + + //push back dataXsec to dataMatrix + dataMatrix.push_back(dataXsec); + + //printf("%d |----- end extraction \n", lineNum); + + angleFilled = true; + startExtract = false; + reactionFlag = 0; + preFindForElastic = false; + continue; + } + + } + file_in.close(); + + //================================== summary + printf("====================== Total number of line read : %d \n", lineNum); + printf("Angle : %5.2f, %5.2f | step : %5.2f \n", angleMin, angleMax, angleStep); + printf("Number of Angle read : %lu \n", angle.size()); + printf("Number of data read : %lu \n", dataXsec.size()); + printf("Number of Reaction : %lu \n", reaction.size()); + + + printf("----------------------------- list of Calculation \n"); + //... find suitable lenght for displaying reaction string + int reactionStrLen = 0; + for( int i = 0; i < numCal ; i++){ + int len = reaction[i].length(); + if( len > reactionStrLen ) reactionStrLen = len; + } + + vector partialXsec; + partialXsec.clear(); + for( int i = 0; i < numCal ; i++){ + + double partialSumXsec = 0.0; + for( int j = 0; j < (dataMatrix[i]).size() ; j++ ){ + //double theta = (angle[j] + angleStep/2.) * TMath::DegToRad(); + double theta = (angle[j]) * TMath::DegToRad(); + double dTheta = angleStep * TMath::DegToRad(); + double phi = TMath::TwoPi(); + partialSumXsec += dataMatrix[i][j] * sin( theta ) * dTheta * phi ; + } + partialXsec.push_back(partialSumXsec); + + size_t pos = title[i].find(")"); + printf("%*s| %s | Xsec(%3.0f-%3.0f deg) : %f mb\n", reactionStrLen + 3, reaction[i].c_str(), title[i].substr(pos+1).c_str(), angleMin, angleMax, partialSumXsec); + } + printf("---------------------------------------------------\n"); + + //================================== save file.Xsec.txt + string saveFileName = readFile; + int len = saveFileName.length(); + saveFileName = saveFileName.substr(0, len - 4); + saveFileName += ".Xsec.txt"; + printf("Output : %s \n", saveFileName.c_str()); + FILE * file_out; + file_out = fopen(saveFileName.c_str(), "w+"); + + for( int i = 0; i < numCal ; i++){ + fprintf(file_out, "#%14s\n", reaction[i].c_str()); + } + + int space = 19; + fprintf(file_out, "%8s\t", "Angle"); + for( int i = 0; i < numCal ; i++){ + fprintf(file_out, "%*s", space, title[i].c_str()); + } + fprintf(file_out, "\n"); + + for( int i = 0; i < angle.size() ; i ++){ + fprintf(file_out, "%8.3f\t", angle[i]); + for( int j = 0; j < numCal ; j++){ + fprintf(file_out, "%*f", space, dataMatrix[j][i]); + } + fprintf(file_out, "\n"); + } + fclose(file_out); + + //================================== Make TMacro for ExList + + TMacro ExList; + TMacro ReactList; + ExList.AddLine("#---Ex relative_xsec SF sigma_in_MeV"); + for( int i = 0; i < numCal ; i++){ + ExList.AddLine(Form("%9.5f %9.5f 1.0 0.000", Ex[i], partialXsec[i])); + ReactList.AddLine(reaction[i].c_str()); + } + + //================================== Save in ROOT + len = saveFileName.length(); + saveFileName = saveFileName.substr(0, len - 9); + TString fileName = saveFileName; + fileName += ".root"; + printf("Output : %s \n", fileName.Data()); + + TFile * fileOut = new TFile(fileName, "RECREATE" ); + gList = new TObjArray(); ///no SetTitle() method for TObjArray + gList->SetName("TGraph of d.s.c"); + TObjArray * fList = new TObjArray(); + fList->SetName("TF1 of distributions = d.s.c. * sin()"); + + TGraph ** gGraph = new TGraph *[numCal]; + TF1 ** dist = new TF1*[numCal]; + + for( int i = 0; i < numCal ; i++){ + gGraph[i] = new TGraph(); + TString name = reaction[i]; + name += "|"; + name += title[i]; + gGraph[i]->SetName(name); + for( int j = 0; j < angle.size() ; j++){ + gGraph[i]->SetPoint(j, angle[j], dataMatrix[i][j]); + } + gList->Add(gGraph[i]); + + name.Form("dist%d", i); + dist[i] = new TF1(name, distfunct, angleMin, angleMax, 1 ); + dist[i]->SetParameter(0, i); + + fList->Add(dist[i]); + + } + gList->Write("thetaCM_TGraph", 1); + fList->Write("thetaCM_TF1", 1); + + ExList.Write("ExList"); + ReactList.Write("ReactionList"); + + fileOut->Write(); + fileOut->Close(); + printf("---------------------------------------------------\n"); + + return 0; +} + +int ExtractXSecFromText(string readFile){ + + //read file + ifstream file_in; + file_in.open(readFile.c_str(), ios::in); + if( !file_in){ + printf("Unable to open %s \n", readFile.c_str()); + exit(1); + } + + //---- variable for Xsec + vector> dataMatrix; + vector angle; + vector Ex; + + //================================== read file.out + string line; + int lineNum = 0; + vector dataXsec; + + int numCal = 0; + printf("======================================================\n"); + + bool headerDone = false; + + while(getline(file_in, line)){ + lineNum ++; + + if( line.substr(0,1) == "#" ) continue; + + //printf("%d | %s\n", lineNum, line.c_str()); + + //after the comment line, the next line must be column name + vector header= AnalysisLib::SplitStr(line, " "); + //printf("---%lu #", header.size()); + //for( int i = 0; i < header.size(); i++){ + // printf("%s|", header[i].c_str()); + //} + //printf("\n"); + + if ( !headerDone ) { + for( int i = 1 ; i < header.size(); i++){ + string energy = header[i].substr(3, header[i].length()); + Ex.push_back(atof(energy.c_str())); + //printf("%f---\n", Ex.back()); + } + headerDone = true; + }else{ + + vector temp; + for( int i = 0; i < header.size(); i++){ + if( i == 0 ) angle.push_back(atof(header[i].c_str())); + if( i > 0 ) temp.push_back(atof(header[i].c_str())); + } + dataMatrix.push_back(temp); + + } + + } + file_in.close(); + + double angleMin = angle.front(); + double angleMax = angle.back(); + double angleStep = (angleMax - angleMin)/(angle.size()-1); + + //------ print out read data + printf("====================== data read as:\n"); + printf("%5s, ", "Ex"); + for(int i = 0; i < Ex.size(); i++){ + printf("%6.3f|", Ex[i]); + } + printf("\n"); + for(int i = 0; i < dataMatrix.size(); i++){ + printf("%5.2f, ", angle[i]); + for( int j = 0; j < dataMatrix[i].size(); j++) printf("%6.3f|", dataMatrix[i][j]); + printf("\n"); + } + printf("---------------------------------\n"); + printf("angle min :%f\n", angleMin); + printf("angle max :%f\n", angleMax); + printf("angle step:%f\n", angleStep); + printf("---------------------------------\n"); + + //------- calculate summed cross section + vector partialXsec(Ex.size()); + for( int i = 0; i < dataMatrix.size() ; i++){ + for( int j = 0; j < (dataMatrix[i]).size() ; j++ ){ + //double theta = (angle[j] + angleStep/2.) * TMath::DegToRad(); + double theta = (angle[i]) * TMath::DegToRad(); + double dTheta = angleStep * TMath::DegToRad(); + double phi = TMath::TwoPi(); + partialXsec[j] += dataMatrix[i][j] * sin( theta ) * dTheta * phi ; + } + } + for(int i = 0; i < Ex.size(); i++){ + printf("Ex=%6.3f| Xsec(%3.0f-%3.0f deg) : %f mb\n", Ex[i] , angleMin, angleMax, partialXsec[i]); + } + printf("---------------------------------------------------\n"); + + //================================== save *.Ex.txt + string saveExName = readFile; + int len = saveExName.length(); + saveExName = saveExName.substr(0, len - 4); + saveExName += ".Ex.txt"; + printf("Output : %s \n", saveExName.c_str()); + FILE * file_Ex; + file_Ex = fopen(saveExName.c_str(), "w+"); + fprintf(file_Ex, "//Generated_by_ExtractXsec.h___Ex___Xsec___SF____sigma\n"); + for( int i = 0; i < Ex.size() ; i++){ + fprintf(file_Ex, "%9.5f %9.5f 1.0 0.000\n", Ex[i], partialXsec[i]); + } + fprintf(file_Ex, "#=====End_of_File\n"); + fclose(file_Ex); + + + //================================== Save in ROOT + string saveFileName = readFile; + len = saveFileName.length(); + saveFileName = saveFileName.substr(0, len - 4); + TString fileName = saveFileName; + fileName += ".root"; + printf("Output : %s \n", fileName.Data()); + TFile * fileOut = new TFile(fileName, "RECREATE" ); + + gList = new TObjArray(); + gList->SetName("TGraph of d.s.c"); + TObjArray * fList = new TObjArray(); + fList->SetName("TF1 of distributions = d.s.c. * sin()"); + + TGraph ** gGraph = new TGraph *[numCal]; + TF1 ** dist = new TF1*[numCal]; + + for( int i = 0; i < Ex.size() ; i++){ + gGraph[i] = new TGraph(); + TString name ; + name.Form("Ex=%6.3f MeV", Ex[i]); + gGraph[i]->SetName(name); + for( int j = 0; j < angle.size() ; j++){ + gGraph[i]->SetPoint(j, angle[j], dataMatrix[j][i]); + } + gList->Add(gGraph[i]); + + name.Form("dist%d", i); + dist[i] = new TF1(name, distfunct, angleMin, angleMax, 1 ); + dist[i]->SetParameter(0, i); + + fList->Add(dist[i]); + + //delete tempFunc; + + } + gList->Write("qList", 1); + fList->Write("pList", 1); + + + fileOut->Write(); + fileOut->Close(); + printf("---------------------------------------------------\n"); + + + return 0; + +} + diff --git a/cleopatra/ExtractXSecFromText.C b/cleopatra/ExtractXSecFromText.C new file mode 100644 index 0000000..fd685b0 --- /dev/null +++ b/cleopatra/ExtractXSecFromText.C @@ -0,0 +1,41 @@ +/*********************************************************************** + * + * This is ExtractXSecFromText for *.txt file + * + * This program will extract cross section distribution + * save as *.root for distribution + * + * save *.Ex.txt for excitation energies and total X-section + * ----------------------------------------------------- + * This program will call the root library and compile in g++ + * compilation: + * g++ ExtractXSecFromText.C -o ExtractXSecFromText `root-config --cflags --glibs` + * + * ------------------------------------------------------ + * created by Ryan (Tsz Leung) Tang, Dec-29, 2019 + * email: goluckyryan@gmail.com + * ********************************************************************/ + +#include +#include +#include "ExtractXSec.h" + +using namespace std; + +int main (int argc, char *argv[]) { + + printf("=================================================================\n"); + printf("========== Extract Cross-Section From text file ==========\n"); + printf("=================================================================\n"); + + if(argc < 2 ) { + printf("Usage: ./ExtractXSecFromText input_file\n"); + exit(0); + }else{ + printf("From file : %s \n", argv[1]); + } + + string readFile = argv[1]; + ExtractXSecFromText(readFile); + +} diff --git a/cleopatra/FindThetaCM.C b/cleopatra/FindThetaCM.C new file mode 100644 index 0000000..db33abc --- /dev/null +++ b/cleopatra/FindThetaCM.C @@ -0,0 +1,56 @@ +/*********************************************************************** + * + * This is FindThetaCM.C, To calculate the thetaCM convrage for each detector + * + * This required two inout files: basicReactionConfig.txt + * detectorGeo.txt + * + *------------------------------------------------------- + * created by Ryan (Tsz Leung) Tang, Nov-18, 2018 + * email: goluckyryan@gmail.com + * ********************************************************************/ + +#include +#include /* atof */ +#include +#include +#include "FindThetaCM.h" + +int main(int argc, char *argv[]){ + + printf("=================================================================\n"); + printf("=== Find ThetaCM convrage for each detector at Ex ====\n"); + printf("=================================================================\n"); + + if(argc < 2 || argc > 7) { + printf("Usage: ./FindThetaCM Ex\n"); + printf("Usage: ./FindThetaCM Ex nDiv\n"); + printf("Usage: ./FindThetaCM Ex nDiv X-Ratio\n"); + printf("Usage: ./FindThetaCM Ex nDiv X-Ratio reactionTxt detGeoTxt ID\n"); + printf(" * default is the first settings from reaction and detGeo.\n"); + exit(0); + } + + double Ex = 0; + double xRatio = 0.95; + int nDiv = 1; + std::string reactionTxt = "reactionConfig.txt"; + std::string detGeoTxt = "detectorGeo.txt"; + int ID = 0; + + if ( argc >= 2 ) Ex = atof(argv[1]); + if ( argc >= 3 ) nDiv = atoi(argv[2]); + if ( argc >= 4 ) xRatio = atof(argv[3]); + if ( argc >= 5 ) reactionTxt = argv[4]; + if ( argc >= 6 ) detGeoTxt = argv[5]; + if ( argc >= 6 ) ID = atoi(argv[6]); + + if( nDiv < 1 ) { + printf(" nDiv must be >= 1 \n"); + return -1; + } + + FindThetaCM(Ex, nDiv, xRatio, reactionTxt, detGeoTxt, ID); + + return 0; +} diff --git a/cleopatra/FindThetaCM.h b/cleopatra/FindThetaCM.h new file mode 100644 index 0000000..93256df --- /dev/null +++ b/cleopatra/FindThetaCM.h @@ -0,0 +1,143 @@ +/*********************************************************************** + * + * This is FindThetaCM.h, To calculate the thetaCM convrage for each detector + * + * This required two inout files: basicReactionConfig.txt + * detectorGeo.txt + * + *------------------------------------------------------- + * created by Ryan (Tsz Leung) Tang, Nov-18, 2018 + * email: goluckyryan@gmail.com + * ********************************************************************/ + +#include "TFile.h" +#include "TTree.h" +#include "TF1.h" +#include "TMacro.h" +#include "TObjArray.h" +#include "TGraph.h" +#include "../Cleopatra/ClassHelios.h" +#include "../Cleopatra/ClassTransfer.h" + +void FindThetaCM(double Ex, int nDivision=1, double XRATION = 0.95, + std::string reactionConfigFileName="reactionConfig.txt", + std::string detGeoFileName = "detectorGeo.txt", unsigned short ID = 0){ + + + ///========================================================= load files + + TransferReaction reaction(reactionConfigFileName, ID); + reaction.SetExB(Ex); + reaction.CalReactionConstant(); + reaction.PrintReaction(false); + ReactionConfig reConfig = reaction.GetRectionConfig(); + Recoil recoil = reaction.GetRecoil(); + + HELIOS helios(detGeoFileName, ID); + helios.PrintGeometry(); + DetGeo detGeo = helios.GetDetectorGeometry(); + Array array = helios.GetArrayGeometry(); + + //calculate a TGraph for thetaCM vs z + const int nData = 170; + double px[nData]; + double py[nData]; + + double mb = reaction.GetMass_b(); + double kCM = reaction.GetMomentumbCM(); + double q = TMath::Sqrt(mb*mb + kCM * kCM ); + double beta = reaction.GetReactionBeta() ; + double BField = detGeo.Bfield; + double slope = reaction.GetEZSlope(BField); + double gamma = reaction.GetReactionGamma(); + double perpDist = array.detPerpDist; + + for(int i = 0; i < nData; i++){ + double thetacm = (i + 5.) * TMath::DegToRad(); + double temp = TMath::TwoPi() * slope / beta / kCM * perpDist / TMath::Sin(thetacm); + px[i] = beta /slope * (gamma * beta * q - gamma * kCM * TMath::Cos(thetacm)) * (1 - TMath::ASin(temp)/TMath::TwoPi()); + py[i] = thetacm * TMath::RadToDeg(); + } + + //find minimum z position + TGraph * xt = new TGraph(100, py, px); + xt->SetName("xt"); + ///double zMin0 = xt->Eval(0); + ///printf("z for thetaCM = 0 : %f mm \n", zMin0); + + ///xt->Draw("AC*"); + + /// find the minimum z position and the corresponding theta + double zMin0 = 99999999; + double tMin0 = 99999999; + for( double ttt = 3 ; ttt < 20 ; ttt += 0.1 ){ + double zzz = xt->Eval(ttt); + if( zzz < zMin0 ) { + zMin0 = zzz; + tMin0 = ttt; + } + } + printf(" z min %f mm at thetaCM %f deg \n", zMin0, tMin0); + + TGraph * tx = new TGraph(nData, px, py); + tx->SetName(Form("tx")); + tx->SetLineColor(4); + + //Remove nan data + for( int i = tx->GetN() -1 ; i >= 0 ; i--){ + if( TMath::IsNaN(tx->GetPointX(i)) ) tx->RemovePoint(i); + } + + // tx->Draw("AC"); + + ///========================================================= result + + int iDet = array.colDet; + double length = array.detLength; + std::vector midPos; + + for(int i = 0; i < iDet; i++){ + if( array.firstPos > 0 ){ + midPos.push_back(array.detPos[i]+length/2.); + }else{ + midPos.push_back(array.detPos[i]-length/2.); + } + // printf("%2d | %f \n", i, midPos.back()); + } + + printf("==== ThetaCM in degree =================\n"); + printf(" x-ratio : %f, number of division : %d \n", XRATION, nDivision); + printf("\n"); + for( int j = 0; j < nDivision + 1; j++) printf("%5.2f ", -XRATION + 2*XRATION/nDivision*j); + printf(" <<-- in X \n"); + for( int j = 0; j < nDivision + 1; j++) printf("%5s ", " | "); + printf("\n"); + for( int j = 0; j < nDivision + 1; j++) printf("%5.2f ", length/2 -length*XRATION/2 + length*XRATION/nDivision*j); + printf(" <<-- in mm \n\n"); + printf("========================= Ex : %6.4f MeV\n", Ex); + printf(" %6s - %6s | %6s, %6s, %6s\n", "Min", "Max", "Mean", "Dt", "sin(x)dx * 180/pi"); + printf("-------------------------------------------------\n"); + for( int i = 0; i < iDet; i++){ + double zMin = midPos[i]-length*XRATION/2.; + double zMax = midPos[i]+length*XRATION/2.; + double zLength = zMax - zMin; + double zStep = zLength/(nDivision); + for( int j = 0 ; j < nDivision ; j++){ + + double tMin = (zMin + j*zStep > zMin0) ? tx->Eval(zMin + j*zStep) : TMath::QuietNaN(); + double tMax = (zMin + (j+1)*zStep > zMin0) ? tx->Eval(zMin + (j+1)*zStep) : TMath::QuietNaN(); + + double tMean = (tMax + tMin)/2.; + double dt = (tMax - tMin); + + double sintdt = TMath::Sin(tMean * TMath::DegToRad()) * dt ; + + + printf(" det-%d[%d]: %6.2f - %6.2f | %6.2f, %6.2f, %6.4f\n", i, j, tMin, tMax, tMean, dt, sintdt); + + } + if( nDivision > 0 ) printf("--------------\n"); + } + printf("================================================= \n"); + +} diff --git a/cleopatra/InFileCreator.C b/cleopatra/InFileCreator.C new file mode 100644 index 0000000..d5057ee --- /dev/null +++ b/cleopatra/InFileCreator.C @@ -0,0 +1,68 @@ +/*********************************************************************** + * + * This is InFileCreator, To creator the in-file for Ptolemy + * only for (d,p), (d,p), (d,d), or (p,p) + * + * It read a simple infile.in from reaction_setting file + * + * ----------------------------------------------------- + * This program will call the root library and compile in g++ + * compilation: + * g++ InFileCreator.C -o InFileCreator `root-config --cflags --glibs` + * + *------------------------------------------------------ + * The reaction_setting file is simple like: + * + * 206Hg(d,p)207Hg(1s1/2 0.000) 10MeV/u AK + * + * the first is similar to usual reaction setting, the word AK is a + * short name for Optical Potential, user can put as many line as + * they like, Cleopatra can create the suitable infile.in for Ptolomy + * + * ------------------------------------------------------ + * created by Ryan (Tsz Leung) Tang, Nov-18, 2018 + * email: goluckyryan@gmail.com + * ********************************************************************/ + +#include +#include /* atof */ +#include +#include +#include "InFileCreator.h" + +using namespace std; + +int main (int argc, char *argv[]) { + + printf("=================================================================\n"); + printf("=== InfileCreator, Ptolemy for p,d,t,3He ====\n"); + printf("=================================================================\n"); + + if(argc < 2 || argc > 5) { + printf("Usage: ./InfileCreator input_file (angMin = 0 deg, angMax = 180 deg, angStep = 1 deg)\n"); + printf("Usage: ./InfileCreator input_file angMin angMax (angStep = 1 deg)\n"); + printf("Usage: ./InfileCreator input_file angMin angMax angStep\n"); + exit(0); + }else{ + printf("From file : %s \n", argv[1]); + } + + //================= read infile. extract the reactions, write pptolemy infile for each reaction + string readFile = argv[1]; + double angMin = 0.; + double angMax = 180.; + double angStep = 1.; + if( argc >= 4 ){ + angMin = atof(argv[2]); + angMax = atof(argv[3]); + } + if( argc == 5 ){ + angStep = atof(argv[4]); + } + + string ptolemyInFileName = argv[1]; + ptolemyInFileName += ".in"; + + InFileCreator( readFile, ptolemyInFileName, angMin, angMax, angStep); + +} diff --git a/cleopatra/InFileCreator.h b/cleopatra/InFileCreator.h new file mode 100644 index 0000000..68571a7 --- /dev/null +++ b/cleopatra/InFileCreator.h @@ -0,0 +1,404 @@ +/*********************************************************************** + * + * This is InFileCreator, To creator the in-file for Ptolemy + * only for (x,y), x or y = n, p, d, t, 3He + * + * It read a simple infile.in from reaction_setting file + * + * ----------------------------------------------------- + * This program will call the root library and compile in g++ + * compilation: + * g++ InFileCreator.C -o InFileCreator `root-config --cflags --glibs` + * + *------------------------------------------------------ + * The reaction_setting file is simple like: + * + * 206Hg(d,p)207Hg(1s1/2 0.000) 10MeV/u AK + * + * the first is similar to usual reaction setting, the word AK is a + * short name for Optical Potential, user can put as many line as + * they like, Cleopatra can create the suitable infile.in for Ptolomy + * + * ------------------------------------------------------ + * created by Ryan (Tsz Leung) Tang, Nov-18, 2018 + * email: goluckyryan@gmail.com + * ********************************************************************/ + +#include /* atof */ +#include +#include "../Cleopatra/ClassIsotope.h" // for geting Z +#include "potentials.h" +#include "../Armory/AnalysisLib.h" + +using namespace std; + +int GetLValue(string spdf){ + + if( spdf == "s" ) return 0; + if( spdf == "p" ) return 1; + if( spdf == "d" ) return 2; + if( spdf == "f" ) return 3; + if( spdf == "g" ) return 4; + if( spdf == "h" ) return 5; + if( spdf == "i" ) return 6; + if( spdf == "j" ) return 7; + return -1; +} + + +int InFileCreator(string readFile, string infile, double angMin, double angMax, double angStep) { + + //================= read infile. extract the reactions, write pptolemy infile for each reaction + ifstream file_in; + file_in.open(readFile.c_str(), ios::in); + + if( !file_in ){ + printf(" cannot read file. \n"); + return 0 ; + } + + printf("Save to infile : %s \n", infile.c_str()); + FILE * file_out; + file_out = fopen (infile.c_str(), "w+"); + + printf("Angle setting (%5.2f, %5.2f) deg | Step : %5.2f deg\n", angMin, angMax, angStep); + printf("---------------------------\n"); + + //extract information + int numOfReaction = 0; + while( file_in.good() ) { + string tempLine; + getline(file_in, tempLine ); + + if( tempLine.substr(0, 1) == "#" ) continue; + if( tempLine.size() < 5 ) continue; + + //split line using space + vector str0 = AnalysisLib::SplitStr(tempLine, " "); + if ( str0.size() == 0 ) continue; + + printf(" %s\n", tempLine.c_str()); + + ///for( int i = 0 ; i < str0.size() ; i++){ + /// printf(" str0[%d] %s \n", i, str0[i].c_str()); + ///} + + vector str1 = AnalysisLib::SplitStr(str0[0], "(", 0); + vector str2 = AnalysisLib::SplitStr(str1[1], ")", 1); + + str2[0] = "(" + str2[0]; + + int lenStr20 = str2[0].length(); + size_t posTemp1 = str2[0].find(","); + string mass_a = str2[0].substr(1, posTemp1-1); + size_t posTemp2 = str2[0].find(")"); + string mass_b = str2[0].substr(posTemp1+1, posTemp2-posTemp1-1); + ///printf(" mass_a : |%s| , mass_b : |%s| \n", mass_a.c_str(), mass_b.c_str()); + Isotope iso_a(mass_a); + Isotope iso_b(mass_b); + + // Check is the Reaction supported + bool isReactionSupported = false; + bool isTransferReaction = true; + + if( iso_a.A <= 4 && iso_a.Z <= 2 && iso_b.A <=4 && iso_b.Z <=2 ) isReactionSupported = true; + + ///======= elastics-ish scattering + if( iso_a.Mass == iso_b.Mass ) isTransferReaction = false; + + ///======= p/n-exchange is not supported + if( iso_a.A == iso_b.A && iso_a.Z != iso_b.Z ) isReactionSupported = false; + + ///======= 3-nucleons transfer is not supported. e.g. (n,a), (p,a), (a,n), (a,p) + int numNucleonsTransfer = iso_a.A - iso_b.A; + if( abs(numNucleonsTransfer) >= 3 ) isReactionSupported = false; + + if( isReactionSupported == false ){ + printf(" ===> Ignored. Reaction type not supported. \n"); + continue; + } + + // Continues to decode the input string + string gsSpinA = str0[1]; + string orbital = str0[2]; + + string spinParity = str0[3]; + int lenSpinParity = spinParity.length(); + string spin = spinParity.substr(0, lenSpinParity-1); + string parity = spinParity.substr(lenSpinParity-1); + + string Ex = str0[4]; + string reactionEnergy = str0[5]; + string potential = str0[6]; + + string isoA = str1[0]; + string isoB = str2[1]; + string reactionType = str2[0]; + + Isotope iso_A(str1[0]); + Isotope iso_B(str2[1]); + + /// check is iso_A or iso_B exist in the mass table + if( iso_A.Mass == -404 || iso_B.Mass == -404 ){ + printf(" ===> Error! mass does not found. \n"); + continue; + } + + /// check reaction valid by balancing the A and Z number; + if( iso_A.A + iso_a.A != iso_B.A + iso_b.A || iso_A.Z + iso_a.Z != iso_B.Z + iso_b.Z ) { + printf("====> ERROR! A-number or Z-number not balanced. \n"); + Isotope isotopeK(iso_A.A + iso_a.A - iso_b.A, iso_A.Z + iso_a.Z - iso_b.Z); + printf(" try : %s(%s,%s)%s ??\n", iso_A.Name.c_str(), iso_a.Name.c_str(), iso_b.Name.c_str(), isotopeK.Name.c_str()); + continue; + } + + if( isTransferReaction && potential.length() != 2 ){ + printf("====> ERROR! Potential input should be 2 charaters! skipped. \n"); + continue; + } + + string node ; + string jValue ; + string lValue ; + int spdf = -1; + + if( isTransferReaction ) { + ///printf("------------ %d nucleon(s) transfer \n", abs(iso_a.A - iso_b.A)); + node = orbital.substr(0,1); + + // single nucleon transfer + if( abs(iso_a.A - iso_b.A) == 1 ){ + lValue = orbital.substr(1,1); + jValue = orbital.substr(2); + ///printf(" l : %s, j : %s \n", lValue.c_str(), jValue.c_str()); + spdf = GetLValue(lValue); + } + + // two-nucleons transfer + if( abs(iso_a.A - iso_b.A) == 2 ){ + size_t posEq = orbital.find('='); + lValue = orbital.substr(posEq+1,1); + spdf=atoi(lValue.c_str()); + } + + if( abs(iso_a.A - iso_b.A) == 0 ){ + printf(" ===? skipped. p-n exchange reaction does not support. \n"); + } + + if( spdf == -1 ){ + printf(" ===> skipped. Not reconginzed orbital-label. (user input : l=%s | %s) \n", lValue.c_str(), orbital.c_str()); + continue; + } + } + + //get Beam energy, distingusih MeV or MeV/u + int pos = reactionEnergy.length() - 1; + for( int i = pos; i >= 0 ; i--){ + if( isdigit(reactionEnergy[i]) ) { + pos = i; + break; + } + } + string unit = reactionEnergy.substr(pos+1); + int factor = 1; + if( unit == "MeV/u") factor = iso_a.A; + double totalBeamEnergy = atof(reactionEnergy.substr(0, pos+1).c_str()) * factor; + + ///printf("unit : |%s| , %f\n", unit.c_str(), totalBeamEnergy); + ///printf(" target nucleus : %s \n", isoA.c_str()); + ///printf(" reaction : %s \n", reactionType.c_str()); + ///printf(" remain : %s \n", isoB.c_str()); + ///printf(" reaction energy : %s \n", reactionEnergy.c_str()); + ///printf(" Potential : %s \n", potential.c_str()); + ///printf(" orbital : %s \n", orbital.c_str()); + ///printf(" Ex [MeV] : %s \n", Ex.c_str()); + + double Qvalue = iso_a.Mass + iso_A.Mass - iso_b.Mass - iso_B.Mass; + ///printf("Q-Value = %f MeV\n", Qvalue); + + //########################################################## + //============ write ptolmey infile + numOfReaction ++ ; + + //================ elastic-ish transfer + if( isTransferReaction == false ){ + if ( atof(Ex.c_str()) == 0.0 ) { + fprintf(file_out, "$============================================ ELab=%5.2f(%s+%s)%s\n", + totalBeamEnergy, mass_a.c_str(), isoA.c_str(), potential.c_str()); + fprintf(file_out, "reset\n"); + fprintf(file_out, "CHANNEL %s + %s\n", mass_a.c_str(), isoA.c_str()); + fprintf(file_out, "r0target\n"); + fprintf(file_out, "ELAB = %f\n", totalBeamEnergy); + fprintf(file_out, "JBIGA=%s\n", gsSpinA.c_str()); + string pot1Name = potential.substr(0,1); + string pot1Ref = potentialRef(pot1Name); + fprintf(file_out, "$%s\n", pot1Ref.c_str()); + CallPotential(pot1Name, iso_A.A, iso_A.Z, totalBeamEnergy, iso_a.Z); + fprintf(file_out, "v = %7.3f r0 = %7.3f a = %7.3f\n", v, r0, a); + fprintf(file_out, "vi = %7.3f ri0 = %7.3f ai = %7.3f\n", vi, ri0, ai); + fprintf(file_out, "vsi = %7.3f rsi0 = %7.3f asi = %7.3f\n", vsi, rsi0, asi); + fprintf(file_out, "vso = %7.3f rso0 = %7.3f aso = %7.3f\n", vso, rso0, aso); + fprintf(file_out, "vsoi = %7.3f rsoi0 = %7.3f asoi = %7.3f rc0 = %7.3f\n", vsoi, rsoi0, asoi, rc0); + fprintf(file_out, "ELASTIC SCATTERING\n"); + fprintf(file_out, ";\n"); + }else{ + fprintf(file_out, "$============================================ Ex=%s(%s+%s|%s%s)%s,ELab=%5.2f\n", + Ex.c_str(), mass_a.c_str(), isoA.c_str(), spin.c_str(), parity.c_str(), potential.c_str(),totalBeamEnergy); + fprintf(file_out, "reset\n"); + fprintf(file_out, "REACTION: %s%s%s(%s%s %s) ELAB=%7.3f\n", + isoA.c_str(), reactionType.c_str(), isoB.c_str(), spin.c_str(), parity.c_str(), Ex.c_str(), totalBeamEnergy); + fprintf(file_out, "PARAMETERSET ineloca2 r0target\n"); + fprintf(file_out, "JBIGA=%s\n", gsSpinA.c_str()); + if( str0.size() >= 8 ){ + fprintf(file_out, "BETA=%s\n", str0[7].c_str()); //deformation length + } + string pot1Name = potential.substr(0,1); + string pot1Ref = potentialRef(pot1Name); + fprintf(file_out, "$%s\n", pot1Ref.c_str()); + CallPotential(pot1Name, iso_A.A, iso_A.Z, totalBeamEnergy, iso_a.Z); + fprintf(file_out, "INCOMING\n"); + fprintf(file_out, "v = %7.3f r0 = %7.3f a = %7.3f\n", v, r0, a); + fprintf(file_out, "vi = %7.3f ri0 = %7.3f ai = %7.3f\n", vi, ri0, ai); + fprintf(file_out, "vsi = %7.3f rsi0 = %7.3f asi = %7.3f rc0 = %7.3f\n", vsi, rsi0, asi, rc0); + ///fprintf(file_out, "vso = %7.3f rso0 = %7.3f aso = %7.3f\n", vso, rso0, aso); + ///fprintf(file_out, "vsoi = %7.3f rsoi0 = %7.3f asoi = %7.3f rc0 = %7.3f\n", vsoi, rsoi0, asoi, rc0); + fprintf(file_out, ";\n"); + + fprintf(file_out, "OUTGOING\n"); + fprintf(file_out, "$%s\n", pot1Ref.c_str()); + CallPotential(pot1Name, iso_A.A, iso_A.Z, totalBeamEnergy - atof(Ex.c_str()), iso_a.Z); + fprintf(file_out, "v = %7.3f r0 = %7.3f a = %7.3f\n", v, r0, a); + fprintf(file_out, "vi = %7.3f ri0 = %7.3f ai = %7.3f\n", vi, ri0, ai); + fprintf(file_out, "vsi = %7.3f rsi0 = %7.3f asi = %7.3f rc0 = %7.3f\n", vsi, rsi0, asi, rc0); + ///fprintf(file_out, "vsi = %7.3f rsi0 = %7.3f asi = %7.3f\n", vsi, rsi0, asi); + ///fprintf(file_out, "vso = %7.3f rso0 = %7.3f aso = %7.3f\n", vso, rso0, aso); + ///fprintf(file_out, "vsoi = %7.3f rsoi0 = %7.3f asoi = %7.3f rc0 = %7.3f\n", vsoi, rsoi0, asoi, rc0); + fprintf(file_out, ";\n"); + } + } + + //================ Transfer reaction + if( isTransferReaction ){ + fprintf(file_out, "$============================================ Ex=%s(%s)%s\n", Ex.c_str(), orbital.c_str(), potential.c_str()); + fprintf(file_out, "reset\n"); + fprintf(file_out, "REACTION: %s%s%s(%s%s %s) ELAB=%7.3f\n", + isoA.c_str(), reactionType.c_str(), isoB.c_str(), spin.c_str(), parity.c_str(), Ex.c_str(), totalBeamEnergy); + + //-------- Projectile (the light particle) + if( abs(numNucleonsTransfer) == 1 ){ + if( iso_a.A <= 2 && iso_a.Z <= 1 && iso_b.A <=2 && iso_b.Z <= 1){ // incoming d or p + fprintf(file_out, "PARAMETERSET dpsb r0target \n"); + fprintf(file_out, "lstep=1 lmin=0 lmax=30 maxlextrap=0 asymptopia=50 \n"); + fprintf(file_out, "\n"); + fprintf(file_out, "PROJECTILE \n"); + fprintf(file_out, "wavefunction av18 \n"); + fprintf(file_out, "r0=1 a=0.5 l=0 rc0=1.2\n"); + } + + if( (3 <= iso_a.A && iso_a.A <= 4) || (3 <= iso_b.A && iso_b.A <= 4) ){ + fprintf(file_out, "PARAMETERSET alpha3 r0target \n"); + fprintf(file_out, "lstep=1 lmin=0 lmax=30 maxlextrap=0 asymptopia=50 \n"); + fprintf(file_out, "\n"); + fprintf(file_out, "PROJECTILE \n"); + fprintf(file_out, "wavefunction phiffer \n"); + + if( iso_a.Z + iso_b.Z == 2){ // (t,d) or (d,t) + fprintf(file_out, "nodes=0 l=0 jp=1/2 spfacp=1.30 v=172.88 r=0.56 a=0.69 param1=0.64 param2=1.15 rc=2.0\n"); + } + + if( iso_a.Z + iso_b.Z == 3){ // (3He,d) or (d, 3He) + fprintf(file_out, "nodes=0 l=0 jp=1/2 spfacp=1.31 v=179.94 r=0.54 a=0.68 param1=0.64 param2=1.13 rc=2.0\n"); + } + + if( iso_b.A == 4 ){ + fprintf(file_out, "nodes=0 l=0 jp=1/2 spfacp=1.61 v=202.21 r=.93 a=.66 param1=.81 param2=.87 rc=2.0 $ rc=2 is a quirk\n"); + } + } + }else if( abs(numNucleonsTransfer) == 2 ){ // 2 nucleons transfer + fprintf(file_out, "PARAMETERSET alpha3 r0target\n"); + fprintf(file_out, "lstep=1 lmin=0 lmax=30 maxlextrap=0 ASYMPTOPIA=40\n"); + fprintf(file_out, "\n"); + fprintf(file_out, "PROJECTILE\n"); + fprintf(file_out, "wavefunction phiffer\n"); + fprintf(file_out, "L = 0 NODES=0 R0 = 1.25 A = .65 RC0 = 1.25\n"); + } + fprintf(file_out, ";\n"); + + //===== TARGET + fprintf(file_out, "TARGET\n"); + ///check Ex is above particle threshold + double nThreshold = iso_B.CalSp(0,1); + double pThreshold = iso_B.CalSp(1,0); + bool isAboveThreshold = false; + double ExEnergy = atof(Ex.c_str()); + if( ExEnergy > nThreshold || ExEnergy > pThreshold ) { + isAboveThreshold = true; + printf(" Ex = %.3f MeV is above thresholds; Sp = %.3f MeV, Sn = %.3f MeV\n", ExEnergy, pThreshold, nThreshold); + } + + if( abs(iso_a.A-iso_b.A) == 1 ){ + fprintf(file_out, "JBIGA=%s\n", gsSpinA.c_str()); + if( isAboveThreshold ) { + fprintf(file_out, "nodes=%s l=%d jp=%s E=-.2 $node is n-1, set binding 200 keV \n", node.c_str(), spdf, jValue.c_str()); + }else{ + fprintf(file_out, "nodes=%s l=%d jp=%s $node is n-1 \n", node.c_str(), spdf, jValue.c_str()); + } + fprintf(file_out, "r0=1.25 a=.65 \n"); + fprintf(file_out, "vso=6 rso0=1.10 aso=.65 \n"); + fprintf(file_out, "rc0=1.3 \n"); + } + + if( abs(iso_a.A-iso_b.A) == 2 ){ + fprintf(file_out, "JBIGA=%s\n", gsSpinA.c_str()); + if( isAboveThreshold ){ + fprintf(file_out, "nodes=%s L=%d E=-.2 $node is n-1, binding by 200 keV \n", node.c_str(), spdf); + }else{ + fprintf(file_out, "nodes=%s L=%d $node is n-1 \n", node.c_str(), spdf); + } + } + + fprintf(file_out, ";\n"); + + //===== POTENTIAL + string pot1Name = potential.substr(0,1); + string pot1Ref = potentialRef(pot1Name); + fprintf(file_out, "INCOMING $%s\n", pot1Ref.c_str()); + CallPotential(pot1Name, iso_A.A, iso_A.Z, totalBeamEnergy, iso_a.Z); + fprintf(file_out, "v = %7.3f r0 = %7.3f a = %7.3f\n", v, r0, a); + fprintf(file_out, "vi = %7.3f ri0 = %7.3f ai = %7.3f\n", vi, ri0, ai); + fprintf(file_out, "vsi = %7.3f rsi0 = %7.3f asi = %7.3f\n", vsi, rsi0, asi); + fprintf(file_out, "vso = %7.3f rso0 = %7.3f aso = %7.3f\n", vso, rso0, aso); + fprintf(file_out, "vsoi = %7.3f rsoi0 = %7.3f asoi = %7.3f rc0 = %7.3f\n", vsoi, rsoi0, asoi, rc0); + fprintf(file_out, ";\n"); + + string pot2Name = potential.substr(1,1); + string pot2Ref = potentialRef(pot2Name); + fprintf(file_out, "OUTGOING $%s\n", pot2Ref.c_str()); + //printf(" total Beam Energy : %f | Qvalue : %f | Ex : %f \n", totalBeamEnergy, Qvalue, atof(Ex.c_str())); + double eBeam = totalBeamEnergy + Qvalue - atof(Ex.c_str()); + CallPotential(pot2Name, iso_B.A, iso_B.Z, eBeam, iso_b.Z); + fprintf(file_out, "v = %7.3f r0 = %7.3f a = %7.3f\n", v, r0, a); + fprintf(file_out, "vi = %7.3f ri0 = %7.3f ai = %7.3f\n", vi, ri0, ai); + fprintf(file_out, "vsi = %7.3f rsi0 = %7.3f asi = %7.3f\n", vsi, rsi0, asi); + fprintf(file_out, "vso = %7.3f rso0 = %7.3f aso = %7.3f\n", vso, rso0, aso); + fprintf(file_out, "vsoi = %7.3f rsoi0 = %7.3f asoi = %7.3f rc0 = %7.3f\n", vsoi, rsoi0, asoi, rc0); + fprintf(file_out, ";\n"); + } + + + + + fprintf(file_out, "anglemin=%f anglemax=%f anglestep=%f\n", angMin, angMax, angStep); + fprintf(file_out, ";\n"); + + } + + printf("================= end of input. Number of Reaction : %d \n", numOfReaction); + + fprintf(file_out, "end $================================== end of input\n"); + file_in.close(); + fclose(file_out); + + return 1; + +} diff --git a/cleopatra/Isotope.C b/cleopatra/Isotope.C new file mode 100644 index 0000000..d100516 --- /dev/null +++ b/cleopatra/Isotope.C @@ -0,0 +1,64 @@ +/*********************************************************************** + * + * This is Isotope.C for isotope mass-related quatilies + * + * ----------------------------------------------------- + * To compile + * + * g++ Isotope.C -o Isotope + * + * ------------------------------------------------------ + * created by Ryan (Tsz Leung) Tang, Feb-20, 2021 + * email: goluckyryan@gmail.com + * ********************************************************************/ + +#include +#include +#include "ClassIsotope.h" + +using namespace std; + +void Usage(){ + cout << "./Isotope Sym" << endl; + cout << "./Isotope A Z" << endl; + ///cout << "./Isotope A Z A' Z'" << endl; + ///cout << " Opt = rkm, e.g. 001 only calculate mass" << endl; + ///cout << " |||_ mass " << endl; + ///cout << " ||__ kinematics " << endl; + ///cout << " |___ reaction kinematics " << endl; + exit(0); +} + +int main (int argc, char *argv[]) { + + printf("=================================================================\n"); + printf("========== Isotope mass-related quantities ==========\n"); + printf("=================================================================\n"); + + if ( argc != 2 && argc != 3 && argc != 6) Usage(); + + Isotope iso1, iso2; + int Z, A, Za, Aa; + //string Opt = argv[1]; + + if (argc == 2){ + iso1.SetIsoByName(argv[1]); + } + if (argc == 3){ + A= atoi(argv[1]); + Z= atoi(argv[2]); + iso1.SetIso(A, Z); + //}else if ( argc == 6){ + // A= atoi(argv[2]); + // Z= atoi(argv[3]); + // Aa= atoi(argv[4]); + // Za= atoi(argv[5]); + // iso1.SetIso(A, Z); + // iso2.SetIso(Aa,Za); + } + + iso1.Print(); + + iso1.ListShell(); + +} diff --git a/cleopatra/PlotTGraphTObjArray.C b/cleopatra/PlotTGraphTObjArray.C new file mode 100644 index 0000000..c65fbdc --- /dev/null +++ b/cleopatra/PlotTGraphTObjArray.C @@ -0,0 +1,58 @@ +/*********************************************************************** + * + * This is PlotResultInRoot.C for ExtractXSec *.root output + * + * The Xsec are stored in (TObjArray *) gList + * + * This program is simple get plot all the member in the gList + * + * ----------------------------------------------------- + * This program will call the root library and compile in g++ + * compilation: + * g++ PlotResultInROOT.C -o PlotResultInROOT `root-config --cflags --glibs` + * + * ------------------------------------------------------ + * created by Ryan (Tsz Leung) Tang, Nov-18, 2018 + * email: goluckyryan@gmail.com + * ********************************************************************/ + +#include +#include +#include +#include "PlotTGraphTObjArray.h" +using namespace std; + + +int main (int argc, char *argv[]) { + + printf("=================================================================\n"); + printf("==================== Plot Results in ROOT =======================\n"); + printf("=================================================================\n"); + + if(argc < 2) { + printf("Usage: ./PlotTGraphTObjArray root_file [savePNG]\n"); + printf(" savePNG : 1 or 0, default is 0\n"); + exit(0); + }else{ + printf("From file : %s \n", argv[1]); + printf("=========== Press Ctrl+C to end.\n"); + } + + string readFile = argv[1]; + bool isSavePNG = false; + if( argc >= 3) isSavePNG = atoi(argv[2]); + + if( isSavePNG ){ + + PlotTGraphTObjArray(readFile, true); + + }else{ + TApplication app ("app", &argc, argv); + + PlotTGraphTObjArray(readFile); + + app.Run(); //anything after this line is not running + } + return 0; + +} diff --git a/cleopatra/PlotTGraphTObjArray.h b/cleopatra/PlotTGraphTObjArray.h new file mode 100644 index 0000000..ea3b14e --- /dev/null +++ b/cleopatra/PlotTGraphTObjArray.h @@ -0,0 +1,101 @@ +/*********************************************************************** + * + * This is PlotResultInRoot.C for ExtractXSec *.root output + * + * The Xsec are stored in (TObjArray *) gList + * + * This program is simple get plot all the member in the gList + * + * ----------------------------------------------------- + * This program will call the root library and compile in g++ + * compilation: + * g++ PlotResultInROOT.C -o PlotResultInROOT `root-config --cflags --glibs` + * + * ------------------------------------------------------ + * created by Ryan (Tsz Leung) Tang, Nov-18, 2018 + * email: goluckyryan@gmail.com + * ********************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +void PlotTGraphTObjArray(TString rootFileName, bool isSavePNG = false){ + + TFile * file = new TFile(rootFileName, "READ"); + + TObjArray * gList = (TObjArray *) file->FindObjectAny("thetaCM_TGraph"); + + if( gList == NULL ) { + printf("No Result was found.\n"); + return; + } + + TCanvas * cPlots = new TCanvas("cPlots", "Ptolemy Results", 0, 0, 800, 600); + cPlots->SetLogy(); + + TLegend * legend = new TLegend( 0.6, 0.6, 0.9, 0.9); //x1, y1, x2, y2 + + const int n = gList->GetLast() + 1 ; + + TGraph ** gr = new TGraph *[n]; + + //Get minimum, maximum Y + double maxY = 0; + double minY = 10000000; + for ( int i = 0; i < n ; i++){ + + gr[i] = (TGraph *) gList->At(i); + gr[i]->SetLineColor(i+1); + gr[i]->GetXaxis()->SetTitle("#theta_{CM} [deg]"); + gr[i]->GetYaxis()->SetTitle("d#sigma/d#Omega [mb/sr]"); + + TString name = gr[i]->GetName(); + int pos = name.First("|"); + name.Remove(0, pos+1); + legend->AddEntry(gr[i], name); + + double miny = gr[i]->GetHistogram()->GetMinimum(); + double maxy = gr[i]->GetHistogram()->GetMaximum(); + + if( miny < minY ) minY = miny; + if( maxy > maxY ) maxY = maxy; + } + + + + for ( int i = 0; i < n ; i++){ + gr[i]->Draw("same"); + + if( i == 0 ){ + gr[i]->Draw(); + gr[i]->GetYaxis()->SetRangeUser(minY * 0.8, maxY * 1.2); + }else{ + gr[i]->Draw("same"); + } + } + legend->Draw(); + + cPlots->Update(); + cPlots->Draw(); + + if( isSavePNG ){ + TDatime dateTime; + TString outPNGName = Form("Xsec_%d%02d%02d_%06d.png", dateTime.GetYear(), dateTime.GetMonth(), dateTime.GetDay(), dateTime.GetTime()); + + cPlots->SaveAs(outPNGName); + printf("%s\n", outPNGName.Data()); + + gROOT->ProcessLine(".q"); + } + + for( int i = 0; i < n; i++) delete gr[i]; + delete [] gr; + +} diff --git a/cleopatra/PySimHelper.py b/cleopatra/PySimHelper.py new file mode 100755 index 0000000..70b439b --- /dev/null +++ b/cleopatra/PySimHelper.py @@ -0,0 +1,132 @@ +#!/usr/bin/env python3 + +#============== experimental Simulation Helper using PyROOT and PyQT +# +# need pip install PyQt6 +# need to make at Cleopatra +# +#===================================================== + +import sys +from PyQt6.QtCore import Qt +from PyQt6.QtWidgets import QApplication, QWidget, QMainWindow, QLabel, QPushButton, QVBoxLayout, QPlainTextEdit, QGroupBox, QGridLayout +import subprocess +import ROOT +import webbrowser + +def SaveTxtFromEditor(): + if presentFileName != "" : + with open(presentFileName, "w") as f: + f.write(editor.toPlainText()) + +def LoadTxtToEditor(txtFileName): + global presentFileName + SaveTxtFromEditor() + + presentFileName = txtFileName + with open(txtFileName) as f: + text = f.read() + editor.setPlainText(text) + +def RunSimulation(): + SaveTxtFromEditor() + bash_command = "../Cleopatra/SimTransfer reactionConfig.txt detectorGeo.txt 0 '' transfer.root" + process = subprocess.Popen(bash_command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + output, error = process.communicate() + if process.returncode != 0: + print("Error:", error.decode()) + else: + print("Output:", output.decode()) + + +def OpenHttpServer(): + global ser, file, tree + file = ROOT.TFile("transfer.root", "read") + tree = file.Get("tree") + + hEZ = ROOT.TH2F("hEZ", "E - Z; z[mm]; e[MeV]", 400, -600, 0, 400, 0, 10) + hXY = ROOT.TH2F("hXY", "Array; X[mm]; Y[MeV]", 200, -20, 20, 200, -20, 20) + hRecoilXY = ROOT.TH2F("hRecoilXY", "Recoil; X[mm]; Y[MeV]", 400, -60, 60, 400, -60, 60) + hThetaCMZ = ROOT.TH2F("hThetaCMZ", "TheatCM - Z; X[mm]; thetaCM [deg]", 400, -600, 0, 400, 0, 60) + hExCal = ROOT.TH1F("hExCal", "ExCal; MeV", 400, -1, 5) + + + for event in tree: + if( event.hit != 1 or event.thetaCM < 10 or event.loop != 1) : continue + + hEZ.Fill(event.array_hit_z, event.energy_light) # x, y + hXY.Fill(event.xArray, event.yArray) + hRecoilXY.Fill(event.xRecoil, event.yRecoil) + hThetaCMZ.Fill(event.array_hit_z, event.thetaCM) + hExCal.Fill(event.ExCal) + + + ser = ROOT.THttpServer("http:9876") + # ser.SetJSROOT("https://root.cern.ch/js/latest/") + + ser.Register("/", hEZ) + ser.Register("/", hXY) + ser.Register("/", hRecoilXY) + ser.Register("/", hThetaCMZ) + ser.Register("/", hExCal) + + ser.SetItemField("/","_layout","grid4x4") + ser.SetItemField("/","_drawitem","[hEZ, hRecoilXY, hExCal, hThetaCM]") + + webbrowser.open("http://localhost:9876/") + + +######################################################## +if __name__ == "__main__": + + app = QApplication(sys.argv) + editor = QPlainTextEdit() + + presentFileName = "" + + ser = None + file = None + tree = None + + window = QMainWindow() + window.setWindowTitle("Simulation Helper") + window.setFixedSize(800, 1000) + + mainWidget = QWidget() + window.setCentralWidget(mainWidget) + + layout = QGridLayout() + mainWidget.setLayout(layout) + + reactionGroup = QGroupBox("Reaction", window) + layout.addWidget(reactionGroup, 0, 0) + reactionLayout = QVBoxLayout(reactionGroup) + + bDetGeo = QPushButton("Detector Geo", reactionGroup) + reactionLayout.addWidget(bDetGeo) + bDetGeo.clicked.connect(lambda : LoadTxtToEditor("detectorGeo.txt")) + + bReactionConfig = QPushButton("Reaction Config", reactionGroup) + reactionLayout.addWidget(bReactionConfig) + bReactionConfig.clicked.connect(lambda : LoadTxtToEditor("reactionConfig.txt")) + + bSim = QPushButton("Simulation", reactionGroup) + reactionLayout.addWidget(bSim) + bSim.clicked.connect(RunSimulation) + + bTest = QPushButton("Open Browser", reactionGroup) + reactionLayout.addWidget(bTest) + bTest.clicked.connect(OpenHttpServer) + + layout.addWidget(editor, 0, 1, 5, 5) + LoadTxtToEditor("detectorGeo.txt") + + # # Create PyQtGraph plot + # plot = PlotWidget() + # plot_item = plot.getPlotItem() + # plot_item.plot(x=[1, 2, 3], y=[4, 6, 2]) + # layout.addWidget(plot) + + # Show the window and start the event loop + window.show() + sys.exit(app.exec()) \ No newline at end of file diff --git a/cleopatra/SimAlpha.C b/cleopatra/SimAlpha.C new file mode 100644 index 0000000..f01795b --- /dev/null +++ b/cleopatra/SimAlpha.C @@ -0,0 +1,181 @@ +#include "../Cleopatra/ClassHelios.h" +#include "TROOT.h" +#include "TBenchmark.h" +#include "TLorentzVector.h" +#include "TMath.h" +#include "TFile.h" +#include "TF1.h" +#include "TTree.h" +#include "TRandom.h" +#include +#include +#include +#include + +//----------- usage +// $root transfer.C+ | tee output.txt +// this will same the massage to output.txt + +const double ma = 3727.3792; // alpha mass + +void alpha( int numEvent = 100000){ + + //================================================= User Setting + std::string heliosDetGeoFile = "detectorGeo.txt"; + int geoID = 0; + + //std::vector energy = {3.18, 5.16, 5.49, 5.81}; + std::vector energy = {5.34, 5.42, 5.68, 6.05, 6.23, 6.77, 8.78}; //228Th + + //---- Over-ride HELIOS detector geometry + // double BField = 2.5; // T + // double BFieldTheta = 0.; // direction of B-field + // bool isCoincidentWithRecoil = false; + // double eSigma = 0.040 ; // detector energy sigma MeV + // double zSigma = 0.500 ; // detector position sigma mm + + //---- save root file name + TString saveFileName = "SimAlpha.root"; + + //============================================================= + //============================================================= + + printf("===================================================\n"); + printf("============= Alpha source in HELIOS ============\n"); + printf("===================================================\n"); + + int numEnergy = energy.size(); + printf("========= Alpha Enegry : \n"); + for( int i = 0; i < numEnergy ; i++){ + printf("%2d | %6.2f MeV\n", i, energy[i]); + } + + + //======== Set HELIOS + printf("############################################## HELIOS configuration\n"); + HELIOS helios; + // helios.OverrideMagneticFieldDirection(BFieldTheta); + // helios.OverrideFirstPos(-700); + //helios.OverrideDetectorDistance(5); + // bool sethelios = helios.SetDetectorGeometry(heliosDetGeoFile, geoID); + // if( !sethelios){ + // helios.OverrideMagneticField(BField); + // printf("======== B-field : %5.2f T, Theta : %6.2f deg\n", BField, BFieldTheta); + // } + // helios.SetCoincidentWithRecoil(isCoincidentWithRecoil); + // printf("========== energy resol.: %f MeV\n", eSigma); + // printf("=========== pos-Z resol.: %f mm \n", zSigma); + helios.SetDetectorGeometry(heliosDetGeoFile, geoID); + helios.PrintGeometry(); + + //====================== build tree + TFile * saveFile = new TFile(saveFileName, "recreate"); + TTree * tree = new TTree("tree", "tree"); + + double theta, phi, T; + + int hit; // the output of Helios.CalHit + double e, z, x, t; + int loop, detID; + double dphi, rho; //rad of rotation, and radius + int energyID; + double xHit, yHit; + + tree->Branch("hit", &hit, "hit/I"); + tree->Branch("theta", &theta, "theta/D"); + tree->Branch("phi", &phi, "phi/D"); + tree->Branch("T", &T, "T/D"); + tree->Branch("energy", &energy, "energy/D"); + tree->Branch("energyID", &energyID, "energyID/I"); + + tree->Branch("e", &e, "e/D"); + tree->Branch("z", &z, "z/D"); + tree->Branch("t", &t, "t/D"); + tree->Branch("detID", &detID, "detID/I"); + tree->Branch("loop", &loop, "loop/I"); + tree->Branch("dphi", &dphi, "dphi/D"); + tree->Branch("rho", &rho, "rho/D"); + tree->Branch("xHit", &xHit, "xHit/D"); + tree->Branch("yHit", &yHit, "yHit/D"); + + //========timer + TBenchmark clock; + bool shown ; + clock.Reset(); + clock.Start("timer"); + shown = false; + printf("############################################## generating %d events \n", numEvent); + + //====================================================== calculate + int count = 0; + TLorentzVector P; + TVector3 v; + for( int i = 0; i < numEvent; i++){ + //==== generate alpha + theta = TMath::ACos(2 * gRandom->Rndm() - 1) ; + phi = TMath::TwoPi() * gRandom->Rndm(); + + energyID = gRandom->Integer(numEnergy); + T = energy[energyID]; + + double p = TMath::Sqrt( ( ma + T )*(ma + T) - ma* ma); + + v.SetMagThetaPhi(p, theta, phi); + + P.SetVectM(v, ma); + P.SetUniqueID(2); //alpha particle has charge 2 + + //################################### tree branches + + //==== Helios + helios.CalArrayHit(P); + hit = helios.CheckDetAcceptance(); + + e = helios.GetEnergy() + gRandom->Gaus(0, helios.GetDetectorGeometry().array[geoID].eSigma); + + trajectory orb = helios.GetTrajectory_b(); + + z = orb.z + gRandom->Gaus(0, helios.GetDetectorGeometry().array[geoID].zSigma); + t = orb.t; + loop = orb.effLoop; + detID = orb.detID; + dphi = orb.phi; + rho = orb.rho; + xHit = orb.x; + yHit = orb.y; + + if( hit == 1) { + count ++; + } + + tree->Fill(); + + //#################################################################### Timer + clock.Stop("timer"); + Double_t time = clock.GetRealTime("timer"); + clock.Start("timer"); + + if ( !shown ) { + if (fmod(time, 10) < 1 ){ + printf( "%10d[%2d%%]| %8.2f sec | expect: %5.1f min \n", i, TMath::Nint((i+1)*100./numEvent), time , numEvent*time/(i+1)/60); + shown = 1; + } + }else{ + if (fmod(time, 10) > 9 ){ + shown = 0; + } + } + } + + saveFile->Write(); + saveFile->Close(); + + printf("=============== done. saved as %s. count(hit==1) : %d\n", saveFileName.Data(), count); + gROOT->ProcessLine(".q"); +} + +int main(){ + + alpha(); + return 0; +} \ No newline at end of file diff --git a/cleopatra/SimChecker.C b/cleopatra/SimChecker.C new file mode 100644 index 0000000..32c324f --- /dev/null +++ b/cleopatra/SimChecker.C @@ -0,0 +1,237 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../Armory/AnalysisLib.h" +#include "../Armory/ClassDetGeo.h" +#include "../Armory/ClassReactionConfig.h" +#include "../Cleopatra/ClassIsotope.h" +#include "../Cleopatra/ClassTransfer.h" +#include "../Cleopatra/ClassSimPlotter.h" +#include + +plotID StringToPlotID(TString str); + +void SimChecker(TString filename = "transfer.root", + TString configFile = "../working/SimCheckerConfig.txt", + Int_t padSize = 500, + bool outputCanvas = false){ + + printf("=================================================================\n"); + printf("==================== Simulate Checker ==================\n"); + printf("=================================================================\n"); + + TFile * file = new TFile(filename, "read"); + TTree * tree = (TTree*) file->Get("tree"); + + //*================= Get reactions and Ex + TMacro * ListOfReactions = (TMacro *) file->FindObjectAny("ListOfReactions"); + const short numReact = ListOfReactions->GetListOfLines()->GetEntries(); + + printf(">>>>> %d reactions found.\n", numReact); + + std::vector reactionList(numReact); + for( int i = 0; i < numReact; i++ ){ + std::string haha = ListOfReactions->GetListOfLines()->At(i)->GetName(); + std::vector kaka = AnalysisLib::SplitStr(haha, "|"); + reactionList[i]= kaka[1]; + } + + std::vector reactEx(numReact); //2-D array [i][j] = i-reaction, j-Ex + TMacro * AllExList = (TMacro *) file->FindObjectAny("AllExList"); + + TMacro * ExID_ReactID_List = (TMacro *) file->FindObjectAny("ExID_ReactID_List"); + const short numEx = ExID_ReactID_List->GetListOfLines()->GetEntries()-1; + + for( int i = 1; i <= numEx; i++){ + std::string haha = ExID_ReactID_List->GetListOfLines()->At(i)->GetName(); + std::vector kaka = AnalysisLib::SplitStr(haha, " "); + + std::string dudu = AllExList->GetListOfLines()->At(i)->GetName(); + std::vector dada = AnalysisLib::SplitStr(dudu, " "); + + short rID = atoi(kaka[1].c_str()); + reactEx[rID].Add(atof(dada[0].c_str()), + atof(dada[1].c_str()), + atof(dada[2].c_str()), + atof(dada[3].c_str())); + } + + for( int i = 0; i < numReact; i++ ){ + printf("=========== %s\n", reactionList[i].c_str()); + reactEx[i].Print(); + } + + //*================== detGeoID + TMacro * detGeotxt = (TMacro *) file->FindObjectAny("detGeo"); + DetGeo detGeo(detGeotxt); + detGeo.Print(true); + + //*================== Get EZ-curve + TObjArray * ezList = (TObjArray *) file->FindObjectAny("EZCurve"); + + //*================== Get thetaCM = 0 + TObjArray * thetaCM0List = (TObjArray *) file->FindObjectAny("thetaCM_Z"); + + //^################################################ Find e-range, z-range + + std::vector> zRange(numReact, std::vector(2)); + std::vector eMax(numReact); + + int count = 0; + for( int i = 0; i < numReact; i++ ){ + zRange[i][0] = detGeo.array[i].zMin-50; + zRange[i][1] = detGeo.array[i].zMax+50; + + eMax[i] = -1; + for( size_t j = 0; j < reactEx[i].ExList.size() ; j ++){ + TGraph * func = (TGraph *) ezList->At(count); + double aaa = func->Eval(zRange[i][1]); + // printf(" xxxxxxxxxxxx %d, %d | %d %.3f\n", i, j, count, aaa); + if( aaa > eMax[i] ) eMax[i] = aaa; + count++; + } + + eMax[i] = TMath::Ceil( eMax[i] * 1.1 ); + } + + // for( int i = 0; i < numReact; i++ ){ + // printf(" %d | eMax : %.2f, zRange : %.2f, %.2f \n", i, eMax[i], zRange[i][0], zRange[i][1]); + // } + + // //^################################################ + TMacro * config = new TMacro(configFile); + int numLine = config->GetListOfLines()->GetSize(); + + TString gate; + std::vector padPlotID; + + float elumMax = 60; + float thetaCMMax = 60; //TODO add thetaCM curves in transfer, so that it can be determinated automatically + + int rowCount = 0; + int colCount = 0; + + bool startCanvasConfig = false; + bool startGateConfig = false; + bool startExtra = false; + for( int i = 0; i < numLine ; i++){ + std::string haha = config->GetListOfLines()->At(i)->GetName(); + std::vector dudu = AnalysisLib::SplitStr(haha, ","); + TString lala = haha; + lala.Remove(3); + if( (lala == " " || lala == "// " || lala == "//=") && dudu.size() == 0) continue; + if( lala == "//#" ) break; + if( lala == "//*" ) { + startCanvasConfig = true; + // rowCount ++; + continue; + } + if( lala == "//^" ) { + startCanvasConfig = false; + startGateConfig = true; + continue; + } + if( lala == "//@" ) { + startGateConfig = false; + startExtra = true; + } + + if( startCanvasConfig ){ + rowCount ++; + // printf("|%s|\n", haha.c_str()); + if( dudu.size() > colCount ) colCount = dudu.size(); + + for( size_t k = 0; k < dudu.size() ; k++){ + padPlotID.push_back(StringToPlotID(dudu[k])); + } + } + + if( startGateConfig ){ + gate = haha; + } + + if( startExtra ){ + if( dudu[0] == "elum_Max" ) elumMax = atof(dudu[2].c_str()); + if( dudu[0] == "thetaCM_Max" ) thetaCMMax = atof(dudu[2].c_str()); + } + + } + + gStyle->SetOptStat(""); + gStyle->SetStatY(0.9); + gStyle->SetStatX(0.9); + gStyle->SetStatW(0.4); + gStyle->SetStatH(0.2); + gStyle->SetLabelSize(0.05, "XY"); + gStyle->SetTitleFontSize(0.1); + + printf(" Canvas division | col : %d, row : %d \n", colCount, rowCount); + count = 0; + for( int i = 0; i < rowCount; i++){ + for( int j = 0; j < colCount; j++){ + printf("%6d", padPlotID[count]); + count++; + } + printf("\n"); + } + + printf("Gate : %s \n", gate.Data()); + printf("elum Max : %.2f mm\n", elumMax); + printf("thetaCM Max : %.2f deg\n", thetaCMMax); + + printf("#####################################################\n"); + + Plotter ** plotter = new Plotter*[numReact]; + + for( int i = 0; i < numReact; i++){ + plotter[i] = new Plotter(tree, i, reactionList[i], detGeo, reactEx[i], gate, padPlotID); + plotter[i]->SetRanges(zRange[i][0], zRange[i][1], eMax[i], elumMax, thetaCMMax); + plotter[i]->SetCanvas(colCount, rowCount, 500, padPlotID); + plotter[i]->Plot(); + + } + + return; + +} + + +plotID StringToPlotID(TString str){ + + if( str == "pEZ") return plotID::pEZ; /// 0 + if( str == "pRecoilXY") return plotID::pRecoilXY; /// 1 + if( str == "pThetaCM" ) return plotID::pThetaCM; /// 2 + if( str == "pExCal" ) return plotID::pExCal; /// 3 + if( str == "pArrayXY" ) return plotID::pArrayXY; /// 4 + if( str == "pInfo" ) return plotID::pInfo; /// 5 + if( str == "pElum1XY" ) return plotID::pElum1XY; /// 6 + if( str == "pRecoilXY1" ) return plotID::pRecoilXY1; /// 7 + if( str == "pRecoilXY2" ) return plotID::pRecoilXY2; /// 8 + if( str == "pTDiffZ" ) return plotID::pTDiffZ; /// 9 + if( str == "pRecoilRThetaCM" ) return plotID::pRecoilRThetaCM; /// 10 + if( str == "pRecoilRZ" ) return plotID::pRecoilRZ; /// 11 + if( str == "pEElum1R" ) return plotID::pEElum1R; /// 12 + if( str == "pRecoilRTR" ) return plotID::pRecoilRTR; /// 13 + if( str == "pThetaCM_Z" ) return plotID::pThetaCM_Z; /// 14 + if( str == "pElum1RThetaCM" ) return plotID::pElum1RThetaCM; /// 15 + if( str == "pEmpty" ) return plotID::pEmpty ; /// 16 + + return plotID::pEmpty; +} \ No newline at end of file diff --git a/cleopatra/SimHelper.C b/cleopatra/SimHelper.C new file mode 100644 index 0000000..f3c6323 --- /dev/null +++ b/cleopatra/SimHelper.C @@ -0,0 +1,599 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#include "../Cleopatra/SimTransfer.C" +#include "../Cleopatra/InFileCreator.h" +#include "../Cleopatra/ExtractXSec.h" +#include "../Cleopatra/PlotTGraphTObjArray.h" +#include "../Armory/AutoFit.C" +#include "../Armory/AnalysisLib.h" +#include "../Cleopatra/SimChecker.C" + +#include +#include +#include +#include + +#ifdef __linux__ + #define OS_Type 1 +#elif __APPLE__ + #define OS_Type 0 +#endif + +TString isoFileName; + +class MyMainFrame { + RQ_OBJECT("MyMainFrame") + +private: + TGMainFrame *fMain; + + TGTextEdit * editor; + + TString fileName; + + TGLabel * fileLabel; + TGLabel * statusLabel; + + TGNumberEntry * angMin; + TGNumberEntry * angMax; + TGNumberEntry * angStep; + + TGCheckButton * withDWBA; + + TGCheckButton * isInFile; + TGCheckButton * isRun; + TGCheckButton * isExtract; + TGCheckButton * isPlot; + + TGComboBox * extractFlag; + + TGTextEntry * txtName ; + TGTextEntry * txtEx ; + +public: + MyMainFrame(const TGWindow *p,UInt_t w,UInt_t h); + virtual ~MyMainFrame(); + void Command(int); + void OpenFile(int); + void GetData(); + bool IsFileExist(TString filename); + +}; + + +MyMainFrame::MyMainFrame(const TGWindow *p,UInt_t w,UInt_t h) { + // Create a main frame + fMain = new TGMainFrame(p,w,h); + + TGHorizontalFrame *hframe = new TGHorizontalFrame(fMain,600,600 ); + fMain->AddFrame(hframe, new TGLayoutHints(kLHintsCenterX | kLHintsExpandX | kLHintsExpandY, 2,2,2,2)); + + TGVerticalFrame *hframe1 = new TGVerticalFrame(fMain,600,600 ); + hframe->AddFrame(hframe1); + + TGVerticalFrame *hframe2 = new TGVerticalFrame(fMain,600,1000 ); + hframe->AddFrame(hframe2,new TGLayoutHints( kLHintsExpandX | kLHintsExpandY, 2,2,2,2)); + + fileName = "../working/detectorGeo.txt"; + + TGHorizontalFrame *hframe00 = new TGHorizontalFrame(hframe2,600,600 ); + hframe2->AddFrame(hframe00, new TGLayoutHints(kLHintsCenterX | kLHintsExpandX , 2,2,2,2)); + + fileLabel = new TGLabel(hframe00, ""); + fileLabel->SetWidth(370); + fileLabel->SetHeight(20); + fileLabel->SetTextColor(kRed); + fileLabel->ChangeOptions(kFixedSize | kSunkenFrame); + fileLabel->SetText(fileName); + hframe00->AddFrame(fileLabel, new TGLayoutHints(kLHintsLeft, 2,2,2,2)); + + TGTextButton *save = new TGTextButton(hframe00,"Save"); + save->SetWidth(100); + save->SetHeight(20); + save->ChangeOptions( save->GetOptions() | kFixedSize ); + save->Connect("Clicked()","MyMainFrame",this,"Command(=3)"); + hframe00->AddFrame(save, new TGLayoutHints(kLHintsLeft,5,5,3,4)); + + TGTextButton *help = new TGTextButton(hframe00, "Help"); + help->SetWidth(100); + help->SetHeight(20); + help->ChangeOptions( help->GetOptions() | kFixedSize ); + help->Connect("Clicked()","MyMainFrame",this,"Command(=4)"); + hframe00->AddFrame(help,new TGLayoutHints(kLHintsLeft, 5,5,3,4)); + + editor = new TGTextEdit(hframe2, 600, 700); + editor->LoadFile(fileName); + hframe2->AddFrame(editor, new TGLayoutHints(kLHintsCenterX | kLHintsExpandX | kLHintsExpandY, 2,2,2,2)); + + statusLabel = new TGLabel(hframe2, ""); + statusLabel->SetWidth(600); + statusLabel->SetHeight(20); + statusLabel->SetTextJustify(kTextLeft); + statusLabel->SetTextColor(1); + statusLabel->ChangeOptions(kFixedSize | kSunkenFrame); + hframe2->AddFrame(statusLabel, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 2,2,2,2)); + + {//================= Simulation group + TGGroupFrame * simFrame = new TGGroupFrame(hframe1, "Kinematics Simulation", kVerticalFrame); + hframe1->AddFrame(simFrame, new TGLayoutHints(kLHintsCenterX, 5,5,3,4)); + + TGTextButton *openDet = new TGTextButton(simFrame, "detector Geo."); + openDet->SetWidth(150); + openDet->SetHeight(20); + openDet->ChangeOptions( openDet->GetOptions() | kFixedSize ); + openDet->Connect("Clicked()","MyMainFrame",this, "OpenFile(=0)"); + simFrame->AddFrame(openDet,new TGLayoutHints(kLHintsRight, 5,5,3,4)); + + TGTextButton *openRec = new TGTextButton(simFrame, "reaction Config"); + openRec->SetWidth(150); + openRec->SetHeight(20); + openRec->ChangeOptions( openRec->GetOptions() | kFixedSize ); + openRec->Connect("Clicked()","MyMainFrame",this, "OpenFile(=1)"); + simFrame->AddFrame(openRec,new TGLayoutHints(kLHintsRight, 5,5,3,4)); + + withDWBA = new TGCheckButton(simFrame, "Sim with DWBA"); + withDWBA->SetWidth(140); + withDWBA->ChangeOptions(kFixedSize ); + simFrame->AddFrame(withDWBA, new TGLayoutHints(kLHintsRight, 5,5,3,4)); + + TGTextButton *Sim = new TGTextButton(simFrame,"Simulate"); + Sim->SetWidth(150); + Sim->SetHeight(40); + Sim->ChangeOptions( Sim->GetOptions() | kFixedSize ); + Sim->Connect("Clicked()","MyMainFrame",this,"Command(=1)"); + simFrame->AddFrame(Sim, new TGLayoutHints(kLHintsRight,5,5,3,4)); + + TGTextButton *openSimChk = new TGTextButton(simFrame, "Config Simulation Plot"); + openSimChk->SetWidth(150); + openSimChk->SetHeight(20); + openSimChk->ChangeOptions( openSimChk->GetOptions() | kFixedSize ); + openSimChk->Connect("Clicked()","MyMainFrame",this, "OpenFile(=4)"); + simFrame->AddFrame(openSimChk,new TGLayoutHints(kLHintsRight, 5,5,3,4)); + + TGTextButton *SimChk = new TGTextButton(simFrame,"Re-Plot Simulation"); + SimChk->SetWidth(150); + //SimChk->SetHeight(40); + SimChk->ChangeOptions( SimChk->GetOptions() | kFixedSize ); + SimChk->Connect("Clicked()","MyMainFrame",this,"Command(=2)"); + simFrame->AddFrame(SimChk, new TGLayoutHints(kLHintsRight,5,5,3,4)); + + TGTextButton *autoFit = new TGTextButton(simFrame,"AutoFit ExCal"); + autoFit->SetWidth(150); + //autoFit->SetHeight(40); + autoFit->ChangeOptions( autoFit->GetOptions() | kFixedSize ); + autoFit->Connect("Clicked()","MyMainFrame",this,"Command(=5)"); + simFrame->AddFrame(autoFit, new TGLayoutHints(kLHintsRight,5,5,3,4)); + } + + {//================= DWBA group + TGGroupFrame * DWBAFrame = new TGGroupFrame(hframe1, "DWBA calculation", kVerticalFrame); + hframe1->AddFrame(DWBAFrame, new TGLayoutHints(kLHintsCenterX, 5,5,3,4)); + + TGTextButton *openDWBA = new TGTextButton(DWBAFrame, "DWBA setting"); + openDWBA->SetWidth(150); + openDWBA->SetHeight(20); + openDWBA->ChangeOptions( openDWBA->GetOptions() | kFixedSize ); + openDWBA->Connect("Clicked()","MyMainFrame",this, "OpenFile(=3)"); + DWBAFrame->AddFrame(openDWBA,new TGLayoutHints(kLHintsRight, 5,5,3,4)); + + TGTextButton *openInFile = new TGTextButton(DWBAFrame, "InFile"); + openInFile->SetWidth(150); + openInFile->SetHeight(20); + openInFile->ChangeOptions( openDWBA->GetOptions() | kFixedSize ); + openInFile->Connect("Clicked()","MyMainFrame",this, "OpenFile(=5)"); + DWBAFrame->AddFrame(openInFile,new TGLayoutHints(kLHintsRight, 5,5,3,4)); + + TGTextButton *openOutFile = new TGTextButton(DWBAFrame, "OutFile"); + openOutFile->SetWidth(150); + openOutFile->SetHeight(20); + openOutFile->ChangeOptions( openDWBA->GetOptions() | kFixedSize ); + openOutFile->Connect("Clicked()","MyMainFrame",this, "OpenFile(=6)"); + DWBAFrame->AddFrame(openOutFile,new TGLayoutHints(kLHintsRight, 5,5,3,4)); + + TGTextButton *xsecFile = new TGTextButton(DWBAFrame, "X-Sec"); + xsecFile->SetWidth(150); + xsecFile->SetHeight(20); + xsecFile->ChangeOptions( openDWBA->GetOptions() | kFixedSize ); + xsecFile->Connect("Clicked()","MyMainFrame",this, "OpenFile(=7)"); + DWBAFrame->AddFrame(xsecFile,new TGLayoutHints(kLHintsRight, 5,5,3,4)); + + //-------- angle setting + TGHorizontalFrame * hframe000 = new TGHorizontalFrame(DWBAFrame, 150, 30, kFixedSize); + DWBAFrame->AddFrame(hframe000); + + TGLabel * lb1 = new TGLabel(hframe000, "angMin"); + lb1->SetWidth(50); lb1->ChangeOptions( kFixedSize); + hframe000->AddFrame(lb1, new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 5, 5, 0, 0)); + + TGLabel * lb2 = new TGLabel(hframe000, "angMax"); + lb2->SetWidth(50); lb2->ChangeOptions( kFixedSize); + hframe000->AddFrame(lb2, new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 5, 5, 0, 0)); + + TGLabel * lb3 = new TGLabel(hframe000, "angStep"); + lb3->SetWidth(50); lb3->ChangeOptions( kFixedSize); + hframe000->AddFrame(lb3, new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 5, 5, 0, 0)); + + TGHorizontalFrame * hframe001 = new TGHorizontalFrame(DWBAFrame, 150, 30, kFixedSize); + DWBAFrame->AddFrame(hframe001); + + angMin = new TGNumberEntry(hframe001, 0, 0, 0, TGNumberFormat::kNESInteger, TGNumberFormat::kNEANonNegative); + angMin->SetWidth(50); + angMin->SetLimits(TGNumberFormat::kNELLimitMinMax, 0, 180); + hframe001->AddFrame(angMin, new TGLayoutHints(kLHintsCenterX , 5, 5, 0, 0)); + + angMax = new TGNumberEntry(hframe001, 60, 0, 0, TGNumberFormat::kNESInteger, TGNumberFormat::kNEANonNegative); + angMax->SetWidth(50); + angMax->SetLimits(TGNumberFormat::kNELLimitMinMax, 0, 180); + hframe001->AddFrame(angMax, new TGLayoutHints(kLHintsCenterX , 5, 5, 0, 0)); + + angStep = new TGNumberEntry(hframe001, 1, 0, 0, TGNumberFormat::kNESRealOne, TGNumberFormat::kNEAPositive); + angStep->SetWidth(50); + angStep->SetLimits(TGNumberFormat::kNELLimitMinMax, 0, 30); + hframe001->AddFrame(angStep, new TGLayoutHints(kLHintsCenterX, 5, 5, 0, 0)); + + //------- Check Boxes + isInFile = new TGCheckButton(DWBAFrame, "Create inFile"); + isInFile->SetWidth(100); + isInFile->ChangeOptions(kFixedSize ); + isInFile->SetState(kButtonDown); + DWBAFrame->AddFrame(isInFile, new TGLayoutHints(kLHintsLeft, 5,5,3,4)); + + isRun = new TGCheckButton(DWBAFrame, "Run Ptolemy"); + isRun->SetWidth(100); + isRun->ChangeOptions(kFixedSize ); + isRun->SetState(kButtonDown); + DWBAFrame->AddFrame(isRun, new TGLayoutHints(kLHintsLeft, 5,5,3,4)); + + isExtract = new TGCheckButton(DWBAFrame, "Extract Xsec"); + isExtract->SetWidth(100); + isExtract->ChangeOptions(kFixedSize ); + isExtract->SetState(kButtonDown); + DWBAFrame->AddFrame(isExtract, new TGLayoutHints(kLHintsLeft, 5,5,3,4)); + + isPlot = new TGCheckButton(DWBAFrame, "Plot"); + isPlot->SetWidth(100); + isPlot->ChangeOptions(kFixedSize ); + isPlot->SetState(kButtonDown); + DWBAFrame->AddFrame(isPlot, new TGLayoutHints(kLHintsLeft, 5,5,3,4)); + + extractFlag = new TGComboBox(DWBAFrame, 100); + extractFlag->SetWidth(130); + extractFlag->SetHeight(30); + + extractFlag->AddEntry("Xsec.", 2); + extractFlag->AddEntry("Ratio to Ruth.", 1); + extractFlag->AddEntry("Rutherford", 3); + extractFlag->Select(2); + DWBAFrame->AddFrame(extractFlag, new TGLayoutHints(kLHintsLeft, 5,5,3,4)); + + TGTextButton *DWBA = new TGTextButton(DWBAFrame, "DWBA"); + DWBA->SetWidth(150); + DWBA->SetHeight(40); + DWBA->ChangeOptions( DWBA->GetOptions() | kFixedSize ); + DWBA->Connect("Clicked()","MyMainFrame",this,"Command(=0)"); + DWBAFrame->AddFrame(DWBA,new TGLayoutHints(kLHintsRight, 5,5,3,4)); + } + + + // {//====================== Nuclear data API + // TGGroupFrame * dataFrame = new TGGroupFrame(hframe1, "Nuclear Data", kVerticalFrame); + // hframe1->AddFrame(dataFrame, new TGLayoutHints(kLHintsCenterX, 5,5,3,4)); + + // TGHorizontalFrame * hfData = new TGHorizontalFrame(dataFrame); dataFrame->AddFrame(hfData, new TGLayoutHints(kLHintsNormal, 0, 0, 5, 0)); + + // TGVerticalFrame * vfLabel = new TGVerticalFrame(hfData, 200); hfData->AddFrame(vfLabel ); + // TGVerticalFrame * vfTxt = new TGVerticalFrame(hfData); hfData->AddFrame(vfTxt); + + // TGLayoutHints * haha = new TGLayoutHints(kLHintsRight | kLHintsCenterY, 5,5,5,2); + // TGLayoutHints * kaka = new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 5,5,0,0); + + // TGLabel * lb1 = new TGLabel(vfLabel, "Nuclear Name :"); vfLabel->AddFrame(lb1, haha); + // TGLabel * lb2 = new TGLabel(vfLabel, "Max Ex [MeV] :"); vfLabel->AddFrame(lb2, haha); + + + // txtName = new TGTextEntry(vfTxt, "25F"); vfTxt->AddFrame(txtName, kaka); txtName->Resize(50, 20); + // txtEx = new TGTextEntry(vfTxt, "0"); vfTxt->AddFrame(txtEx, kaka); txtEx->Resize(50, 20); + + // TGTextButton *GetData = new TGTextButton(dataFrame, "Get Data"); + // GetData->SetWidth(150); + // GetData->SetHeight(40); + // GetData->ChangeOptions( GetData->GetOptions() | kFixedSize ); + // GetData->Connect("Clicked()","MyMainFrame",this,"GetData()"); + // dataFrame->AddFrame(GetData,new TGLayoutHints(kLHintsRight, 5,5,3,4)); + // } + + TGTextButton *exit = new TGTextButton(hframe1,"Exit", "gApplication->Terminate(0)"); + exit->SetWidth(150); + exit->SetHeight(40); + exit->ChangeOptions( exit->GetOptions() | kFixedSize ); + hframe1->AddFrame(exit, new TGLayoutHints(kLHintsCenterX | kLHintsExpandX, 5,5,3,4)); + + // Set a name to the main frame + fMain->SetWindowName("Simulation Helper"); + + // Map all subwindows of main frame + fMain->MapSubwindows(); + + // Initialize the layout algorithm + fMain->Resize(fMain->GetDefaultSize()); + + // Map main frame + fMain->MapWindow(); + + int versionInt = gROOT->GetVersionInt(); + + if( versionInt < 62600 ) { + statusLabel->SetText(Form("Root version : %s. Please Update Root to v6.26/00",gROOT->GetVersion())); + }else{ + statusLabel->SetText(Form("Root version : %s",gROOT->GetVersion())); + } +} + +bool MyMainFrame::IsFileExist(TString filename){ + ifstream file (filename.Data()); + return file.is_open(); +} + + +void MyMainFrame::OpenFile(int ID){ + + editor->SaveFile(fileName); + + TString oldFileName = fileName; + + if ( ID == 0 ) fileName = "../working/detectorGeo.txt"; + + if ( ID == 1 ) fileName = "../working/reactionConfig.txt"; + if ( ID == 3 ) fileName = "../working/DWBA"; + if ( ID == 5 ) fileName = "../working/DWBA.in"; + if ( ID == 6 ) fileName = "../working/DWBA.out"; + if ( ID == 7 ) fileName = "../working/DWBA.Xsec.txt"; + + if ( ID == 4 ) fileName = "../working/SimCheckerConfig.txt"; + if ( ID == 8 ) fileName = isoFileName; + + //test if file exist + if ( IsFileExist(fileName) ){ + + fileLabel->SetText(fileName); + + editor->LoadFile(fileName); + + if( ID >= 6 ) { + editor->SetReadOnly(true); + }else{ + editor->SetReadOnly(false); + } + + editor->ShowBottom(); + + if( ID < 6){ + statusLabel->SetText(fileName + " opened."); + }else{ + statusLabel->SetText(fileName + " opened. (READ ONLY)"); + } + }else{ + + statusLabel->SetText(fileName + " not exist."); + fileName = oldFileName; + + } + +} + +void MyMainFrame::GetData(){ + + TString name = txtName->GetText(); + TString maxEx = txtEx->GetText(); + + TString cmd = "../Cleopatra/nuclear_data.py " + name + " " + maxEx; + + system(cmd.Data()); + + statusLabel->SetText("Check termial."); + + //isoFileName = name + ".txt"; + + //OpenFile(8); + +} + +void MyMainFrame::Command(int ID) { + + editor->SaveFile(fileName); + + if( ID == 0 ){ + + if( isInFile->GetState()) { + double aMin = angMin->GetNumber(); + double aMax = angMax->GetNumber(); + double aStep = angStep->GetNumber(); + statusLabel->SetText("Creating DWBA.in....."); + InFileCreator("DWBA", "DWBA.in", aMin, aMax, aStep); + statusLabel->SetText("in-file created."); + } + + bool isRunOK = true; + if( isRun->GetState() && IsFileExist("DWBA.in") ) { + //printf("run ptolemy...........\n"); + + statusLabel->SetText("Running Ptolemy....."); + int output = 1; + if( OS_Type == 1 ){ + output = system("../Cleopatra/ptolemy DWBA.out"); + }else{ + output = system("../Cleopatra/ptolemy_mac DWBA.out"); + } + + statusLabel->SetText("Check terminal, if no massage, Ptolemy run well."); + + printf("Ptolemy exist code : %d\n", output); + if( output == 0 ) { + isRunOK = true; + }else{ + isRunOK = false; + statusLabel->SetText("Ptolemy exist with problems."); + } + } + + if( isRunOK && isExtract->GetState() && IsFileExist("DWBA.out")){ + int ElasticFlag = 0; // 1 for ratio to Rutherford, 2 for total Xsec, 3 for (n,n) Xsec + ElasticFlag = extractFlag->GetSelected(); + statusLabel->SetText("Extracting X-sec....."); + ExtractXSec("DWBA.out", ElasticFlag); + statusLabel->SetText("X-sec Extracted."); + } + + if( isRunOK && isPlot->GetState() && IsFileExist("DWBA.root")){ + statusLabel->SetText("Plot X-sec....."); + PlotTGraphTObjArray("DWBA.root"); + statusLabel->SetText("Plotted X-sec."); + } + } + + if( ID == 1 ){ + + string basicConfig = "reactionConfig.txt"; + string heliosDetGeoFile = "detectorGeo.txt"; + TString ptolemyRoot = ""; // when no file, use isotropic distribution of thetaCM + TString saveFileName = "transfer.root"; + + if( withDWBA->GetState() ) { + ptolemyRoot = "DWBA.root"; + } + + basicConfig = "reactionConfig.txt"; + heliosDetGeoFile = "detectorGeo.txt"; + ptolemyRoot = ""; // when no file, use isotropic distribution of thetaCM + saveFileName = "transfer.root"; + + if( withDWBA->GetState() ) { + ptolemyRoot = "DWBA.root"; + } + + statusLabel->SetText("Running simulation......."); + + Transfer( basicConfig, heliosDetGeoFile, ptolemyRoot, saveFileName); + + statusLabel->SetText("Plotting simulation......."); + + SimChecker("transfer.root"); + + statusLabel->SetText("Plotted Simulation result"); + } + + if( ID == 2 ){ + SimChecker("transfer.root"); + statusLabel->SetText(" Run Simulation first."); + } + + if( ID == 3 ){ + if( fileName != "" ){ + statusLabel->SetText(fileName + " saved."); + }else{ + statusLabel->SetText("cannot save HELP page."); + } + } + + if( ID == 4 ){ + fileName = ""; + statusLabel->SetText("Help Page."); + editor->LoadBuffer("==================== For Simulation"); + editor->AddLine(""); + editor->AddLine("1) Make sure you check :"); + editor->AddLine(" a) reaction Config"); + editor->AddLine(" b) detector Geo."); + editor->AddLine(" c) Ex List"); + editor->AddLine(""); + editor->AddLine("2) Not need to save file, fiel save when any button (except the Exit) is pressed."); + editor->AddLine(""); + editor->AddLine("3) There is a checkbox for simulation with DWBA"); + editor->AddLine(" This requires the existance of DWBA.root and DWBA.Ex.txt"); + editor->AddLine(" These files can be generated by DWBA calculation."); + editor->AddLine(" Please change the angMin = 0 and angMax = 180."); + editor->AddLine(""); + editor->AddLine("4) After simulation, it will plot the result."); + editor->AddLine(" To change the plotting, Click on the Config Simulation Plot."); + editor->AddLine(""); + editor->AddLine("5) If the transfer.root is already here, simply Plot Simulation."); + editor->AddLine(""); + editor->AddLine("========================= For DWBA "); + editor->AddLine(""); + editor->AddLine("1) Only need to change the DWBA setting."); + editor->AddLine(""); + editor->AddLine("2) The GUI offer a view on the infile and outfile."); + editor->AddLine(""); + editor->AddLine("3) For elastics scattering, there is a checkbox for plotting the ratio to RutherFord."); + editor->AddLine(""); + editor->AddLine("4) The flow of the DWBA calculation is like this:"); + editor->AddLine(" a) read the DWBA file and convert to DWBA.in"); + editor->AddLine(" b) run Ptolemy from DWBA.in, and the output is DWBA.out"); + editor->AddLine(" c) extract the cross section from the DWBA.out, and save :"); + editor->AddLine(" * DWBA.Xsec.txt"); + editor->AddLine(" * DWBA.Ex.txt"); + editor->AddLine(" * DWBA.root"); + editor->AddLine(" d) Plot the cross section from the DWBA.root."); + editor->AddLine(""); + editor->AddLine("================ Tips for using the editor, both MAC or LINUX"); + editor->AddLine(""); + editor->AddLine("Ctrl+U | Delete current line. "); + editor->AddLine("Ctrl+C | Copy "); + editor->AddLine("Ctrl+V | Paste "); + editor->AddLine("=================================================== eof"); + + TString osTypeStr; + osTypeStr.Form("OS type is %s", (OS_Type == 0 ? "Mac" : "Linux")); + + editor->AddLine(osTypeStr); + + editor->AddLine(Form("Root version : %s",gROOT->GetVersion())); + int versionInt = gROOT->GetVersionInt(); + + if( versionInt < 62600 ) { + editor->AddLine("Please Update Root to v6.26/00"); + } + + } + + if( ID == 5) { + + //TODO fit all hExCal + TH1F * temp = (TH1F*) gROOT->FindObjectAny("hExCal0"); + + if( temp != NULL ){ + AutoFit::fitAuto(temp, -1); + statusLabel->SetText("Auto Fit hExCal"); + }else{ + statusLabel->SetText("Cannot find historgram hExCal0. Please Run Plot Simulation first."); + } + + //gROOT->ProcessLine("fitAuto(hExCal, -1)"); + + } + +} + +MyMainFrame::~MyMainFrame() { + // Clean up used widgets: frames, buttons, layout hints + fMain->Cleanup(); + delete fMain; +} + + +void SimHelper() { + + new MyMainFrame(gClient->GetRoot(),800,1000); +} diff --git a/cleopatra/SimKnockout.C b/cleopatra/SimKnockout.C new file mode 100644 index 0000000..75944c7 --- /dev/null +++ b/cleopatra/SimKnockout.C @@ -0,0 +1,507 @@ +#include "ClassHelio.h" +#include "TROOT.h" +#include "TBenchmark.h" +#include "TLorentzVector.h" +#include "TMath.h" +#include "TFile.h" +#include "TF1.h" +#include "TTree.h" +#include "TRandom.h" +#include "TClonesArray.h" +#include +#include + +//----------- usage +// $root sim.C+ | tee output.txt +// this will same the massage to output.txt + +void knockout(){ + + //================================================= User Setting + //---- reaction + int AA = 23, ZA = 9; + int Aa = 1, Za = 1; + int A2 = 1, Z2 = 1; + + bool isNormalKinematics = false; + bool isOverRideExNegative = true; + double maxkb = 200.; + + //---- beam + double KEAmean = 100; // MeV/u + const int nKEA = 1; + double KEAList[nKEA] = {300}; + + double KEAsigma = 0; //KEAmean*0.001; // MeV/u , assume Guassian + double thetaMean = 0.; // mrad + double thetaSigma = 0.; // mrad , assume Guassian due to small angle + + int numEvent = 100000; + + //---- HELIOS detector geometry + string heliosDetGeoFile = "";//"detectorGeo_upstream.txt"; + double BField = 4.0; // if not detector, must set B-field, else, this value is not used. + double BFieldTheta = 0.; // direction of B-field + double eSigma = 0.0001 ; // detector energy sigma MeV + double zSigma = 0.1 ; // detector position sigma mm + + //---- excitation of Beam + int nExA = 1; + double ExAList[nExA]; + ExAList[0] = 0.000; // MeV + //ExAList[1] = 1.567; + + //---- Separation energy + string separationFile = "separation_energies.txt"; + + //---- save root file name + TString saveFileName = "knockout.root"; + + //---- Auxiliary setting + bool isTargetScattering = false; + bool isDecay = false; + bool isReDo = false; // redo calculation until detected. + + //---- target + double density = 0.913; // 0.913 g/cm3 + double targetThickness = 2./2. * 2.2e-4; // 2.2 um = 201 ug/cm2 + string stoppingPowerForA = "208Pb_in_CD2.txt"; // generated by SRIM + string stoppingPowerForb = "1H_in_CD2.txt"; + string stoppingPowerForB = "209Pb_in_CD2.txt"; + + //============================================================= + //============================================================= + //============================================================= + //===== Set Reaction + Knockout reaction; + int AB = AA-A2, ZB = ZA-Z2; + int A1 = Aa , Z1 = Za; + reaction.SetA(AA,ZA); + reaction.Seta(Aa,Za); + reaction.Set2(A2,Z2); + reaction.SetIncidentEnergyAngle(KEAmean, 0, 0); + reaction.OverRideExNegative(isOverRideExNegative); + + printf("===================================================\n"); + printf("=========== %s ===========\n", reaction.GetReactionName().Data()); + printf("=========== KE: %9.4f +- %5.4f MeV/u, dp/p = %5.2f %% \n", KEAmean, KEAsigma, KEAsigma/KEAmean * 50.); + printf("======== theta: %9.4f +- %5.4f MeV/u \n", thetaMean, thetaSigma); + printf("===================================================\n"); + + + //======== Set HELIOS + printf("############################################## HELIOS configuration\n"); + HELIOS helios1; // for particle-1 + HELIOS helios2; // for particle-2 + helios1.SetMagneticFieldDirection(BFieldTheta); + helios2.SetMagneticFieldDirection(BFieldTheta); + bool sethelios1 = helios1.SetDetectorGeometry(heliosDetGeoFile); + bool sethelios2 = helios2.SetDetectorGeometry(heliosDetGeoFile); + if( sethelios1 && sethelios2 ) { + int rowDet = helios1.GetNumberOfDetectorsInSamePos(); + printf("========== energy resol.: %f MeV\n", eSigma); + printf("=========== pos-Z resol.: %f mm \n", zSigma); + }else{ + helios1.SetMagneticField(BField); + helios2.SetMagneticField(BField); + printf("======== B-field : %5.2f T, Theta: %5.2f deg\n", BField, BFieldTheta); + } + + //==== Target scattering, only energy loss + if(isTargetScattering) printf("############################################## Target Scattering\n"); + TargetScattering msA; + TargetScattering msB; + TargetScattering msb; + + if(isTargetScattering) printf("======== Target : (thickness : %6.2f um) x (density : %6.2f g/cm3) = %6.2f ug/cm2\n", + targetThickness * 1e+4, + density, + targetThickness * density * 1e+6); + + if( isTargetScattering ){ + msA.LoadStoppingPower(stoppingPowerForA); + msb.LoadStoppingPower(stoppingPowerForb); + msB.LoadStoppingPower(stoppingPowerForB); + } + + //======= Decay of particle-B + Decay decay; + decay.SetMotherDaugther(AB, ZB, AB-1,ZB); //neutron decay + + + //======= loading excitation energy + printf("############################################## excitation energies\n"); + vector SpList; + printf("----- loading separation energies."); + ifstream file; + file.open(separationFile.c_str()); + string isotopeName; + if( file.is_open() ){ + string line; + int i = 0; + while( file >> line){ + //printf("%d, %s \n", i, line.c_str()); + if( line.substr(0,2) == "//" ) continue; + if( i == 0 ) isotopeName = line; + if ( i >= 1 ){ + SpList.push_back(atof(line.c_str())); + } + i = i + 1; + } + file.close(); + printf("... done.\n"); + printf("========== %s\n", isotopeName.c_str()); + int n = SpList.size(); + for(int i = 0; i < n ; i++){ + if( isDecay ) { + TLorentzVector temp(0,0,0,0); + int decayID = decay.CalDecay(temp, SpList[i], 0); + if( decayID == 1) { + printf("%d, Sp: %6.2f MeV --> Decay. \n", i, SpList[i]); + }else{ + printf("%d, Sp: %6.2f MeV\n", i, SpList[i]); + } + }else{ + printf("%d, Sp: %6.2f MeV \n", i, SpList[i]); + } + } + }else{ + printf("... fail\n"); + return; + } + + //====================== build tree + TFile * saveFile = new TFile(saveFileName, "recreate"); + TTree * tree = new TTree("tree", "tree"); + + double thetaNN, phiNN; + double theta1, phi1, T1; + double theta2, phi2, T2; + double thetaB, TB; + double Sp, kb, thetab, phib; + int SpID; + + double ExA; + int ExAID; + double KEA, KEAscattered, theta, phi; + + double mB,mb; + + tree->Branch("theta1", &theta1, "theta1/D"); + tree->Branch("phi1", &phi1, "phi1/D"); + tree->Branch("T1", &T1, "T1/D"); + tree->Branch("theta2", &theta2, "theta2/D"); + tree->Branch("phi2", &phi2, "phi2/D"); + tree->Branch("T2", &T2, "T2/D"); + tree->Branch("thetaB", &thetaB, "thetaB/D"); + tree->Branch("TB", &TB, "TB/D"); + tree->Branch("thetaNN", &thetaNN, "thetaNN/D"); + tree->Branch("phiNN", &phiNN, "phiNN/D"); + tree->Branch("Sp", &Sp, "Sp/D"); + tree->Branch("kb", &kb, "kb/D"); + tree->Branch("thetab", &thetab, "thetab/D"); + tree->Branch("phib", &phib, "phib/D"); + + tree->Branch("SpID", &SpID, "SpID/I"); + + tree->Branch("ExAID", &ExAID, "ExAID/I"); + tree->Branch("KEA", &KEA, "KEA/D"); + if(isTargetScattering) tree->Branch("KEAscattered", &KEAscattered, "KEAscattered/D"); + tree->Branch("theta", &theta, "theta/D"); + tree->Branch("phi", &phi, "phi/D"); + + tree->Branch("mB", &mB, "mB/D"); + tree->Branch("mb", &mb, "mb/D"); + + tree->Branch("Bfield", &BField, "Bfield/D"); + + TClonesArray * arr = new TClonesArray("TLorentzVector"); + tree->Branch("fV", arr, 256000); + arr->BypassStreamer(); + + TClonesArray * arrN = new TClonesArray("TLorentzVector"); + tree->Branch("fVN", arrN, 256000); + arrN->BypassStreamer(); + + TLorentzVector* fourVector = NULL; + + // the output of Helios.CalHit + double e1, z1, t1, rho1, x1h, y1h, r1h; + double e2, z2, t2, rho2, x2h, y2h, r2h; + tree->Branch("e1", &e1, "e1/D"); + tree->Branch("z1", &z1, "z1/D"); + tree->Branch("t1", &t1, "t1/D"); + tree->Branch("x1h", &x1h, "x1h/D"); //at 200 mm downstream + tree->Branch("y1h", &y1h, "y1h/D"); + tree->Branch("r1h", &r1h, "r1h/D"); + tree->Branch("rho1", &rho1, "rho1/D"); + + tree->Branch("e2", &e2, "e2/D"); + tree->Branch("z2", &z2, "z2/D"); + tree->Branch("t2", &t2, "t2/D"); + tree->Branch("x2h", &x2h, "x2h/D"); //at 200 mm downstream + tree->Branch("y2h", &y2h, "y2h/D"); + tree->Branch("r2h", &r2h, "r2h/D"); + tree->Branch("rho2", &rho2, "rho2/D"); + + double Sp2; + tree->Branch("Sp2", &Sp2, "Sp2/D"); + + //different coordinate + double a0, a1, a2; // in k1-k2 coordinate + tree->Branch("a0", &a0, "a0/D"); + tree->Branch("a1", &a1, "a1/D"); + tree->Branch("a2", &a2, "a2/D"); + + double b; // in THREEDEE coordinate + tree->Branch("b", &b, "b/D"); + + //========timer + TBenchmark clock; + bool shown ; + clock.Reset(); + clock.Start("timer"); + shown = false; + printf("############################################## generating %d events \n", numEvent); + + //====================================================== calculate + int count = 0; + for( int i = 0; i < numEvent; i++){ + bool redoFlag = true; + if( !isReDo ) redoFlag = false; + do{ + + //==== Set Ex of A + ExAID = gRandom->Integer(nExA); + ExA = ExAList[ExAID]; + reaction.SetExA(ExA); + + //==== Set Sp of B + SpID = gRandom->Integer(SpList.size()); + Sp = SpList[SpID]; + + //==== Set incident beam + if( KEAsigma == 0 ){ + KEA = KEAmean; + }else{ + KEA = gRandom->Gaus(KEAmean, KEAsigma); + } + if( thetaSigma == 0 ){ + theta = thetaMean; + }else{ + theta = gRandom->Gaus(thetaMean, thetaSigma); + } + + int rKEA = gRandom->Integer(nKEA); + KEA = KEAList[rKEA]; + + /* + KEA = 300*gRandom->Rndm(); + BField = 4*gRandom->Rndm(); + helios1.SetMagneticField(BField); + helios2.SetMagneticField(BField); + */ + + reaction.SetIncidentEnergyAngle(KEA, theta, 0.); + + + /* + //For target scattering + reaction.CalIncidentChannel(isNormalKinematics); // but only need is PA + TLorentzVector PA = reaction.GetPA(); + + double depth = 0; + if( isTargetScattering ){ + //==== Target scattering, only energy loss + depth = targetThickness * gRandom->Rndm(); + msA.SetTarget(density, depth); + TLorentzVector PAnew = msA.Scattering(PA); + KEAscattered = msA.GetKE()/AA; + reaction.SetIncidentEnergyAngle(KEAscattered, theta, phi); + }*/ + + //==== Calculate reaction + thetaNN = TMath::ACos(2 * gRandom->Rndm() - 1) ; + phiNN = TMath::TwoPi() * gRandom->Rndm(); + + kb = maxkb * gRandom->Rndm(); + thetab = TMath::ACos(2 * gRandom->Rndm() - 1); + phib = TMath::TwoPi() * gRandom->Rndm(); + + reaction.SetBSpk(Sp, kb, thetab, phib); + reaction.CalReactionConstant(isNormalKinematics); + reaction.Event(thetaNN, phiNN); + + TLorentzVector PA = reaction.GetPA(); + TLorentzVector Pa = reaction.GetPa(); + + TLorentzVector P1 = reaction.GetP1(); + TLorentzVector P2 = reaction.GetP2(); + TLorentzVector Pb = reaction.GetPb(); + TLorentzVector PB = reaction.GetPB(); + + /* + //==== Calculate energy loss of scattered and recoil in target + if( isTargetScattering ){ + if( Pb.Theta() < TMath::PiOver2() ){ + msb.SetTarget(density, targetThickness - depth); + }else{ + msb.SetTarget(density, depth); + } + Pb = msb.Scattering(Pb); + TbLoss = msb.GetKELoss(); + msB.SetTarget(density, targetThickness - depth); + PB = msB.Scattering(PB); + }else{ + TbLoss = 0; + } + + //======= Decay of particle-B + if( isDecay){ + int decayID = decay.CalDecay(PB, Sp, 0); // decay to ground state + if( decayID == 1 ){ + PB = decay.GetDaugther_D(); + decayTheta = decay.GetAngleChange(); + }else{ + decayTheta = TMath::QuietNaN(); + } + } + */ + + //################################### tree branches + //===== reaction + theta1 = P1.Theta() * TMath::RadToDeg(); + theta2 = P2.Theta() * TMath::RadToDeg(); + thetaB = PB.Theta() * TMath::RadToDeg(); + + T1 = P1.E() - P1.M(); + T2 = P2.E() - P2.M(); + TB = PB.E() - PB.M(); + + phi1 = P1.Phi() * TMath::RadToDeg(); + phi2 = P2.Phi() * TMath::RadToDeg(); + + //--------- diff coordinate + b = TMath::ASin( TMath::Sin(P2.Theta()) * TMath::Sin(P1.Phi() - P2.Phi() )) * TMath::RadToDeg(); + + TVector3 kA = (PA.Vect()).Unit(); + TVector3 k1 = (P1.Vect()).Unit(); + TVector3 k2 = (P2.Vect()).Unit(); + TVector3 n = (k1.Cross(k2)).Unit(); + TVector3 j = (kA - (kA.Dot(n))*n).Unit(); + + a0 = TMath::ASin(n.Dot(kA)) * TMath::RadToDeg(); + a1 = TMath::ACos(k1.Dot(j)) * TMath::RadToDeg(); + a2 = TMath::ACos(k2.Dot(j)) * TMath::RadToDeg(); + + //----------- mass + mB = PB.M(); + mb = Pb.M(); + + TVector3 bA = PA.BoostVector(); + + for(int i = 0; i < 6 ; i++){ + TLorentzVector temp; + double xyzt[4]; + switch(i){ + case 0: temp = PA; break; + case 1: temp = Pa; break; + case 2: temp = P1; break; + case 3: temp = P2; break; + case 4: temp = PB; break; + case 5: temp = Pb; break; + } + + temp.GetXYZT(xyzt); + + fourVector = (TLorentzVector*) arr->ConstructedAt(i); + fourVector->SetXYZT(xyzt[0], xyzt[1], xyzt[2], xyzt[3]); + + //into normal kinematic + temp.Boost(-bA); + temp.GetXYZT(xyzt); + + fourVector = (TLorentzVector*) arrN->ConstructedAt(i); + fourVector->SetXYZT(xyzt[0], xyzt[1], xyzt[2], xyzt[3]); + + } + + + //==== Helios + int hit1 = helios1.CalHit(P1, Z1, PB, ZB); + int hit2 = helios2.CalHit(P2, Z2, PB, ZB); + + double recoilZ = 1000; + + e1 = helios1.GetEnergy() + gRandom->Gaus(0, eSigma); + z1 = helios1.GetZ() ; + t1 = helios1.GetTime(); + rho1 = helios1.GetRho(); + x1h = helios1.GetXPos(recoilZ); + y1h = helios1.GetYPos(recoilZ); + r1h = helios1.GetR(recoilZ); + + e2 = helios2.GetEnergy() + gRandom->Gaus(0, eSigma); + z2 = helios2.GetZ() ; + t2 = helios2.GetTime(); + rho2 = helios2.GetRho(); + x2h = helios2.GetXPos(recoilZ); + y2h = helios2.GetYPos(recoilZ); + r2h = helios2.GetR(recoilZ); + + double gammaA = PA.Gamma(); + double betaA = PA.Beta(); + + Sp2 = (1-gammaA)* 938.272 - gammaA*(e1+e2) + betaA*gammaA*(P1.Pz() + P2.Pz()) ; + + //printf("%f, %f | %f, %f \n", e1, z1, e2, z2); + + //change thetaNN into deg + thetaNN = thetaNN * TMath::RadToDeg(); + + if( hit1 == 1) { + count ++; + } + + if( isReDo ){ + if( hit1 == 1) { + redoFlag = false; + }else{ + redoFlag = true; + //printf("%d, %2d, thetaNN : %f, theta : %f, z0: %f \n", i, hit, thetaNN * TMath::RadToDeg(), thetab, helios.GetZ0()); + } + }else{ + redoFlag = false; + } + + + }while( redoFlag ); + tree->Fill(); + + //#################################################################### Timer + clock.Stop("timer"); + Double_t time = clock.GetRealTime("timer"); + clock.Start("timer"); + + if ( !shown ) { + if (fmod(time, 10) < 1 ){ + printf( "%10d[%2d%%]| %8.2f sec | expect: %5.1f min \n", i, TMath::Nint((i+1)*100./numEvent), time , numEvent*time/(i+1)/60); + shown = 1; + } + }else{ + if (fmod(time, 10) > 9 ){ + shown = 0; + } + } + } + + saveFile->Write(); + saveFile->Close(); + + printf("=============== done. saved as %s. count(hit==1) : %d\n", saveFileName.Data(), count); + + gROOT->ProcessLine(".q"); + + /**/ + +} diff --git a/cleopatra/SimTransfer.C b/cleopatra/SimTransfer.C new file mode 100644 index 0000000..25c70a3 --- /dev/null +++ b/cleopatra/SimTransfer.C @@ -0,0 +1,813 @@ +#include "TROOT.h" +#include "TBenchmark.h" +#include "TLorentzVector.h" +#include "TMath.h" +#include "TFile.h" +#include "TF1.h" +#include "TTree.h" +#include "TRandom.h" +#include "TGraph.h" +#include "TMacro.h" +#include +#include +#include +#include + +#include "../Armory/ClassDetGeo.h" +#include "ClassTargetScattering.h" +#include "ClassDecay.h" +#include "ClassTransfer.h" +#include "ClassHelios.h" + +void PrintEZPlotPara(TransferReaction tran, HELIOS helios){ + + printf("==================================== E-Z plot slope\n"); + double betaRect = tran.GetReactionBeta() ; + double gamma = tran.GetReactionGamma(); + double mb = tran.GetMass_b(); + double pCM = tran.GetMomentumbCM(); + double q = TMath::Sqrt(mb*mb + pCM*pCM); ///energy of light recoil in center of mass + double slope = tran.GetEZSlope(helios.GetBField()); /// MeV/mm + printf(" e-z slope : %f MeV/mm\n", slope); + // double intercept = q/gamma - mb; // MeV + // printf(" e-z intercept (ground state) : %f MeV\n", intercept); +} + +void Transfer( + std::string basicConfig = "reactionConfig.txt", + std::string detGeoFile = "detectorGeo.txt", + TString ptolemyRoot = "DWBA.root", + TString saveFileName = "transfer.root"){ + + //*############################################# Set Reaction + + // std::vector kbCM; /// momentum of b in CM frame + // TF1 * exDistribution = nullptr; + + DetGeo detGeoConfig; + ReactionConfig reactionConfig; + + detGeoConfig.LoadDetectorGeo(detGeoFile, false); + reactionConfig.LoadReactionConfig(basicConfig); + + const unsigned short numDetGeo = detGeoConfig.array.size(); + const unsigned short numReact = reactionConfig.recoil.size(); + + if( numDetGeo != numReact ){ + printf("\e[31m !!!!!! number of array is not equal to number of reaction.!!! \e[0m\n"); + printf("Abort\n"); + return; + } + + unsigned short numTransfer = 0; + + for( int i = 0; i < std::min(numDetGeo, numReact); i++){ + if( detGeoConfig.array[i].enable ) numTransfer ++; + } + + TransferReaction * transfer = new TransferReaction[numTransfer]; + Decay * decay = new Decay[numTransfer]; + HELIOS * helios = new HELIOS[numTransfer]; + + int count = 0; + for( unsigned short i = 0 ; i < numDetGeo; i++){ + if( detGeoConfig.array[i].enable ){ + transfer[count].SetReactionFromReactionConfigClass(reactionConfig, i); + if(transfer[count].GetRecoil().isDecay) { + decay[count].SetMotherDaugther(transfer[count].GetRecoil()); + } + helios[count].SetDetectorGeometry(detGeoFile, i); + + count ++; + } + } + + printf("----- loading reaction setting from %s. \n", basicConfig.c_str()); + printf("----- loading geometry setting from %s. \n", detGeoFile.c_str()); + + printf("\e[32m#################################### Reaction & HELIOS configuration\e[0m\n"); + + //*############################################# Load DWBAroot for thetaCM distribution + TFile * distFile = new TFile(ptolemyRoot, "read"); + TObjArray * distList = nullptr; + TMacro * dwbaExList = nullptr; + TMacro * dwbaReactList = nullptr; + + TMacro dwbaExList_Used; + TMacro dwbaReactList_Used; + + bool *useDWBA = new bool[numTransfer]; + for( int i = 0; i < numTransfer; i++ ) useDWBA[i] = false; + + if( distFile->IsOpen() ) { + printf("\e[32m#################################### Load DWBA input : %s \e[0m\n", ptolemyRoot.Data()); + printf("--------- Found DWBA thetaCM distributions.\n"); + printf(" Checking DWBA matches withe %s.\n", basicConfig.c_str()); + + distList = (TObjArray *) distFile->FindObjectAny("thetaCM_TF1"); // the function List + dwbaExList = (TMacro *) distFile->FindObjectAny("ExList"); + dwbaExList_Used.AddLine(dwbaExList->GetListOfLines()->At(0)->GetName()); + dwbaReactList = (TMacro *) distFile->FindObjectAny("ReactionList"); + + int numEx = dwbaExList->GetListOfLines()->GetSize() - 1 ; + + ExcitedEnergies * dwbaExTemp = new ExcitedEnergies[numTransfer]; + + for( int i = 1; i <= numEx ; i++){ + std::string reactionName = dwbaReactList->GetListOfLines()->At(i-1)->GetName(); + printf(" %d | Checking %s from DWBA \n", i, reactionName.c_str()); + for( int j = 0; j < numTransfer; j++){ + //Check DWBA reaction is same as transfer setting + if( reactionName.find( transfer[j].GetReactionName().Data() ) != std::string::npos) { + printf(" >>> found %s in %s\n", transfer[j].GetReactionName().Data(), basicConfig.c_str()); + std::string temp = dwbaExList->GetListOfLines()->At(i)->GetName(); + dwbaReactList_Used.AddLine((reactionName + " | " + std::to_string(j)).c_str()); + dwbaExList_Used.AddLine(temp.c_str()); + if( temp[0] == '/' ) continue; + std::vector tempStr = AnalysisLib::SplitStr(temp, " "); + dwbaExTemp[j].Add( atof(tempStr[0].c_str()), atof(tempStr[1].c_str()), 1.0, 0.00); + }else{ + printf(" XXX Not found\n"); + } + } + } + + for( int i = 0; i < numTransfer; i++ ){ + if( dwbaExTemp[i].ExList.size() > 0 ) { + transfer[i].GetExList()->Clear(); + for( size_t j = 0 ; j < dwbaExTemp[i].ExList.size(); j ++ ){ + transfer[i].GetExList()->Add( dwbaExTemp[i].ExList[j].Ex, dwbaExTemp[i].ExList[j].xsec, 1.0, 0.00); + } + useDWBA[i] = true; + }else{ + printf("Cannot match %s with DWBA, use Reaction Ex List\n", transfer[i].GetReactionName().Data()); + useDWBA[i] = false; + } + } + + delete [] dwbaExTemp; + + }else{ + printf("------- no DWBA input. Use the ExList from %s\n", basicConfig.c_str()); + } + + std::vector listOfTransfer(numTransfer, false); + + for( int i = 0; i < numTransfer; i++){ + if( transfer[i].GetExList()->ExList.size() > 0 ){ + + listOfTransfer[i] = true; + + transfer[i].PrintReaction(false); + transfer[i].GetExList()->Print(); + helios[i].PrintGeometry(); + transfer[i].CreateExDistribution(); + // PrintEZPlotPara(transfer[i], helios[i]); + }else{ + printf(" Reaction : %s has no excited energy. Skipped. \n", transfer[i].GetReactionName().Data()); + } + } + + //*############################################# build tree + printf("\e[32m#################################### building Tree in %s\e[0m\n", saveFileName.Data()); + TFile * saveFile = new TFile(saveFileName, "recreate"); + TTree * tree = new TTree("tree", "tree"); + + TMacro config(basicConfig.c_str()); + TMacro detGeoTxt(detGeoFile.c_str()); + config.SetName("ReactionConfig"); + config.Write("reactionConfig"); + detGeoTxt.Write("detGeo"); + + if( distList != NULL ) distList->Write("DWBA", 1); + if( dwbaExList != NULL ) { + dwbaExList_Used.Write("DWBA_ExList", 1); + dwbaReactList_Used.Write("DWBA_ReactionList", 1); + } + + TMacro allExList; + allExList.AddLine("#---Ex relative_xsec SF sigma_in_MeV"); + TMacro exIDReactIDList; //list of all ex and corresponding Reaction ID + exIDReactIDList.AddLine("#-- ExID ReactionID"); + for( int i = 0; i < numTransfer; i++){ + std::vector tempExList = transfer[i].GetExList()->ExList; + for( size_t j = 0; j < tempExList.size(); j++){ + allExList.AddLine(Form("%9.5f %9.5f %3.1f %5.3f", tempExList[j].Ex, tempExList[j].xsec, tempExList[j].SF, tempExList[j].sigma)); + exIDReactIDList.AddLine(Form("%ld %d", j, i)); + } + } + + allExList.Write("AllExList"); + exIDReactIDList.Write("ExID_ReactID_List"); + + TMacro hitMeaning; + hitMeaning.AddLine("======================= meaning of Hit\n"); + for( int code = -15 ; code <= 1; code ++ ){ + hitMeaning.AddLine( Form( "%4d = %s", code, helios[0].AcceptanceCodeToMsg(code).Data() )); + } + hitMeaning.AddLine(" other = unknown\n"); + hitMeaning.AddLine("===========================================\n"); + hitMeaning.Write("hitMeaning"); + + int hit; /// the output of Helios.CalHit + tree->Branch("hit", &hit, "hit/I"); + + int rID; /// reaction ID + tree->Branch("rID", &rID, "reactionID/I"); + + double thetab, phib, Tb; + double thetaB, phiB, TB; + tree->Branch("thetab", &thetab, "thetab/D"); + tree->Branch("phib", &phib, "phib/D"); + tree->Branch("Tb", &Tb, "Tb/D"); + tree->Branch("thetaB", &thetaB, "thetaB/D"); + tree->Branch("phiB", &phiB, "phiB/D"); + tree->Branch("TB", &TB, "TB/D"); + + double thetaCM; + tree->Branch("thetaCM", &thetaCM, "thetaCM/D"); + + double e, z, detX, t, z0, tB; + tree->Branch("e", &e, "energy_light/D"); + tree->Branch("x", &detX, "detector_x/D"); + tree->Branch("z", &z, "array_hit_z/D"); + tree->Branch("z0", &z0, "z-cycle/D"); + tree->Branch("t", &t, "cycle_time_light/D"); + tree->Branch("tB", &tB, "recoil_hit_time/D"); /// hit time for recoil on the recoil detector + + int loop, detID, detRowID; + tree->Branch("detID", &detID, "detID/I"); + tree->Branch("detRowID", &detRowID, "detRowID/I"); + tree->Branch("loop", &loop, "loop/I"); + + double rho, rhoB; ///orbit radius + tree->Branch("rho", &rho, "orbit_radius_light/D"); + tree->Branch("rhoB", &rhoB, "orbit_radius_heavy/D"); + + int ExID; + double Ex; + tree->Branch("ExID", &ExID, "ExID/I"); + tree->Branch("Ex", &Ex, "Ex/D"); + + double ExCal, thetaCMCal; + tree->Branch("ExCal", &ExCal, "ExCal/D"); + tree->Branch("thetaCMCal", &thetaCMCal, "thetaCMCal/D"); + + // double TbLoss; /// energy loss of particle-b from target scattering + // double KEAnew; ///beam energy after target scattering + // double depth; /// reaction depth; + // double Ecm; + // if( reactConfig.isTargetScattering ){ + // tree->Branch("depth", &depth, "depth/D"); + // tree->Branch("TbLoss", &TbLoss, "TbLoss/D"); + // tree->Branch("KEAnew", &KEAnew, "KEAnew/D"); + // tree->Branch("Ecm", &Ecm, "Ecm/D"); + // } + + double decayTheta; /// the change of thetaB due to decay + double xRecoil_d, yRecoil_d, rhoRecoil_d, Td; + + bool isAnyDecay = false; + for( int i = 0; i < numTransfer; i++ ){ + if( !listOfTransfer[i] ) continue; + isAnyDecay |= transfer[i].GetRecoil().isDecay; + } + + if( isAnyDecay ) { + tree->Branch("decayTheta", &decayTheta, "decayTheta/D"); + tree->Branch("xRecoil_d", &xRecoil_d, "xRecoil_d/D"); + tree->Branch("yRecoil_d", &yRecoil_d, "yRecoil_d/D"); + tree->Branch("rhoRecoil_d", &rhoRecoil_d, "rhoRecoil_d/D"); + tree->Branch("Td", &Td, "Td/D"); + } + + double xArray, yArray, rhoArray; ///x, y, rho positon of particle-b on PSD + tree->Branch("xArray", &xArray, "xArray/D"); + tree->Branch("yArray", &yArray, "yArray/D"); + tree->Branch("rhoArray", &rhoArray, "rhoArray/D"); + + double xRecoil, yRecoil, rhoRecoil; /// x, y, rho position of particle-B on recoil-detector + tree->Branch("xRecoil", &xRecoil, "xRecoil/D"); + tree->Branch("yRecoil", &yRecoil, "yRecoil/D"); + tree->Branch("rhoRecoil", &rhoRecoil, "rhoRecoil/D"); + + + ///in case need ELUM + double xElum1, yElum1, rhoElum1; + bool isAnyElum1 = false; + for( int i = 0; i < numTransfer; i++ ){ + if( !listOfTransfer[i] ) continue; + isAnyElum1 |= (helios[i].GetAuxGeometry().elumPos1 != 0); + } + if( isAnyElum1 ) { + tree->Branch("xElum1", &xElum1, "xElum1/D"); + tree->Branch("yElum1", &yElum1, "yElum1/D"); + tree->Branch("rhoElum1", &rhoElum1, "rhoElum1/D"); + } + + double xElum2, yElum2, rhoElum2; + bool isAnyElum2 = false; + for( int i = 0; i < numTransfer; i++ ){ + if( !listOfTransfer[i] ) continue; + isAnyElum2 |= (helios[i].GetAuxGeometry().elumPos2 != 0); + } + if( isAnyElum2 ) { + tree->Branch("xElum2", &xElum2, "xElum2/D"); + tree->Branch("yElum2", &yElum2, "yElum2/D"); + tree->Branch("rhoElum2", &rhoElum2, "rhoElum2/D"); + } + + ///in case need other recoil detector. + double xRecoil1, yRecoil1, rhoRecoil1; + bool isAnyRecoil1 = false; + for( int i = 0; i < numTransfer; i++ ){ + if( !listOfTransfer[i] ) continue; + isAnyRecoil1 |= (helios[i].GetAuxGeometry().detPos1 != 0); + } + if( isAnyRecoil1 != 0 ){ + tree->Branch("xRecoil1", &xRecoil1, "xRecoil1/D"); + tree->Branch("yRecoil1", &yRecoil1, "yRecoil1/D"); + tree->Branch("rhoRecoil1", &rhoRecoil1, "rhoRecoil1/D"); + } + + double xRecoil2, yRecoil2, rhoRecoil2; + bool isAnyRecoil2 = false; + for( int i = 0; i < numTransfer; i++ ){ + if( !listOfTransfer[i] ) continue; + isAnyRecoil2 |= (helios[i].GetAuxGeometry().detPos2 != 0); + } + if( isAnyRecoil2 != 0 ){ + tree->Branch("xRecoil2", &xRecoil2, "xRecoil2/D"); + tree->Branch("yRecoil2", &yRecoil2, "yRecoil2/D"); + tree->Branch("rhoRecoil2", &rhoRecoil2, "rhoRecoil2/D"); + } + + //======= list of reaction used. + TMacro listOfReaction; + for( int i = 0; i < numTransfer ; i++){ + if( !listOfTransfer[i] ) continue; + listOfReaction.AddLine(Form("%2d | %s", i, transfer[i].GetReactionName_Latex().Data())); + } + + listOfReaction.Write("ListOfReactions"); + + //======= function for e-z plot for ideal case + printf("++++ generate functions\n"); + TObjArray * gList = new TObjArray(); + gList->SetName("Constant thetaCM = 0 lines"); + const int gxSize = numTransfer; + TF1 ** gx = new TF1*[gxSize]; + TString name; + + for( int i = 0; i < gxSize; i++){ + double mb = transfer[i].GetMass_b(); + double betaRect = transfer[i].GetReactionBeta(); + double gamma = transfer[i].GetReactionGamma(); + double slope = transfer[i].GetEZSlope(helios[0].GetBField()); /// MeV/mm + + name.Form("g%d", i); + gx[i] = new TF1(name, "([0]*TMath::Sqrt([1]+[2]*x*x)+[5]*x)/([3]) - [4]", -1000, 1000); + double thetacm = i * TMath::DegToRad(); + double gS2 = TMath::Power(TMath::Sin(thetacm)*gamma,2); + gx[i]->SetParameter(0, TMath::Cos(thetacm)); + gx[i]->SetParameter(1, mb*mb*(1-gS2)); + gx[i]->SetParameter(2, TMath::Power(slope/betaRect,2)); + gx[i]->SetParameter(3, 1-gS2); + gx[i]->SetParameter(4, mb); + gx[i]->SetParameter(5, -gS2*slope); + gx[i]->SetNpx(1000); + gList->Add(gx[i]); + printf("/"); + if( i > 1 && i % 40 == 0 ) printf("\n"); + } + gList->Write("EZ_thetaCM", TObject::kSingleKey); + printf(" %d constant thetaCM functions\n", gxSize); + + for( int i = 0; i < gxSize; i++){ + delete gx[i]; + } + delete [] gx; + delete gList; + + //--- cal E-Z curve with finite detector correction + int numEx = 0; + for( int i = 0; i < numTransfer; i++){ + if( !listOfTransfer[i] ) continue; + numEx += transfer[i].GetExList()->ExList.size(); + } + + TObjArray * fxList = new TObjArray(); + TGraph ** fx = new TGraph*[numEx]; + std::vector px, py; + int countfx = 0; + + count = 0; + for( int i = 0; i < numTransfer; i++ ){ + if( !listOfTransfer[i] ) continue; + double mb = transfer[i].GetMass_b(); + double betaRect = transfer[i].GetReactionBeta(); + double gamma = transfer[i].GetReactionGamma(); + double slope = transfer[i].GetEZSlope(helios[0].GetBField()); /// MeV/mm + + for( size_t j = 0 ; j < transfer[i].GetExList()->ExList.size(); j++){ + double Ex = transfer[i].GetExList()->ExList[j].Ex; + double kbCM = transfer[i].CalkCM(Ex); + double a = helios[i].GetDetRadius(); + double q = TMath::Sqrt(mb*mb + kbCM * kbCM ); + px.clear(); + py.clear(); + countfx = 0; + for(int i = 0; i < 100; i++){ + double thetacm = TMath::Pi()/TMath::Log(100) * (TMath::Log(100) - TMath::Log(100-i)) ;//using log scale, for more point in small angle. + double temp = TMath::TwoPi() * slope / betaRect / kbCM * a / TMath::Sin(thetacm); + double pxTemp = betaRect /slope * (gamma * betaRect * q - gamma * kbCM * TMath::Cos(thetacm)) * (1 - TMath::ASin(temp)/TMath::TwoPi()) ; + double pyTemp = gamma * q - mb - gamma * betaRect * kbCM * TMath::Cos(thetacm); + if( TMath::IsNaN(pxTemp) || TMath::IsNaN(pyTemp) ) continue; + px.push_back(pxTemp); + py.push_back(pyTemp); + countfx ++; + } + + fx[count] = new TGraph(countfx, &px[0], &py[0]); + name.Form("fx%d_%ld", i, j); + fx[count]->SetName(name); + fx[count]->SetLineColor(4); + fxList->Add(fx[count]); + printf(","); + count ++; + } + } + fxList->Write("EZCurve", TObject::kSingleKey); + printf(" %d (%d) e-z finite-size detector functions\n", numEx, count); + + for( int i = 0 ; i < numEx; i++) delete fx[i]; + delete [] fx; + delete fxList; + + // //--- cal modified thetaCM vs z + // TObjArray * txList = new TObjArray(); + // TGraph ** tx = new TGraph*[numEx]; + // for( int j = 0 ; j < numEx; j++){ + // double a = helios.GetDetRadius(); + // double q = TMath::Sqrt(mb*mb + kbCM[j] * kbCM[j] ); + // px.clear(); + // py.clear(); + // countfx = 0; + // for(int i = 0; i < 100; i++){ + // double thetacm = (i + 8.) * TMath::DegToRad(); + // double temp = TMath::TwoPi() * slope / betaRect / kbCM[j] * a / TMath::Sin(thetacm); + // double pxTemp = betaRect /slope * (gamma * betaRect * q - gamma * kbCM[j] * TMath::Cos(thetacm)) * (1 - TMath::ASin(temp)/TMath::TwoPi()); + // double pyTemp = thetacm * TMath::RadToDeg(); + // if( TMath::IsNaN(pxTemp) || TMath::IsNaN(pyTemp) ) continue; + // px.push_back(pxTemp); + // py.push_back(pyTemp); + // countfx ++; + // } + + // tx[j] = new TGraph(countfx, &px[0], &py[0]); + // name.Form("tx%d", j); + // tx[j]->SetName(name); + // tx[j]->SetLineColor(4); + // txList->Add(tx[j]); + // printf("*"); + // } + // txList->Write("thetaCM_Z", TObject::kSingleKey); + // printf(" %d thetaCM-z for finite-size detector functions\n", numEx); + + //========timer + TBenchmark clock; + bool shown ; + clock.Reset(); + clock.Start("timer"); + shown = false; + + //change the number of event into human easy-to-read form + int numEvent = reactionConfig.numEvents; + int digitLen = TMath::Floor(TMath::Log10(numEvent)); + TString numEventStr; + if( 3 <= digitLen && digitLen < 6 ){ + numEventStr.Form("%5.1f kilo", numEvent/1000.); + }else if ( 6<= digitLen && digitLen < 9 ){ + numEventStr.Form("%6.2f million", numEvent/1e6); + }else if ( 9<= digitLen ){ + numEventStr.Form("%6.2f billion", numEvent/1e9); + } + printf("\e[32m#################################### generating %s events \e[0m\n", numEventStr.Data()); + + double KEA = reactionConfig.beamEnergy; + double theta = reactionConfig.beamTheta; + double phi = 0.0; + + TF1 * angDist = nullptr; + + //*====================================================== calculate event + count = 0; + for( int i = 0; i < numEvent; i++){ + bool redoFlag = true; + if( !reactionConfig.isRedo ) redoFlag = false; + do{ + + rID = gRandom->Integer( numTransfer ); + if( !listOfTransfer[rID] ) continue; + + //==== Set Ex of B + ExID = transfer[rID].GetRandomExID(); + double sigma = transfer[rID].GetExList()->ExList[ExID].sigma; + Ex = transfer[rID].GetExList()->ExList[ExID].Ex + gRandom->Gaus(0, sigma); + + transfer[rID].SetExB(Ex); + + //==== Set incident beam + if( reactionConfig.beamEnergySigma != 0 ){ + KEA = gRandom->Gaus(reactionConfig.beamEnergy, reactionConfig.beamEnergySigma); + } + if( reactionConfig.beamThetaSigma != 0 ){ + theta = gRandom->Gaus(reactionConfig.beamTheta, reactionConfig.beamThetaSigma); + } + + //==== for taregt scattering + transfer[rID].SetIncidentEnergyAngle(KEA, theta, 0.); + transfer[rID].CalReactionConstant(); + + // TLorentzVector PA = transfer.GetPA(); + //depth = 0; + // if( isTargetScattering ){ + // //==== Target scattering, only energy loss + // depth = targetThickness * gRandom->Rndm(); + // msA.SetTarget(density, depth); + // TLorentzVector PAnew = msA.Scattering(PA); + // KEAnew = msA.GetKE()/reactConfig.beamA; + // transfer.SetIncidentEnergyAngle(KEAnew, theta, phi); + // transfer.CalReactionConstant(); + // Ecm = transfer.GetCMTotalKE(); + // } + + //==== Calculate thetaCM, phiCM + if( distFile->IsOpen() && useDWBA[rID] ){ + angDist = (TF1 *) distList->At(ExID); + thetaCM = angDist->GetRandom() / 180. * TMath::Pi(); + }else{ + thetaCM = TMath::ACos(2 * gRandom->Rndm() - 1) ; + } + + double phiCM = TMath::TwoPi() * gRandom->Rndm(); + + //==== Calculate reaction + transfer[rID].Event(thetaCM, phiCM); + TLorentzVector Pb = transfer[rID].GetPb(); + TLorentzVector PB = transfer[rID].GetPB(); + + // //==== Calculate energy loss of scattered and recoil in target + // if( isTargetScattering ){ + // if( Pb.Theta() < TMath::PiOver2() ){ + // msb.SetTarget(density, targetThickness - depth); + // }else{ + // msb.SetTarget(density, depth); + // } + // Pb = msb.Scattering(Pb); + // TbLoss = msb.GetKELoss(); + // msB.SetTarget(density, targetThickness - depth); + // PB = msB.Scattering(PB); + // }else{ + // TbLoss = 0; + // } + + //======= Decay of particle-B + int decayID = 0; + if( transfer[rID].GetRecoil().isDecay){ + + decayID = decay[rID].CalDecay(PB, Ex, 0, phiCM + TMath::Pi()/2); // decay to ground state + if( decayID == 1 ){ + PB = decay[rID].GetDaugther_D(); + //decayTheta = decay.GetAngleChange(); + decayTheta = decay[rID].GetThetaCM(); + PB.SetUniqueID(transfer[rID].GetRecoil().decayZ); + }else{ + decayTheta = TMath::QuietNaN(); + } + } + + //################################### tree branches + //===== reaction + thetab = Pb.Theta() * TMath::RadToDeg(); + thetaB = PB.Theta() * TMath::RadToDeg(); + + Tb = Pb.E() - Pb.M(); + TB = PB.E() - PB.M(); + + phib = Pb.Phi() * TMath::RadToDeg(); + phiB = PB.Phi() * TMath::RadToDeg(); + + //==== Helios + + // printf(" thetaCM : %f, Tb : %f\n", thetaCM * TMath::RadToDeg(), Pb.M()); + + if( Tb > 0 || TB > 0 ){ + + helios[rID].CalArrayHit(Pb); + helios[rID].CalRecoilHit(PB); + hit = 2; + while( hit > 1 ){ hit = helios[rID].CheckDetAcceptance(); } /// while hit > 1, goto next loop; + + trajectory orb_b = helios[rID].GetTrajectory_b(); + trajectory orb_B = helios[rID].GetTrajectory_B(); + + e = helios[rID].GetEnergy() + gRandom->Gaus(0, helios[rID].GetArrayGeometry().eSigma ); + + double ranX = gRandom->Gaus(0, helios[rID].GetArrayGeometry().zSigma); + z = orb_b.z + ranX; + detX = helios[rID].GetDetX() + ranX; + + z0 = orb_b.z0; + t = orb_b.t; + loop = orb_b.loop; + detID = orb_b.detID; + detRowID = orb_b.detRowID; + rho = orb_b.rho; + rhoArray = orb_b.R; + + xArray = orb_b.x; + yArray = orb_b.y; + + //ELUM + double elumPos1 = helios[rID].GetAuxGeometry().elumPos1; + if( elumPos1 != 0 ){ + xElum1 = helios[rID].GetXPos(elumPos1); + yElum1 = helios[rID].GetYPos(elumPos1); + rhoElum1 = helios[rID].GetR (elumPos1); + } + double elumPos2 = helios[rID].GetAuxGeometry().elumPos2; + if( elumPos2 ){ + xElum2 = helios[rID].GetXPos(elumPos2); + yElum2 = helios[rID].GetYPos(elumPos2); + rhoElum2 = helios[rID].GetR (elumPos2); + } + + //Recoil + rhoRecoil = orb_B.R; + tB = orb_B.t; + xRecoil = orb_B.x; + yRecoil = orb_B.y; + rhoB = orb_B.rho; + + //other recoil detectors + double recoilPos1 = helios[rID].GetAuxGeometry().detPos1; + if ( recoilPos1 != 0 ){ + xRecoil1 = helios[rID].GetRecoilXPos(recoilPos1); + yRecoil1 = helios[rID].GetRecoilYPos(recoilPos1); + rhoRecoil1 = helios[rID].GetRecoilR (recoilPos1); + } + double recoilPos2 = helios[rID].GetAuxGeometry().detPos2; + if ( recoilPos2 != 0 ){ + xRecoil2 = helios[rID].GetRecoilXPos(recoilPos2); + yRecoil2 = helios[rID].GetRecoilYPos(recoilPos2); + rhoRecoil2 = helios[rID].GetRecoilR (recoilPos2); + } + + std::pair ExThetaCM = transfer[rID].CalExThetaCM(e, z, helios[rID].GetBField(), helios[rID].GetDetRadius()); + ExCal = ExThetaCM.first; + thetaCMCal = ExThetaCM.second; + + //change thetaCM into deg + thetaCM = thetaCM * TMath::RadToDeg(); + + //if decay, get the light decay particle on the recoil; + if( transfer[rID].GetRecoil().isDecay ){ + if( decayID == 1 ){ + TLorentzVector Pd = decay[rID].GetDaugther_d(); + + Td = Pd.E() - Pd.M(); + + helios[rID].CalRecoilHit(Pd); + + trajectory orb_d = helios[rID].GetTrajectory_B(); + rhoRecoil_d = orb_d.R; + xRecoil_d = orb_d.x; + yRecoil_d = orb_d.y; + + }else{ + rhoRecoil_d = TMath::QuietNaN(); + xRecoil_d = TMath::QuietNaN(); + yRecoil_d = TMath::QuietNaN(); + } + } + + }else{ + hit = -404; + } + + if( hit == 1) count ++; + + if( reactionConfig.isRedo ){ + if( hit == 1) { + redoFlag = false; + }else{ + redoFlag = true; + //printf("%d, %2d, thetaCM : %f, theta : %f, z0: %f \n", i, hit, thetaCM * TMath::RadToDeg(), thetab, helios.GetZ0()); + } + }else{ + redoFlag = false; + } + + }while( redoFlag ); + tree->Fill(); + + //#################################################################### Timer + clock.Stop("timer"); + Double_t time = clock.GetRealTime("timer"); + clock.Start("timer"); + + if ( !shown ) { + if (fmod(time, 10) < 1 ){ + printf( "%10d[%2d%%]| %8.2f sec | expect: %5.1f min \n", i, TMath::Nint((i+1)*100./numEvent), time , numEvent*time/(i+1)/60); + shown = 1; + } + }else{ + if (fmod(time, 10) > 9 ){ + shown = 0; + } + } + + } + + saveFile->Write(); + saveFile->Close(); + + distFile->Close(); + delete angDist; + + printf("=============== done. saved as %s. count(hit==1) : %d\n", saveFileName.Data(), count); + //gROOT->ProcessLine(".q"); + + delete [] transfer; + delete [] decay; + delete [] helios; + delete [] useDWBA; + + distFile->Close(); + delete distFile; + delete distList; + delete dwbaExList; + delete dwbaReactList; + + return; + +} + + +int main (int argc, char *argv[]) { + + printf("=================================================================\n"); + printf("========== Simulate Transfer reaction in HELIOS ==========\n"); + printf("=================================================================\n"); + + if(argc == 2 || argc > 6 ) { + printf("Usage: ./Transfer [1] [2] [3] [4] [5]\n"); + printf(" default file name \n"); + printf(" [1] reactionConfig.txt (input) reaction Setting \n"); + printf(" [2] detectorGeo.txt (input) detector Setting \n"); + printf(" [3] DWBA.root (input) thetaCM distribution from DWBA \n"); + printf(" [4] transfer.root (output) rootFile name for output \n"); + printf(" [5] 1 (input) 0 = no plot, 1 = plot \n"); + + printf("-----------------------------------------------------------------\n"); + printf(" When DWBA.root provided.\n"); + printf(" The excitation energies from the DWBA are used.\n"); + printf(" And the excitation energies in reactionConfig.txt will be ignored\n"); + printf("=================================================================\n"); + return 0 ; + } + + std::string basicConfig = "reactionConfig.txt"; + std::string detGeoFile = "detectorGeo.txt"; + TString ptolemyRoot = "DWBA.root"; // when no file, use isotropic distribution of thetaCM + TString saveFileName = "transfer.root"; + bool isPlot = true; + + if( argc >= 2) basicConfig = argv[1]; + if( argc >= 3) detGeoFile = argv[2]; + if( argc >= 4) ptolemyRoot = argv[3]; + if( argc >= 5) saveFileName = argv[4]; + if( argc >= 6) isPlot = atoi(argv[5]); + + Transfer( basicConfig, detGeoFile, ptolemyRoot, saveFileName); + + //run Cleopatra/SimChecker.C + if( isPlot ){ + std::ifstream file_in; + file_in.open("../Cleopatra/SimChecker.C", std::ios::in); + if( file_in){ + printf("---- running ../Cleopatra/SimChecker.C on %s \n", saveFileName.Data()); + TString cmd; + cmd.Form("root -l '../Cleopatra/SimChecker.C(\"%s\")'", saveFileName.Data()); + + system(cmd.Data()); + }else{ + printf("cannot find ../Cleopatra/SimChecker.C \n"); + } + } + + return 0; + +} + diff --git a/cleopatra/SimTransfer_single.C b/cleopatra/SimTransfer_single.C new file mode 100644 index 0000000..65d08a4 --- /dev/null +++ b/cleopatra/SimTransfer_single.C @@ -0,0 +1,722 @@ +#include "TROOT.h" +#include "TBenchmark.h" +#include "TLorentzVector.h" +#include "TMath.h" +#include "TFile.h" +#include "TF1.h" +#include "TTree.h" +#include "TRandom.h" +#include "TGraph.h" +#include "TMacro.h" +#include +#include +#include +#include + +#include "../Armory/ClassDetGeo.h" +#include "ClassTargetScattering.h" +#include "ClassDecay.h" +#include "ClassTransfer.h" +#include "ClassHelios.h" + +double exDistFunc(Double_t *x, Double_t * par){ + return par[(int) x[0]]; +} + +void PrintEZPlotPara(TransferReaction tran, HELIOS helios){ + + printf("==================================== E-Z plot slope\n"); + double betaRect = tran.GetReactionBeta() ; + double gamma = tran.GetReactionGamma(); + double mb = tran.GetMass_b(); + double pCM = tran.GetMomentumbCM(); + double q = TMath::Sqrt(mb*mb + pCM*pCM); ///energy of light recoil in center of mass + double slope = tran.GetEZSlope(helios.GetBField()); /// MeV/mm + printf(" e-z slope : %f MeV/mm\n", slope); + double intercept = q/gamma - mb; // MeV + printf(" e-z intercept (ground state) : %f MeV\n", intercept); + +} + +void Transfer( + std::string basicConfig = "reactionConfig.txt", + std::string heliosDetGeoFile = "detectorGeo.txt", + unsigned short ID = 0, // this is the ID for the array + TString ptolemyRoot = "DWBA.root", + TString saveFileName = "transfer.root"){ + + //*############################################# Set Reaction + TransferReaction transfer; + HELIOS helios; + Decay decay; + + std::vector kbCM; /// momentum of b in CM frame + TF1 * exDist = nullptr; + + transfer.SetReactionFromFile(basicConfig, ID); + helios.SetDetectorGeometry(heliosDetGeoFile, ID); + + printf("*****************************************************************\n"); + printf("*\e[1m\e[33m %27s \e[0m*\n", transfer.GetReactionName().Data()); + printf("*****************************************************************\n"); + printf("----- loading reaction setting from %s. \n", basicConfig.c_str()); + printf("----- loading geometry setting from %s. \n", heliosDetGeoFile.c_str()); + + printf("\e[32m#################################### Reaction & HELIOS configuration\e[0m\n"); + + transfer.PrintReaction(false); + + if(transfer.GetRecoil().isDecay) { + decay.SetMotherDaugther(transfer.GetRecoil()); + } + + helios.PrintGeometry(); + PrintEZPlotPara(transfer, helios); + + + DetGeo detGeo = helios.GetDetectorGeometry(); + Array array = helios.GetArrayGeometry(); + Auxillary aux = helios.GetAuxGeometry(); + ReactionConfig reactConfig = transfer.GetRectionConfig(); + Recoil recoil = transfer.GetRecoil(); + + //*############################################# save reaction.dat + // if( filename != "" ) { + // FILE * keyParaOut; + // keyParaOut = fopen (filename.Data(), "w+"); + + // printf("=========== save key reaction constants to %s \n", filename.Data()); + // fprintf(keyParaOut, "%-15.4f //%s\n", transfer.GetMass_b(), "mass_b"); + // fprintf(keyParaOut, "%-15d //%s\n", reactConfig.recoilLightZ, "charge_b"); + // fprintf(keyParaOut, "%-15.8f //%s\n", transfer.GetReactionBeta(), "betaCM"); + // fprintf(keyParaOut, "%-15.4f //%s\n", transfer.GetCMTotalEnergy(), "Ecm"); + // fprintf(keyParaOut, "%-15.4f //%s\n", transfer.GetMass_B(), "mass_B"); + // fprintf(keyParaOut, "%-15.4f //%s\n", slope/betaRect, "alpha=slope/betaRect"); + + // fflush(keyParaOut); + // fclose(keyParaOut); + // } + + //*############################################# Target scattering, only energy loss + // bool isTargetScattering = reactConfig.isTargetScattering; + // float density = reactConfig.targetDensity; + // float targetThickness = reactConfig.targetThickness; + + // if(isTargetScattering) printf("\e[32m#################################### Target Scattering\e[0m\n"); + // TargetScattering msA; + // TargetScattering msB; + // TargetScattering msb; + + // if(reactConfig.isTargetScattering) printf("======== Target : (thickness : %6.2f um) x (density : %6.2f g/cm3) = %6.2f ug/cm2\n", + // targetThickness * 1e+4, + // density, + // targetThickness * density * 1e+6); + + // if( reactConfig.isTargetScattering ){ + // msA.LoadStoppingPower(reactConfig.beamStoppingPowerFile); + // msb.LoadStoppingPower(reactConfig.recoilLightStoppingPowerFile); + // msB.LoadStoppingPower(reactConfig.recoilHeavyStoppingPowerFile); + // } + + ExcitedEnergies exList = transfer.GetRectionConfig().exList[ID]; + + //*############################################# Load DWBAroot for thetaCM distribution + printf("\e[32m#################################### Load DWBA input : %s \e[0m\n", ptolemyRoot.Data()); + TF1 * dist = NULL; + TFile * distFile = new TFile(ptolemyRoot, "read"); + TObjArray * distList = nullptr; + TMacro * dwbaExList = nullptr; + TMacro * dwbaReactList = nullptr; + + TMacro dwbaExList_Used; + + if( distFile->IsOpen() ) { + printf("--------- Found DWBA thetaCM distributions. Use the ExList from DWBA.\n"); + + distList = (TObjArray *) distFile->FindObjectAny("thetaCM_TF1"); // the function List + dwbaExList = (TMacro *) distFile->FindObjectAny("ExList"); + dwbaExList_Used.AddLine(dwbaExList->GetListOfLines()->At(0)->GetName()); + dwbaReactList = (TMacro *) distFile->FindObjectAny("ReactionList"); + exList.Clear(); + + int numEx = dwbaExList->GetListOfLines()->GetSize() - 1 ; + for(int i = 1; i <= numEx ; i++){ + std::string reactionName = dwbaReactList->GetListOfLines()->At(i-1)->GetName(); + if( reactionName.find( transfer.GetReactionName().Data() ) != std::string::npos) { + std::string temp = dwbaExList->GetListOfLines()->At(i)->GetName(); + dwbaExList_Used.AddLine(temp.c_str()); + if( temp[0] == '/' ) continue; + std::vector tempStr = AnalysisLib::SplitStr(temp, " "); + exList.Add( atof(tempStr[0].c_str()), atof(tempStr[1].c_str()), 1.0, 0.00); + } + } + + }else{ + printf("------- no DWBA input. Use the ExList from %s\n", basicConfig.c_str()); + } + + + printf("------------------------------ Heavy Recoil excitation\n"); + printf("Energy[MeV] Rel.Xsec SF sigma\n"); + + int numEx = exList.ExList.size(); + + for( int j = 0; j < numEx; j++){ + double ex = exList.ExList[j].Ex; + kbCM.push_back(transfer.CalkCM(ex)); + int decayID = decay.CalDecay(TLorentzVector (0,0,0,0), ex, 0); + exList.ExList[j].Print(decayID == 1 ? "-->Decay" : "\n"); + } + + //---- create Ex-distribution + if( exList.ExList.size() > 1 ) { + printf("---- creating Ex-distribution \n"); + exDist = new TF1("exDist", exDistFunc, 0, numEx, numEx); + for(int q = 0; q < numEx; q++){ + exDist->SetParameter(q, exList.ExList[q].xsec*exList.ExList[q].SF); + } + } + + //*############################################# build tree + printf("\e[32m#################################### building Tree in %s\e[0m\n", saveFileName.Data()); + TFile * saveFile = new TFile(saveFileName, "recreate"); + TTree * tree = new TTree("tree", "tree"); + + TMacro config(basicConfig.c_str()); + TMacro detGeoTxt(heliosDetGeoFile.c_str()); + config.SetName(transfer.GetReactionName_Latex().Data()); + config.Write("reactionConfig"); + detGeoTxt.Write("detGeo"); + + if( distList != NULL ) distList->Write("DWBA", 1); + if( dwbaExList != NULL ) dwbaExList_Used.Write("DWBA_ExList", 1); + + + TMacro idMacro; + idMacro.AddLine(Form("%d", ID)); + idMacro.Write("detGeoID"); + + TMacro hitMeaning; + hitMeaning.AddLine("======================= meaning of Hit\n"); + for( int code = -15 ; code <= 1; code ++ ){ + hitMeaning.AddLine( Form( "%4d = %s", code, helios.AcceptanceCodeToMsg(code).Data() )); + } + hitMeaning.AddLine(" other = unknown\n"); + hitMeaning.AddLine("===========================================\n"); + hitMeaning.Write("hitMeaning"); + + int hit; /// the output of Helios.CalHit + tree->Branch("hit", &hit, "hit/I"); + + double thetab, phib, Tb; + double thetaB, phiB, TB; + tree->Branch("thetab", &thetab, "thetab/D"); + tree->Branch("phib", &phib, "phib/D"); + tree->Branch("Tb", &Tb, "Tb/D"); + tree->Branch("thetaB", &thetaB, "thetaB/D"); + tree->Branch("phiB", &phiB, "phiB/D"); + tree->Branch("TB", &TB, "TB/D"); + + double thetaCM; + tree->Branch("thetaCM", &thetaCM, "thetaCM/D"); + + double e, z, detX, t, z0, tB; + tree->Branch("e", &e, "energy_light/D"); + tree->Branch("x", &detX, "detector_x/D"); + tree->Branch("z", &z, "array_hit_z/D"); + tree->Branch("z0", &z0, "z-cycle/D"); + tree->Branch("t", &t, "cycle_time_light/D"); + tree->Branch("tB", &tB, "recoil_hit_time/D"); /// hit time for recoil on the recoil detector + + int loop, detID, detRowID; + tree->Branch("detID", &detID, "detID/I"); + tree->Branch("detRowID", &detRowID, "detRowID/I"); + tree->Branch("loop", &loop, "loop/I"); + + double rho, rhoB; ///orbit radius + tree->Branch("rho", &rho, "orbit_radius_light/D"); + tree->Branch("rhoB", &rhoB, "orbit_radius_heavy/D"); + + int ExID; + double Ex; + tree->Branch("ExID", &ExID, "ExID/I"); + tree->Branch("Ex", &Ex, "Ex/D"); + + double ExCal, thetaCMCal; + tree->Branch("ExCal", &ExCal, "ExCal/D"); + tree->Branch("thetaCMCal", &thetaCMCal, "thetaCMCal/D"); + + // double TbLoss; /// energy loss of particle-b from target scattering + // double KEAnew; ///beam energy after target scattering + // double depth; /// reaction depth; + // double Ecm; + // if( reactConfig.isTargetScattering ){ + // tree->Branch("depth", &depth, "depth/D"); + // tree->Branch("TbLoss", &TbLoss, "TbLoss/D"); + // tree->Branch("KEAnew", &KEAnew, "KEAnew/D"); + // tree->Branch("Ecm", &Ecm, "Ecm/D"); + // } + + double decayTheta; /// the change of thetaB due to decay + double xRecoil_d, yRecoil_d, rhoRecoil_d, Td; + if( recoil.isDecay ) { + tree->Branch("decayTheta", &decayTheta, "decayTheta/D"); + tree->Branch("xRecoil_d", &xRecoil_d, "xRecoil_d/D"); + tree->Branch("yRecoil_d", &yRecoil_d, "yRecoil_d/D"); + tree->Branch("rhoRecoil_d", &rhoRecoil_d, "rhoRecoil_d/D"); + tree->Branch("Td", &Td, "Td/D"); + } + + double xArray, yArray, rhoArray; ///x, y, rho positon of particle-b on PSD + tree->Branch("xArray", &xArray, "xArray/D"); + tree->Branch("yArray", &yArray, "yArray/D"); + tree->Branch("rhoArray", &rhoArray, "rhoArray/D"); + + double xRecoil, yRecoil, rhoRecoil; /// x, y, rho position of particle-B on recoil-detector + tree->Branch("xRecoil", &xRecoil, "xRecoil/D"); + tree->Branch("yRecoil", &yRecoil, "yRecoil/D"); + tree->Branch("rhoRecoil", &rhoRecoil, "rhoRecoil/D"); + + + ///in case need ELUM + double xElum1, yElum1, rhoElum1; + if( aux.elumPos1 != 0 ) { + tree->Branch("xElum1", &xElum1, "xElum1/D"); + tree->Branch("yElum1", &yElum1, "yElum1/D"); + tree->Branch("rhoElum1", &rhoElum1, "rhoElum1/D"); + } + + double xElum2, yElum2, rhoElum2; + if( aux.elumPos2 != 0 ) { + tree->Branch("xElum2", &xElum2, "xElum2/D"); + tree->Branch("yElum2", &yElum2, "yElum2/D"); + tree->Branch("rhoElum2", &rhoElum2, "rhoElum2/D"); + } + + ///in case need other recoil detector. + double xRecoil1, yRecoil1, rhoRecoil1; + if( aux.detPos1 != 0 ){ + tree->Branch("xRecoil1", &xRecoil1, "xRecoil1/D"); + tree->Branch("yRecoil1", &yRecoil1, "yRecoil1/D"); + tree->Branch("rhoRecoil1", &rhoRecoil1, "rhoRecoil1/D"); + } + double xRecoil2, yRecoil2, rhoRecoil2; + if( aux.detPos2 != 0 ){ + tree->Branch("xRecoil2", &xRecoil2, "xRecoil2/D"); + tree->Branch("yRecoil2", &yRecoil2, "yRecoil2/D"); + tree->Branch("rhoRecoil2", &rhoRecoil2, "rhoRecoil2/D"); + } + //======= function for e-z plot for ideal case + printf("++++ generate functions\n"); + TObjArray * gList = new TObjArray(); + gList->SetName("Constant thetaCM lines"); + const int gxSize = 50; + TF1 ** gx = new TF1*[gxSize]; + TString name; + + double mb = transfer.GetMass_b(); + double betaRect = transfer.GetReactionBeta(); + double gamma = transfer.GetReactionGamma(); + double slope = transfer.GetEZSlope(helios.GetBField()); /// MeV/mm + + for( int i = 0; i < gxSize; i++){ + name.Form("g%d", i); + gx[i] = new TF1(name, "([0]*TMath::Sqrt([1]+[2]*x*x)+[5]*x)/([3]) - [4]", -1000, 1000); + double thetacm = i * TMath::DegToRad(); + double gS2 = TMath::Power(TMath::Sin(thetacm)*gamma,2); + gx[i]->SetParameter(0, TMath::Cos(thetacm)); + gx[i]->SetParameter(1, mb*mb*(1-gS2)); + gx[i]->SetParameter(2, TMath::Power(slope/betaRect,2)); + gx[i]->SetParameter(3, 1-gS2); + gx[i]->SetParameter(4, mb); + gx[i]->SetParameter(5, -gS2*slope); + gx[i]->SetNpx(1000); + gList->Add(gx[i]); + printf("/"); + if( i > 1 && i % 40 == 0 ) printf("\n"); + } + gList->Write("EZ_thetaCM", TObject::kSingleKey); + printf(" %d constant thetaCM functions\n", gxSize); + + //--- cal modified f + TObjArray * fxList = new TObjArray(); + TGraph ** fx = new TGraph*[numEx]; + std::vector px, py; + int countfx = 0; + for( int j = 0 ; j < numEx; j++){ + double a = helios.GetDetRadius(); + double q = TMath::Sqrt(mb*mb + kbCM[j] * kbCM[j] ); + px.clear(); + py.clear(); + countfx = 0; + for(int i = 0; i < 100; i++){ + double thetacm = TMath::Pi()/TMath::Log(100) * (TMath::Log(100) - TMath::Log(100-i)) ;//using log scale, for more point in small angle. + double temp = TMath::TwoPi() * slope / betaRect / kbCM[j] * a / TMath::Sin(thetacm); + double pxTemp = betaRect /slope * (gamma * betaRect * q - gamma * kbCM[j] * TMath::Cos(thetacm)) * (1 - TMath::ASin(temp)/TMath::TwoPi()) ; + double pyTemp = gamma * q - mb - gamma * betaRect * kbCM[j] * TMath::Cos(thetacm); + if( TMath::IsNaN(pxTemp) || TMath::IsNaN(pyTemp) ) continue; + px.push_back(pxTemp); + py.push_back(pyTemp); + countfx ++; + } + + fx[j] = new TGraph(countfx, &px[0], &py[0]); + name.Form("fx%d", j); + fx[j]->SetName(name); + fx[j]->SetLineColor(4); + fxList->Add(fx[j]); + printf(","); + } + fxList->Write("EZCurve", TObject::kSingleKey); + printf(" %d e-z finite-size detector functions\n", numEx); + + //--- cal modified thetaCM vs z + TObjArray * txList = new TObjArray(); + TGraph ** tx = new TGraph*[numEx]; + for( int j = 0 ; j < numEx; j++){ + double a = helios.GetDetRadius(); + double q = TMath::Sqrt(mb*mb + kbCM[j] * kbCM[j] ); + px.clear(); + py.clear(); + countfx = 0; + for(int i = 0; i < 100; i++){ + double thetacm = (i + 8.) * TMath::DegToRad(); + double temp = TMath::TwoPi() * slope / betaRect / kbCM[j] * a / TMath::Sin(thetacm); + double pxTemp = betaRect /slope * (gamma * betaRect * q - gamma * kbCM[j] * TMath::Cos(thetacm)) * (1 - TMath::ASin(temp)/TMath::TwoPi()); + double pyTemp = thetacm * TMath::RadToDeg(); + if( TMath::IsNaN(pxTemp) || TMath::IsNaN(pyTemp) ) continue; + px.push_back(pxTemp); + py.push_back(pyTemp); + countfx ++; + } + + tx[j] = new TGraph(countfx, &px[0], &py[0]); + name.Form("tx%d", j); + tx[j]->SetName(name); + tx[j]->SetLineColor(4); + txList->Add(tx[j]); + printf("*"); + } + txList->Write("thetaCM_Z", TObject::kSingleKey); + printf(" %d thetaCM-z for finite-size detector functions\n", numEx); + + //========timer + TBenchmark clock; + bool shown ; + clock.Reset(); + clock.Start("timer"); + shown = false; + + //change the number of event into human easy-to-read form + int numEvent = reactConfig.numEvents; + int digitLen = TMath::Floor(TMath::Log10(numEvent)); + TString numEventStr; + if( 3 <= digitLen && digitLen < 6 ){ + numEventStr.Form("%5.1f kilo", numEvent/1000.); + }else if ( 6<= digitLen && digitLen < 9 ){ + numEventStr.Form("%6.2f million", numEvent/1e6); + }else if ( 9<= digitLen ){ + numEventStr.Form("%6.2f billion", numEvent/1e9); + } + printf("\e[32m#################################### generating %s events \e[0m\n", numEventStr.Data()); + + double KEA = reactConfig.beamEnergy; + double theta = reactConfig.beamTheta; + double phi = 0.0; + + //*====================================================== calculate event + int count = 0; + for( int i = 0; i < numEvent; i++){ + bool redoFlag = true; + if( !reactConfig.isRedo ) redoFlag = false; + do{ + + //==== Set Ex of B + if( numEx == 1 ) { + ExID = 0; + Ex = exList.ExList[0].Ex + (exList.ExList[0].sigma == 0 ? 0 : gRandom->Gaus(0, exList.ExList[0].sigma)); + }else{ + ExID = exDist->GetRandom(); + Ex = exList.ExList[ExID].Ex + (exList.ExList[ExID].sigma == 0 ? 0 : gRandom->Gaus(0, exList.ExList[ExID].sigma)); + } + transfer.SetExB(Ex); + + //==== Set incident beam + if( reactConfig.beamEnergySigma != 0 ){ + KEA = gRandom->Gaus(reactConfig.beamEnergy, reactConfig.beamEnergySigma); + } + if( reactConfig.beamThetaSigma != 0 ){ + theta = gRandom->Gaus(reactConfig.beamTheta, reactConfig.beamThetaSigma); + } + + //==== for taregt scattering + transfer.SetIncidentEnergyAngle(KEA, theta, 0.); + transfer.CalReactionConstant(); + + // TLorentzVector PA = transfer.GetPA(); + //depth = 0; + // if( isTargetScattering ){ + // //==== Target scattering, only energy loss + // depth = targetThickness * gRandom->Rndm(); + // msA.SetTarget(density, depth); + // TLorentzVector PAnew = msA.Scattering(PA); + // KEAnew = msA.GetKE()/reactConfig.beamA; + // transfer.SetIncidentEnergyAngle(KEAnew, theta, phi); + // transfer.CalReactionConstant(); + // Ecm = transfer.GetCMTotalKE(); + // } + + //==== Calculate thetaCM, phiCM + if( distFile->IsOpen()){ + dist = (TF1 *) distList->At(ExID); + thetaCM = dist->GetRandom() / 180. * TMath::Pi(); + }else{ + thetaCM = TMath::ACos(2 * gRandom->Rndm() - 1) ; + } + + double phiCM = TMath::TwoPi() * gRandom->Rndm(); + + //==== Calculate reaction + transfer.Event(thetaCM, phiCM); + TLorentzVector Pb = transfer.GetPb(); + TLorentzVector PB = transfer.GetPB(); + + // //==== Calculate energy loss of scattered and recoil in target + // if( isTargetScattering ){ + // if( Pb.Theta() < TMath::PiOver2() ){ + // msb.SetTarget(density, targetThickness - depth); + // }else{ + // msb.SetTarget(density, depth); + // } + // Pb = msb.Scattering(Pb); + // TbLoss = msb.GetKELoss(); + // msB.SetTarget(density, targetThickness - depth); + // PB = msB.Scattering(PB); + // }else{ + // TbLoss = 0; + // } + + //======= Decay of particle-B + int decayID = 0; + if( recoil.isDecay){ + + decayID = decay.CalDecay(PB, Ex, 0, phiCM + TMath::Pi()/2); // decay to ground state + if( decayID == 1 ){ + PB = decay.GetDaugther_D(); + //decayTheta = decay.GetAngleChange(); + decayTheta = decay.GetThetaCM(); + PB.SetUniqueID(recoil.decayZ); + }else{ + decayTheta = TMath::QuietNaN(); + } + } + + //################################### tree branches + //===== reaction + thetab = Pb.Theta() * TMath::RadToDeg(); + thetaB = PB.Theta() * TMath::RadToDeg(); + + Tb = Pb.E() - Pb.M(); + TB = PB.E() - PB.M(); + + phib = Pb.Phi() * TMath::RadToDeg(); + phiB = PB.Phi() * TMath::RadToDeg(); + + //==== Helios + + // printf(" thetaCM : %f, Tb : %f\n", thetaCM * TMath::RadToDeg(), Pb.M()); + + if( Tb > 0 || TB > 0 ){ + + helios.CalArrayHit(Pb); + helios.CalRecoilHit(PB); + hit = 2; + while( hit > 1 ){ hit = helios.CheckDetAcceptance(); } /// while hit > 1, goto next loop; + + trajectory orb_b = helios.GetTrajectory_b(); + trajectory orb_B = helios.GetTrajectory_B(); + + e = helios.GetEnergy() + gRandom->Gaus(0, array.eSigma ); + + double ranX = gRandom->Gaus(0, array.zSigma); + z = orb_b.z + ranX; + detX = helios.GetDetX() + ranX; + + z0 = orb_b.z0; + t = orb_b.t; + loop = orb_b.loop; + detID = orb_b.detID; + detRowID = orb_b.detRowID; + rho = orb_b.rho; + rhoArray = orb_b.R; + + xArray = orb_b.x; + yArray = orb_b.y; + + + //ELUM + if( aux.elumPos1 != 0 ){ + xElum1 = helios.GetXPos(aux.elumPos1); + yElum1 = helios.GetYPos(aux.elumPos1); + rhoElum1 = helios.GetR(aux.elumPos1); + } + if( aux.elumPos2 != 0 ){ + xElum2 = helios.GetXPos(aux.elumPos2); + yElum2 = helios.GetYPos(aux.elumPos2); + rhoElum2 = helios.GetR(aux.elumPos2); + } + + //Recoil + rhoRecoil = orb_B.R; + tB = orb_B.t; + xRecoil = orb_B.x; + yRecoil = orb_B.y; + rhoB = orb_B.rho; + + //other recoil detectors + if ( aux.detPos1 != 0 ){ + xRecoil1 = helios.GetRecoilXPos(aux.detPos1); + yRecoil1 = helios.GetRecoilYPos(aux.detPos1); + rhoRecoil1 = helios.GetRecoilR(aux.detPos1); + } + if ( aux.detPos2 != 0 ){ + xRecoil2 = helios.GetRecoilXPos(aux.detPos2); + yRecoil2 = helios.GetRecoilYPos(aux.detPos2); + rhoRecoil2 = helios.GetRecoilR(aux.detPos2); + } + + std::pair ExThetaCM = transfer.CalExThetaCM(e, z, helios.GetBField(), helios.GetDetRadius()); + ExCal = ExThetaCM.first; + thetaCMCal = ExThetaCM.second; + + //change thetaCM into deg + thetaCM = thetaCM * TMath::RadToDeg(); + + //if decay, get the light decay particle on the recoil; + if( recoil.isDecay ){ + if( decayID == 1 ){ + TLorentzVector Pd = decay.GetDaugther_d(); + + Td = Pd.E() - Pd.M(); + + helios.CalRecoilHit(Pd); + + trajectory orb_d = helios.GetTrajectory_B(); + rhoRecoil_d = orb_d.R; + xRecoil_d = orb_d.x; + yRecoil_d = orb_d.y; + + }else{ + rhoRecoil_d = TMath::QuietNaN(); + xRecoil_d = TMath::QuietNaN(); + yRecoil_d = TMath::QuietNaN(); + } + } + + }else{ + hit = -404; + } + + if( hit == 1) count ++; + + if( reactConfig.isRedo ){ + if( hit == 1) { + redoFlag = false; + }else{ + redoFlag = true; + //printf("%d, %2d, thetaCM : %f, theta : %f, z0: %f \n", i, hit, thetaCM * TMath::RadToDeg(), thetab, helios.GetZ0()); + } + }else{ + redoFlag = false; + } + + }while( redoFlag ); + tree->Fill(); + + //#################################################################### Timer + clock.Stop("timer"); + Double_t time = clock.GetRealTime("timer"); + clock.Start("timer"); + + if ( !shown ) { + if (fmod(time, 10) < 1 ){ + printf( "%10d[%2d%%]| %8.2f sec | expect: %5.1f min \n", i, TMath::Nint((i+1)*100./numEvent), time , numEvent*time/(i+1)/60); + shown = 1; + } + }else{ + if (fmod(time, 10) > 9 ){ + shown = 0; + } + } + + } + + saveFile->Write(); + saveFile->Close(); + + distFile->Close(); + delete exDist; + + printf("=============== done. saved as %s. count(hit==1) : %d\n", saveFileName.Data(), count); + //gROOT->ProcessLine(".q"); + + return; + +} + + +int main (int argc, char *argv[]) { + + printf("=================================================================\n"); + printf("========== Simulate Transfer reaction in HELIOS ==========\n"); + printf("=================================================================\n"); + + if(argc == 2 || argc > 7) { + printf("Usage: ./Transfer [1] [2] [3] [4] [5] [6]\n"); + printf(" default file name \n"); + printf(" [1] reactionConfig.txt (input) reaction Setting \n"); + printf(" [2] detectorGeo.txt (input) detector Setting \n"); + printf(" [3] ID (input) detector & reaction ID (default = 0 ) \n"); + printf(" [4] DWBA.root (input) thetaCM distribution from DWBA \n"); + printf(" [5] transfer.root (output) rootFile name for output \n"); + printf(" [6] plot (input) will it plot stuffs [1/0] \n"); + + printf("------------------------------------------------------\n"); + return 0 ; + } + + std::string basicConfig = "reactionConfig.txt"; + std::string heliosDetGeoFile = "detectorGeo.txt"; + int ID = 0; + TString ptolemyRoot = "DWBA.root"; // when no file, use isotropic distribution of thetaCM + TString saveFileName; // format based on ID; + bool isPlot = false; + + if( argc >= 2) basicConfig = argv[1]; + if( argc >= 3) heliosDetGeoFile = argv[2]; + if( argc >= 4) ID = atoi(argv[3]); + if( argc >= 5) ptolemyRoot = argv[4]; + if( argc >= 6) saveFileName = argv[5]; + if( argc >= 7) isPlot = atoi(argv[7]); + + saveFileName = Form("transfer_%d.root", ID); + + Transfer( basicConfig, heliosDetGeoFile, ID, ptolemyRoot, saveFileName); + + //run Armory/Check_Simulation + if( isPlot ){ + std::ifstream file_in; + file_in.open("../Cleopatra/Check_Simulation.C", std::ios::in); + if( file_in){ + printf("---- running ../Cleopatra/Check_Simulation.C on %s \n", saveFileName.Data()); + TString cmd; + cmd.Form("root -l '../Cleopatra/Check_Simulation.C(\"%s\")'", saveFileName.Data()); + + system(cmd.Data()); + }else{ + printf("cannot find ../Cleopatra/Check_Simulation.C \n"); + } + } + +} + diff --git a/cleopatra/SimulationChecker.C b/cleopatra/SimulationChecker.C new file mode 100644 index 0000000..4358047 --- /dev/null +++ b/cleopatra/SimulationChecker.C @@ -0,0 +1,240 @@ +#include "TString.h" +#include "TFile.h" +#include "TTree.h" +#include "TH2.h" +#include "TStyle.h" +#include "TCanvas.h" +#include "TArc.h" +#include "TLine.h" +#include "TLatex.h" +#include "TMacro.h" + +#include "../Armory/AnalysisLib.h" +#include "../Armory/ClassDetGeo.h" +#include "../Armory/ClassReactionConfig.h" +#include "../Cleopatra/ClassIsotope.h" +#include "../Cleopatra/ClassTransfer.h" + +void SimulationChecker(TString transferRoot = "transfer.root"){ + + gStyle->SetOptStat(""); + gStyle->SetStatY(0.9); + gStyle->SetStatX(0.9); + gStyle->SetStatW(0.4); + gStyle->SetStatH(0.2); + gStyle->SetLabelSize(0.05, "XY"); + gStyle->SetTitleFontSize(0.1); + + TFile * file = new TFile(transferRoot, "read"); + TTree * tree = (TTree*) file->Get("tree"); + + TObjArray * fxList = (TObjArray *) file->FindObjectAny("EZCurve"); + + //*================================== List Of Reactions + TMacro * listOfReaction = (TMacro *) file->FindObjectAny("ListOfReactions"); + + int numReaction = listOfReaction->GetListOfLines()->GetSize(); + + std::vector reactionIDList(numReaction, -1); + std::vector reactionNameList(numReaction, ""); + for( int i = 0; i < numReaction; i++){ + std::vector tempStr = AnalysisLib::SplitStr(listOfReaction->GetListOfLines()->At(i)->GetName(), "|"); + reactionIDList[i] = atoi(tempStr[0].c_str()); + reactionNameList[i] = tempStr[1]; + } + + // for( int i = 0; i < numReaction; i++) printf("%2d | %s\n", reactionIDList[i], reactionNameList[i].Data()); + + //*================================== DWBA, if any + TMacro * dwbaReaction = (TMacro *) file->FindObjectAny("DWBA_ReactionList"); + TMacro * dwbaExList = (TMacro *) file->FindObjectAny("DWBA_ExList"); + // dwbaReaction->Print(); + // dwbaExList->Print(); + + + //*================================== reactionConfig + TMacro * reactionConfigTxt = (TMacro *) file->FindObjectAny("reactionConfig"); + + ReactionConfig reactionConfig(reactionConfigTxt); + + int nEvent = reactionConfig.numEvents; + printf("number of events generated : %d \n", nEvent); + + //=== clear the Ex in reactionCondig if DWBA_ReactionList + if( dwbaReaction || listOfReaction ){ + for( int i = 0; i < numReaction; i ++){ + reactionConfig.exList[reactionIDList[i]].Clear(); + + for( int j = 0; j < dwbaReaction->GetListOfLines()->GetSize(); j++){ + std::vector haha = AnalysisLib::SplitStr(dwbaReaction->GetListOfLines()->At(j)->GetName(), "|"); + + if( atoi(haha[1].c_str()) == reactionIDList[i] ) { + std::vector dudu = AnalysisLib::SplitStr(dwbaExList->GetListOfLines()->At(j+1)->GetName(), " "); + + reactionConfig.exList[reactionIDList[i]].Add(atof(dudu[0].c_str()), atof(dudu[1].c_str()), 1.0, 0.00); + + } + + } + + reactionConfig.Print(reactionIDList[i]); + } + } + + + + //*================================== detector Geometry + printf("=================================\n"); + printf(" loading detector Geometry.\n"); + TMacro * detGeoTxt = (TMacro *) file->FindObjectAny("detGeo"); + + DetGeo detGeo(detGeoTxt); + + detGeo.Print(true); + + printf("%f %f \n", detGeo.array[0].zMin, detGeo.array[0].zMax); + + printf("=================================\n"); + + //*================================== + + int padSize = 500; + int Div[2] = {5, numReaction}; + Int_t size[2] = {padSize,padSize}; ///x,y, single Canvas size + TCanvas * cCheck = new TCanvas("cCheck", "Check For Simulation", 0, 0, size[0]*Div[0], size[1]*Div[1]); + if(cCheck->GetShowEditor() )cCheck->ToggleEditor(); + if(cCheck->GetShowToolBar() )cCheck->ToggleToolBar(); + cCheck->Divide(Div[0],Div[1]); + + bool shownKELines = true; + TString gate = "hit == 1 && loop <= 1 && thetaCM > 10"; + + //^------------------------------- + cCheck->cd(1); + { + TH2F * hez = new TH2F("hez", Form("e-z [gated] @ %5.0f mm; z [mm]; e [MeV]", detGeo.array[0].firstPos), + 400, detGeo.array[0].zMin, detGeo.array[0].zMax, + 400, 0, 10); + + tree->Draw("e:z>>hez", gate + " && rID == 0", "colz"); + } + + //^------------------------------- + cCheck->cd(2); + { + TH2F * hRecoilXY = new TH2F("hRecoilXY", Form("RecoilXY [gated] @ %4.0f mm; X [mm]; Y [mm]", detGeo.aux[0].detPos ), + 400, -detGeo.aux[0].outerRadius, detGeo.aux[0].outerRadius, + 400, -detGeo.aux[0].outerRadius, detGeo.aux[0].outerRadius); + tree->Draw("yRecoil:xRecoil>>hRecoilXY", gate + " && rID == 0", "colz"); + TArc * detArc1 = new TArc(0,0, detGeo.aux[0].outerRadius); + detArc1->SetLineColor(kBlue-8); + detArc1->SetFillStyle(0); + detArc1->Draw("same"); + TArc * detArc2 = new TArc(0,0, detGeo.aux[0].innerRadius); + detArc2->SetLineColor(kBlue-8); + detArc2->SetFillStyle(0); + detArc2->Draw("same"); + + if( reactionConfig.beamX != 0. || reactionConfig.beamY != 0. ){ + TArc * arc = new TArc(reactionConfig.beamX, reactionConfig.beamY, 1); + arc->SetLineColor(2); + detArc1->SetFillStyle(0); + arc->Draw("same"); + } + } + //^------------------------------- + cCheck->cd(3); + { + // TH1F * hThetaCM[numEx]; + // TLegend * legend = new TLegend(0.8,0.2,0.99,0.8); + // double maxCount = 0; + // int startID = 0; // set the start ExID + // for( int i = startID; i < numEx; i++){ + // hThetaCM[i] = new TH1F(Form("hThetaCM%d", i), Form("thetaCM [gated] (ExID=%d); thetaCM [deg]; count", i), 200, thetaCMRange[0], thetaCMRange[1]); + // hThetaCM[i]->SetLineColor(i+1-startID); + // hThetaCM[i]->SetFillColor(i+1-startID); + // hThetaCM[i]->SetFillStyle(3000+i-startID); + // tree->Draw(Form("thetaCM>>hThetaCM%d", i), gate + Form("&& ExID==%d", i), ""); + // legend->AddEntry(hThetaCM[i], Form("Ex=%5.1f MeV", exList.ExList[i].Ex)); + // double max = hThetaCM[i]->GetMaximum(); + // if( max > maxCount ) maxCount = max; + // } + + // for( int i = startID; i < numEx; i++){ + // hThetaCM[i]->GetYaxis()->SetRangeUser(1, maxCount * 1.2); + // if( i == startID ) { + // hThetaCM[i]->Draw(); + // }else{ + // hThetaCM[i]->Draw("same"); + // } + // } + // legend->Draw(); + } + + //^------------------------------- + cCheck->cd(4); + { + TLatex text; + text.SetNDC(); + text.SetTextFont(82); + text.SetTextSize(0.06); + text.SetTextColor(2); + + text.DrawLatex(0., 0.9, reactionNameList[0]); + text.DrawLatex(0., 0.8, detGeo.Bfield > 0 ? "out of plan" : "into plan"); + text.SetTextColor(1); + text.DrawLatex(0., 0.7, "gate:"); + + text.SetTextColor(2); + //check gate text length, if > 30, break by "&&" + int ll = gate.Length(); + if( ll > 30 ) { + std::vector strList = AnalysisLib::SplitStr( (std::string) gate.Data(), "&&"); + for( int i = 0; i < strList.size(); i++){ + text.DrawLatex(0., 0.6 - 0.05*i, (TString) strList[i]); + } + }else{ + text.DrawLatex(0., 0.6, gate); + } + + if( reactionConfig.beamX != 0.0 || reactionConfig.beamY != 0.0 ){ + text.DrawLatex(0.0, 0.1, Form("Bema pos: (%4.1f, %4.1f) mm", reactionConfig.beamX, reactionConfig.beamY)); + } + } + //^------------------------------- + cCheck->cd(5); + { + TH1F * hExCal = new TH1F("hExCal", Form("calculated Ex [gated]; Ex [MeV]; count / %.2f keV", 10.), 400, -1, 3); + tree->Draw("ExCal>>hExCal", gate + " && rID == 0", ""); + Isotope hRecoil(reactionConfig.recoil[0].heavyA, reactionConfig.recoil[0].heavyZ); + double Sn = hRecoil.CalSp(0,1); + double Sp = hRecoil.CalSp(1,0); + double Sa = hRecoil.CalSp2(4,2); + double S2n = hRecoil.CalSp(0, 2); + + printf("Heavy recoil: %s \n", hRecoil.Name.c_str()); + printf("Sn : %f MeV/u \n", Sn); + printf("Sp : %f MeV/u \n", Sp); + printf("Sa : %f MeV/u \n", Sa); + printf("S2n : %f MeV/u \n", S2n); + + double yMax = hExCal->GetMaximum(); + TLine * lineSn = new TLine(Sn, 0, Sn, yMax); lineSn->SetLineColor(2); lineSn->Draw(""); + TLine * lineSp = new TLine(Sp, 0, Sp, yMax); lineSp->SetLineColor(4); lineSp->Draw("same"); + TLine * lineSa = new TLine(Sa, 0, Sa, yMax); lineSa->SetLineColor(6); lineSa->Draw("same"); + TLine * lineS2n = new TLine(S2n, 0, S2n, yMax); lineS2n->SetLineColor(8); lineS2n->Draw("same"); + + TLatex * text = new TLatex(); + text->SetTextFont(82); + text->SetTextSize(0.06); + text->SetTextColor(2); text->DrawLatex(Sn, yMax*0.9, "S_{n}"); + text->SetTextColor(4); text->DrawLatex(Sp, yMax*0.9, "S_{p}"); + text->SetTextColor(6); text->DrawLatex(Sa, yMax*0.9, "S_{a}"); + text->SetTextColor(8); text->DrawLatex(S2n, yMax*0.9, "S_{2n}"); + + } + + cCheck->Modified(); + cCheck->Update(); + +} \ No newline at end of file diff --git a/cleopatra/constant.h b/cleopatra/constant.h new file mode 100644 index 0000000..4f80d8b --- /dev/null +++ b/cleopatra/constant.h @@ -0,0 +1,71 @@ +/*********************************************************************** + * + * This is constant.h, to provide various physical constants. + * + *------------------------------------------------------- + * created by Ryan (Tsz Leung) Tang, Nov-18, 2018 + * email: goluckyryan@gmail.com + * ********************************************************************/ + + +#ifndef constant +#define constant +#include + +const double pi = acos(-1.0); +const double E = 2.718281828459 ; +const double hbar_SI = 1.054571628e-34; //Js +const double kB = 1.3806504e-23; //JK^-1 +const double e = 1.602176487e-19; //C +const double c_SI = 299792458; //ms^-1 +const double me_SI = 9.10938215e-31 ; //kg +const double mp_SI = 1.672621637e-27 ; //kg +const double mn_SI = 1.67492729e-27 ; //kg +const double NA = 6.022141e+23 ; //mol^-1 + +const double deg2rad = pi/180 ; +const double rad2deg = 180/pi ; + + +//====================================================================== +const double amu = 931.49432; // MeV/c^2 +const double hbarc = 197.326979; // MeV fm; +const double c = 299.792458; // mm/ns; +const double ee = 1.439964454; // MeV.fm + +//====================================================================== +double kg2MeV(double m){ + return m*c_SI*c_SI/e/1e6; +} + +double T2Brho(double mass, int Z, int A, double T){ + //mass in MeV + // Z in e + // T in MeV/A + double gamma = (T*A + mass)/mass; + double beta = sqrt(1-1/gamma/gamma); + return mass*beta*gamma/Z/c; +} + +double Brho2T(double mass, int Z, int A, double Brho){ + //mass in MeV + // Z in e + return (sqrt(pow(Brho*Z*c,2)+mass*mass)-mass)/A; +} + +double T2beta(double mass, int A, double T){ + double gamma = 1.0 + T*A/mass; + return sqrt(1-1/gamma/gamma); +} + +double ev2nm(double eV){ + // photon energy to nm + return hbarc/2/pi/eV; +} + +//====================================================================== +const double mp = kg2MeV(mp_SI); +const double mn = kg2MeV(mn_SI); +const double hbar = 197.326979; + +#endif diff --git a/cleopatra/makefile b/cleopatra/makefile new file mode 100644 index 0000000..70b796d --- /dev/null +++ b/cleopatra/makefile @@ -0,0 +1,41 @@ +CC = g++ +CFLAG = -O2 + +depend = ClassTransfer.h ClassHelios.h ClassIsotope.h ClassDecay.h constant.h potentials.h + +ALL = Isotope InFileCreator ExtractXSec ExtractXSecFromText PlotTGraphTObjArray Cleopatra FindThetaCM SimTransfer SimAlpha + +all: $(ALL) + +Isotope: ClassIsotope.h Isotope.C + $(CC) $(CFLAG) Isotope.C -o Isotope + +InFileCreator: InFileCreator.C InFileCreator.h $(depend) + $(CC) $(CFLAG) InFileCreator.C -o InFileCreator `root-config --cflags --glibs` + +ExtractXSec: ExtractXSec.C ExtractXSec.h + $(CC) $(CFLAG) ExtractXSec.C -o ExtractXSec `root-config --cflags --glibs` + +ExtractXSecFromText: ExtractXSecFromText.C ExtractXSec.h + $(CC) $(CFLAG) ExtractXSecFromText.C -o ExtractXSecFromText `root-config --cflags --glibs` + +PlotTGraphTObjArray: PlotTGraphTObjArray.C PlotTGraphTObjArray.h + $(CC) $(CFLAG) PlotTGraphTObjArray.C -o PlotTGraphTObjArray `root-config --cflags --glibs` + +Cleopatra: Cleopatra.C InFileCreator.h ExtractXSec.h + $(CC) $(CFLAG) Cleopatra.C -o Cleopatra `root-config --cflags --glibs` + +FindThetaCM: FindThetaCM.C FindThetaCM.h $(depend) + $(CC) $(CFLAG) FindThetaCM.C -o FindThetaCM `root-config --cflags --glibs` + +SimTransfer: SimTransfer.C ClassTransfer.h $(depend) ../Armory/ClassReactionConfig.h ../Armory/ClassDetGeo.h + $(CC) $(CFLAG) SimTransfer.C -o SimTransfer `root-config --cflags --glibs` + +SimTransfer_single: SimTransfer_single.C $(depend) ../Armory/ClassReactionConfig.h ../Armory/ClassDetGeo.h + $(CC) $(CFLAG) SimTransfer_single.C -o SimTransfer_single `root-config --cflags --glibs` + +SimAlpha: SimAlpha.C ClassHelios.h + $(CC) $(CFLAG) SimAlpha.C -o SimAlpha `root-config --cflags --glibs` + +clean: + /bin/rm -f $(ALL) \ No newline at end of file diff --git a/cleopatra/nuclear_data.py b/cleopatra/nuclear_data.py new file mode 100755 index 0000000..63fe7a6 --- /dev/null +++ b/cleopatra/nuclear_data.py @@ -0,0 +1,153 @@ +#!/usr/local/bin/python3 + +################################################ +import sys + +if len(sys.argv) == 1 : + print( "usage :" ) + print( "%s AZ [maxEx]" % sys.argv[0] ) + print( "e.g. %s 17O --> 17O ground state data" % sys.argv[0]) + print( "e.g. %s 20O 5 --> 20O ground state data and excited state < 5 MeV" % sys.argv[0]) + exit() + +################################################ +import pandas as pd + +# the API webpage +# https://www-nds.iaea.org/relnsd/vcharthtml/api_v0_guide.html#examples + +# the service URL +livechart = "https://nds.iaea.org/relnsd/v0/data?" + +import urllib.request + +def lc_read_csv(url): + req = urllib.request.Request(url) + req.add_header('User-Agent', 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0') + return pd.read_csv(urllib.request.urlopen(req)) + +haha = lc_read_csv(livechart + 'fields=ground_states&nuclides=all') + +mp = 938.27208816; #MeV/c^2 +mn = 939.56542052; + +def FindZ(AZ): + query = livechart + "fields=ground_states&nuclides=" + AZ + temp = lc_read_csv(query); + try : + return temp['z'] + except : + return 'na' +def FindSym(Z): + try: + return (haha['symbol'][haha['z']==Z]).iloc[0] + except: + return 'na' +def Mass(A, Z): + try : + BEA = float(haha['binding'][haha['z']==Z][haha['n']==(A-Z)].iloc[0])/1000 + return (A-Z)*mn + Z*mp - A * BEA + except : + return -404 +def MassSym(AZ): + query = livechart + "fields=ground_states&nuclides=" + AZ + temp = lc_read_csv(query); + Z = temp['z'] + N = temp['n'] + try : + return Z*mp + N*mn - (Z+N)*temp['binding']/1000 + except: + return -404 +def Sp(A,Z,a,z): + mA = Mass(A,Z) + mB = Mass(A-a, Z-z) + if z == 0 : + mb = a * mn + elif a == z : + mb = a * mp + else : + mb = Mass(a,z) + if (mB == -404 or mb == -404 or mA == -404) : + return -404 + else: + return mB + mb - mA +def Ex(AZ, maxMeV): + query = livechart + "fields=levels&nuclides=" + AZ + tempEx = lc_read_csv(query); + try : + return tempEx[['energy', 'jp']][tempEx['energy']<= maxMeV * 1000] + except: + return -404 + +def Info(AZ): + query = livechart + "fields=ground_states&nuclides=" + AZ + temp = lc_read_csv(query); + + print("============================================== " + AZ ) + try : + Z = temp['z'][0] + N = temp['n'][0] + mass = float(Z*mp + N*mn - (Z+N)*temp['binding'].iloc[0]/1000) + halfLife = temp['half_life_sec'][0] + print(" A : %3d, Z : %3d, N : %3d, Mass : %.4f MeV" % (Z+N, Z, N, mass)) + print("Jpi : %3s, half-live : %s sec" % (temp['jp'][0], halfLife)) + print("Sn : %8.3f MeV, Sp : %8.3f MeV" % (Sp(Z+N,Z, 1, 0), Sp(Z+N,Z, 1, 1))) + print("S2n : %8.3f MeV, S2p : %8.3f MeV, Sd : %8.3f MeV" % (Sp(Z+N,Z, 2, 0), Sp(Z+N,Z, 2, 2), Sp(Z+N, Z, 2, 1))) + print("S3n : %8.3f MeV, S3p : %8.3f MeV, St : %8.3f MeV, S(3He) : %8.3f MeV" % (Sp(Z+N,Z, 3, 0), Sp(Z+N,Z, 3, 3), Sp(Z+N, Z, 3, 1), Sp(Z+N, Z, 3, 2))) + print("S4n : %8.3f MeV, S4p : %8.3f MeV, Sa : %8.3f MeV" % (Sp(Z+N,Z, 4, 0), Sp(Z+N,Z, 4, 4), Sp(Z+N, Z, 4, 2))) + print(" magnetic dipole : " + temp['magnetic_dipole'][0] + " mu.N") + print("electric quadruple : " + temp['electric_quadrupole'][0] + " barn") + if halfLife > 0 : + print('------------ decay mode:') + for i in range(1, 4) : + print("%5s %s %%" % (temp["decay_%d" % i][0], temp["decay_%d_%%" % i][0])) + print('--------------------------') + except : + dummy = 1 + print("====================================================\n") + + #outfile = open("%s.txt" % AZ, "w") + #outfile.write("============================================== " + AZ + "\n") + #try : + # Z = temp['z'][0] + # N = temp['n'][0] + # mass = Z*mp + N*mn - (Z+N)*temp['binding']/1000 + # halfLife = temp['half_life_sec'][0] + # outfile.write(" A : %3d, Z : %3d, N : %3d, Mass : %.4f MeV \n" % (Z+N, Z, N, mass)) + # outfile.write("Jpi : %3s, half-live : %s sec \n" % (temp['jp'][0], halfLife)) + # outfile.write("Sn : %8.3f MeV, Sp : %8.3f MeV \n" % (Sp(Z+N,Z, 1, 0), Sp(Z+N,Z, 1, 1))) + # outfile.write("S2n : %8.3f MeV, S2p : %8.3f MeV, Sd : %8.3f MeV \n" % (Sp(Z+N,Z, 2, 0), Sp(Z+N,Z, 2, 2), Sp(Z+N, Z, 2, 1))) + # outfile.write("S3n : %8.3f MeV, S3p : %8.3f MeV, St : %8.3f MeV, S(3He) : %8.3f MeV \n" % (Sp(Z+N,Z, 3, 0), Sp(Z+N,Z, 3, 3), Sp(Z+N, Z, 3, 1), Sp(Z+N, Z, 3, 2))) + # outfile.write("S4n : %8.3f MeV, S4p : %8.3f MeV, Sa : %8.3f MeV \n" % (Sp(Z+N,Z, 4, 0), Sp(Z+N,Z, 4, 4), Sp(Z+N, Z, 4, 2))) + # outfile.write(" magnetic dipole : " + temp['magnetic_dipole'][0] + " mu.N\n") + # outfile.write("electric quadruple : " + temp['electric_quadrupole'][0] + " barn \n") + # if halfLife > 0 : + # outfile.write('------------ decay mode: \n') + # for i in range(1, 4) : + # outfile.write("%5s %s %% \n" % (temp["decay_%d" % i][0], temp["decay_%d_%%" % i][0])) + # outfile.write('-------------------------\n') + #except : + # dummy = 1 + #outfile.write("====================================================\n") + #outfile.close(); + # + #infile = open("%s.txt" % AZ, "r") + #Lines = infile.readlines() + # + #for line in Lines: + # print(line.strip("\n")) + # + #infile.close(); + + +################################################ +AZ = sys.argv[1]; +maxEx = 0; +if len(sys.argv) > 2 : + maxEx = float(sys.argv[2]); + +Info(AZ) + +if maxEx > 0 : + print( Ex(AZ, float(maxEx)) ) + diff --git a/cleopatra/potentials.h b/cleopatra/potentials.h new file mode 100644 index 0000000..e39c935 --- /dev/null +++ b/cleopatra/potentials.h @@ -0,0 +1,1073 @@ +/*********************************************************************** + * + * This is potenital.h, To calculate optical potenital + * It contains various optical potential for proton and deuteron + * It is as same as Kay Ben's globals_beta_v5 + * + *------------------------------------------------------- + * created by Ryan (Tsz Leung) Tang, Nov-18, 2018 + * email: goluckyryan@gmail.com + * ********************************************************************/ + +//golbal varibale for Optical Potential +double v, r0, a; +double vi, ri0, ai; +double vsi, rsi0, asi; +double vso, rso0, aso; +double vsoi, rsoi0, asoi, rc0; + +void PrintPotential(){ + printf("v = %7.3f r0 = %7.3f a = %7.3f\n", v, r0, a); + printf("vi = %7.3f ri0 = %7.3f ai = %7.3f\n", vi, ri0, ai); + printf("vsi = %7.3f rsi0 = %7.3f asi = %7.3f\n", vsi, rsi0, asi); + printf("vso = %7.3f rso0 = %7.3f aso = %7.3f\n", vso, rso0, aso); + printf("vsoi = %7.3f rsoi0 = %7.3f asoi = %7.3f rc0 = %7.3f\n", vsoi, rsoi0, asoi, rc0); +} + +/// A B C D E F G H I J K L M N O P Q R S T U V W X Y Z +/// 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 0 1 1 1 +std::string potentialRef(std::string name){ + + //======== Deuteron + if( name == "A" ){ + return "An and Cai (2006) E < 183 | 12 < A < 238 | http://dx.doi.org/10.1103/PhysRevC.73.054605"; + } + if( name == "H" ){ + return "Han, Shi, Shen (2006) E < 200 | 12 < A < 209 | http://dx.doi.org/10.1103/PhysRevC.74.044615"; + } + if( name == "B" ){ + return "Bojowald et al.(1988) 50 < E < 80 | 27 < A < 208 | http://dx.doi.org/10.1103/PhysRevC.38.1153"; + } + if( name == "D" ){ + return "Daehnick, Childs, Vrcelj (1980) 11.8 < E < 80 | 27 < A < 238 (REL) | http://dx.doi.org/10.1103/PhysRevC.21.2253"; + } + if( name == "C" ){ + return "Daehnick, Childs, Vrcelj (1980) 11.8 < E < 80 | 27 < A < 238 (NON-REL) | http://dx.doi.org/10.1103/PhysRevC.21.2253"; + } + if( name == "L" ){ + return "Lohr and Haeberli (1974) 9 < E < 13 | 40 < A | http://dx.doi.org/10.1016/0375-9474(74)90627-7"; + } + if( name == "Q" ){ + return "Perey and Perey (1963) 12 < E < 25 | 40 < A | http://dx.doi.org/10.1016/0370-1573(91)90039-O"; + } + + if( name == "Z" ){ + return "Zhang, Pang, Lou (2016) 5 < E < 170 | A < 18 | https://doi.org/10.1103/PhysRevC.94.014619"; + } + + //======= Proton + if( name == "K" ){ + return "Koning and Delaroche (2009) 0.001 < E < 200 | 24 < A < 209 | Iso. Dep. | http://dx.doi.org/10.1016/S0375-9474(02)01321-0"; + } + if( name == "V" ){ + return "Varner et al., (CH89) (1991) 16 < E < 65 | 4 < A < 209 | http://dx.doi.org/10.1016/0370-1573(91)90039-O"; + } + if( name == "M" ){ + return "Menet et al. (1971) 30 < E < 60 | 40 < A | http://dx/doi.org/10.1016/0092-640X(76)90007-3"; + } + if( name == "G" ){ + return "Becchetti and Greenlees (1969) E < 50 | 40 < A | http://dx.doi.org/10.1103/PhysRev.182.1190"; + } + if( name == "P" ){ + return "Perey (1963) E < 20 | 30 < A < 100 | http://dx/doi.org/10.1016/0092-640X(76)90007-3"; + } + +/// a b c d e f g h i j k l m n o p q r s t u v w x y z +/// 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 + //====== A = 3 + if( name == "x" ){ + return "XU, GUO, HAN, SHEN (2011) E < 250 | 20 < A < 209 | http://dx.doi.org/10.1007/s11433-011-4488-5"; + } + if( name == "l" ){ + return "Liang, Li, Cai (2009) E < 270 | All masses | http://dx.doi.org/10.1088/0954-3899/36/8/085104"; + } + if( name == "p" ){ + return "Pang et al., (2009) All E | All masses | Isospin dep. | http://dx.doi.org/10.1103/PhysRevC.79.024615"; + } + if( name == "c" ){ + return "Li, Liang, Cai, (2007) E < 40 | All masses | 48 < A < 232 | Tritons | http://dx.doi.org/10.1016/j.nuclphysa.2007.03.004"; + } + if( name == "t" ){ + return "Trost et al., (1987) 10 < E < 220 | 10 < A < 208 | http://dx.doi.org/10.1016/0375-9474(87)90551-3"; + } + if( name == "h" ){ + return "Hyakutake et al., (1980) 90 < E < 120 | About 58 < A < 92 | http://dx.doi.org/10.1016/0375-9474(80)90013-5"; + } + if( name == "b" ){ + return "Becchetti and Greenlees, (1971) E < 40 | 40 < A | Iso. Dep."; + } + + //======= alpha + if( name == "s"){ + return "Su and Han, (2015) E < 398 | 20 < A < 209 | http://dx.doi/org/10.1142/S0218301315500925"; + } + if( name == "a"){ + return "Avrigeanu et al., (2009) E ??? | A ??? | http://dx.doi/org/10.1016/j.adt.2009.02.001"; + } + if( name == "f"){ + return "(FIXED) Bassani and Picard, (1969) 24 < E < 31 | A = 90 | https://doi.org/10.1016/0375-9474(69)90601-0"; + } + + //====== custom + if( name == "Y"){ + return "Bardayan Parameters PRC 78 052801(R) (2008)"; + } + if( name == "X"){ + return "Bardayan Parameters PRC 78 052801(R) (2008)"; + } + + return ""; +} + + +bool CustomXPotential(int A, int Z, double E){ + +v = 54.19 ; +r0 = 1.25 ; +a = 0.65 ; +vi = 0.0 ; +ri0 = 1.25 ; +ai = 0.65 ; +vsi = 13.5 ; +rsi0 = 1.25 ; +asi = 0.47 ; +vso = 7.5 ; +rso0 = 1.25 ; +aso = 0.47 ; +vsoi = 0.0 ; +rsoi0 = 1.25 ; +asoi = 0.47 ; +rc0 = 1.25 ; + + return true; +} + +bool CustomYPotential(int A, int Z, double E){ + + v = 85.31; + r0 = 1.15; + a = 0.81; + + vi = 0.0; + ri0 = 1.15; + ai = 0.81; + + vsi = 16.0; + rsi0 = 1.34; + asi = 0.68; + + vso = 0.0; + rso0 = 1.0; + aso = 1.0; + + vsoi = 0.0; + rsoi0 = 1.0; + asoi = 1.0; + + rc0 = 1.15; + + return true; +} +//======================== deuteron +bool AnCaiPotential(int A, int Z, double E){ + // d + A(Z) + // E < 183 or 81.5 MeV/u + // 12 < A < 238 + // http://dx.doi.org/10.1103/PhysRevC.73.054605 + + //if( !(12 <= A && A <= 238 ) ) return false; + //if( E > 183 ) return false; + + double A3 = pow(A, 1./3.); + + v = 91.85 - 0.249*E + 0.000116*pow(E,2) + 0.642 * Z / A3; + r0 = 1.152 - 0.00776 / A3; + a = 0.719 + 0.0126 * A3; + + vi = 1.104 + 0.0622 * E; + ri0 = 1.305 + 0.0997 / A3; + ai = 0.855 - 0.1 * A3; + + vsi = 10.83 - 0.0306 * E; + rsi0 = 1.334 + 0.152 / A3; + asi = 0.531 + 0.062 * A3; + + vso = 3.557; + rso0 = 0.972; + aso = 1.011; + + vsoi = 0.0; + rsoi0 = 0.0; + asoi = 0.0; + + rc0 = 1.303; + + return true; +} + +bool HSSPotential(int A, int Z, double E){ + // d + A(Z) + // E < 200 or 100 MeV/u + // 12 < A < 209 + // http://dx.doi.org/10.1103/PhysRevC.73.054605 + + //if( !(12 <= A && A <= 209 ) ) return false; + //if( E > 200 ) return false; + + int N = A-Z; + double A3 = pow(A, 1./3.); + + double VIcond = -4.916 + (0.0555*E) + 0.0000442 * pow(E,2) + 35. * (N-Z)/A; + + v = 82.18 - 0.148 * E - 0.000886 * pow(E,2) - 34.811*(N-Z)/A + 1.058*Z/A3; + r0 = 1.174; + a = 0.809; + + vi = VIcond > 0 ? VIcond : 0 ; + ri0 = VIcond > 0 ? 1.563 : 0; + ai = VIcond > 0 ? 0.7 + 0.045 * A3 : 0; + + vsi = 20.968 - 0.0794 * E - 43.398 * (N-Z)/A; + rsi0 = 1.328; + asi = 0.465 + 0.045*A3; + + vso = 3.703; + rso0 = 1.234; + aso = 0.813; + + vsoi = -0.206; + rsoi0 = 1.234; + asoi = 0.813; + + rc0 = 1.698; + + return true; +} + +bool BojowaldPotential(int A, int Z, double E){ + // d + A(Z) + // 50 < E < 80 or 25, 40 MeV/u + // 27 < A < 208 + // http://dx.doi.org/10.1103/PhysRevC.38.1153 + + //if( !(27 <= A && A <= 208 ) ) return false; + //if( E > 80 || E < 27) return false; + + int N = A-Z; + double A3 = pow(A, 1./3.); + + double VIcond = 0.132 * (E - 45.); + + v = 81.33 - 0.24 * E + 1.43 * Z / A3; + r0 = 1.18; + a = 0.636 + 0.035 * A3; + + vi = VIcond > 0 ? VIcond : 0 ; + ri0 = 1.27; + ai = 0.768 + 0.021 * A3; + + vsi = 7.8 + 1.04 * A3 - 0.712 * vi; + rsi0 = 1.27; + asi = 0.768 + 0.021 * A3; + + vso = 6.0; + rso0 = 0.78 + 0.038 * A3; + aso = 0.78 + 0.038 * A3; + + vsoi = 0; + rsoi0 = 0; + asoi = 0; + + rc0 = 1.3; + + return true; +} + +bool DaehnickPotential(int A, int Z, double E){ + // d + A(Z) + // 11.8 < E < 80 or 5.4, 40 MeV/u + // 27 < A < 238 + // http://dx.doi.org/10.1103/PhysRevC.21.2253 + + //if( !(27 <= A && A <= 238 ) ) return false; + //if( E > 80 || E < 11.8) return false; + + int N = A-Z; + double A3 = pow(A, 1./3.); + + double beta = -1.* pow(E/100.,2); + + double MU1 = exp(-1*pow((8. - N)/2.,2)); + double MU2 = exp(-1*pow((20. - N)/2.,2)); + double MU3 = exp(-1*pow((28. - N)/2.,2)); + double MU4 = exp(-1*pow((50. - N)/2.,2)); + double MU5 = exp(-1*pow((82. - N)/2.,2)); + double MU6 = exp(-1*pow((126. - N)/2.,2)); + + double MU = MU1 + MU2 + MU3 + MU4 + MU5 + MU6; + + v = 88. - 0.283 * E + 0.88 * Z / A3; + r0 = 1.17; + a = 0.717 + 0.0012 * E; + + vi = (12. + 0.031 * E )*(1 - exp(beta)); + ri0 = 1.376 - 0.01 * sqrt(E); + ai = 0.52 + 0.07 * A3 - 0.04 * MU; + + vsi = (12. + 0.031 * E) * exp(beta); + rsi0 = ri0; + asi = ai; + + vso = 7.2 - 0.032 * E; + rso0 = 1.07; + aso = 0.66; + + vsoi = 0; + rsoi0 = 0; + asoi = 0; + + rc0 = 1.3; + + return true; +} + +bool LohrPotential(int A, int Z, double E){ + // d + A(Z) + // 9 < E < 13 or 4.5, 6.5 MeV/u + // 40 < A + // http://dx.doi.org/10.1016/0375-9474(74)90627-7 + + //if( !(40 <= A ) ) return false; + //if( E > 13 || E < 9) return false; + + int N = A-Z; + double A3 = pow(A, 1./3.); + + v = 91.13 + 2.2 * Z / A3; + r0 = 1.05; + a = 0.86; + + vi = 0; + ri0 = 0; + ai = 0; + + vsi = 218./pow(A,2./3.); + rsi0 = 1.43; + asi = 0.5 + 0.013 * pow(A,2./3.); + + vso = 7; + rso0 = 0.75; + aso = 0.5; + + vsoi = 0; + rsoi0 = 0; + asoi = 0; + + rc0 = 1.3; + + return true; +} + +bool PereyPereyPotential(int A, int Z, double E){ + // d + A(Z) + // 12 < E < 25 or 6, 12.5 MeV/u + // 40 < A + // http://dx.doi.org/10.1016/0375-9474(74)90627-7 + + //if( !(40 <= A ) ) return false; + //if( E > 25 || E < 12) return false; + + int N = A-Z; + double A3 = pow(A, 1./3.); + + v = 81 - 0.22*E + 2 * Z / A3; + r0 = 1.15; + a = 0.81; + + vi = 0; + ri0 = 0; + ai = 0; + + vsi = 14.4 + 0.24 * E; + rsi0 = 1.34; + asi = 0.68; + + vso = 0.; + rso0 = 0.; + aso = 0.; + + vsoi = 0; + rsoi0 = 0; + asoi = 0; + + rc0 = 1.15; + + return true; +} + +bool ZhangPangLouPotential(int A, int Z, double E, double Zproj){ + + vso = 0; + rso0 = 0; + aso = 0; + vsoi = 0; + rsoi0 = 0; + rc0 = 1.3; + + double A3 = pow(A, 1./3.); + + double RC = rc0 * A3; + double Ec = 6 * Zproj * Z * 1.44 / 5 / RC; + + if( A == 6 && Z == 3 ){ + r0 = 1.62 - 0.0122 * (E - Ec) / A3; + ri0 = 2.83 - 0.0911 * (E - Ec) / A3; + rsi0 = ri0; + + a = 0.876; + ai = 0.27; + asi = ai; + + v = 47.9 + 2.37 * (E - Ec); + vi = 0; + vsi = 11.3 + 3.44 * (E - Ec); + + }else if( A == 7 && Z == 3 ){ + r0 = 1.45 + 0.097 * (E - Ec) / A3; + ri0 = 2.12 + 0.022 * (E - Ec) / A3; + rsi0 = ri0; + + a = 0.844; + ai = 0.261; + asi = ai; + + v = 26.1 + 1.19 * (E - Ec); + vi = 0; + vsi = 215.0 - 16.1 * (E - Ec); + + }else{ + r0 = 1.11 - 0.167 / A3 + 0.00117 * (E - Ec) / A3; + ri0 = 0.561 + 3.07 / A3 - 0.00449 * (E - Ec) / A3; + rsi0 = ri0; + + a = 0.776; + ai = 0.744; + asi = ai; + + v = 98.9 - 0.279 * (E - Ec); + vi = 11.5 / ( 1 + exp((18.1 - (E - Ec))/5.97)); + vsi = 7.56 / ( 1 + exp(((E - Ec) - 14.3)/4.55)); + + } + + return true; +} + +//======================== proton +bool KoningPotential(int A, int Z, double E, double Zproj){ + // p + A(Z) + // E < 200 or 200 MeV/u + // 24 < A < 209 + // http://dx.doi.org/10.1016/S0375-9474(02)01321-0 + + //if( !(24 <= A && A <= 209 ) ) return false; + //if( E > 200 ) return false; + + int N = A-Z; + double A3 = pow(A, 1./3.); + + double vp1 = 59.3 + 21.*(N-Z)/A - 0.024*A; + double vn1 = 59.3 - 21.*(N-Z)/A - 0.024*A; + + double vp2 = 0.007067 + 0.00000423*A; + double vn2 = 0.007228 - 0.00000148*A; + + double vp3 = 0.00001729 + 0.00000001136 * A; + double vn3 = 0.00001994 - 0.00000002 * A; + + double vp4 = 7e-9; // = vn4 + double vn4 = vp4; + + double wp1 = 14.667 + 0.009629*A; + double wn1 = 12.195 + 0.0167*A; + + double wp2 = 73.55 + 0.0795*A; // = wn2 + double wn2 = wp2; + + double dp1 = 16 + 16.*(N-Z)/A; + double dn1 = 16 - 16.*(N-Z)/A; + + double dp2 = 0.018 + 0.003802/(1 + exp((A-156.)/8)); // = dn2 + double dn2 = dp2; + + double dp3 = 11.5 ; // = dn3 + double dn3 = dp3; + + double vso1 = 5.922 + 0.003 * A; + double vso2 = 0.004; + + double wso1 = -3.1; + double wso2 = 160; + + double epf = -8.4075 + 0.01378 *A; + double enf = -11.2814 + 0.02646 *A; + + double rc = 1.198 + 0.697/pow(A3,2) + 12.995/pow(A3,5); + double vc = 1.73/rc * Z / A3; + + v = vp1*(1 - vp2*(E-epf) + vp3*pow(E-epf,2) - vp4*pow(E-epf,3)) + vc * vp1 * (vp2 - 2*vp3*(E-epf) + 3*vp4*pow(E-epf,2)); + //neutron + if( Zproj == 0 ) v = vn1*(1 - vn2*(E-enf) + vn3*pow(E-enf,2) - vn4*pow(E-enf,3)); + + + r0 = 1.3039 - 0.4054 / A3; + a = 0.6778 - 0.000148 * A; + + vi = wp1 * pow(E-epf,2)/(pow(E-epf,2) + pow(wp2,2)); + if( Zproj == 0 ) vi = wn1 * pow(E-enf,2)/(pow(E-enf,2) + pow(wn2,2)); + + ri0 = 1.3039 - 0.4054 / A3; + ai = 0.6778 - 0.000148 * A; + + vsi = dp1 * pow(E-epf,2)/(pow(E-epf,2)+pow(dp3,2)) * exp(-dp2*(E-epf)); + if( Zproj == 0 ) vsi = dn1 * pow(E-enf,2)/(pow(E-enf,2)+pow(dn3,2)) * exp(-dn2*(E-enf)); + + rsi0 = 1.3424 - 0.01585 * A3; + asi = 0.5187 + 0.0005205 * A; + if( Zproj == 0 ) asi = 0.5446 - 0.0001656 * A; + + vso = vso1 * exp(-vso2 * (E-epf)); + if( Zproj == 0 ) vso = vso1 * exp(-vso2 * (E-enf)); + + rso0 = 1.1854 - 0.647/A3; + aso = 0.59; + + vsoi = wso1 * pow(E-epf,2)/(pow(E-epf,2)+pow(wso2,2)); + if ( Zproj == 0 ) vsoi = wso1 * pow(E-enf,2)/(pow(E-enf,2)+pow(wso2,2)); + + rsoi0 = 1.1854 - 0.647/A3; + asoi = 0.59; + + rc0 = rc; + + return true; +} + +bool VarnerPotential(int A, int Z, double E){ + // p + A(Z) + // 16 < E < 65 or 65 MeV/u + // 4 < A < 209 + // http://dx.doi.org/10.1016/0370-1573(91)90039-O + + //if( !(4 <= A && A <= 209 ) ) return false; + //if( E > 65 || E < 16 ) return false; + + int N = A-Z; + double A3 = pow(A, 1./3.); + + double Rc = 1.24 * A3 + 0.12; + double EC = 1.73 * Z / Rc; + double ETA = 1.0*(N-Z)/A; + + v = 52.9 + 13.1 * (N-Z)/A - 0.299 * (E - EC); + r0 = 1.25 - 0.225/A3; + a = 0.690; + + vi = 7.8/(1 + exp((35. - E + EC)/16.) ); + ri0 = 1.33 - 0.42/A3; + ai = 0.69; + + vsi = (10 + 18.*(N-Z)/A)/(1+exp((E-EC - 36.)/37.)); + rsi0 = 1.33 - 0.42/A3; + asi = 0.69; + + vso = 5.9; + rso0 = 1.34 - 1.2/A3; + aso = 0.63; + + vsoi = 0; + rsoi0 = 0; + asoi = 0; + + rc0 = Rc/A3; + + return true; +} + +bool MenetPotential(int A, int Z, double E){ + // p + A(Z) + // 30 < E < 60 or 60 MeV/u + // 40 < A + // http://dx.doi.org/10.1016/0370-1573(91)90039-O + + //if( !(40 <= A ) ) return false; + //if( E > 60 || E < 30 ) return false; + + int N = A-Z; + double A3 = pow(A, 1./3.); + + v = 49.9 - 0.22 * E + 26.4 * (N-Z) / A + 0.4 * Z / A3; + r0 = 1.16; + a = 0.75; + + vi = 1.2 + 0.09 * E; + ri0 = 1.37; + ai = 0.74 - 0.008 * E + 1.*(N-Z)/A; + + vsi = 4.2 - 0.05 * E + 15.5 * (N-Z)/A; + rsi0 = 1.37; + asi = 0.74 - 0.008 * E + 1.*(N-Z)/A; + + vso = 6.04; + rso0 = 1.064; + aso = 0.78; + + vsoi = 0; + rsoi0 = 0; + asoi = 0; + + rc0 = 1.25; + + return true; +} + +bool BecchettiPotential(int A, int Z, double E){ + // p + A(Z) + // E < 50 or 60 MeV/u + // 40 < A + // http://dx.doi.org/10.1103/PhysRev.182.1190 + + //if( !(40 <= A ) ) return false; + //if( E > 60 || E < 30 ) return false; + + int N = A-Z; + double A3 = pow(A, 1./3.); + + v = 54 - 0.32 * E + 24. * (N-Z) / A + 0.4 * Z / A3; + r0 = 1.17; + a = 0.75; + + vi = 0.22 * E - 2.7 < 0 ? 0 : 0.22 * E - 2.7; + ri0 = 1.32; + ai = 0.51 + 0.7 * (N-Z)/A; + + vsi = 11.8 - 0.258 * E + 12. * (N-Z)/A; + if( vsi < 0 ) { + vsi = 0; + } + rsi0 = 1.320; + asi = 0.51 + 0.7 * (N-Z)/A; + + vso = 6.2; + rso0 = 1.1; + aso = 0.75; + + vsoi = 0; + rsoi0 = 0; + asoi = 0; + + rc0 = 1.3; + + return true; +} + +bool PereyPotential(int A, int Z, double E){ + // p + A(Z) + // E < 20 or 20 MeV/u + // 30 < A < 100 + // http://dx.doi.org/10.1103/PhysRev.182.1190 + + //if( !(40 <= A && A <= 100 ) ) return false; + //if( E > 20 ) return false; + + int N = A-Z; + double A3 = pow(A, 1./3.); + + v = 53.3 - 0.55 * E + 27. * (N-Z) / A + 0.4 * Z / A3; + r0 = 1.25; + a = 0.65; + + vi = 0.; + ri0 = 0.; + ai = 0.; + + vsi = 13.5; + rsi0 = 1.25; + asi = 0.47; + + vso = 7.5; + rso0 = 1.25; + aso = 0.47; + + vsoi = 0; + rsoi0 = 0; + asoi = 0; + + rc0 = 1.25; + + return true; +} + +bool XuPotential(int A, int Z, double E){ + + int N = A-Z; + double A3 = pow(A, 1./3.); + + double vsiTest = 33.26647 - 0.16975 * E - 12.0 * (N-Z)/A; + double viTest = -2 + 0.10645*E - 0.00016156 * pow(E,2); + + v = 136.34988 - 0.20315 * E - 0.00030147 * pow(E,2) - 24.0 * (N-Z) / A + 0.4 * Z / A3; + r0 = 1.14963; + a = 0.78836; + + vi = 0.0; if( viTest > 0 ) vi = viTest; + ri0 = 1.61807; + ai = 0.66485; + + vsi = 0.0; if( vsiTest > 0 ) vsi = vsiTest; + rsi0 = 1.20655; + asi = 0.73593; + + vso = 3.0; + rso0 = 1.26864; + aso = 0.89999; + + vsoi = 0; + rsoi0 = 0; + asoi = 0; + + rc0 = 1.25; + + return true; +} + +bool LiangPotential(int A, int Z, double E){ + + int N = A-Z; + double A3 = pow(A, 1./3.); + + v = 118.36 - 0.2071 * E + 0.000063961 * pow(E,2) + 26.001 * (N-Z) / A + 0.5668 * Z / A3; + r0 = 1.1657 + 0.0401 / A3; + a = 0.6641 + 0.0305 * A3; + + vi = -6.8871 + 0.3115 * E - 0.00068096 * pow(E,2); + ri0 = 1.4022 + 0.0418 / A3; + ai = 0.7732 + 0.0219 * A3; + + vsi = 20.119 - 0.1626 * E - 5.4067 * (N-Z) / A + 1.2087 * A3; + rsi0 = 1.1802 + 0.0587 / A3; + asi = 0.6292 + 0.0657 * A3; + + vso = 2.0491 + 0.0099804 * A3; + rso0 = 0.7211 + 0.0586 / A3; + aso = 0.7643 + 0.0535 * A3; + + vsoi = -1.1591; + rsoi0 = 0.7211 + 0.0586 * A3; + asoi = 0.7643 + 0.0535 * A3; + + rc0 = 1.289; + + return true; +} + +bool PangPotential(int A, int Z, double E, int Zproj){ + + int N = A-Z; + double A3 = pow(A, 1./3.); + + double rc = 1.24 * A3 + 0.12; + double EC = 1.728 * Z * Zproj / rc; + double ETA = 1.0 * (N-Z) / A; + double vsiAsym = 35.0 - 34.2 * ETA; + if( Zproj == 2.0 ) vsiAsym = 35 + 34.2* ETA; + + v = 118.3 - 0.13 * (E - EC); + r0 = 1.3 - 0.48 / A3; + a = 0.82; + + vi = 38.5/(1.0 + exp( (156.1 - E + EC)/52.4 )); + ri0 = 1.31 - 0.13 / A3; + ai = 0.84; + + vsi = vsiAsym / ( 1.0 + exp( (E - EC - 30.8) / 106.4 )); + rsi0 = 1.31 - 0.13 / A3; + asi = 0.84; + + vso = 0; + if( E < 85 ) vso = 1.7 - 0.02 * E; + rso0 = 0.64 + 1.18 / A3; + aso = 0.13; + + vsoi = 0.; + rsoi0 = 0.; + asoi = 0.; + + rc0 = rc/ A3; + + return true; +} + +bool LiLiangCaiPotential(int A, int Z, double E){ + + int N = A-Z; + double A3 = pow(A, 1./3.); + + v = 137.6 - 0.1456 * E + 0.0436 * pow(E,2) + 4.3751 * (N-Z) / A + 1.0474 * Z / A3; + r0 = 1.1201 - 0.1504 / A3; + a = 0.6833 + 0.0191 * A3; + + vi = 7.383 + 0.5025 * E - 0.0097 * pow(E,2); + ri0 = 1.3202 - 0.1776 / A3; + ai = 1.119 + 0.01913 * A3; + + vsi = 37.06 - 0.6451 * E - 47.19 * (N-Z) / A; + rsi0 = 1.251 - 0.4622 / A3; + asi = 0.8114 + 0.01159 * A3; + + vso = 1.9029; + rso0 = 0.46991 + 0.1294 / A3; + aso = 0.3545 - 0.0522 * A3; + + vsoi = 0.0; + rsoi0 = 0.0; + asoi = 0.0; + + rc0 = 1.422; + + return true; +} + +bool TrostPotential(int A, int Z, double E){ + + int N = A-Z; + double A3 = pow(A, 1./3.); + + double JR = 272.33 * (1.0 + 0.002029 * A) * ( 1.0 - 0.001453 * E ) * (1.0 + 3.4931 * pow(A3,-2)) * ( 1.0+(-0.825165+exp(0.92059-0.079154*A))*exp(-0.065066*E) ); + double AP = 3 ; + + r0 = 1.150; + double RR = A3 * r0; + a = 0.64*(1+(0.0004*A))*(1+0.25*(1-exp(-0.2*A))*(1-exp(-0.06*E))); + double pi = 3.141592653589793; + v = 3.0/(4 * pi) * JR * AP * A * pow(RR, -3.0) / (1 + pow((pi * a)/RR,2) ); + + vi = 0.0; + ri0 = 0.0; + ai = 0.0; + + vsi = 24.5*(1+(1-(0.011*A))*(-0.0018)*E)*(1-exp(-(1.0+(0.003*E))*0.1*A))*(1-exp(-0.1*E)); + rsi0 = 1.26*(1-(0.00055*E))*(1+exp(-0.9163-(0.005*A))*exp(-0.09*E)); + asi = 0.8; + + vso = 0.0; + rso0 = 0.0; + aso = 0.0; + + vsoi = 0.0; + rsoi0 = 0.0; + asoi = 0.0; + + rc0 = 1.4; + + return true; +} + +bool HyakutakePotential(int A, int Z, double E){ + + int N = A-Z; + double A3 = pow(A, 1./3.); + + v = 111.4 - 0.173 * E + 14.9 * (N-Z) / A + 1.1 * Z / A3; + r0 = 1.21; + a = 0.76; + + vi = 0.0; + ri0 = 0.0; + ai = 0.0; + + vsi = 24.8 - 0.028 * E; + rsi0 = 1.17; + asi = 0.754 + 0.78 * (N-Z) / A; + + vso = 0.0; + rso0 = 0.0; + aso = 0.0; + + vsoi = 0.0; + rsoi0 = 0.0; + asoi = 0.0; + + rc0 = 1.300; + + return true; +} + +bool BecchettiA3Potential(int A, int Z, double E, int Zproj){ + + int N = A-Z; + double A3 = pow(A, 1./3.); + + v = 165 - 0.17 * E - 6.4 * (N-Z) / A; + if( Zproj == 2 ) v = 151.9 - 0.17 * E + 50. * (N-Z) / A; + + r0 = 1.20; + a = 0.72; + + vi = 46.0 - 0.33 * E - 110. * (N-Z) / A; + if( Zproj == 2 ) vi = 41.7 - 0.33 * E + 44.0 * (N-Z) / A; + ri0 = 1.4; + ai = 0.84; + if( Zproj == 2 ) ai = 0.88; + + vsi = 0.0; + rsi0 = 0.0; + asi = 0.0; + + vso = 2.5; + rso0 = 1.2; + aso = 0.72; + + vsoi = 0.0; + rsoi0 = 0.0; + asoi = 0.0; + + rc0 = 1.300; + + return true; +} + +//=============================== alpha + +bool SuAndHanPotential(int A, int Z, double E){ + + int N = A-Z; + double A3 = pow(A, 1./3.); + + double vsiCOND = 27.5816 - 0.0797 * E + 48.0*(N-Z)/A; + double viCOND = -4.0174 + 0.1409 * E ; + + v = 175.0881 - 0.6236 * E + 0.0006*E*E + 30.*(N-Z)/A - 0.236 * Z/A3; + r0 = 1.3421; + a = 0.6578; + + vi = viCOND; if( viCOND < 0 ) vi = 0.0; + ri0 = 1.4259; + ai = 0.6578; + + vsi = vsiCOND; if (vsiCOND < 0 ) vsi = 0.0; + rsi0 = 1.2928; + asi = 0.6359; + + vso = 0.0; + rso0 = 1.2686; + aso = 0.85; + + vsoi = 0.0; + rsoi0 = 0.0; + asoi = 0.0; + + rc0 = 1.350; + + return true; +} + +bool AvrigeanuPotential(int A, int Z, double E){ + + int N = A-Z; + double A3 = pow(A, 1./3.); + + double e3 = 23.6 + 0.181 * Z/A3; + double e2 = (2.59 + 10.4/A)*Z/(2.66+1.36*A3); + double e1 = -3.03 + 0.762 * A3 + 0.24 + e2; + + v = 116.5 + 0.337 * Z /A3 + 0.453*E; + if( E < e3 ) v = 168 + 0.733 * Z / A3 - 2.64 *E; + r0 = 0.00; + a = 0.00; + + vi = 2.73 - 2.88 * A3 + 1.11*E; + ri0 = 0.00; + ai = 0.00; + + vsi = 0.0; + rsi0 = 0.0; + asi = 0.0; + + vso = 0.0; + rso0 = 0.0; + aso = 0.0; + + vsoi = 0.0; + rsoi0 = 0.0; + asoi = 0.0; + + rc0 = 1.300; + + return true; +} + +bool BassaniPicardPotential(int A, int Z, double E){ + + v = 207; + r0 = 1.3; + a = 0.65; + + vi = 28; + ri0 = 1.3; + ai = 0.52; + + vsi = 0.0; + rsi0 = 0.0; + asi = 0.0; + + vso = 0.0; + rso0 = 0.0; + aso = 0.0; + + vsoi = 0.0; + rsoi0 = 0.0; + asoi = 0.0; + + rc0 = 1.400; + + return true; +} + +bool CallPotential(std::string potName, int A, int Z, double E, int Zproj){ + bool okFlag = false; + + if( potName == "A") okFlag = AnCaiPotential(A, Z, E); + if( potName == "H") okFlag = HSSPotential(A, Z, E); + if( potName == "B") okFlag = BojowaldPotential(A, Z, E); + if( potName == "D") okFlag = DaehnickPotential(A, Z, E); + if( potName == "L") okFlag = LohrPotential(A, Z, E); + if( potName == "Q") okFlag = PereyPereyPotential(A, Z, E); + if( potName == "Z") okFlag = ZhangPangLouPotential(A, Z, E, Zproj); + + if( potName == "K") okFlag = KoningPotential(A, Z, E, Zproj); + if( potName == "V") okFlag = VarnerPotential(A, Z, E); + if( potName == "M") okFlag = MenetPotential(A, Z, E); + if( potName == "G") okFlag = BecchettiPotential(A, Z, E); + if( potName == "P") okFlag = PereyPotential(A, Z, E); + + if( potName == "x") okFlag = XuPotential(A, Z, E); + if( potName == "l") okFlag = LiangPotential(A, Z, E); + if( potName == "p") okFlag = PangPotential(A, Z, E, Zproj); + if( potName == "c") okFlag = LiLiangCaiPotential(A, Z, E); + if( potName == "t") okFlag = TrostPotential(A, Z, E); + if( potName == "h") okFlag = HyakutakePotential(A, Z, E); + if( potName == "b") okFlag = BecchettiA3Potential(A, Z, E, Zproj); + + if( potName == "s") okFlag = SuAndHanPotential(A, Z, E); + if( potName == "a") okFlag = AvrigeanuPotential(A, Z, E); + if( potName == "f") okFlag = BassaniPicardPotential(A, Z, E); + + if( potName == "X") okFlag = CustomXPotential(A, Z, E); + if( potName == "Y") okFlag = CustomYPotential(A, Z, E); + + //printf(" Potenital : %s | A : %d | Z : %d | E : %f\n", potName.c_str(), A, Z, E); + //PrintPotential(); + + return okFlag; +} diff --git a/cleopatra/ptolemy b/cleopatra/ptolemy new file mode 100755 index 0000000000000000000000000000000000000000..29da4b0e3b32395601571bc9b2592ca059b2ee59 GIT binary patch literal 3134828 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%0A1vda%me$D=Q-V~DiI0uI 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 z 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

Da8FH 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

&<5;J%<_|>A<;V<6TKPcTl+Wy!Xs<%+ba2VtT|q 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 z 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

rvr){({2A&kW1e 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 go=GpTV_Xm0j+ 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%0A*Ch4-&q{5_OZ#J*-6c(AtN=Twp*wVvXuv4onl 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�+TZrCq3r?%`<89jtlsS$- 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%0Da)eY^S<`oE`)9S6YQ?@=fH5|=r4P^ho> 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±WtMVavTvPxK(N7AAa|J0o%umvM+#7 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

-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%0DPlVawzCUlzw5lFvZG7 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�R5Ih1khP5H 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

%<}G=TnXuFmr;0@|4SNl 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

nT`Q?UeS) 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 rqBNZGfE?8lu@