add README.md, a little clean up
This commit is contained in:
parent
a1d83534ba
commit
b2fcbf957d
17
.vscode/c_cpp_properties.json
vendored
Normal file
17
.vscode/c_cpp_properties.json
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Linux",
|
||||||
|
"includePath": [
|
||||||
|
"${workspaceFolder}/**",
|
||||||
|
"/opt/root/**"
|
||||||
|
],
|
||||||
|
"defines": [],
|
||||||
|
"compilerPath": "/usr/bin/gcc",
|
||||||
|
"cStandard": "c17",
|
||||||
|
"cppStandard": "gnu++14",
|
||||||
|
"intelliSenseMode": "linux-gcc-x64"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": 4
|
||||||
|
}
|
10
.vscode/settings.json
vendored
Normal file
10
.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"files.associations": {
|
||||||
|
"DecayFinder.C": "cpp",
|
||||||
|
"script.C": "cpp",
|
||||||
|
"peachCake.C": "cpp",
|
||||||
|
"PIDCutCreator.C": "cpp",
|
||||||
|
"plotPID.C": "cpp",
|
||||||
|
"PIDCutChecker.C": "cpp"
|
||||||
|
}
|
||||||
|
}
|
|
@ -41,7 +41,7 @@ int numCut = 0;
|
||||||
|
|
||||||
int numMatch = 0;
|
int numMatch = 0;
|
||||||
|
|
||||||
vector<vector<int>> isotopes = {
|
std::vector<std::vector<int>> isotopes = {
|
||||||
{19, 7}, {20, 7}, {21, 7},
|
{19, 7}, {20, 7}, {21, 7},
|
||||||
{22, 8}, {23, 8}, {24, 8},
|
{22, 8}, {23, 8}, {24, 8},
|
||||||
{24, 9}, {25, 9}, {26, 9}, {27, 9}, {29, 9},
|
{24, 9}, {25, 9}, {26, 9}, {27, 9}, {29, 9},
|
||||||
|
@ -53,7 +53,7 @@ vector<vector<int>> isotopes = {
|
||||||
{43, 15}, {44, 15}
|
{43, 15}, {44, 15}
|
||||||
};
|
};
|
||||||
|
|
||||||
string isoSym(int Z){
|
std::string isoSym(int Z){
|
||||||
switch (Z) {
|
switch (Z) {
|
||||||
case 3 : return "Li"; break;
|
case 3 : return "Li"; break;
|
||||||
case 4 : return "Be"; break;
|
case 4 : return "Be"; break;
|
||||||
|
|
98
README.md
Normal file
98
README.md
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
# Introduction
|
||||||
|
|
||||||
|
This is analysis code package for FRIB iFDS (FRIB Decay Staion initiative) experiment e21061.
|
||||||
|
|
||||||
|
My personal analysis logbook can be found in [Here](https://fsu-my.sharepoint.com/:p:/g/personal/rtang_fsu_edu/EdnWBI0J1g9FovvbKVvvgHoBoHy1rokedIF7f-Sr9XA6aA). The experimental setup can also be found there.
|
||||||
|
|
||||||
|
The elog can be found in [Here](https://fsunuc.physics.fsu.edu/elog/2022_05_e21062_FRIB/)
|
||||||
|
|
||||||
|
Other information of the experiment can be found [Here](https://fsunuc.physics.fsu.edu/wiki/index.php/FRIB_FDSi_e21062)
|
||||||
|
|
||||||
|
# Programs
|
||||||
|
|
||||||
|
### convertPixie.sh
|
||||||
|
|
||||||
|
convert NSCL-evt (raw data) to pixie-evt, ripe off the NSCL header.
|
||||||
|
|
||||||
|
### convertRoot.sh
|
||||||
|
|
||||||
|
convert pixie-evt to root with event building and mapping.h applied.
|
||||||
|
|
||||||
|
### mapping.h
|
||||||
|
|
||||||
|
Thsi define the mapping
|
||||||
|
|
||||||
|
### peachCake.C/h
|
||||||
|
|
||||||
|
Analysis class from TSelector. It do the primary analysis and apply corrections. It has option to output a new root file (with prefix "zzz_") with tree branches:
|
||||||
|
|
||||||
|
- eventID | eventID
|
||||||
|
- runID | runID
|
||||||
|
- AoQ | A/Q value of PID
|
||||||
|
- Z | Z value of PID
|
||||||
|
- crossTime | cross scint. T2 analog time
|
||||||
|
- crossEnergy | croos scint. T2 analog energy
|
||||||
|
- flag | event identification flag, +1 = has Beta, +2 = has Ions, +4 = has Beam
|
||||||
|
- vetoFlag | veto, +1 = has Front trigger, +2 = has Rear trigger, +4 = has cross scint T2/B2
|
||||||
|
- xIons | x-pos of Ions
|
||||||
|
- yIons | y-pos of Ions
|
||||||
|
- xBeta | x-pos of beta
|
||||||
|
- yBeta | y-pos of beta
|
||||||
|
- dyIonsTime | dinode Ions time
|
||||||
|
- dyBetaTime | dinode Beta time
|
||||||
|
- veto_f | front veto detector energy
|
||||||
|
- veto_r | rear veto detector energy
|
||||||
|
|
||||||
|
### DecayFinder.C/h
|
||||||
|
|
||||||
|
The DecayFinder.C/h analysis the zzz_XXX files to obtain the decay curve for various isotopes.
|
||||||
|
|
||||||
|
### PIDCutCreator.C and PIDCutChecker.C
|
||||||
|
|
||||||
|
Create/Check the PID cut.
|
||||||
|
|
||||||
|
### scipt.C
|
||||||
|
|
||||||
|
root macro to run analysis flow at once.
|
||||||
|
|
||||||
|
# Analysis Flow
|
||||||
|
|
||||||
|
1. The NSCL-evt file to pixie-evt file (nscl2pixie)
|
||||||
|
2. Use the EventBuilder to build event and apply the mapping.h
|
||||||
|
3. Use peachCake.C/h to analysis and output a new root file.
|
||||||
|
4. Use DecayFinder.C/h to obtain the decay histogram.
|
||||||
|
|
||||||
|
|
||||||
|
# inside the Armory
|
||||||
|
|
||||||
|
### DataBlock.h
|
||||||
|
This defines a class **DataBlock** to store data from pixie digitizer
|
||||||
|
|
||||||
|
### nsclEvtReader.h
|
||||||
|
|
||||||
|
This defines a class **NSCLEvtReader** to read NSCL evt file.
|
||||||
|
|
||||||
|
### nscl2pixie
|
||||||
|
|
||||||
|
This is a program to convert NSCL-evt file to evt file. Basically ripe out all NSCL header.
|
||||||
|
|
||||||
|
The bash script **converPixie.sh** use this program to batch convert NSCL-evt to evt file.
|
||||||
|
|
||||||
|
### evtReader.h
|
||||||
|
|
||||||
|
This defines a class **evtReader** to read pixie evt file.
|
||||||
|
|
||||||
|
### EventBuilder
|
||||||
|
|
||||||
|
This is a program to convert pixie-evt to root file with event building. This program will apply the mapping.h. The output tree has branches
|
||||||
|
|
||||||
|
1. evtID | event ID, unsigned int
|
||||||
|
2. multi | event multiplicity, int
|
||||||
|
3. detID | detector ID defined in mapping.h, int
|
||||||
|
4. e | energy, double
|
||||||
|
5. e_t | timestamp, ULong64_t
|
||||||
|
6. cfd | fine time from cfd, int
|
||||||
|
7. qdc | 8-section of intergrated trace, int[8]
|
||||||
|
8. multiClover | multiplicity of Clover
|
||||||
|
9. multiBeam | multiplicity of beam-line detector
|
||||||
|
10. runID | runID, e.g. run-0330-17 = 330*100 + 17 = 33017
|
|
@ -52,7 +52,7 @@ TH1F * hvetoFlag;
|
||||||
//TObjArray * cutList;
|
//TObjArray * cutList;
|
||||||
//int numCut = 0;
|
//int numCut = 0;
|
||||||
|
|
||||||
vector<vector<double>> eCorr;
|
std::vector<std::vector<double>> eCorr;
|
||||||
|
|
||||||
double TOFCorrection(double x){
|
double TOFCorrection(double x){
|
||||||
///========= for run 250
|
///========= for run 250
|
||||||
|
|
|
@ -83,7 +83,7 @@ public :
|
||||||
ClassDef(peachCake,0);
|
ClassDef(peachCake,0);
|
||||||
|
|
||||||
TString pidCorrFileName;
|
TString pidCorrFileName;
|
||||||
vector<vector<double>> pidCorr;
|
std::vector<std::vector<double>> pidCorr;
|
||||||
|
|
||||||
//=========== varibales in new tree
|
//=========== varibales in new tree
|
||||||
bool saveNewTree;
|
bool saveNewTree;
|
||||||
|
|
30
script.C
30
script.C
|
@ -2,7 +2,9 @@
|
||||||
|
|
||||||
///evtReader * evt = new evtReader("run-0238-00.evt", true);
|
///evtReader * evt = new evtReader("run-0238-00.evt", true);
|
||||||
|
|
||||||
#include "peachCake.C+"
|
#inlcude "TString.h"
|
||||||
|
|
||||||
|
#include "peachCake.C+" // the + sign is make sure the peachCake is compiled.
|
||||||
|
|
||||||
void script() {
|
void script() {
|
||||||
|
|
||||||
|
@ -18,19 +20,19 @@ void script() {
|
||||||
|
|
||||||
// new beam
|
// new beam
|
||||||
chain->Add("root_data/run-024[6-8]*.root");
|
chain->Add("root_data/run-024[6-8]*.root");
|
||||||
chain->Add("root_data/run-0250*.root");
|
// chain->Add("root_data/run-0250*.root");
|
||||||
chain->Add("root_data/run-025[1-4].root");
|
// chain->Add("root_data/run-025[1-4].root");
|
||||||
chain->Add("root_data/run-025[6-9].root");
|
// chain->Add("root_data/run-025[6-9].root");
|
||||||
chain->Add("root_data/run-026[1-4]*.root");
|
// chain->Add("root_data/run-026[1-4]*.root");
|
||||||
chain->Add("root_data/run-0269*.root");
|
// chain->Add("root_data/run-0269*.root");
|
||||||
chain->Add("root_data/run-027[0-1]*.root");
|
// chain->Add("root_data/run-027[0-1]*.root");
|
||||||
chain->Add("root_data/run-028[3-4]*.root");
|
// chain->Add("root_data/run-028[3-4]*.root");
|
||||||
chain->Add("root_data/run-028[6-8]*.root");
|
// chain->Add("root_data/run-028[6-8]*.root");
|
||||||
chain->Add("root_data/run-0292*.root");
|
// chain->Add("root_data/run-0292*.root");
|
||||||
chain->Add("root_data/run-029[4-6]*.root");
|
// chain->Add("root_data/run-029[4-6]*.root");
|
||||||
chain->Add("root_data/run-029[8-9]*.root");
|
// chain->Add("root_data/run-029[8-9]*.root");
|
||||||
chain->Add("root_data/run-031*.root");
|
// chain->Add("root_data/run-031*.root");
|
||||||
chain->Add("root_data/run-032*.root");
|
// chain->Add("root_data/run-032*.root");
|
||||||
|
|
||||||
|
|
||||||
//chain->Add("root_data/run-0246-00.root");
|
//chain->Add("root_data/run-0246-00.root");
|
||||||
|
|
Loading…
Reference in New Issue
Block a user