diff --git a/Inputs/DetectorConfiguration/SPcoincW1.detector b/Inputs/DetectorConfiguration/SPcoincW1.detector index 915cdcbf7e23d41081625a333a974f03c8be256f..ee60cd86468922148d09f9ab4233040167a94a00 100644 --- a/Inputs/DetectorConfiguration/SPcoincW1.detector +++ b/Inputs/DetectorConfiguration/SPcoincW1.detector @@ -8,6 +8,10 @@ Target X= 0 Y= 0 Z= 0 + + + + %%%%%%% Detector 1 %%%%%%% W1 THETA= 150 @@ -52,6 +56,8 @@ W1 VIS= all - %%%%%%% Splitpole %%%%%%% SplitPole + + + diff --git a/Inputs/DetectorConfiguration/W1.detector b/Inputs/DetectorConfiguration/W1.detector index bf59637e844e8e609e5bafcd70895ca509fdcb6e..6359de1cb3ea6a9c75a623124b9d70fff3a44c5a 100644 --- a/Inputs/DetectorConfiguration/W1.detector +++ b/Inputs/DetectorConfiguration/W1.detector @@ -8,6 +8,11 @@ Target X= 0 Y= 0 Z= 0 + + + + + %%%%%%% Detector 1 %%%%%%% W1 THETA= 150 @@ -15,3 +20,40 @@ W1 R= 150 BETA= 0 0 0 VIS= all +%%%%%%% Detector 2 %%%%%%% +W1 + THETA= 150 + PHI= 0 + R= 150 + BETA= 0 0 0 + VIS= all +%%%%%%% Detector 3 %%%%%%% +W1 + THETA= 150 + PHI= 0 + R= 150 + BETA= 0 0 0 + VIS= all +%%%%%%% Detector 4 %%%%%%% +W1 + THETA= 150 + PHI= 0 + R= 150 + BETA= 0 0 0 + VIS= all +%%%%%%% Detector 5 %%%%%%% +W1 + THETA= 150 + PHI= 0 + R= 150 + BETA= 0 0 0 + VIS= all +%%%%%%% Detector 6 %%%%%%% +W1 + THETA= 150 + PHI= 0 + R= 150 + BETA= 0 0 0 + VIS= all + + diff --git a/Inputs/DetectorConfiguration/csi.detector b/Inputs/DetectorConfiguration/csi.detector index 6abde491bf2743e5ecc6c404f87b292d1aee212b..13e38411fe6a94d6f74da4f20c14ad3476284a70 100644 --- a/Inputs/DetectorConfiguration/csi.detector +++ b/Inputs/DetectorConfiguration/csi.detector @@ -5,8 +5,8 @@ GeneralTarget % Radius in mm % Temperature in K, Pressure in bar Target - THICKNESS= 0.1 - ANGLE= 0 + THICKNESS= 0.001 + ANGLE= 0 RADIUS= 2 MATERIAL= CH2 X= 0 @@ -19,67 +19,68 @@ CsI THETA= 0 PHI= 0 R= 0 - X= 0 - Y= 0 - Z= 450 + X= 0 + Y= 0 + Z= 58 Thickness= 100 - Shape= Trapezoidal - FaceFront= 22 - FaceBack= 27 - Radius= 0 - Scintillator= CsI + Shape= Cylinder + FaceFront= 0 + FaceBack= 0 + Radius= 17 + Scintillator= CsI_Scintillator LeadThickness= 0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ScintillatorPlastic %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Plastic - THETA= 0 - PHI= 0 - R= 0 - X= 0 - Y= 0 - Z= 389.25 - Thickness= 1.5 - Shape= Square - Height= 22 - Width= 22 - Radius= 0 - Scintillator= Si - LeadThickness= 0 +%Plastic +% THETA= 0 +% PHI= 0 +% R= 0 +% X= 0 +% Y= 0 +% Z= 389.25 +% Thickness= 1.5 +% Shape= Square +% Height= 22 +% Width= 22 +% Radius= 0 +% Scintillator= Si +% LeadThickness= 0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Plastic - THETA= 0 - PHI= 0 - R= 0 - X= 0 - Y= 0 - Z= 505 - Thickness= 10 - Shape= Square - Height= 27 - Width= 27 - Radius= 0 - Scintillator= Epoxy - LeadThickness= 0 +%Plastic +% THETA= 0 +% PHI= 0 +% R= 0 +% X= 0 +% Y= 0 +% +% Z= 505 +% Thickness= 10 +% Shape= Square +% Height= 27 +% Width= 27 +% Radius= 0 +% Scintillator= Epoxy +% LeadThickness= 0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Plastic - THETA= 0 - PHI= 0 - R= 0 - X= 0 - Y= 0 - Z= 510.15 - Thickness= 0.3 - Shape= Square - Height= 27 - Width= 27 - Radius= 0 - Scintillator= Si - LeadThickness= 0 - - +%Plastic +% THETA= 0 +% PHI= 0 +% R= 0 +% X= 0 +% Y= 0 +% Z= 510.15 +% Thickness= 0.3 +% Shape= Square +% Height= 27 +% Width= 27 +% Radius= 0 +% Scintillator= Si +% LeadThickness= 0 +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Avaible material: % BC400 diff --git a/Inputs/DetectorConfiguration/e552.detector b/Inputs/DetectorConfiguration/e552.detector index 107753b2850f4958547cd214cd2eea1799ed2072..40d822ea54d2bfcefb61d18039e80da502bdf021 100755 --- a/Inputs/DetectorConfiguration/e552.detector +++ b/Inputs/DetectorConfiguration/e552.detector @@ -8,7 +8,7 @@ GeneralTarget % Temperature in K, Pressure in bar Target THICKNESS= 3.2 - ANGLE= 28 + ANGLE= 20 RADIUS= 24 MATERIAL= CD2 X= 0 diff --git a/Inputs/EventGenerator/3He.source b/Inputs/EventGenerator/3He.source index 22957a57d0c16cf6c69813e071d726986534ad59..66b22a966b951845f8a627fb5d72aa51efb728fd 100644 --- a/Inputs/EventGenerator/3He.source +++ b/Inputs/EventGenerator/3He.source @@ -5,12 +5,12 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Isotropic EnergyLow= 0 - EnergyHigh= 300 + EnergyHigh= 26 HalfOpenAngleMin= 0 - HalfOpenAngleMax= 90 + HalfOpenAngleMax= 45 x0= 0 y0= 0 z0= 0 - particle= He3 + particle= 3He %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Supported particle type: proton, neutron, deuton, triton, He3 , alpha diff --git a/Inputs/EventGenerator/alpha.source b/Inputs/EventGenerator/alpha.source index 8d3a34d18ef057126dcf04c78f665ea78f474261..1fed2da9732e26e71a224917753c257bb81ffbde 100644 --- a/Inputs/EventGenerator/alpha.source +++ b/Inputs/EventGenerator/alpha.source @@ -4,10 +4,10 @@ % Energy are given in MeV , Position in mm % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Isotropic - EnergyLow= 5.84 - EnergyHigh= 5.84 + EnergyLow= 5.2 + EnergyHigh= 5.2 HalfOpenAngleMin= 0 - HalfOpenAngleMax= 180 + HalfOpenAngleMax= 45 x0= 0 y0= 0 z0= 0 diff --git a/Inputs/EventGenerator/deuton.source b/Inputs/EventGenerator/deuton.source index 5b70824ee282272201156d17720b5f7e96ad5637..fd3680952d6534a10546409e9382b10f7139cc39 100644 --- a/Inputs/EventGenerator/deuton.source +++ b/Inputs/EventGenerator/deuton.source @@ -5,9 +5,9 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Isotropic EnergyLow= 0 - EnergyHigh= 100 + EnergyHigh= 9 HalfOpenAngleMin= 0 - HalfOpenAngleMax= 90 + HalfOpenAngleMax= 45 x0= 0 y0= 0 z0= 0 diff --git a/Inputs/EventGenerator/proton.source b/Inputs/EventGenerator/proton.source index 052193a50c07ae4d271518d0501bbf0cd1928ead..cf3a617525e74a14a0cd143ba0045201d79f8599 100644 --- a/Inputs/EventGenerator/proton.source +++ b/Inputs/EventGenerator/proton.source @@ -5,9 +5,9 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Isotropic EnergyLow= 0 - EnergyHigh= 190 + EnergyHigh= 17 HalfOpenAngleMin= 0 - HalfOpenAngleMax= 100 + HalfOpenAngleMax= 45 x0= 0 y0= 0 z0= 0 diff --git a/Inputs/EventGenerator/triton.source b/Inputs/EventGenerator/triton.source index 191488a051b3921f2de3769279bf749c6a650b59..5a9aa2a5ac98c86b273827760b695cd43ae8986d 100644 --- a/Inputs/EventGenerator/triton.source +++ b/Inputs/EventGenerator/triton.source @@ -5,9 +5,9 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Isotropic EnergyLow= 0 - EnergyHigh= 100 + EnergyHigh= 12 HalfOpenAngleMin= 0 - HalfOpenAngleMax= 90 + HalfOpenAngleMax= 45 x0= 0 y0= 0 z0= 0 diff --git a/NPAnalysis/SPcoincW1/Analysis.cxx b/NPAnalysis/SPcoincW1/Analysis.cxx index d5a927dccc2230af144fe9eddcd14970d0fefe5c..040051e7fc315e8628e7822194478ec6bbafb7f2 100644 --- a/NPAnalysis/SPcoincW1/Analysis.cxx +++ b/NPAnalysis/SPcoincW1/Analysis.cxx @@ -31,9 +31,21 @@ using namespace std; #include"NPAnalysisFactory.h" #include"NPDetectorManager.h" +// ROOT headers +#include "TFile.h" + + //////////////////////////////////////////////////////////////////////////////// Analysis::Analysis() + : m_cutg_SP_p(new TCutG), + fEnergy(-1), + fDetector(-1), + fStripFront(-1), + fStripBack(-1), + fBrhoSingle(-1), + fBrhoCoinc(-1), + fTime(-10000) { } @@ -49,7 +61,15 @@ Analysis::~Analysis() //////////////////////////////////////////////////////////////////////////////// void Analysis::Init() { -// m_W1 = (TW1Physics*) m_DetectorManager->GetDetector("W1"); + // initialize branches with analysis information + InitOutputBranch(); + + // Load graphical cuts + TFile *fcutg = new TFile("./cuts/cutg_SelectionProtons.root"); + m_cutg_SP_p = (TCutG*) fcutg->Get("run108_plasppos"); + + // Get Physical objects + m_W1 = (TW1Physics*) m_DetectorManager->GetDetector("W1"); m_SP = (TSplitPolePhysics*) m_DetectorManager->GetDetector("SplitPole"); } @@ -58,7 +78,35 @@ void Analysis::Init() //////////////////////////////////////////////////////////////////////////////// void Analysis::TreatEvent() { -// cout << "pipo" << endl; + // Clear data + Clear(); + + // select protons in SP (PlasticP vs Position) + if (m_cutg_SP_p->IsInside(m_SP->GetPlasticG(), m_SP->GetPlasticP())) { + fBrhoSingle = m_SP->GetBrho(); + // select multiplicity 1 for SP ref time + if (m_SP->GetTime2Multiplicity() == 1) { + // select multiplicity 1 for W1's + if (m_W1->GetEventMultiplicity() == 1) { + // select event in W1's + if (m_W1->GetFrontEnergy(0) > 0) { + // calculate relative time between SP and W1 + Double_t time = m_W1->GetFrontTime(0)- m_SP->GetTime2(0); + fTime = time; + // W1 + fEnergy = m_W1->GetFrontEnergy(0); + fDetector = m_W1->GetDetectorNumber(0); + fStripFront = m_W1->GetFrontStrip(0); + fStripBack = m_W1->GetBackStrip(0); + // SP + fBrhoCoinc = m_SP->GetBrho(); + // apply timing selection + if (time > 160 && time < 280) { + } + } + } + } + } } @@ -70,6 +118,44 @@ void Analysis::End() +//////////////////////////////////////////////////////////////////////////////// +void Analysis::Clear() +{ + // W1's + fEnergy = -1; + fDetector = -1; + fStripFront = -1; + fStripBack = -1; + // SP + fBrhoSingle = -1; + fBrhoCoinc = -1; + // time + fTime = -10000; +} + + + +//////////////////////////////////////////////////////////////////////////////// +void Analysis::InitOutputBranch() +{ + RootOutput::getInstance()->GetTree()->Branch("fEnergy", &fEnergy, "fEnergy/D"); + RootOutput::getInstance()->GetTree()->Branch("fTime", &fTime, "fTime/D"); + RootOutput::getInstance()->GetTree()->Branch("fDetector", &fDetector, "fDetector/I"); + RootOutput::getInstance()->GetTree()->Branch("fStripFront", &fStripFront, "fStripFront/I"); + RootOutput::getInstance()->GetTree()->Branch("fStripBack", &fStripBack, "fStripBack/I"); + RootOutput::getInstance()->GetTree()->Branch("fBrhoSingle", &fBrhoSingle, "fBrhoSingle/D"); + RootOutput::getInstance()->GetTree()->Branch("fBrhoCoinc", &fBrhoSingle, "fBrhoCoinc/D"); +} + + + +//////////////////////////////////////////////////////////////////////////////// +void Analysis::InitInputBranch() +{ +} + + + //////////////////////////////////////////////////////////////////////////////// // Construct Method to be pass to the DetectorFactory // //////////////////////////////////////////////////////////////////////////////// diff --git a/NPAnalysis/SPcoincW1/Analysis.h b/NPAnalysis/SPcoincW1/Analysis.h index 25758734800fd3e64dcfdc05f549c48ffa7d7eb3..f4b76b6ce0965e4f83e59ae9824bfb4668a7e96c 100644 --- a/NPAnalysis/SPcoincW1/Analysis.h +++ b/NPAnalysis/SPcoincW1/Analysis.h @@ -23,10 +23,15 @@ *****************************************************************************/ #include "NPVAnalysis.h" +// NPTool headers #include "TW1Physics.h" #include "TSplitPolePhysics.h" +#include "RootOutput.h" +// ROOT headers +#include "TCutG.h" + class Analysis: public NPL::VAnalysis { @@ -38,11 +43,30 @@ class Analysis: public NPL::VAnalysis void Init(); void TreatEvent(); void End(); + void Clear(); + void InitInputBranch(); + void InitOutputBranch(); static NPL::VAnalysis* Construct(); private: TW1Physics *m_W1; TSplitPolePhysics *m_SP; + + private: + TCutG *m_cutg_SP_p; + + private: + // W1's + Double_t fEnergy; + Int_t fDetector; + Int_t fStripFront; + Int_t fStripBack; + // SP + Double_t fBrhoSingle; + Double_t fBrhoCoinc; + // time + Double_t fTime; + }; #endif diff --git a/NPAnalysis/SPcoincW1/Calibration.txt b/NPAnalysis/SPcoincW1/Calibration.txt index 7186ebc1b8ae37ae9b9e82d3d5ad26eabec6bfb1..b818e0ecc21dc275998baef0aa177212fbfb0522 100644 --- a/NPAnalysis/SPcoincW1/Calibration.txt +++ b/NPAnalysis/SPcoincW1/Calibration.txt @@ -1,3 +1,4 @@ CalibrationFilePath % ./calibs/W1CalibrationBefore.txt ./calibs/W1CalibrationAfter.txt + ./calibs/W1CalibrationTime_runs50-74.txt diff --git a/NPAnalysis/SPcoincW1/RunToTreat.txt b/NPAnalysis/SPcoincW1/RunToTreat.txt index 2758d9ff15a389902bfcf8e719c0056979d058a9..3fd8d3e5e88adc120d55e0764cb31fe7e0011809 100644 --- a/NPAnalysis/SPcoincW1/RunToTreat.txt +++ b/NPAnalysis/SPcoincW1/RunToTreat.txt @@ -2,5 +2,11 @@ TTreeName EGTree RootFileName % /scratch/gypaos/data/al27pp/oct2015/midas/root/R25_0_new.root - /scratch/gypaos/data/al27pp/oct2015/midas/root/R131_0.root +% /scratch/gypaos/data/al27pp/oct2015/midas/root/R50_0_W1only.root +% /scratch/gypaos/data/al27pp/oct2015/midas/root/R50_0_SPonly.root +% /scratch/gypaos/data/al27pp/oct2015/midas/root/R50_0.root +% /scratch/gypaos/data/al27pp/oct2015/midas/root/R131_0_test.root +% /scratch/gypaos/data/al27pp/oct2015/midas/root/R108_0_test.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R74_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R72_0.root diff --git a/NPAnalysis/SPcoincW1/RunToTreat_AlignTdc.txt b/NPAnalysis/SPcoincW1/RunToTreat_AlignTdc.txt new file mode 100644 index 0000000000000000000000000000000000000000..5e892c2904fd3e720ccfd58559dde50ff2ef6122 --- /dev/null +++ b/NPAnalysis/SPcoincW1/RunToTreat_AlignTdc.txt @@ -0,0 +1,22 @@ +TTreeName + EGTree +RootFileName + /scratch/gypaos/data/al27pp/oct2015/midas/root/R50_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R51_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R52_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R53_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R54_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R55_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R56_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R57_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R58_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R59_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R60_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R67_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R69_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R70_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R71_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R72_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R73_0.root + /scratch/gypaos/data/al27pp/oct2015/midas/root/R74_0.root + diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter.txt deleted file mode 100644 index 23d198ecc65d51b70f24b5448473dde7e50b4dce..0000000000000000000000000000000000000000 --- a/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter.txt +++ /dev/null @@ -1,189 +0,0 @@ -W1_D1_FRONT0_E -0.0409549 0.00313435 -W1_D1_FRONT1_E -0.0410288 0.00310898 -W1_D1_FRONT2_E -0.051105 0.00306224 -W1_D1_FRONT3_E -0.0426837 0.00306197 -W1_D1_FRONT4_E -0.0397345 0.00304634 -W1_D1_FRONT5_E -0.0417703 0.00299834 -W1_D1_FRONT6_E -0.0381822 0.00290766 -W1_D1_FRONT7_E -0.0478144 0.0031674 -W1_D1_FRONT8_E 0.164374 0.00301689 -W1_D1_FRONT9_E 0.170624 0.00312019 -W1_D1_FRONT10_E 0.162643 0.00308745 -W1_D1_FRONT11_E 0.160185 0.00297558 -W1_D1_FRONT12_E 0.173052 0.00304833 -W1_D1_FRONT13_E 0.172715 0.00307804 -W1_D1_FRONT14_E 0.169941 0.00303517 -W1_D1_FRONT15_E 0.15915 0.00300656 -W1_D2_FRONT0_E -0.0941011 0.0058907 -W1_D2_FRONT1_E -0.0500382 0.00293438 -W1_D2_FRONT2_E -0.0514812 0.00295577 -W1_D2_FRONT3_E -0.054977 0.00303588 -W1_D2_FRONT4_E -0.0445269 0.00268978 -W1_D2_FRONT5_E -0.0469042 0.00299963 -W1_D2_FRONT6_E -0.0624968 0.00311032 -W1_D2_FRONT7_E -0.0549835 0.00314182 -W1_D2_FRONT8_E 0.0918539 0.00311626 -W1_D2_FRONT9_E 0.0833332 0.00276323 -W1_D2_FRONT10_E 0.0745729 0.00266832 -W1_D2_FRONT11_E 0.0949944 0.00308344 -W1_D2_FRONT12_E 0.082602 0.00264991 -W1_D2_FRONT15_E 0.0881102 0.00301 -W1_D3_FRONT0_E -0.100997 0.00309023 -W1_D3_FRONT1_E -0.0990846 0.00293334 -W1_D3_FRONT2_E -0.0973923 0.00307503 -W1_D3_FRONT3_E -0.0937818 0.00288903 -W1_D3_FRONT4_E -0.104433 0.00315917 -W1_D3_FRONT5_E -0.0963817 0.00313659 -W1_D3_FRONT6_E -0.0916308 0.00311327 -W1_D3_FRONT7_E -0.0972906 0.00290672 -W1_D3_FRONT8_E 0.11131 0.00301604 -W1_D3_FRONT9_E 0.106849 0.0029876 -W1_D3_FRONT10_E 0.115998 0.00318336 -W1_D3_FRONT11_E 0.105618 0.00304804 -W1_D3_FRONT12_E 0.112477 0.0029977 -W1_D3_FRONT13_E 0.107869 0.00303139 -W1_D3_FRONT14_E 0.111101 0.00311916 -W1_D3_FRONT15_E 0.0942706 0.00294839 -W1_D4_FRONT0_E -0.106237 0.00320462 -W1_D4_FRONT1_E -0.107556 0.00322946 -W1_D4_FRONT2_E -0.105548 0.00321298 -W1_D4_FRONT3_E -0.0994305 0.00324256 -W1_D4_FRONT4_E -0.106019 0.00333701 -W1_D4_FRONT5_E -0.0968631 0.00322453 -W1_D4_FRONT6_E -0.090939 0.00325191 -W1_D4_FRONT7_E -0.0977092 0.00319298 -W1_D4_FRONT8_E 0.108767 0.00313147 -W1_D4_FRONT9_E 0.103813 0.00320612 -W1_D4_FRONT10_E 0.099437 0.0031782 -W1_D4_FRONT11_E 0.107628 0.00323347 -W1_D4_FRONT12_E 0.1074 0.00313039 -W1_D4_FRONT13_E 0.108668 0.00321249 -W1_D4_FRONT14_E 0.107253 0.00311194 -W1_D4_FRONT15_E 0.105792 0.00319968 -W1_D5_FRONT0_E -0.0926958 0.00313827 -W1_D5_FRONT1_E -0.0781478 0.0029972 -W1_D5_FRONT2_E -0.0875684 0.00308871 -W1_D5_FRONT3_E -0.0864434 0.00303376 -W1_D5_FRONT4_E -0.0995084 0.00307485 -W1_D5_FRONT5_E -0.0935788 0.00307598 -W1_D5_FRONT6_E -0.0784211 0.00281207 -W1_D5_FRONT7_E -0.0938343 0.00301414 -W1_D5_FRONT8_E 0.108972 0.00313808 -W1_D5_FRONT9_E 0.0902796 0.0030484 -W1_D5_FRONT10_E 0.108855 0.00325328 -W1_D5_FRONT11_E 0.10609 0.00297507 -W1_D5_FRONT12_E 0.114456 0.00308329 -W1_D5_FRONT13_E 0.111039 0.00302106 -W1_D5_FRONT14_E 0.106395 0.00309729 -W1_D5_FRONT15_E 0.100863 0.00299315 -W1_D6_FRONT0_E -0.0937002 0.00308873 -W1_D6_FRONT1_E -0.0955129 0.00310464 -W1_D6_FRONT2_E -0.093867 0.00304304 -W1_D6_FRONT3_E -0.0930797 0.00288798 -W1_D6_FRONT4_E -0.105773 0.00308994 -W1_D6_FRONT5_E -0.115415 0.00328086 -W1_D6_FRONT6_E -0.105691 0.00319607 -W1_D6_FRONT7_E -0.0986715 0.00291589 -W1_D6_FRONT8_E 0.0458834 0.00317465 -W1_D6_FRONT9_E 0.042146 0.00314579 -W1_D6_FRONT10_E 0.0478421 0.00320616 -W1_D6_FRONT11_E 0.0442898 0.00291247 -W1_D6_FRONT12_E 0.0588161 0.003171 -W1_D6_FRONT13_E 0.0582349 0.00318583 -W1_D6_FRONT14_E 0.0540115 0.00310784 -W1_D6_FRONT15_E 0.0490092 0.00303186 -W1_D1_BACK0_E 0.141285 0.00315736 -W1_D1_BACK1_E 0.136085 0.00310353 -W1_D1_BACK2_E 0.121734 0.00299648 -W1_D1_BACK3_E 0.134276 0.00310799 -W1_D1_BACK4_E 0.133094 0.00307772 -W1_D1_BACK5_E 0.136267 0.00298096 -W1_D1_BACK6_E 0.126339 0.00307072 -W1_D1_BACK7_E 0.130258 0.00305 -W1_D1_BACK8_E 0.138809 0.00301516 -W1_D1_BACK9_E 0.136812 0.00288719 -W1_D1_BACK10_E 0.136392 0.00307875 -W1_D1_BACK11_E 0.13789 0.00307363 -W1_D1_BACK12_E 0.142436 0.00305627 -W1_D1_BACK13_E 0.144578 0.00313217 -W1_D1_BACK14_E 0.150611 0.00320886 -W1_D1_BACK15_E 0.138998 0.00299589 -W1_D2_BACK0_E 0.108039 0.00294835 -W1_D2_BACK1_E 0.110474 0.00306965 -W1_D2_BACK2_E 0.0929269 0.00276709 -W1_D2_BACK3_E 0.105873 0.00295243 -W1_D2_BACK4_E 0.111305 0.0030714 -W1_D2_BACK6_E 0.101776 0.00287688 -W1_D2_BACK7_E 0.103488 0.00306627 -W1_D2_BACK8_E 0.0949924 0.00282114 -W1_D2_BACK9_E 0.0967456 0.00285955 -W1_D2_BACK10_E 0.0954087 0.00301817 -W1_D2_BACK11_E 0.0914745 0.00289314 -W1_D2_BACK12_E 0.0943133 0.00303329 -W1_D2_BACK13_E 0.109057 0.00316903 -W1_D2_BACK14_E 0.096039 0.00299386 -W1_D2_BACK15_E 0.100283 0.0030925 -W1_D3_BACK0_E 0.0593946 0.00311773 -W1_D3_BACK1_E 0.0539663 0.00313847 -W1_D3_BACK2_E 0.0545688 0.00310109 -W1_D3_BACK3_E 0.053254 0.00306743 -W1_D3_BACK4_E 0.0583823 0.00307701 -W1_D3_BACK5_E 0.0547078 0.00302021 -W1_D3_BACK6_E 0.0572073 0.00313382 -W1_D3_BACK7_E 0.0571082 0.0029948 -W1_D3_BACK8_E 0.0426816 0.00307163 -W1_D3_BACK9_E 0.0407515 0.00306729 -W1_D3_BACK10_E 0.0408687 0.00312192 -W1_D3_BACK11_E 0.0439494 0.0029869 -W1_D3_BACK12_E 0.0397818 0.00311219 -W1_D3_BACK13_E 0.0423886 0.00315811 -W1_D3_BACK14_E 0.0402498 0.0030188 -W1_D3_BACK15_E 0.0377333 0.00295917 -W1_D4_BACK0_E 0.0787049 0.00314301 -W1_D4_BACK1_E 0.083133 0.00324427 -W1_D4_BACK2_E 0.0822891 0.00321996 -W1_D4_BACK3_E 0.0764736 0.00312723 -W1_D4_BACK4_E 0.089532 0.00314633 -W1_D4_BACK5_E 0.0862089 0.00318996 -W1_D4_BACK6_E 0.0848565 0.00315434 -W1_D4_BACK7_E 0.0899332 0.00329949 -W1_D4_BACK8_E 0.0855566 0.00324691 -W1_D4_BACK9_E 0.0802422 0.0028576 -W1_D4_BACK10_E 0.0814808 0.00296588 -W1_D4_BACK11_E 0.0774855 0.00309764 -W1_D4_BACK12_E 0.0916775 0.00322433 -W1_D4_BACK13_E 0.0879226 0.00308798 -W1_D4_BACK14_E 0.0786999 0.00316074 -W1_D4_BACK15_E 0.0890562 0.00315636 -W1_D5_BACK0_E 0.0497013 0.00303831 -W1_D5_BACK1_E 0.0558789 0.00305851 -W1_D5_BACK2_E 0.0593762 0.00306661 -W1_D5_BACK3_E 0.0608869 0.00291325 -W1_D5_BACK4_E 0.0619463 0.00311969 -W1_D5_BACK5_E 0.0572087 0.00313044 -W1_D5_BACK6_E 0.0608907 0.00314642 -W1_D5_BACK7_E 0.0530383 0.00273615 -W1_D5_BACK8_E 0.0628523 0.00316916 -W1_D5_BACK9_E 0.0573754 0.00331551 -W1_D5_BACK10_E 0.0608419 0.00323566 -W1_D5_BACK11_E 0.0542677 0.00314917 -W1_D5_BACK12_E 0.0512325 0.00307527 -W1_D5_BACK13_E 0.0587194 0.00316172 -W1_D5_BACK14_E 0.0542702 0.00322527 -W1_D5_BACK15_E 0.0548464 0.00294143 -W1_D6_BACK0_E -0.132254 0.00316646 -W1_D6_BACK1_E -0.113267 0.00280362 -W1_D6_BACK2_E -0.120358 0.00299015 -W1_D6_BACK3_E -0.114231 0.0031603 -W1_D6_BACK4_E -0.116273 0.00292868 -W1_D6_BACK5_E -0.107985 0.00296106 -W1_D6_BACK6_E -0.129998 0.00312986 -W1_D6_BACK7_E -0.115625 0.00288843 -W1_D6_BACK8_E -0.1424 0.00305965 -W1_D6_BACK9_E -0.135977 0.00300418 -W1_D6_BACK10_E -0.15632 0.00309986 -W1_D6_BACK11_E -0.14696 0.00296463 -W1_D6_BACK12_E -0.136747 0.00310974 -W1_D6_BACK13_E -0.141839 0.00326506 -W1_D6_BACK14_E -0.14619 0.00319616 -W1_D6_BACK15_E -0.135861 0.00323235 diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter.txt new file mode 120000 index 0000000000000000000000000000000000000000..ac955b039ece87086a64d014ef4271c4c568c431 --- /dev/null +++ b/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter.txt @@ -0,0 +1 @@ +W1CalibrationAfter_Alphas.txt \ No newline at end of file diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter_Alphas.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter_Alphas.txt new file mode 100644 index 0000000000000000000000000000000000000000..c77dd600e6f844beb5b22ada076e10480d35d32f --- /dev/null +++ b/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter_Alphas.txt @@ -0,0 +1,189 @@ +W1_D1_FRONT0_E -0.0374946 0.00313435 +W1_D1_FRONT1_E -0.0346214 0.00310898 +W1_D1_FRONT2_E -0.0392679 0.00306224 +W1_D1_FRONT3_E -0.0336455 0.00306197 +W1_D1_FRONT4_E -0.026271 0.00304634 +W1_D1_FRONT5_E -0.0290291 0.00299834 +W1_D1_FRONT6_E -0.0327041 0.00290766 +W1_D1_FRONT7_E -0.0483566 0.0031674 +W1_D1_FRONT8_E 0.170032 0.00301689 +W1_D1_FRONT9_E 0.176806 0.00312019 +W1_D1_FRONT10_E 0.176549 0.00308745 +W1_D1_FRONT11_E 0.176353 0.00297558 +W1_D1_FRONT12_E 0.186028 0.00304833 +W1_D1_FRONT13_E 0.187662 0.00307804 +W1_D1_FRONT14_E 0.187221 0.00303517 +W1_D1_FRONT15_E 0.161276 0.00300656 +W1_D2_FRONT0_E -0.0979193 0.0058907 +W1_D2_FRONT1_E -0.0532691 0.00293438 +W1_D2_FRONT2_E -0.0498002 0.00295577 +W1_D2_FRONT3_E -0.0508993 0.00303588 +W1_D2_FRONT4_E -0.0343367 0.00268978 +W1_D2_FRONT5_E -0.047335 0.00299963 +W1_D2_FRONT6_E -0.0640107 0.00311032 +W1_D2_FRONT7_E -0.0493701 0.00314182 +W1_D2_FRONT8_E 0.103224 0.00311626 +W1_D2_FRONT9_E 0.0823711 0.00276323 +W1_D2_FRONT10_E 0.072795 0.00266832 +W1_D2_FRONT11_E 0.100432 0.00308344 +W1_D2_FRONT12_E 0.0763245 0.00264991 +W1_D2_FRONT15_E 0.0889782 0.00301 +W1_D3_FRONT0_E 0.055114 0.00309023 +W1_D3_FRONT1_E 0.0569066 0.00293334 +W1_D3_FRONT2_E 0.0510186 0.00307503 +W1_D3_FRONT3_E 0.0691202 0.00288903 +W1_D3_FRONT4_E 0.0585733 0.00315917 +W1_D3_FRONT5_E 0.063849 0.00313659 +W1_D3_FRONT6_E 0.0743761 0.00311327 +W1_D3_FRONT7_E 0.0721962 0.00290672 +W1_D3_FRONT8_E 0.290764 0.00301604 +W1_D3_FRONT9_E 0.281278 0.0029876 +W1_D3_FRONT10_E 0.291379 0.00318336 +W1_D3_FRONT11_E 0.273846 0.00304804 +W1_D3_FRONT12_E 0.272905 0.0029977 +W1_D3_FRONT13_E 0.27668 0.00303139 +W1_D3_FRONT14_E 0.300862 0.00311916 +W1_D3_FRONT15_E 0.251018 0.00294839 +W1_D4_FRONT0_E -0.113648 0.00320462 +W1_D4_FRONT1_E -0.0977797 0.00322946 +W1_D4_FRONT2_E -0.0940088 0.00321298 +W1_D4_FRONT3_E -0.106082 0.00324256 +W1_D4_FRONT4_E -0.114355 0.00333701 +W1_D4_FRONT5_E -0.104598 0.00322453 +W1_D4_FRONT6_E -0.103045 0.00325191 +W1_D4_FRONT7_E -0.103857 0.00319298 +W1_D4_FRONT8_E 0.111306 0.00313147 +W1_D4_FRONT9_E 0.112831 0.00320612 +W1_D4_FRONT10_E 0.110719 0.0031782 +W1_D4_FRONT11_E 0.109432 0.00323347 +W1_D4_FRONT12_E 0.10889 0.00313039 +W1_D4_FRONT13_E 0.108809 0.00321249 +W1_D4_FRONT14_E 0.111386 0.00311194 +W1_D4_FRONT15_E 0.110918 0.00319968 +W1_D5_FRONT0_E -0.0699718 0.00313827 +W1_D5_FRONT1_E -0.0705268 0.0029972 +W1_D5_FRONT2_E -0.0736351 0.00308871 +W1_D5_FRONT3_E -0.0778383 0.00303376 +W1_D5_FRONT4_E -0.0903923 0.00307485 +W1_D5_FRONT5_E -0.0900784 0.00307598 +W1_D5_FRONT6_E -0.0759948 0.00281207 +W1_D5_FRONT7_E -0.0892116 0.00301414 +W1_D5_FRONT8_E 0.109218 0.00313808 +W1_D5_FRONT9_E 0.0980776 0.0030484 +W1_D5_FRONT10_E 0.115222 0.00325328 +W1_D5_FRONT11_E 0.105662 0.00297507 +W1_D5_FRONT12_E 0.113681 0.00308329 +W1_D5_FRONT13_E 0.101671 0.00302106 +W1_D5_FRONT14_E 0.105752 0.00309729 +W1_D5_FRONT15_E 0.0960869 0.00299315 +W1_D6_FRONT0_E -0.089103 0.00308873 +W1_D6_FRONT1_E -0.0964397 0.00310464 +W1_D6_FRONT2_E -0.0965548 0.00304304 +W1_D6_FRONT3_E -0.0901087 0.00288798 +W1_D6_FRONT4_E -0.10573 0.00308994 +W1_D6_FRONT5_E -0.0920198 0.00328086 +W1_D6_FRONT6_E -0.101256 0.00319607 +W1_D6_FRONT7_E -0.0955271 0.00291589 +W1_D6_FRONT8_E 0.0667678 0.00317465 +W1_D6_FRONT9_E 0.0502573 0.00314579 +W1_D6_FRONT10_E 0.0645581 0.00320616 +W1_D6_FRONT11_E 0.0414857 0.00291247 +W1_D6_FRONT12_E 0.0667631 0.003171 +W1_D6_FRONT13_E 0.0678395 0.00318583 +W1_D6_FRONT14_E 0.0640303 0.00310784 +W1_D6_FRONT15_E 0.0595904 0.00303186 +W1_D1_BACK0_E 0.173483 0.00315736 +W1_D1_BACK1_E 0.137622 0.00310353 +W1_D1_BACK2_E 0.129469 0.00299648 +W1_D1_BACK3_E 0.161282 0.00310799 +W1_D1_BACK4_E 0.1424 0.00307772 +W1_D1_BACK5_E 0.14556 0.00298096 +W1_D1_BACK6_E 0.131341 0.00307072 +W1_D1_BACK7_E 0.145144 0.00305 +W1_D1_BACK8_E 0.162712 0.00301516 +W1_D1_BACK9_E 0.144573 0.00288719 +W1_D1_BACK10_E 0.151379 0.00307875 +W1_D1_BACK11_E 0.16862 0.00307363 +W1_D1_BACK12_E 0.151293 0.00305627 +W1_D1_BACK13_E 0.165298 0.00313217 +W1_D1_BACK14_E 0.174689 0.00320886 +W1_D1_BACK15_E 0.143586 0.00299589 +W1_D2_BACK0_E 0.135287 0.00294835 +W1_D2_BACK1_E 0.124781 0.00306965 +W1_D2_BACK2_E 0.0847689 0.00276709 +W1_D2_BACK3_E 0.118689 0.00295243 +W1_D2_BACK4_E 0.164057 0.0030714 +W1_D2_BACK6_E 0.131955 0.00287688 +W1_D2_BACK7_E 0.106528 0.00306627 +W1_D2_BACK8_E 0.111893 0.00282114 +W1_D2_BACK9_E 0.0871934 0.00285955 +W1_D2_BACK10_E 0.130607 0.00301817 +W1_D2_BACK11_E 0.10835 0.00289314 +W1_D2_BACK12_E 0.13728 0.00303329 +W1_D2_BACK13_E 0.123628 0.00316903 +W1_D2_BACK14_E 0.115932 0.00299386 +W1_D2_BACK15_E 0.167929 0.0030925 +W1_D3_BACK0_E 0.221194 0.00311773 +W1_D3_BACK1_E 0.211406 0.00313847 +W1_D3_BACK2_E 0.223881 0.00310109 +W1_D3_BACK3_E 0.235672 0.00306743 +W1_D3_BACK4_E 0.219353 0.00307701 +W1_D3_BACK5_E 0.208886 0.00302021 +W1_D3_BACK6_E 0.228751 0.00313382 +W1_D3_BACK7_E 0.217137 0.0029948 +W1_D3_BACK8_E 0.205286 0.00307163 +W1_D3_BACK9_E 0.213658 0.00306729 +W1_D3_BACK10_E 0.224095 0.00312192 +W1_D3_BACK11_E 0.217107 0.0029869 +W1_D3_BACK12_E 0.210618 0.00311219 +W1_D3_BACK13_E 0.215078 0.00315811 +W1_D3_BACK14_E 0.215376 0.0030188 +W1_D3_BACK15_E 0.216017 0.00295917 +W1_D4_BACK0_E 0.0830018 0.00314301 +W1_D4_BACK1_E 0.0880262 0.00324427 +W1_D4_BACK2_E 0.10008 0.00321996 +W1_D4_BACK3_E 0.0886359 0.00312723 +W1_D4_BACK4_E 0.110151 0.00314633 +W1_D4_BACK5_E 0.0978007 0.00318996 +W1_D4_BACK6_E 0.104021 0.00315434 +W1_D4_BACK7_E 0.101043 0.00329949 +W1_D4_BACK8_E 0.106799 0.00324691 +W1_D4_BACK9_E 0.0856496 0.0028576 +W1_D4_BACK10_E 0.08172 0.00296588 +W1_D4_BACK11_E 0.0943651 0.00309764 +W1_D4_BACK12_E 0.105963 0.00322433 +W1_D4_BACK13_E 0.110138 0.00308798 +W1_D4_BACK14_E 0.104546 0.00316074 +W1_D4_BACK15_E 0.103607 0.00315636 +W1_D5_BACK0_E 0.0661491 0.00303831 +W1_D5_BACK1_E 0.0720499 0.00305851 +W1_D5_BACK2_E 0.0737563 0.00306661 +W1_D5_BACK3_E 0.0797965 0.00291325 +W1_D5_BACK4_E 0.0808423 0.00311969 +W1_D5_BACK5_E 0.0862007 0.00313044 +W1_D5_BACK6_E 0.082346 0.00314642 +W1_D5_BACK7_E 0.0670972 0.00273615 +W1_D5_BACK8_E 0.0804597 0.00316916 +W1_D5_BACK9_E 0.074122 0.00331551 +W1_D5_BACK10_E 0.0809874 0.00323566 +W1_D5_BACK11_E 0.0782995 0.00314917 +W1_D5_BACK12_E 0.0711633 0.00307527 +W1_D5_BACK13_E 0.0775965 0.00316172 +W1_D5_BACK14_E 0.069109 0.00322527 +W1_D5_BACK15_E 0.0713914 0.00294143 +W1_D6_BACK0_E -0.109198 0.00316646 +W1_D6_BACK1_E -0.0949444 0.00280362 +W1_D6_BACK2_E -0.103846 0.00299015 +W1_D6_BACK3_E -0.0931834 0.0031603 +W1_D6_BACK4_E -0.0987492 0.00292868 +W1_D6_BACK5_E -0.097186 0.00296106 +W1_D6_BACK6_E -0.106213 0.00312986 +W1_D6_BACK7_E -0.108175 0.00288843 +W1_D6_BACK8_E -0.120279 0.00305965 +W1_D6_BACK9_E -0.1186 0.00300418 +W1_D6_BACK10_E -0.133702 0.00309986 +W1_D6_BACK11_E -0.127593 0.00296463 +W1_D6_BACK12_E -0.113575 0.00310974 +W1_D6_BACK13_E -0.115547 0.00326506 +W1_D6_BACK14_E -0.119331 0.00319616 +W1_D6_BACK15_E -0.107169 0.00323235 diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter_PulserAlphas.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter_PulserAlphas.txt new file mode 100644 index 0000000000000000000000000000000000000000..23d198ecc65d51b70f24b5448473dde7e50b4dce --- /dev/null +++ b/NPAnalysis/SPcoincW1/calibs/W1CalibrationAfter_PulserAlphas.txt @@ -0,0 +1,189 @@ +W1_D1_FRONT0_E -0.0409549 0.00313435 +W1_D1_FRONT1_E -0.0410288 0.00310898 +W1_D1_FRONT2_E -0.051105 0.00306224 +W1_D1_FRONT3_E -0.0426837 0.00306197 +W1_D1_FRONT4_E -0.0397345 0.00304634 +W1_D1_FRONT5_E -0.0417703 0.00299834 +W1_D1_FRONT6_E -0.0381822 0.00290766 +W1_D1_FRONT7_E -0.0478144 0.0031674 +W1_D1_FRONT8_E 0.164374 0.00301689 +W1_D1_FRONT9_E 0.170624 0.00312019 +W1_D1_FRONT10_E 0.162643 0.00308745 +W1_D1_FRONT11_E 0.160185 0.00297558 +W1_D1_FRONT12_E 0.173052 0.00304833 +W1_D1_FRONT13_E 0.172715 0.00307804 +W1_D1_FRONT14_E 0.169941 0.00303517 +W1_D1_FRONT15_E 0.15915 0.00300656 +W1_D2_FRONT0_E -0.0941011 0.0058907 +W1_D2_FRONT1_E -0.0500382 0.00293438 +W1_D2_FRONT2_E -0.0514812 0.00295577 +W1_D2_FRONT3_E -0.054977 0.00303588 +W1_D2_FRONT4_E -0.0445269 0.00268978 +W1_D2_FRONT5_E -0.0469042 0.00299963 +W1_D2_FRONT6_E -0.0624968 0.00311032 +W1_D2_FRONT7_E -0.0549835 0.00314182 +W1_D2_FRONT8_E 0.0918539 0.00311626 +W1_D2_FRONT9_E 0.0833332 0.00276323 +W1_D2_FRONT10_E 0.0745729 0.00266832 +W1_D2_FRONT11_E 0.0949944 0.00308344 +W1_D2_FRONT12_E 0.082602 0.00264991 +W1_D2_FRONT15_E 0.0881102 0.00301 +W1_D3_FRONT0_E -0.100997 0.00309023 +W1_D3_FRONT1_E -0.0990846 0.00293334 +W1_D3_FRONT2_E -0.0973923 0.00307503 +W1_D3_FRONT3_E -0.0937818 0.00288903 +W1_D3_FRONT4_E -0.104433 0.00315917 +W1_D3_FRONT5_E -0.0963817 0.00313659 +W1_D3_FRONT6_E -0.0916308 0.00311327 +W1_D3_FRONT7_E -0.0972906 0.00290672 +W1_D3_FRONT8_E 0.11131 0.00301604 +W1_D3_FRONT9_E 0.106849 0.0029876 +W1_D3_FRONT10_E 0.115998 0.00318336 +W1_D3_FRONT11_E 0.105618 0.00304804 +W1_D3_FRONT12_E 0.112477 0.0029977 +W1_D3_FRONT13_E 0.107869 0.00303139 +W1_D3_FRONT14_E 0.111101 0.00311916 +W1_D3_FRONT15_E 0.0942706 0.00294839 +W1_D4_FRONT0_E -0.106237 0.00320462 +W1_D4_FRONT1_E -0.107556 0.00322946 +W1_D4_FRONT2_E -0.105548 0.00321298 +W1_D4_FRONT3_E -0.0994305 0.00324256 +W1_D4_FRONT4_E -0.106019 0.00333701 +W1_D4_FRONT5_E -0.0968631 0.00322453 +W1_D4_FRONT6_E -0.090939 0.00325191 +W1_D4_FRONT7_E -0.0977092 0.00319298 +W1_D4_FRONT8_E 0.108767 0.00313147 +W1_D4_FRONT9_E 0.103813 0.00320612 +W1_D4_FRONT10_E 0.099437 0.0031782 +W1_D4_FRONT11_E 0.107628 0.00323347 +W1_D4_FRONT12_E 0.1074 0.00313039 +W1_D4_FRONT13_E 0.108668 0.00321249 +W1_D4_FRONT14_E 0.107253 0.00311194 +W1_D4_FRONT15_E 0.105792 0.00319968 +W1_D5_FRONT0_E -0.0926958 0.00313827 +W1_D5_FRONT1_E -0.0781478 0.0029972 +W1_D5_FRONT2_E -0.0875684 0.00308871 +W1_D5_FRONT3_E -0.0864434 0.00303376 +W1_D5_FRONT4_E -0.0995084 0.00307485 +W1_D5_FRONT5_E -0.0935788 0.00307598 +W1_D5_FRONT6_E -0.0784211 0.00281207 +W1_D5_FRONT7_E -0.0938343 0.00301414 +W1_D5_FRONT8_E 0.108972 0.00313808 +W1_D5_FRONT9_E 0.0902796 0.0030484 +W1_D5_FRONT10_E 0.108855 0.00325328 +W1_D5_FRONT11_E 0.10609 0.00297507 +W1_D5_FRONT12_E 0.114456 0.00308329 +W1_D5_FRONT13_E 0.111039 0.00302106 +W1_D5_FRONT14_E 0.106395 0.00309729 +W1_D5_FRONT15_E 0.100863 0.00299315 +W1_D6_FRONT0_E -0.0937002 0.00308873 +W1_D6_FRONT1_E -0.0955129 0.00310464 +W1_D6_FRONT2_E -0.093867 0.00304304 +W1_D6_FRONT3_E -0.0930797 0.00288798 +W1_D6_FRONT4_E -0.105773 0.00308994 +W1_D6_FRONT5_E -0.115415 0.00328086 +W1_D6_FRONT6_E -0.105691 0.00319607 +W1_D6_FRONT7_E -0.0986715 0.00291589 +W1_D6_FRONT8_E 0.0458834 0.00317465 +W1_D6_FRONT9_E 0.042146 0.00314579 +W1_D6_FRONT10_E 0.0478421 0.00320616 +W1_D6_FRONT11_E 0.0442898 0.00291247 +W1_D6_FRONT12_E 0.0588161 0.003171 +W1_D6_FRONT13_E 0.0582349 0.00318583 +W1_D6_FRONT14_E 0.0540115 0.00310784 +W1_D6_FRONT15_E 0.0490092 0.00303186 +W1_D1_BACK0_E 0.141285 0.00315736 +W1_D1_BACK1_E 0.136085 0.00310353 +W1_D1_BACK2_E 0.121734 0.00299648 +W1_D1_BACK3_E 0.134276 0.00310799 +W1_D1_BACK4_E 0.133094 0.00307772 +W1_D1_BACK5_E 0.136267 0.00298096 +W1_D1_BACK6_E 0.126339 0.00307072 +W1_D1_BACK7_E 0.130258 0.00305 +W1_D1_BACK8_E 0.138809 0.00301516 +W1_D1_BACK9_E 0.136812 0.00288719 +W1_D1_BACK10_E 0.136392 0.00307875 +W1_D1_BACK11_E 0.13789 0.00307363 +W1_D1_BACK12_E 0.142436 0.00305627 +W1_D1_BACK13_E 0.144578 0.00313217 +W1_D1_BACK14_E 0.150611 0.00320886 +W1_D1_BACK15_E 0.138998 0.00299589 +W1_D2_BACK0_E 0.108039 0.00294835 +W1_D2_BACK1_E 0.110474 0.00306965 +W1_D2_BACK2_E 0.0929269 0.00276709 +W1_D2_BACK3_E 0.105873 0.00295243 +W1_D2_BACK4_E 0.111305 0.0030714 +W1_D2_BACK6_E 0.101776 0.00287688 +W1_D2_BACK7_E 0.103488 0.00306627 +W1_D2_BACK8_E 0.0949924 0.00282114 +W1_D2_BACK9_E 0.0967456 0.00285955 +W1_D2_BACK10_E 0.0954087 0.00301817 +W1_D2_BACK11_E 0.0914745 0.00289314 +W1_D2_BACK12_E 0.0943133 0.00303329 +W1_D2_BACK13_E 0.109057 0.00316903 +W1_D2_BACK14_E 0.096039 0.00299386 +W1_D2_BACK15_E 0.100283 0.0030925 +W1_D3_BACK0_E 0.0593946 0.00311773 +W1_D3_BACK1_E 0.0539663 0.00313847 +W1_D3_BACK2_E 0.0545688 0.00310109 +W1_D3_BACK3_E 0.053254 0.00306743 +W1_D3_BACK4_E 0.0583823 0.00307701 +W1_D3_BACK5_E 0.0547078 0.00302021 +W1_D3_BACK6_E 0.0572073 0.00313382 +W1_D3_BACK7_E 0.0571082 0.0029948 +W1_D3_BACK8_E 0.0426816 0.00307163 +W1_D3_BACK9_E 0.0407515 0.00306729 +W1_D3_BACK10_E 0.0408687 0.00312192 +W1_D3_BACK11_E 0.0439494 0.0029869 +W1_D3_BACK12_E 0.0397818 0.00311219 +W1_D3_BACK13_E 0.0423886 0.00315811 +W1_D3_BACK14_E 0.0402498 0.0030188 +W1_D3_BACK15_E 0.0377333 0.00295917 +W1_D4_BACK0_E 0.0787049 0.00314301 +W1_D4_BACK1_E 0.083133 0.00324427 +W1_D4_BACK2_E 0.0822891 0.00321996 +W1_D4_BACK3_E 0.0764736 0.00312723 +W1_D4_BACK4_E 0.089532 0.00314633 +W1_D4_BACK5_E 0.0862089 0.00318996 +W1_D4_BACK6_E 0.0848565 0.00315434 +W1_D4_BACK7_E 0.0899332 0.00329949 +W1_D4_BACK8_E 0.0855566 0.00324691 +W1_D4_BACK9_E 0.0802422 0.0028576 +W1_D4_BACK10_E 0.0814808 0.00296588 +W1_D4_BACK11_E 0.0774855 0.00309764 +W1_D4_BACK12_E 0.0916775 0.00322433 +W1_D4_BACK13_E 0.0879226 0.00308798 +W1_D4_BACK14_E 0.0786999 0.00316074 +W1_D4_BACK15_E 0.0890562 0.00315636 +W1_D5_BACK0_E 0.0497013 0.00303831 +W1_D5_BACK1_E 0.0558789 0.00305851 +W1_D5_BACK2_E 0.0593762 0.00306661 +W1_D5_BACK3_E 0.0608869 0.00291325 +W1_D5_BACK4_E 0.0619463 0.00311969 +W1_D5_BACK5_E 0.0572087 0.00313044 +W1_D5_BACK6_E 0.0608907 0.00314642 +W1_D5_BACK7_E 0.0530383 0.00273615 +W1_D5_BACK8_E 0.0628523 0.00316916 +W1_D5_BACK9_E 0.0573754 0.00331551 +W1_D5_BACK10_E 0.0608419 0.00323566 +W1_D5_BACK11_E 0.0542677 0.00314917 +W1_D5_BACK12_E 0.0512325 0.00307527 +W1_D5_BACK13_E 0.0587194 0.00316172 +W1_D5_BACK14_E 0.0542702 0.00322527 +W1_D5_BACK15_E 0.0548464 0.00294143 +W1_D6_BACK0_E -0.132254 0.00316646 +W1_D6_BACK1_E -0.113267 0.00280362 +W1_D6_BACK2_E -0.120358 0.00299015 +W1_D6_BACK3_E -0.114231 0.0031603 +W1_D6_BACK4_E -0.116273 0.00292868 +W1_D6_BACK5_E -0.107985 0.00296106 +W1_D6_BACK6_E -0.129998 0.00312986 +W1_D6_BACK7_E -0.115625 0.00288843 +W1_D6_BACK8_E -0.1424 0.00305965 +W1_D6_BACK9_E -0.135977 0.00300418 +W1_D6_BACK10_E -0.15632 0.00309986 +W1_D6_BACK11_E -0.14696 0.00296463 +W1_D6_BACK12_E -0.136747 0.00310974 +W1_D6_BACK13_E -0.141839 0.00326506 +W1_D6_BACK14_E -0.14619 0.00319616 +W1_D6_BACK15_E -0.135861 0.00323235 diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore.txt deleted file mode 100644 index 29c23d87954f4bde4b008d5cfd5e7ef2160ba7ed..0000000000000000000000000000000000000000 --- a/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore.txt +++ /dev/null @@ -1,189 +0,0 @@ -W1_D1_FRONT0_E -0.0470911 0.00313546 -W1_D1_FRONT1_E -0.0472021 0.00310803 -W1_D1_FRONT2_E -0.0567854 0.00306771 -W1_D1_FRONT3_E -0.0487093 0.00306373 -W1_D1_FRONT4_E -0.0457374 0.00304835 -W1_D1_FRONT5_E -0.0478813 0.0030036 -W1_D1_FRONT6_E -0.0445097 0.00290749 -W1_D1_FRONT7_E -0.05315 0.00316182 -W1_D1_FRONT8_E 0.158632 0.00301553 -W1_D1_FRONT9_E 0.164661 0.00311887 -W1_D1_FRONT10_E 0.157124 0.00308769 -W1_D1_FRONT11_E 0.155147 0.00298356 -W1_D1_FRONT12_E 0.167161 0.00305057 -W1_D1_FRONT13_E 0.166866 0.00307911 -W1_D1_FRONT14_E 0.164171 0.0030383 -W1_D1_FRONT15_E 0.153155 0.00300049 -W1_D2_FRONT0_E -0.101508 0.00587286 -W1_D2_FRONT1_E -0.0566293 0.00292841 -W1_D2_FRONT2_E -0.0579355 0.00295637 -W1_D2_FRONT3_E -0.0613248 0.00303792 -W1_D2_FRONT4_E -0.0522171 0.0026988 -W1_D2_FRONT5_E -0.0546572 0.00299806 -W1_D2_FRONT6_E -0.0695951 0.00310432 -W1_D2_FRONT7_E -0.0620475 0.00314018 -W1_D2_FRONT8_E 0.0846581 0.00311718 -W1_D2_FRONT9_E 0.0755482 0.00276272 -W1_D2_FRONT10_E 0.066936 0.00266734 -W1_D2_FRONT11_E 0.0870825 0.00308409 -W1_D2_FRONT12_E 0.0749603 0.00264834 -W1_D2_FRONT15_E 0.0814968 0.00300648 -W1_D3_FRONT0_E -0.109522 0.00306779 -W1_D3_FRONT1_E -0.106606 0.00293079 -W1_D3_FRONT2_E -0.104135 0.00307037 -W1_D3_FRONT3_E -0.100592 0.00289104 -W1_D3_FRONT4_E -0.111389 0.00315779 -W1_D3_FRONT5_E -0.103317 0.00313203 -W1_D3_FRONT6_E -0.098922 0.0031127 -W1_D3_FRONT7_E -0.104371 0.00290834 -W1_D3_FRONT8_E 0.10367 0.00302263 -W1_D3_FRONT9_E 0.0982524 0.00299323 -W1_D3_FRONT10_E 0.107239 0.00318111 -W1_D3_FRONT11_E 0.0965583 0.00302867 -W1_D3_FRONT12_E 0.104487 0.00298896 -W1_D3_FRONT13_E 0.0993702 0.00301803 -W1_D3_FRONT14_E 0.10402 0.0031208 -W1_D3_FRONT15_E 0.0866901 0.00293154 -W1_D4_FRONT0_E -0.11129 0.00319853 -W1_D4_FRONT1_E -0.112696 0.00323375 -W1_D4_FRONT2_E -0.110449 0.00321639 -W1_D4_FRONT3_E -0.105076 0.00324373 -W1_D4_FRONT4_E -0.112102 0.00333712 -W1_D4_FRONT5_E -0.102868 0.00322568 -W1_D4_FRONT6_E -0.0965613 0.00324832 -W1_D4_FRONT7_E -0.103067 0.00319706 -W1_D4_FRONT8_E 0.104136 0.00313063 -W1_D4_FRONT9_E 0.0986798 0.00320655 -W1_D4_FRONT10_E 0.0951968 0.00317805 -W1_D4_FRONT11_E 0.103234 0.0032335 -W1_D4_FRONT12_E 0.102574 0.00313109 -W1_D4_FRONT13_E 0.104326 0.00320961 -W1_D4_FRONT14_E 0.102583 0.00310959 -W1_D4_FRONT15_E 0.101478 0.00319826 -W1_D5_FRONT0_E -0.101882 0.00314355 -W1_D5_FRONT1_E -0.0862697 0.00299523 -W1_D5_FRONT2_E -0.100383 0.00308853 -W1_D5_FRONT3_E -0.0960272 0.00303352 -W1_D5_FRONT4_E -0.108107 0.00307528 -W1_D5_FRONT5_E -0.102504 0.00307282 -W1_D5_FRONT6_E -0.088432 0.00281239 -W1_D5_FRONT7_E -0.103457 0.00301596 -W1_D5_FRONT8_E 0.0987793 0.00313671 -W1_D5_FRONT9_E 0.081488 0.00304994 -W1_D5_FRONT10_E 0.0979433 0.00325377 -W1_D5_FRONT11_E 0.0952734 0.00297725 -W1_D5_FRONT12_E 0.102606 0.00308396 -W1_D5_FRONT13_E 0.0999738 0.00301704 -W1_D5_FRONT14_E 0.0962652 0.00309873 -W1_D5_FRONT15_E 0.0905447 0.00299466 -W1_D6_FRONT0_E -0.103244 0.00309189 -W1_D6_FRONT1_E -0.104557 0.0031018 -W1_D6_FRONT2_E -0.10336 0.00304171 -W1_D6_FRONT3_E -0.0985242 0.00288986 -W1_D6_FRONT4_E -0.115152 0.00308888 -W1_D6_FRONT5_E -0.123671 0.00328476 -W1_D6_FRONT6_E -0.115025 0.00319241 -W1_D6_FRONT7_E -0.108393 0.00291834 -W1_D6_FRONT8_E 0.0365876 0.00317769 -W1_D6_FRONT9_E 0.0322429 0.00314283 -W1_D6_FRONT10_E 0.0378282 0.00320613 -W1_D6_FRONT11_E 0.034341 0.00290946 -W1_D6_FRONT12_E 0.0486957 0.00316346 -W1_D6_FRONT13_E 0.0478775 0.00318126 -W1_D6_FRONT14_E 0.0446913 0.00310525 -W1_D6_FRONT15_E 0.0398171 0.00303139 -W1_D1_BACK0_E 0.144942 0.00315811 -W1_D1_BACK1_E 0.139773 0.00309514 -W1_D1_BACK2_E 0.125306 0.00299183 -W1_D1_BACK3_E 0.138545 0.0031121 -W1_D1_BACK4_E 0.13634 0.00307154 -W1_D1_BACK5_E 0.140243 0.00297871 -W1_D1_BACK6_E 0.130033 0.00306213 -W1_D1_BACK7_E 0.132952 0.00304629 -W1_D1_BACK8_E 0.142242 0.00301924 -W1_D1_BACK9_E 0.142315 0.00288188 -W1_D1_BACK10_E 0.139735 0.00307449 -W1_D1_BACK11_E 0.141553 0.00307546 -W1_D1_BACK12_E 0.14596 0.00304931 -W1_D1_BACK13_E 0.148247 0.00312813 -W1_D1_BACK14_E 0.154079 0.00321109 -W1_D1_BACK15_E 0.142503 0.00296339 -W1_D2_BACK0_E 0.114555 0.00296018 -W1_D2_BACK1_E 0.113755 0.00307106 -W1_D2_BACK2_E 0.0981691 0.00275731 -W1_D2_BACK3_E 0.108195 0.0029538 -W1_D2_BACK4_E 0.114694 0.00308908 -W1_D2_BACK6_E 0.107892 0.00289905 -W1_D2_BACK7_E 0.10566 0.00306807 -W1_D2_BACK8_E 0.0996713 0.00282487 -W1_D2_BACK9_E 0.101278 0.0028536 -W1_D2_BACK10_E 0.098844 0.00301949 -W1_D2_BACK11_E 0.0962195 0.00289884 -W1_D2_BACK12_E 0.0967221 0.00304685 -W1_D2_BACK13_E 0.110764 0.00316417 -W1_D2_BACK14_E 0.0986761 0.00298733 -W1_D2_BACK15_E 0.103461 0.00312077 -W1_D3_BACK0_E 0.0557252 0.00310457 -W1_D3_BACK1_E 0.0506927 0.00312213 -W1_D3_BACK2_E 0.0539748 0.00308992 -W1_D3_BACK3_E 0.0532231 0.00306339 -W1_D3_BACK4_E 0.0546146 0.00306567 -W1_D3_BACK5_E 0.049928 0.00300604 -W1_D3_BACK6_E 0.0536454 0.00312716 -W1_D3_BACK7_E 0.0510576 0.00298797 -W1_D3_BACK8_E 0.0385472 0.00306228 -W1_D3_BACK9_E 0.0472383 0.00305881 -W1_D3_BACK10_E 0.045564 0.00311952 -W1_D3_BACK11_E 0.0469718 0.00298503 -W1_D3_BACK12_E 0.0441573 0.00310813 -W1_D3_BACK13_E 0.0455146 0.00315068 -W1_D3_BACK14_E 0.0446752 0.00301757 -W1_D3_BACK15_E 0.0413732 0.00295464 -W1_D4_BACK0_E 0.0843994 0.00312618 -W1_D4_BACK1_E 0.0893547 0.00323695 -W1_D4_BACK2_E 0.088054 0.0032212 -W1_D4_BACK3_E 0.0818549 0.00312569 -W1_D4_BACK4_E 0.0937239 0.00314846 -W1_D4_BACK5_E 0.0909748 0.00318859 -W1_D4_BACK6_E 0.0897291 0.00315863 -W1_D4_BACK7_E 0.0951684 0.00329822 -W1_D4_BACK8_E 0.0910699 0.00324943 -W1_D4_BACK9_E 0.0837377 0.0028592 -W1_D4_BACK10_E 0.0848928 0.00295914 -W1_D4_BACK11_E 0.0825768 0.00309815 -W1_D4_BACK12_E 0.0968595 0.00322098 -W1_D4_BACK13_E 0.0932317 0.00308784 -W1_D4_BACK14_E 0.084557 0.00316336 -W1_D4_BACK15_E 0.0936079 0.00314289 -W1_D5_BACK0_E 0.051925 0.00303819 -W1_D5_BACK1_E 0.0577513 0.00305989 -W1_D5_BACK2_E 0.0606664 0.00306752 -W1_D5_BACK3_E 0.0626186 0.00292008 -W1_D5_BACK4_E 0.0651779 0.00311829 -W1_D5_BACK5_E 0.0604308 0.00313221 -W1_D5_BACK6_E 0.0626782 0.00315154 -W1_D5_BACK7_E 0.0543598 0.00273612 -W1_D5_BACK8_E 0.0650053 0.00317205 -W1_D5_BACK9_E 0.0599825 0.0033174 -W1_D5_BACK10_E 0.0636803 0.00323966 -W1_D5_BACK11_E 0.0571116 0.00315416 -W1_D5_BACK12_E 0.0544097 0.00307805 -W1_D5_BACK13_E 0.0613223 0.00316234 -W1_D5_BACK14_E 0.0573792 0.00322286 -W1_D5_BACK15_E 0.0573742 0.00294563 -W1_D6_BACK0_E -0.12658 0.00316839 -W1_D6_BACK1_E -0.1064 0.00280906 -W1_D6_BACK2_E -0.116376 0.00299054 -W1_D6_BACK3_E -0.111267 0.00316048 -W1_D6_BACK4_E -0.111381 0.00293191 -W1_D6_BACK5_E -0.101893 0.00296066 -W1_D6_BACK6_E -0.126391 0.00313242 -W1_D6_BACK7_E -0.110646 0.00288933 -W1_D6_BACK8_E -0.138263 0.00306012 -W1_D6_BACK9_E -0.132171 0.00300561 -W1_D6_BACK10_E -0.152657 0.00310294 -W1_D6_BACK11_E -0.140951 0.00296906 -W1_D6_BACK12_E -0.133489 0.00311119 -W1_D6_BACK13_E -0.139044 0.00326406 -W1_D6_BACK14_E -0.142715 0.00319736 -W1_D6_BACK15_E -0.132293 0.00323413 diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore.txt new file mode 120000 index 0000000000000000000000000000000000000000..0d413c258db4284a40541899268ee43090e80400 --- /dev/null +++ b/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore.txt @@ -0,0 +1 @@ +W1CalibrationBefore_Alphas.txt \ No newline at end of file diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore_Alphas.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore_Alphas.txt new file mode 100644 index 0000000000000000000000000000000000000000..b9ad68303ce2827bbdc13ee053cceda2508466b3 --- /dev/null +++ b/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore_Alphas.txt @@ -0,0 +1,189 @@ +W1_D1_FRONT0_E -0.0448862 0.00313546 +W1_D1_FRONT1_E -0.0415625 0.00310803 +W1_D1_FRONT2_E -0.0535406 0.00306771 +W1_D1_FRONT3_E -0.0415368 0.00306373 +W1_D1_FRONT4_E -0.0415308 0.00304835 +W1_D1_FRONT5_E -0.043174 0.0030036 +W1_D1_FRONT6_E -0.0372442 0.00290749 +W1_D1_FRONT7_E -0.0430264 0.00316182 +W1_D1_FRONT8_E 0.167758 0.00301553 +W1_D1_FRONT9_E 0.175188 0.00311887 +W1_D1_FRONT10_E 0.171514 0.00308769 +W1_D1_FRONT11_E 0.157914 0.00298356 +W1_D1_FRONT12_E 0.17859 0.00305057 +W1_D1_FRONT13_E 0.181455 0.00307911 +W1_D1_FRONT14_E 0.177723 0.0030383 +W1_D1_FRONT15_E 0.166281 0.00300049 +W1_D2_FRONT0_E -0.093888 0.00587286 +W1_D2_FRONT1_E -0.0568984 0.00292841 +W1_D2_FRONT2_E -0.0535348 0.00295637 +W1_D2_FRONT3_E -0.0607089 0.00303792 +W1_D2_FRONT4_E -0.0557778 0.0026988 +W1_D2_FRONT5_E -0.0511223 0.00299806 +W1_D2_FRONT6_E -0.0575184 0.00310432 +W1_D2_FRONT7_E -0.0580339 0.00314018 +W1_D2_FRONT8_E 0.0957564 0.00311718 +W1_D2_FRONT9_E 0.0755482 0.00276272 +W1_D2_FRONT10_E 0.0699404 0.00266734 +W1_D2_FRONT11_E 0.0945361 0.00308409 +W1_D2_FRONT12_E 0.0758661 0.00264834 +W1_D2_FRONT15_E 0.0871373 0.00300648 +W1_D3_FRONT0_E 0.0597626 0.00306779 +W1_D3_FRONT1_E 0.0535111 0.00293079 +W1_D3_FRONT2_E 0.0575016 0.00307037 +W1_D3_FRONT3_E 0.0583479 0.00289104 +W1_D3_FRONT4_E 0.0564459 0.00315779 +W1_D3_FRONT5_E 0.0605975 0.00313203 +W1_D3_FRONT6_E 0.0663282 0.0031127 +W1_D3_FRONT7_E 0.064046 0.00290834 +W1_D3_FRONT8_E 0.266668 0.00302263 +W1_D3_FRONT9_E 0.259855 0.00299323 +W1_D3_FRONT10_E 0.283839 0.00318111 +W1_D3_FRONT11_E 0.266658 0.00302867 +W1_D3_FRONT12_E 0.276428 0.00298896 +W1_D3_FRONT13_E 0.272289 0.00301803 +W1_D3_FRONT14_E 0.287584 0.0031208 +W1_D3_FRONT15_E 0.267754 0.00293154 +W1_D4_FRONT0_E -0.107011 0.00319853 +W1_D4_FRONT1_E -0.109209 0.00323375 +W1_D4_FRONT2_E -0.104319 0.00321639 +W1_D4_FRONT3_E -0.112472 0.00324373 +W1_D4_FRONT4_E -0.118238 0.00333712 +W1_D4_FRONT5_E -0.111243 0.00322568 +W1_D4_FRONT6_E -0.100945 0.00324832 +W1_D4_FRONT7_E -0.115507 0.00319706 +W1_D4_FRONT8_E 0.107864 0.00313063 +W1_D4_FRONT9_E 0.107829 0.00320655 +W1_D4_FRONT10_E 0.106358 0.00317805 +W1_D4_FRONT11_E 0.105098 0.0032335 +W1_D4_FRONT12_E 0.102505 0.00313109 +W1_D4_FRONT13_E 0.109474 0.00320961 +W1_D4_FRONT14_E 0.110842 0.00310959 +W1_D4_FRONT15_E 0.107954 0.00319826 +W1_D5_FRONT0_E -0.0880202 0.00314355 +W1_D5_FRONT1_E -0.0776585 0.00299523 +W1_D5_FRONT2_E -0.083754 0.00308853 +W1_D5_FRONT3_E -0.0870093 0.00303352 +W1_D5_FRONT4_E -0.100636 0.00307528 +W1_D5_FRONT5_E -0.0954558 0.00307282 +W1_D5_FRONT6_E -0.0865683 0.00281239 +W1_D5_FRONT7_E -0.103378 0.00301596 +W1_D5_FRONT8_E 0.100377 0.00313671 +W1_D5_FRONT9_E 0.0840931 0.00304994 +W1_D5_FRONT10_E 0.103581 0.00325377 +W1_D5_FRONT11_E 0.0892529 0.00297725 +W1_D5_FRONT12_E 0.102566 0.00308396 +W1_D5_FRONT13_E 0.0977577 0.00301704 +W1_D5_FRONT14_E 0.092974 0.00309873 +W1_D5_FRONT15_E 0.083323 0.00299466 +W1_D6_FRONT0_E -0.0936235 0.00309189 +W1_D6_FRONT1_E -0.0941648 0.0031018 +W1_D6_FRONT2_E -0.0999697 0.00304171 +W1_D6_FRONT3_E -0.101098 0.00288986 +W1_D6_FRONT4_E -0.110115 0.00308888 +W1_D6_FRONT5_E -0.103371 0.00328476 +W1_D6_FRONT6_E -0.100648 0.00319241 +W1_D6_FRONT7_E -0.106577 0.00291834 +W1_D6_FRONT8_E 0.0553738 0.00317769 +W1_D6_FRONT9_E 0.049226 0.00314283 +W1_D6_FRONT10_E 0.0589021 0.00320613 +W1_D6_FRONT11_E 0.0404431 0.00290946 +W1_D6_FRONT12_E 0.0734172 0.00316346 +W1_D6_FRONT13_E 0.0697882 0.00318126 +W1_D6_FRONT14_E 0.0623486 0.00310525 +W1_D6_FRONT15_E 0.0544261 0.00303139 +W1_D1_BACK0_E 0.141419 0.00315811 +W1_D1_BACK1_E 0.142526 0.00309514 +W1_D1_BACK2_E 0.128216 0.00299183 +W1_D1_BACK3_E 0.145349 0.0031121 +W1_D1_BACK4_E 0.145013 0.00307154 +W1_D1_BACK5_E 0.142755 0.00297871 +W1_D1_BACK6_E 0.137755 0.00306213 +W1_D1_BACK7_E 0.14326 0.00304629 +W1_D1_BACK8_E 0.147072 0.00301924 +W1_D1_BACK9_E 0.145301 0.00288188 +W1_D1_BACK10_E 0.149556 0.00307449 +W1_D1_BACK11_E 0.156725 0.00307546 +W1_D1_BACK12_E 0.154892 0.00304931 +W1_D1_BACK13_E 0.164545 0.00312813 +W1_D1_BACK14_E 0.162602 0.00321109 +W1_D1_BACK15_E 0.160406 0.00296339 +W1_D2_BACK0_E 0.108053 0.00296018 +W1_D2_BACK1_E 0.114882 0.00307106 +W1_D2_BACK2_E 0.0968849 0.00275731 +W1_D2_BACK3_E 0.109123 0.0029538 +W1_D2_BACK4_E 0.125613 0.00308908 +W1_D2_BACK6_E 0.0856027 0.00289905 +W1_D2_BACK7_E 0.0987126 0.00306807 +W1_D2_BACK8_E 0.0965695 0.00282487 +W1_D2_BACK9_E 0.0930165 0.0028536 +W1_D2_BACK10_E 0.120296 0.00301949 +W1_D2_BACK11_E 0.0888989 0.00289884 +W1_D2_BACK12_E 0.105851 0.00304685 +W1_D2_BACK13_E 0.122183 0.00316417 +W1_D2_BACK14_E 0.120405 0.00298733 +W1_D2_BACK15_E 0.112028 0.00312077 +W1_D3_BACK0_E 0.223477 0.00310457 +W1_D3_BACK1_E 0.223037 0.00312213 +W1_D3_BACK2_E 0.227992 0.00308992 +W1_D3_BACK3_E 0.227288 0.00306339 +W1_D3_BACK4_E 0.219388 0.00306567 +W1_D3_BACK5_E 0.21514 0.00300604 +W1_D3_BACK6_E 0.221656 0.00312716 +W1_D3_BACK7_E 0.211746 0.00298797 +W1_D3_BACK8_E 0.203713 0.00306228 +W1_D3_BACK9_E 0.212651 0.00305881 +W1_D3_BACK10_E 0.210197 0.00311952 +W1_D3_BACK11_E 0.203928 0.00298503 +W1_D3_BACK12_E 0.204322 0.00310813 +W1_D3_BACK13_E 0.211001 0.00315068 +W1_D3_BACK14_E 0.204289 0.00301757 +W1_D3_BACK15_E 0.210944 0.00295464 +W1_D4_BACK0_E 0.0849477 0.00312618 +W1_D4_BACK1_E 0.0921646 0.00323695 +W1_D4_BACK2_E 0.0911839 0.0032212 +W1_D4_BACK3_E 0.0856143 0.00312569 +W1_D4_BACK4_E 0.0980353 0.00314846 +W1_D4_BACK5_E 0.0931139 0.00318859 +W1_D4_BACK6_E 0.0902859 0.00315863 +W1_D4_BACK7_E 0.0967602 0.00329822 +W1_D4_BACK8_E 0.0959724 0.00324943 +W1_D4_BACK9_E 0.0757669 0.0028592 +W1_D4_BACK10_E 0.0863512 0.00295914 +W1_D4_BACK11_E 0.0856807 0.00309815 +W1_D4_BACK12_E 0.104207 0.00322098 +W1_D4_BACK13_E 0.103936 0.00308784 +W1_D4_BACK14_E 0.0921103 0.00316336 +W1_D4_BACK15_E 0.102505 0.00314289 +W1_D5_BACK0_E 0.0579332 0.00303819 +W1_D5_BACK1_E 0.0583633 0.00305989 +W1_D5_BACK2_E 0.0629375 0.00306752 +W1_D5_BACK3_E 0.0581113 0.00292008 +W1_D5_BACK4_E 0.0754537 0.00311829 +W1_D5_BACK5_E 0.0747965 0.00313221 +W1_D5_BACK6_E 0.0664684 0.00315154 +W1_D5_BACK7_E 0.0597117 0.00273612 +W1_D5_BACK8_E 0.0677475 0.00317205 +W1_D5_BACK9_E 0.0645125 0.0033174 +W1_D5_BACK10_E 0.0689927 0.00323966 +W1_D5_BACK11_E 0.0620755 0.00315416 +W1_D5_BACK12_E 0.0604129 0.00307805 +W1_D5_BACK13_E 0.0725368 0.00316234 +W1_D5_BACK14_E 0.0691764 0.00322286 +W1_D5_BACK15_E 0.0599068 0.00294563 +W1_D6_BACK0_E -0.116911 0.00316839 +W1_D6_BACK1_E -0.109812 0.00280906 +W1_D6_BACK2_E -0.10866 0.00299054 +W1_D6_BACK3_E -0.0976813 0.00316048 +W1_D6_BACK4_E -0.109465 0.00293191 +W1_D6_BACK5_E -0.100056 0.00296066 +W1_D6_BACK6_E -0.11375 0.00313242 +W1_D6_BACK7_E -0.113694 0.00288933 +W1_D6_BACK8_E -0.124564 0.00306012 +W1_D6_BACK9_E -0.124402 0.00300561 +W1_D6_BACK10_E -0.142332 0.00310294 +W1_D6_BACK11_E -0.138855 0.00296906 +W1_D6_BACK12_E -0.118915 0.00311119 +W1_D6_BACK13_E -0.117208 0.00326406 +W1_D6_BACK14_E -0.12433 0.00319736 +W1_D6_BACK15_E -0.112887 0.00323413 diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore_PulserAlphas.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore_PulserAlphas.txt new file mode 100644 index 0000000000000000000000000000000000000000..29c23d87954f4bde4b008d5cfd5e7ef2160ba7ed --- /dev/null +++ b/NPAnalysis/SPcoincW1/calibs/W1CalibrationBefore_PulserAlphas.txt @@ -0,0 +1,189 @@ +W1_D1_FRONT0_E -0.0470911 0.00313546 +W1_D1_FRONT1_E -0.0472021 0.00310803 +W1_D1_FRONT2_E -0.0567854 0.00306771 +W1_D1_FRONT3_E -0.0487093 0.00306373 +W1_D1_FRONT4_E -0.0457374 0.00304835 +W1_D1_FRONT5_E -0.0478813 0.0030036 +W1_D1_FRONT6_E -0.0445097 0.00290749 +W1_D1_FRONT7_E -0.05315 0.00316182 +W1_D1_FRONT8_E 0.158632 0.00301553 +W1_D1_FRONT9_E 0.164661 0.00311887 +W1_D1_FRONT10_E 0.157124 0.00308769 +W1_D1_FRONT11_E 0.155147 0.00298356 +W1_D1_FRONT12_E 0.167161 0.00305057 +W1_D1_FRONT13_E 0.166866 0.00307911 +W1_D1_FRONT14_E 0.164171 0.0030383 +W1_D1_FRONT15_E 0.153155 0.00300049 +W1_D2_FRONT0_E -0.101508 0.00587286 +W1_D2_FRONT1_E -0.0566293 0.00292841 +W1_D2_FRONT2_E -0.0579355 0.00295637 +W1_D2_FRONT3_E -0.0613248 0.00303792 +W1_D2_FRONT4_E -0.0522171 0.0026988 +W1_D2_FRONT5_E -0.0546572 0.00299806 +W1_D2_FRONT6_E -0.0695951 0.00310432 +W1_D2_FRONT7_E -0.0620475 0.00314018 +W1_D2_FRONT8_E 0.0846581 0.00311718 +W1_D2_FRONT9_E 0.0755482 0.00276272 +W1_D2_FRONT10_E 0.066936 0.00266734 +W1_D2_FRONT11_E 0.0870825 0.00308409 +W1_D2_FRONT12_E 0.0749603 0.00264834 +W1_D2_FRONT15_E 0.0814968 0.00300648 +W1_D3_FRONT0_E -0.109522 0.00306779 +W1_D3_FRONT1_E -0.106606 0.00293079 +W1_D3_FRONT2_E -0.104135 0.00307037 +W1_D3_FRONT3_E -0.100592 0.00289104 +W1_D3_FRONT4_E -0.111389 0.00315779 +W1_D3_FRONT5_E -0.103317 0.00313203 +W1_D3_FRONT6_E -0.098922 0.0031127 +W1_D3_FRONT7_E -0.104371 0.00290834 +W1_D3_FRONT8_E 0.10367 0.00302263 +W1_D3_FRONT9_E 0.0982524 0.00299323 +W1_D3_FRONT10_E 0.107239 0.00318111 +W1_D3_FRONT11_E 0.0965583 0.00302867 +W1_D3_FRONT12_E 0.104487 0.00298896 +W1_D3_FRONT13_E 0.0993702 0.00301803 +W1_D3_FRONT14_E 0.10402 0.0031208 +W1_D3_FRONT15_E 0.0866901 0.00293154 +W1_D4_FRONT0_E -0.11129 0.00319853 +W1_D4_FRONT1_E -0.112696 0.00323375 +W1_D4_FRONT2_E -0.110449 0.00321639 +W1_D4_FRONT3_E -0.105076 0.00324373 +W1_D4_FRONT4_E -0.112102 0.00333712 +W1_D4_FRONT5_E -0.102868 0.00322568 +W1_D4_FRONT6_E -0.0965613 0.00324832 +W1_D4_FRONT7_E -0.103067 0.00319706 +W1_D4_FRONT8_E 0.104136 0.00313063 +W1_D4_FRONT9_E 0.0986798 0.00320655 +W1_D4_FRONT10_E 0.0951968 0.00317805 +W1_D4_FRONT11_E 0.103234 0.0032335 +W1_D4_FRONT12_E 0.102574 0.00313109 +W1_D4_FRONT13_E 0.104326 0.00320961 +W1_D4_FRONT14_E 0.102583 0.00310959 +W1_D4_FRONT15_E 0.101478 0.00319826 +W1_D5_FRONT0_E -0.101882 0.00314355 +W1_D5_FRONT1_E -0.0862697 0.00299523 +W1_D5_FRONT2_E -0.100383 0.00308853 +W1_D5_FRONT3_E -0.0960272 0.00303352 +W1_D5_FRONT4_E -0.108107 0.00307528 +W1_D5_FRONT5_E -0.102504 0.00307282 +W1_D5_FRONT6_E -0.088432 0.00281239 +W1_D5_FRONT7_E -0.103457 0.00301596 +W1_D5_FRONT8_E 0.0987793 0.00313671 +W1_D5_FRONT9_E 0.081488 0.00304994 +W1_D5_FRONT10_E 0.0979433 0.00325377 +W1_D5_FRONT11_E 0.0952734 0.00297725 +W1_D5_FRONT12_E 0.102606 0.00308396 +W1_D5_FRONT13_E 0.0999738 0.00301704 +W1_D5_FRONT14_E 0.0962652 0.00309873 +W1_D5_FRONT15_E 0.0905447 0.00299466 +W1_D6_FRONT0_E -0.103244 0.00309189 +W1_D6_FRONT1_E -0.104557 0.0031018 +W1_D6_FRONT2_E -0.10336 0.00304171 +W1_D6_FRONT3_E -0.0985242 0.00288986 +W1_D6_FRONT4_E -0.115152 0.00308888 +W1_D6_FRONT5_E -0.123671 0.00328476 +W1_D6_FRONT6_E -0.115025 0.00319241 +W1_D6_FRONT7_E -0.108393 0.00291834 +W1_D6_FRONT8_E 0.0365876 0.00317769 +W1_D6_FRONT9_E 0.0322429 0.00314283 +W1_D6_FRONT10_E 0.0378282 0.00320613 +W1_D6_FRONT11_E 0.034341 0.00290946 +W1_D6_FRONT12_E 0.0486957 0.00316346 +W1_D6_FRONT13_E 0.0478775 0.00318126 +W1_D6_FRONT14_E 0.0446913 0.00310525 +W1_D6_FRONT15_E 0.0398171 0.00303139 +W1_D1_BACK0_E 0.144942 0.00315811 +W1_D1_BACK1_E 0.139773 0.00309514 +W1_D1_BACK2_E 0.125306 0.00299183 +W1_D1_BACK3_E 0.138545 0.0031121 +W1_D1_BACK4_E 0.13634 0.00307154 +W1_D1_BACK5_E 0.140243 0.00297871 +W1_D1_BACK6_E 0.130033 0.00306213 +W1_D1_BACK7_E 0.132952 0.00304629 +W1_D1_BACK8_E 0.142242 0.00301924 +W1_D1_BACK9_E 0.142315 0.00288188 +W1_D1_BACK10_E 0.139735 0.00307449 +W1_D1_BACK11_E 0.141553 0.00307546 +W1_D1_BACK12_E 0.14596 0.00304931 +W1_D1_BACK13_E 0.148247 0.00312813 +W1_D1_BACK14_E 0.154079 0.00321109 +W1_D1_BACK15_E 0.142503 0.00296339 +W1_D2_BACK0_E 0.114555 0.00296018 +W1_D2_BACK1_E 0.113755 0.00307106 +W1_D2_BACK2_E 0.0981691 0.00275731 +W1_D2_BACK3_E 0.108195 0.0029538 +W1_D2_BACK4_E 0.114694 0.00308908 +W1_D2_BACK6_E 0.107892 0.00289905 +W1_D2_BACK7_E 0.10566 0.00306807 +W1_D2_BACK8_E 0.0996713 0.00282487 +W1_D2_BACK9_E 0.101278 0.0028536 +W1_D2_BACK10_E 0.098844 0.00301949 +W1_D2_BACK11_E 0.0962195 0.00289884 +W1_D2_BACK12_E 0.0967221 0.00304685 +W1_D2_BACK13_E 0.110764 0.00316417 +W1_D2_BACK14_E 0.0986761 0.00298733 +W1_D2_BACK15_E 0.103461 0.00312077 +W1_D3_BACK0_E 0.0557252 0.00310457 +W1_D3_BACK1_E 0.0506927 0.00312213 +W1_D3_BACK2_E 0.0539748 0.00308992 +W1_D3_BACK3_E 0.0532231 0.00306339 +W1_D3_BACK4_E 0.0546146 0.00306567 +W1_D3_BACK5_E 0.049928 0.00300604 +W1_D3_BACK6_E 0.0536454 0.00312716 +W1_D3_BACK7_E 0.0510576 0.00298797 +W1_D3_BACK8_E 0.0385472 0.00306228 +W1_D3_BACK9_E 0.0472383 0.00305881 +W1_D3_BACK10_E 0.045564 0.00311952 +W1_D3_BACK11_E 0.0469718 0.00298503 +W1_D3_BACK12_E 0.0441573 0.00310813 +W1_D3_BACK13_E 0.0455146 0.00315068 +W1_D3_BACK14_E 0.0446752 0.00301757 +W1_D3_BACK15_E 0.0413732 0.00295464 +W1_D4_BACK0_E 0.0843994 0.00312618 +W1_D4_BACK1_E 0.0893547 0.00323695 +W1_D4_BACK2_E 0.088054 0.0032212 +W1_D4_BACK3_E 0.0818549 0.00312569 +W1_D4_BACK4_E 0.0937239 0.00314846 +W1_D4_BACK5_E 0.0909748 0.00318859 +W1_D4_BACK6_E 0.0897291 0.00315863 +W1_D4_BACK7_E 0.0951684 0.00329822 +W1_D4_BACK8_E 0.0910699 0.00324943 +W1_D4_BACK9_E 0.0837377 0.0028592 +W1_D4_BACK10_E 0.0848928 0.00295914 +W1_D4_BACK11_E 0.0825768 0.00309815 +W1_D4_BACK12_E 0.0968595 0.00322098 +W1_D4_BACK13_E 0.0932317 0.00308784 +W1_D4_BACK14_E 0.084557 0.00316336 +W1_D4_BACK15_E 0.0936079 0.00314289 +W1_D5_BACK0_E 0.051925 0.00303819 +W1_D5_BACK1_E 0.0577513 0.00305989 +W1_D5_BACK2_E 0.0606664 0.00306752 +W1_D5_BACK3_E 0.0626186 0.00292008 +W1_D5_BACK4_E 0.0651779 0.00311829 +W1_D5_BACK5_E 0.0604308 0.00313221 +W1_D5_BACK6_E 0.0626782 0.00315154 +W1_D5_BACK7_E 0.0543598 0.00273612 +W1_D5_BACK8_E 0.0650053 0.00317205 +W1_D5_BACK9_E 0.0599825 0.0033174 +W1_D5_BACK10_E 0.0636803 0.00323966 +W1_D5_BACK11_E 0.0571116 0.00315416 +W1_D5_BACK12_E 0.0544097 0.00307805 +W1_D5_BACK13_E 0.0613223 0.00316234 +W1_D5_BACK14_E 0.0573792 0.00322286 +W1_D5_BACK15_E 0.0573742 0.00294563 +W1_D6_BACK0_E -0.12658 0.00316839 +W1_D6_BACK1_E -0.1064 0.00280906 +W1_D6_BACK2_E -0.116376 0.00299054 +W1_D6_BACK3_E -0.111267 0.00316048 +W1_D6_BACK4_E -0.111381 0.00293191 +W1_D6_BACK5_E -0.101893 0.00296066 +W1_D6_BACK6_E -0.126391 0.00313242 +W1_D6_BACK7_E -0.110646 0.00288933 +W1_D6_BACK8_E -0.138263 0.00306012 +W1_D6_BACK9_E -0.132171 0.00300561 +W1_D6_BACK10_E -0.152657 0.00310294 +W1_D6_BACK11_E -0.140951 0.00296906 +W1_D6_BACK12_E -0.133489 0.00311119 +W1_D6_BACK13_E -0.139044 0.00326406 +W1_D6_BACK14_E -0.142715 0.00319736 +W1_D6_BACK15_E -0.132293 0.00323413 diff --git a/NPAnalysis/SPcoincW1/calibs/W1CalibrationTime_runs50-74.txt b/NPAnalysis/SPcoincW1/calibs/W1CalibrationTime_runs50-74.txt new file mode 100644 index 0000000000000000000000000000000000000000..cd71188b5092c349c1a148d15753282e6df1b7db --- /dev/null +++ b/NPAnalysis/SPcoincW1/calibs/W1CalibrationTime_runs50-74.txt @@ -0,0 +1,110 @@ +W1_D1_FRONT0_T -229.029 1 +W1_D1_FRONT1_T -218.653 1 +W1_D1_FRONT2_T -225.993 1 +W1_D1_FRONT3_T -208.522 1 +W1_D1_FRONT4_T -208.229 1 +W1_D1_FRONT5_T -216.765 1 +W1_D1_FRONT6_T -213.913 1 +W1_D1_FRONT7_T -219.597 1 +W1_D1_FRONT8_T -225.181 1 +W1_D1_FRONT9_T -231.078 1 +W1_D1_FRONT10_T -207.158 1 +W1_D1_FRONT11_T -210.876 1 +W1_D1_FRONT12_T -220.325 1 +W1_D1_FRONT13_T -203.192 1 +W1_D1_FRONT14_T -225.754 1 +W1_D1_FRONT15_T -210.393 1 +W1_D2_FRONT0_T -245.558 1 +W1_D2_FRONT1_T -226.69 1 +W1_D2_FRONT2_T -228.482 1 +W1_D2_FRONT3_T -213.661 1 +W1_D2_FRONT4_T -220.204 1 +W1_D2_FRONT5_T -209.303 1 +W1_D2_FRONT6_T -232.659 1 +W1_D2_FRONT7_T -213.91 1 +W1_D2_FRONT8_T -220.662 1 +W1_D2_FRONT9_T -239.59 1 +W1_D2_FRONT10_T -234.59 1 +W1_D2_FRONT11_T -231.627 1 +W1_D2_FRONT12_T -230.273 1 +W1_D2_FRONT15_T -222.664 1 +W1_D3_FRONT0_T -204.116 1 +W1_D3_FRONT1_T -208.861 1 +W1_D3_FRONT2_T -212.846 1 +W1_D3_FRONT3_T -209.625 1 +W1_D3_FRONT4_T -206.452 1 +W1_D3_FRONT5_T -204.235 1 +W1_D3_FRONT6_T -192.408 1 +W1_D3_FRONT7_T -195.318 1 +W1_D3_FRONT8_T -206.098 1 +W1_D3_FRONT9_T -208.324 1 +W1_D3_FRONT10_T -210.484 1 +W1_D3_FRONT11_T -208.274 1 +W1_D3_FRONT12_T -202.478 1 +W1_D3_FRONT13_T -208.132 1 +W1_D3_FRONT14_T -208.19 1 +W1_D3_FRONT15_T -202.217 1 +W1_D4_FRONT0_T -195.677 1 +W1_D4_FRONT1_T -201.827 1 +W1_D4_FRONT2_T -193.247 1 +W1_D4_FRONT3_T -206.02 1 +W1_D4_FRONT4_T -188.318 1 +W1_D4_FRONT5_T -204.01 1 +W1_D4_FRONT6_T -188.951 1 +W1_D4_FRONT7_T -196.573 1 +W1_D4_FRONT8_T -202.994 1 +W1_D4_FRONT9_T -203.126 1 +W1_D4_FRONT10_T -187.967 1 +W1_D4_FRONT11_T -202.392 1 +W1_D4_FRONT12_T -194.857 1 +W1_D4_FRONT13_T -190.64 1 +W1_D4_FRONT14_T -190.359 1 +W1_D4_FRONT15_T -192.631 1 +W1_D5_FRONT0_T -198.684 1 +W1_D5_FRONT1_T -202.775 1 +W1_D5_FRONT2_T -183.67 1 +W1_D5_FRONT3_T -197.831 1 +W1_D5_FRONT4_T -194.027 1 +W1_D5_FRONT5_T -196.243 1 +W1_D5_FRONT6_T -201.783 1 +W1_D5_FRONT7_T -187.697 1 +W1_D5_FRONT8_T -193.892 1 +W1_D5_FRONT9_T -194.424 1 +W1_D5_FRONT10_T -199.149 1 +W1_D5_FRONT11_T -198.745 1 +W1_D5_FRONT12_T -198.912 1 +W1_D5_FRONT13_T -199.676 1 +W1_D5_FRONT14_T -193.983 1 +W1_D5_FRONT15_T -183.737 1 +W1_D6_FRONT0_T -200.368 1 +W1_D6_FRONT1_T -195.921 1 +W1_D6_FRONT2_T -196.352 1 +W1_D6_FRONT3_T -197.514 1 +W1_D6_FRONT4_T -199.002 1 +W1_D6_FRONT5_T -186.657 1 +W1_D6_FRONT6_T -200.34 1 +W1_D6_FRONT7_T -193.853 1 +W1_D6_FRONT8_T -180.938 1 +W1_D6_FRONT9_T -199.426 1 +W1_D6_FRONT10_T -197.158 1 +W1_D6_FRONT11_T -196.496 1 +W1_D6_FRONT12_T -195.625 1 +W1_D6_FRONT13_T -184.68 1 +W1_D6_FRONT14_T -202.407 1 +W1_D6_FRONT15_T -198.104 1 +W1_D1_BACK0_T -214.429 1 +W1_D1_BACK1_T -210.162 1 +W1_D1_BACK2_T -226.164 1 +W1_D1_BACK3_T -219.745 1 +W1_D1_BACK4_T -213.15 1 +W1_D1_BACK5_T -219.848 1 +W1_D1_BACK6_T -217.605 1 +W1_D1_BACK7_T -225.357 1 +W1_D1_BACK8_T -208.213 1 +W1_D1_BACK9_T -229.718 1 +W1_D1_BACK10_T -216.674 1 +W1_D1_BACK11_T -222.87 1 +W1_D1_BACK12_T -223.642 1 +W1_D1_BACK13_T -215.541 1 +W1_D1_BACK14_T -225.862 1 +W1_D1_BACK15_T -224.671 1 diff --git a/NPAnalysis/SPcoincW1/cuts/cutg_SelectionProtons.root b/NPAnalysis/SPcoincW1/cuts/cutg_SelectionProtons.root new file mode 100644 index 0000000000000000000000000000000000000000..b2e0d37d430f8ddeac3a2c7bc04a34aec0af8dbf Binary files /dev/null and b/NPAnalysis/SPcoincW1/cuts/cutg_SelectionProtons.root differ diff --git a/NPLib/CATS/TCATSPhysics.cxx b/NPLib/CATS/TCATSPhysics.cxx index 8804899bf92fd4cff7c5beea675f5c0f964f2a7a..d32630c3f12a808e8d2d74d706b7436177cebaeb 100644 --- a/NPLib/CATS/TCATSPhysics.cxx +++ b/NPLib/CATS/TCATSPhysics.cxx @@ -197,12 +197,18 @@ void TCATSPhysics::BuildPhysicalEvent(){ for(unsigned int i = 0 ; i < NumberOfCATSHit ; i++ ){ // Return the position in strip unit + // Convention: the collected charge is atrributed to the center of the strip + // (histogram convention) so that a reconstructed position for a single strip + // goes from strip index -0.5 to strip index +0.5 double PosX = ReconstructionFunctionX[DetMaxX[i]-1](Buffer_X_Q[i],StripMaxX[i]); double PosY = ReconstructionFunctionY[DetMaxY[i]-1](Buffer_Y_Q[i],StripMaxY[i]); StripNumberX.push_back(PosX); StripNumberY.push_back(PosY); - // Convert in mm by doing a linear interpolation + // a shift - -1 is made to have PosX in between -0.5 and 27.5 + // for the following calculation of the position in the lab. + PosX = PosX -1; + PosY = PosY -1; // sx and sy are the X and Y strip number between which the PosX and PosY are int sx0 = (int) PosX; diff --git a/NPLib/Core/NPVSpectra.cxx b/NPLib/Core/NPVSpectra.cxx index bb7cfb899cccefb2409edb34930971e1df82e87d..04bae2d9fa1a54c4ef46b21a2673ec79dcc051a2 100644 --- a/NPLib/Core/NPVSpectra.cxx +++ b/NPLib/Core/NPVSpectra.cxx @@ -114,13 +114,20 @@ void VSpectra::WriteSpectra(string filename){ f->cd(); } - // created dedicated directory for spectra - string dirname = "ControlSpectra/"+m_name; + // creating top directory for spectra + string dirname = "ControlSpectra"; TDirectory *dir = (TDirectory*) f->Get(dirname.c_str()); if (!dir) { - f->mkdir(dirname.c_str()); + dir = f->mkdir(dirname.c_str()); } - f->cd(dirname.c_str()); + dir->cd(); + + // creating sub directory for each detector spectra + TDirectory *dirdet = (TDirectory*) dir->Get(m_name.c_str()); + if (!dirdet) { + dirdet = dir->mkdir(m_name.c_str()); + } + dirdet->cd(); // write all histos map< string, TH1* >::iterator it; diff --git a/NPLib/CsI/TCsIData.h b/NPLib/CsI/TCsIData.h index 45ead2b918b4001a85909f6842213d49b1663ec3..caf462896b0fce332e5aeb1d554b64578fcd92d2 100644 --- a/NPLib/CsI/TCsIData.h +++ b/NPLib/CsI/TCsIData.h @@ -28,12 +28,16 @@ using namespace std ; class TCsIData : public TObject { private: - // Energy - vector<short> fCsI_E_Number; - vector<double> fCsI_E_Energy; - // Time - vector<short> fCsI_T_Number; - vector<double> fCsI_T_Time; + // Energy + vector<short> fCsI_E_Number; + vector<double> fCsI_E_Energy; + vector<double> fPhotoDiode_E_Energy; + vector<short> fPhotoDiode_E_Number; + // Time + vector<short> fCsI_T_Number; + vector<double> fCsI_T_Time; + vector<double> fPhotoDiode_T_Time; + vector<short> fPhotoDiode_T_Number; public: TCsIData(); @@ -53,13 +57,17 @@ class TCsIData : public TObject { int GetTNumber(int i) {return fCsI_T_Number[i];} double GetTTime(int i) {return fCsI_T_Time[i];} - ///////////////////// SETTERS //////////////////////// - // Energy - void SetENumber(int N) {fCsI_E_Number.push_back(N);} - void SetEEnergy(double E) {fCsI_E_Energy.push_back(E);} - // time - void SetTNumber(int N) {fCsI_T_Number.push_back(N);} - void SetTTime(double T) {fCsI_T_Time.push_back(T);} + ///////////////////// SETTERS //////////////////////// + // Energy + void SetENumber(int N) {fCsI_E_Number.push_back(N);} + void SetCsIEEnergy(double E) {fCsI_E_Energy.push_back(E);} + void SetPhotoDiodeEnergy(double E) {fPhotoDiode_E_Energy.push_back(E);} + void SetPhotoDiodeEDetectorNbr(int N) {fPhotoDiode_E_Number.push_back(N);} + // time + void SetTNumber(int N) {fCsI_T_Number.push_back(N);} + void SetTTime(double T) {fCsI_T_Time.push_back(T);} + void SetPhotoDiodeTime(double T) {fPhotoDiode_T_Time.push_back(T);} + void SetPhotoDiodeTDetectorNbr(int N) {fPhotoDiode_T_Number.push_back(N);} ClassDef(TCsIData,1) // CsIData structure }; diff --git a/NPLib/Physics/nubtab03.asc b/NPLib/Physics/nubtab03.asc index ff36e90df6acf0887671baf100b32c1beec5b6aa..b4860b280ec2ffd91876c0d999a0759be9ca2cf4 100644 --- a/NPLib/Physics/nubtab03.asc +++ b/NPLib/Physics/nubtab03.asc @@ -1338,7 +1338,7 @@ 100 0480 100Cd -74250 100 49.1 s 0.5 0+ 97 B+=100 100 0481 100Cdm -71700 100 2548.6 0.5 60 ns 3 (8)+ 97 IT=100 100 0490 100In -64170 250 5.9 s 0.2 (6,7)+ 97 02Pl03tj B+=100;B+p>3.9 -100 0500 100Sn -56780 710 1.1 s 0.4 0+ 97 B+=100;B+p<17 +100 0500 100Sn -57280 300 1.1 s 0.4 0+ 97 B+=100;B+p<17 101 0370 101Rb -43600 170 32 ms 4 3/2+# 98 B-=100;B-n=28 4 101 0380 101Sr -55410 120 118 ms 3 (5/2-) 98 B-=100;B-n=2.37 14 101 0390 101Y -64910 100 426 ms 20 (5/2+) 98 96Me09t B-=100;B-n=1.94 18 @@ -1357,7 +1357,7 @@ 101 0480 101Cd -75750 150 1.36 m 0.05 (5/2+) 98 B+=100 101 0490 101In -68610# 300# 15.1 s 1.1 9/2+# 98 B+=100;B+p=? 101 0491 101Inm -68060# 320# 550# 100# 10# s 1/2-# B+=95#;IT=5# -101 0500 101Sn -59560# 300# 3 s 1 5/2+# 98 B+=100;B+p=? +101 0500 101Sn -60310 300 3 s 1 5/2+# 98 B+=100;B+p=? 102 0370 102Rb -38310# 500# 37 ms 5 98 B-=100;B-n=18 8 102 0380 102Sr -53080 110 69 ms 6 0+ 98 93Ru01d B-=100;B-n=5.5 15 102 0390 102Y -61890 90 *& 300 ms 10 low 98 B-=100;B-n=4.9 12 @@ -1395,7 +1395,7 @@ 103 0480 103Cd -80649 15 7.3 m 0.1 5/2+ 01 B+=100 103 0490 103In -74599 25 60 s 1 9/2+# 01 97Sz04t B+=100 103 0491 103Inm -73967 25 631.7 0.1 34 s 2 1/2-# 01 97Sz04etd B+=67;IT=33 -103 0500 103Sn -66970# 300# 7 s 3 5/2+# 01 B+=100;B+p=? +103 0500 103Sn -66970 300# 7 s 3 5/2+# 01 B+=100;B+p=? 103 0510 103Sb -56180# 300# 100# ms >1.5us 5/2+# 01 95Ry03i B+ ? 104 0380 104Sr -44400# 700# 30# ms >300ns 0+ 00 97Be70i B- ? 104 0390 104Y -54910# 400# 180 ms 60 00 99Wa09d B-=100;B-n=? @@ -1414,7 +1414,7 @@ 104 0480 104Cd -83975 9 57.7 m 1.0 0+ 00 B+=100 104 0490 104In -76110 80 1.80 m 0.03 5,6(+) 00 B+=100 104 0491 104Inm -76020 80 93.48 0.10 15.7 s 0.5 (3+) 00 IT=80;B+=20 -104 0500 104Sn -71590 100 20.8 s 0.5 0+ 00 B+=100 +104 0500 104Sn -71627 100 20.8 s 0.5 0+ 00 B+=100 104 0510 104Sb -59180# 360# 470 ms 130 00 95Fa.Ad B+=?;B+p<7;p<7;A ? 105 0380 105Sr -38580# 700# 20# ms >300ns 97 97Be70i B- ? 105 0390 105Y -51350# 500# 60# ms >300ns 5/2+# 97 94Be24i B- ? @@ -1431,7 +1431,7 @@ 105 0480 105Cd -84330 12 55.5 m 0.4 5/2+ 93 B+=100 105 0490 105In -79481 17 5.07 m 0.07 9/2+ 93 87Eb02j B+=100 105 0491 105Inm -78807 17 674.1 0.3 48 s 6 (1/2)- 93 IT=?;B+=25# -105 0500 105Sn -73260 80 34 s 1 (5/2+) 93 95Pf01t B+=100;B+p=? +105 0500 105Sn -73338 80 34 s 1 (5/2+) 93 95Pf01t B+=100;B+p=? 105 0510 105Sb -63820 100 1.12 s 0.16 (5/2+) 02 B+ ?;p~1;B+p ? 105 0520 105Te -52500# 500# 1# us 5/2+# A ?;B+ ? 106 0390 106Y -46770# 700# 50# ms >300ns 97 97Be70i B- ? @@ -1448,7 +1448,7 @@ 106 0480 106Cd -87132 6 stbl >410Ey 0+ 94 02Tr04t IS=1.25 6;2B+ ? 106 0490 106In -80606 12 6.2 m 0.1 7+ 94 B+=100 106 0491 106Inm -80577 12 28.6 0.3 5.2 m 0.1 (3+) 94 B+=100 -106 0500 106Sn -77430 50 1.92 m 0.08 0+ 94 B+=100 +106 0500 106Sn -77354 50 1.92 m 0.08 0+ 94 B+=100 106 0510 106Sb -66330# 310# 600 ms 200 (4+) 97 94Se01j B+=100 106 0511 106Sbm -65330# 590# 1000# 500# 220 ns 20 98Li50t IT=100 106 0520 106Te -58210 130 70 us 20 0+ 94 94Pa11t A=100 @@ -1469,7 +1469,7 @@ 107 0480 107Cd -86985 6 6.50 h 0.02 5/2+ 00 B+=100 107 0490 107In -83560 11 32.4 m 0.3 9/2+ 00 B+=100 107 0491 107Inm -82882 11 678.5 0.3 50.4 s 0.6 1/2- 00 IT=100 -107 0500 107Sn -78580 80 2.90 m 0.05 (5/2+) 00 B+=100 +107 0500 107Sn -78512 80 2.90 m 0.05 (5/2+) 00 B+=100 107 0510 107Sb -70650# 300# 4.6 s 0.8 5/2+# 00 B+=100 107 0520 107Te -60540# 300# 3.1 ms 0.1 5/2+# 00 A=70 30;B+=30 30 108 0390 108Y -37740# 800# 20# ms >300ns 00 95Cz.Ai B- ?;B-n ? @@ -1486,7 +1486,7 @@ 108 0480 108Cd -89252 6 stbl >410Py 0+ 02 95Ge14t IS=0.89 3;2B+ ? 108 0490 108In -84116 10 58.0 m 1.2 7+ 00 B+=100 108 0491 108Inm -84086 10 29.75 0.05 39.6 m 0.7 2+ 00 B+=100 -108 0500 108Sn -82041 20 10.30 m 0.08 0+ 00 B+=100 +108 0500 108Sn -82070 20 10.30 m 0.08 0+ 00 B+=100 108 0510 108Sb -72510# 210# 7.4 s 0.3 (4+) 00 B+=100;B+p ? 108 0520 108Te -65720 100 2.1 s 0.1 0+ 00 85Ti02d B+=51 4;A=49 4;B+p=2.4 10;B+A<0.065 108 0530 108I -52650# 360# 36 ms 6 1+# 00 94Pa12d A=?;B+=9#;p<1 @@ -1506,7 +1506,7 @@ 109 0490 109In -86489 6 4.2 h 0.1 9/2+ 99 B+=100 109 0491 109Inm -85839 6 650.1 0.3 1.34 m 0.07 1/2- 99 IT=100 109 0492 109Inn -84387 6 2101.8 0.2 209 ms 6 (19/2+) 99 IT=100 -109 0500 109Sn -82639 10 18.0 m 0.2 5/2(+) 99 B+=100 +109 0500 109Sn -82631 10 18.0 m 0.2 5/2(+) 99 B+=100 109 0510 109Sb -76259 19 17.0 s 0.7 5/2+# 99 B+=100 109 0520 109Te -67610 60 4.6 s 0.3 (5/2+) 99 B+=?;A=3.9 13;B+p=9.4 31;B+A<0.005 109 0530 109I -57610 100 103 us 5 (5/2+) 02 87Gi02j p=100 diff --git a/NPLib/SplitPole/CMakeLists.txt b/NPLib/SplitPole/CMakeLists.txt index 796cbb1cdee9ee3982d4d24cb14587c63a9823f7..079ef004cac79a3dee3cdd5d8738db6b0a29e20b 100644 --- a/NPLib/SplitPole/CMakeLists.txt +++ b/NPLib/SplitPole/CMakeLists.txt @@ -1,6 +1,7 @@ add_custom_command(OUTPUT TSplitPolePhysicsDict.cxx COMMAND ../scripts/build_dict.sh TSplitPolePhysics.h TSplitPolePhysicsDict.cxx TSplitPolePhysics.rootmap libNPSplitPole.dylib DEPENDS TSplitPolePhysics.h) add_custom_command(OUTPUT TSplitPoleDataDict.cxx COMMAND ../scripts/build_dict.sh TSplitPoleData.h TSplitPoleDataDict.cxx TSplitPoleData.rootmap libNPSplitPole.dylib DEPENDS TSplitPoleData.h) -add_library(NPSplitPole SHARED TSplitPoleSpectra.cxx TSplitPoleData.cxx TSplitPolePhysics.cxx TSplitPoleDataDict.cxx TSplitPolePhysicsDict.cxx ) -target_link_libraries(NPSplitPole ${ROOT_LIBRARIES} NPCore) -install(FILES TSplitPoleData.h TSplitPolePhysics.h TSplitPoleSpectra.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY}) +add_custom_command(OUTPUT TSplitPoleNMRDict.cxx COMMAND ../scripts/build_dict.sh TSplitPoleNMR.h TSplitPoleNMRDict.cxx TSplitPoleNMR.rootmap libNPSplitPole.dylib DEPENDS TSplitPoleNMR.h) +add_library(NPSplitPole SHARED TSplitPoleSpectra.cxx TSplitPoleData.cxx TSplitPolePhysics.cxx TSplitPoleNMR.cxx TSplitPoleDataDict.cxx TSplitPolePhysicsDict.cxx TSplitPoleNMRDict.cxx) +target_link_libraries(NPSplitPole ${ROOT_LIBRARIES} NPCore) +install(FILES TSplitPoleData.h TSplitPolePhysics.h TSplitPoleSpectra.h TSplitPoleNMR.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY}) diff --git a/NPLib/SplitPole/TSplitPoleData.cxx b/NPLib/SplitPole/TSplitPoleData.cxx index eab6c777062382277ad3737558136c527e837ead..5088a44e7e8c46f24c355c680bc72daa44ce08a9 100644 --- a/NPLib/SplitPole/TSplitPoleData.cxx +++ b/NPLib/SplitPole/TSplitPoleData.cxx @@ -33,7 +33,8 @@ TSplitPoleData::TSplitPoleData() fDeltaE(-1), fWire(-1), fPlasticP(-1), - fPlasticG(-1) + fPlasticG(-1), + fTick(-1) { } @@ -52,6 +53,9 @@ void TSplitPoleData::Clear() fWire = -1; fPlasticP = -1; fPlasticG = -1; + fTime1.clear(); + fTime2.clear(); + fTick = -1; } @@ -65,4 +69,17 @@ void TSplitPoleData::Dump() const cout << "Wire: " << fWire << endl; cout << "PlasticP: " << fPlasticP << endl; cout << "PlasticG: " << fPlasticG << endl; + cout << "Tick: " << fTick << endl; + + cout << "Time1:"; + for (UInt_t i = 0; i < fTime1.size(); ++i) { // loop on fTime1 + cout << "\t" << fTime1[i]; + } // end loop on fTime1 + cout << endl; + + cout << "Time2:"; + for (UInt_t i = 0; i < fTime2.size(); ++i) { // loop on fTime2 + cout << "\t" << fTime2[i]; + } // end loop on fTime2 + cout << endl; } diff --git a/NPLib/SplitPole/TSplitPoleData.h b/NPLib/SplitPole/TSplitPoleData.h index cfe86ff64f380af129ff5e1e70edb2f4a2fce5a0..970d2c2b70682e40fc6df588e74ddd3f0b00cdd3 100644 --- a/NPLib/SplitPole/TSplitPoleData.h +++ b/NPLib/SplitPole/TSplitPoleData.h @@ -24,6 +24,10 @@ // ROOT headers #include "TObject.h" +#include <vector> +using namespace std; + + class TSplitPoleData : public TObject { @@ -33,6 +37,9 @@ class TSplitPoleData : public TObject Double_t fWire; Double_t fPlasticP; Double_t fPlasticG; + vector<Double_t> fTime1; // ch 117 + vector<Double_t> fTime2; // ch 126 + Double_t fTick; // data from scaler public: @@ -45,10 +52,13 @@ class TSplitPoleData : public TObject ///////////////////// SETTERS //////////////////////// void SetPosition(Double_t position) {fPosition = position;} - void SetDeltaE(Double_t deltae) {fDeltaE = deltae;} - void SetWire(Double_t wire) {fWire = wire;} + void SetDeltaE(Double_t deltae) {fDeltaE = deltae;} + void SetWire(Double_t wire) {fWire = wire;} void SetPlasticP(Double_t plp) {fPlasticP = plp;} void SetPlasticG(Double_t plg) {fPlasticG = plg;} + void SetTime1(Double_t time) {fTime1.push_back(time);} + void SetTime2(Double_t time) {fTime2.push_back(time);} + void SetTick(Double_t tick) {fTick = tick;} void SetFocalPlane(Double_t position, Double_t deltae, Double_t wire, Double_t plp, Double_t plg) { SetPosition(position); SetDeltaE(deltae); @@ -64,6 +74,11 @@ class TSplitPoleData : public TObject Double_t GetWire() const {return fWire;} Double_t GetPlasticP() const {return fPlasticP;} Double_t GetPlasticG() const {return fPlasticG;} + Double_t GetTime1(Int_t i) const {return fTime1[i];} + Double_t GetTime2(Int_t i) const {return fTime2[i];} + UShort_t GetTime1Multiplicity() const {return fTime1.size();} + UShort_t GetTime2Multiplicity() const {return fTime2.size();} + Double_t GetTick() const {return fTick;} ClassDef(TSplitPoleData, 1) // TSplitPoleData raw data diff --git a/NPLib/SplitPole/TSplitPoleNMR.cxx b/NPLib/SplitPole/TSplitPoleNMR.cxx new file mode 100644 index 0000000000000000000000000000000000000000..ecf588ae63079dead2037d6cbd6421e67325eb36 --- /dev/null +++ b/NPLib/SplitPole/TSplitPoleNMR.cxx @@ -0,0 +1,289 @@ +/***************************************************************************** + * Original Author: N. de Sereville contact address: deserevi@ipno.in2p3.fr * + * * + * Creation Date : april 2012 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: This class reads the rmn file and provides some simple * + * operations: apply delay, calculate mean value for subset of * + * the data, .... * + * Operations support both absolute and relative time * + *---------------------------------------------------------------------------* + * Comment: * + * + Based on cSplitRun class from Iulian Stefan * + * * + *****************************************************************************/ + +// class header +#include "TSplitPoleNMR.h" + +// ROOT header +#include "TMath.h" + +// C++ header +#include <sstream> +using namespace std; + +//#define DEBUG + + +ClassImp(TSplitPoleNMR) + + +TSplitPoleNMR::TSplitPoleNMR() + : fOpenFileTime(0), + fDelay(6797), + fFileName("Data_run.dat"), + fRmnRelativeTime(new TGraph()), + fRmn(new TGraph()), + fIsRelativeTime(0), + fIsLargeField(0), + fMean(-1), + fMin(10), + fMax(-1) +{ +} + + + +TSplitPoleNMR::TSplitPoleNMR(const char* fileName) + : fOpenFileTime(0), + fDelay(6797), + fFileName(fileName), + fRmnRelativeTime(new TGraph()), + fRmn(new TGraph()), + fIsRelativeTime(0), + fIsLargeField(0), + fMean(-1), + fMin(10), + fMax(-1) +{ + ReadRmnFile(); +} + + + +TSplitPoleNMR::TSplitPoleNMR(const char* fileName, Double_t delay) + : fOpenFileTime(0), + fDelay(delay), + fFileName(fileName), + fRmnRelativeTime(new TGraph()), + fRmn(new TGraph()), + fIsRelativeTime(0), + fIsLargeField(0), + fMean(-1), + fMin(10), + fMax(-1) +{ + ReadRmnFile(); +} + + + +TSplitPoleNMR::~TSplitPoleNMR() +{ + if (fRmnRelativeTime) delete fRmnRelativeTime; + if (fRmn) delete fRmn; +} + + + + +Int_t TSplitPoleNMR::ReadRmnFile() +{ + ifstream in_rmn; + Double_t old_x=-10.; + std::cout<<"\nReading Rmn data file: "<<fFileName<<"..."<<std::flush; +// DeleteRmnGraph(); +// fRmn= new TGraph(); + in_rmn.open(fFileName); + + if(!in_rmn.is_open()){ + std::cout<<"\n Cant open Rmn data file "<<fFileName<<" ...\n"<<std::flush; + std::cout<<"\n Nor fRmnFile "<<fFileName<<" ...\n"<<std::flush; + + return -1; + } + + char tmp[1000]; + in_rmn.getline(tmp,sizeof(tmp),'\n'); + // TTimeStamp a; + in_rmn.getline(tmp,sizeof(tmp),':'); + Int_t year,month,day,hour,minutes,seconds; + + char ch_tmp; + in_rmn>>year;in_rmn>>ch_tmp;in_rmn>>month;in_rmn>>ch_tmp;in_rmn>>day; + in_rmn.getline(tmp,sizeof(tmp),'-'); + in_rmn>>hour;in_rmn>>ch_tmp;in_rmn>>minutes;in_rmn>>ch_tmp;in_rmn>>seconds; + + fOpenFileTime.Set(year,month,day,hour,minutes,seconds, 0, 1, 0); + fOpenFileTime.Print(); + Double_t time=fOpenFileTime.AsDouble(),x=1.,y; + Int_t i=0; + + Double_t ymin = 10; + Double_t ymax = -1; + Double_t ymean = 0; + +#ifdef DEBUG +// std::cout << "time 0 = " << time << std::endl; +// std::cout<<"\nx="<<x<<"\ty="<<y<<std::flush; +#endif + + in_rmn.getline(tmp,sizeof(tmp),'\n'); + in_rmn.getline(tmp,sizeof(tmp),'\n'); + for(;;){ + in_rmn>>x;in_rmn>>ch_tmp;in_rmn>>y; + y*=1.e-7; + // apply large field + if (fIsLargeField) y += 1; +#ifdef DEBUG +// std::cout<<"\nx="<<x<<"\ty="<<y<<std::flush; +#endif + if(x > old_x) { + // TGraph + fRmnRelativeTime -> SetPoint(i, x, y); + fRmn -> SetPoint(i++, x+time+fDelay, y); +#ifdef DEBUG +// std::cout<<"\nx="<<x+time+fDelay<<"\ty="<<y<<std::flush; +#endif + // min, max + if (y < ymin) ymin = y; + if (y > ymax) ymax = y; + // mean + ymean += y; + } + else break; + old_x=x; + x=0.; + + } + in_rmn.close(); + std::cout<<" Ok!"<<std::flush; + std::cout << std::endl; + + // set mean, min and max field values + fMin = ymin; + fMax = ymax; + fMean = ymean / fRmnRelativeTime->GetN(); + + return 0; +} + + + +void TSplitPoleNMR::SetIsRelativeTime(bool isRelativeTime) +{ + fIsRelativeTime = isRelativeTime; +} + + + +void TSplitPoleNMR::SetLargeField(bool isLargeField) +{ + fIsLargeField = isLargeField; + ReadRmnFile(); +} + + + +TGraph* TSplitPoleNMR::GetRmnGraph() const +{ + if (!fIsRelativeTime) return fRmn; + else return fRmnRelativeTime; +} + + + +void TSplitPoleNMR::Draw(const char* option) const +{ + if (fRmn->GetN() > 0) { + if (!fIsRelativeTime) fRmn->Draw(option); + else fRmnRelativeTime->Draw(option); + } +} + + + +void TSplitPoleNMR::ApplyDelay() +{ + if (!fRmnRelativeTime) { + cout << "TGraph containing rmn data is missing" << endl; + } + else { + Double_t timeRef = fOpenFileTime.AsDouble(); + Int_t dim = fRmnRelativeTime->GetN(); + Double_t *x = fRmnRelativeTime->GetX(); + Double_t *y = fRmnRelativeTime->GetY(); + for (Int_t i = 0; i < dim; ++i) { // loop on TGraph size + fRmn->SetPoint(i, x[i] + fDelay + timeRef, y[i]); + } // end loop on TGraph size + } +} + + + +void TSplitPoleNMR::Dump() +{ + std::cout<<"\nPrinting TSplitPoleNMR object "<<this<<"\n"<<std::flush; + + + + if(fRmn){ + std::cout<<"\nfRmn defined "<<fRmn->GetName(); + std::cout<<"\nfrom file "<<fFileName; + } + else + std::cout<<"\nNo fRmn object"; + +} + + + +Double_t TSplitPoleNMR::EvalB(Double_t Time) const +{ + if(!fRmn) return 0.; + Double_t *x; + x=fRmn->GetX(); + Int_t n= fRmn->GetN(); + + if( Time>=x[0] && Time<=x[n-1]) + return fRmn->Eval(Time); + else + return fRmn->GetMean(2); + +} + + + +Double_t TSplitPoleNMR::Mean(Double_t t1, Double_t t2) const +{ + // get dimension and x array + Int_t dim; + Double_t *x, *y; + if (fIsRelativeTime) { + dim = fRmnRelativeTime->GetN(); + x = fRmnRelativeTime->GetX(); + y = fRmnRelativeTime->GetY(); + } + else { + dim = fRmn->GetN(); + x = fRmn->GetX(); + y = fRmn->GetY(); + } + + // find index for t1 and t2 + Double_t index1 = TMath::BinarySearch(dim, x, t1); + Double_t index2 = TMath::BinarySearch(dim, x, t2); + // if t1=0, BinarySearh returns index = -1, we force it to 0 + if (index1 < 0) index1 = 0; + + // calculate mean + Double_t mean = 0; + for (Int_t i = index1; i < index2+1; ++i) { // loop on field TGraph + mean += y[i]; + } // end loop on field TGraph + + + return mean / (index2 - index1 + 1); +} diff --git a/NPLib/SplitPole/TSplitPoleNMR.h b/NPLib/SplitPole/TSplitPoleNMR.h new file mode 100644 index 0000000000000000000000000000000000000000..0e78cbbe5b9aa010e13a582a4e92e972f440205e --- /dev/null +++ b/NPLib/SplitPole/TSplitPoleNMR.h @@ -0,0 +1,83 @@ +#ifndef __SPLITPOLENMR__ +#define __SPLITPOLENMR__ +/***************************************************************************** + * Copyright (C) 2009-2014 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: N. de Sereville contact address: deserevi@ipno.in2p3.fr * + * * + * Creation Date : april 2012 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: This class reads the rmn file and provides some simple * + * operations: apply delay, calculate mean value for subset of * + * the data, .... * + * Operations support both absolute and relative time * + *---------------------------------------------------------------------------* + * Comment: * + * + Based on cSplitRun class from Iulian Stefan * + * * + *****************************************************************************/ + +// ROOT headers +#include "TObject.h" +#include "TTimeStamp.h" +#include "TGraph.h" +#include "TString.h" + +// C++ headers +#include <iostream> +#include <fstream> +using namespace std; + + +class TSplitPoleNMR : public TObject +{ + private: + TTimeStamp fOpenFileTime; // + Double_t fDelay; // Trun-Trmn in sec + TString fFileName; + TGraph* fRmnRelativeTime; // in sec wrt file beginning + TGraph* fRmn; // absolute time taking into account fDelay + bool fIsRelativeTime; // specify if returned graph is in relative of absolute units + bool fIsLargeField; // specifiy if field is greater than 1 T + Double_t fMean; // mean value for field + Double_t fMin; // min value for field + Double_t fMax; // max value for field + + + public: + TSplitPoleNMR(); + TSplitPoleNMR(const char* fileName); + TSplitPoleNMR(const char* fileName, Double_t delay); + virtual ~TSplitPoleNMR(); + + void SetDelay(Double_t delay) {fDelay = delay; ApplyDelay();} + void SetIsRelativeTime(bool isRelativeTime); + void SetLargeField(bool isLargeField); + void SetFileName(TString fileName) {fFileName = fileName;} + + Double_t GetDelay() {return fDelay;} + Double_t GetMean() {return fMean;} + Double_t GetMin() {return fMin;} + Double_t GetMax() {return fMax;} + TString GetFileName() {return fFileName;} + + Int_t ReadRmnFile(); + TGraph* GetRmnGraph() const; + void Draw(const char* option) const; + void ApplyDelay(); + + void Dump(); + + Double_t EvalB(Double_t Time) const; + Double_t Mean(Double_t t1, Double_t t2) const; + + ClassDef(TSplitPoleNMR,1); +}; + +#endif diff --git a/NPLib/SplitPole/TSplitPolePhysics.cxx b/NPLib/SplitPole/TSplitPolePhysics.cxx index 6c08b5345bbfe024aa50d18171b6030b600d5640..200ac83432068bcaa039bb71975d4455eb02b906 100644 --- a/NPLib/SplitPole/TSplitPolePhysics.cxx +++ b/NPLib/SplitPole/TSplitPolePhysics.cxx @@ -12,7 +12,7 @@ * Last update : * *---------------------------------------------------------------------------* * Decription: * - * This class hold SplitPole Physics * + * This class hold SplitPole Physics * * * *---------------------------------------------------------------------------* * Comment: * @@ -26,6 +26,7 @@ #include <iostream> #include <sstream> #include <fstream> +#include <string> #include <limits> #include <cmath> #include <stdlib.h> @@ -38,6 +39,10 @@ using namespace std; // ROOT #include "TChain.h" +#include "TSystemDirectory.h" +#include "TList.h" +#include "TSystem.h" +#include "TGraph.h" ClassImp(TSplitPolePhysics) @@ -48,11 +53,23 @@ TSplitPolePhysics::TSplitPolePhysics() : m_EventData(new TSplitPoleData), m_PreTreatedData(new TSplitPoleData), m_EventPhysics(this), + m_RunStart(2015, 10, 6, 0, 0, 0), + m_RunStop(2015, 10, 7, 0, 0, 0), + m_RunLength(0), + m_FrequenceClock(2.03), + m_TickMin(0), + m_TickMax(0), + m_RunNumber(0), + m_CurrentRunNumber(0), + m_CurrentNMR(new TSplitPoleNMR), m_MagneticFieldCorrection(0), m_TimeDelay(6500), m_CalibP0(0.65), m_CalibP1(6e-6) { + Clear(); + ReadTimeTable(); + ReadNMR(); } @@ -69,6 +86,14 @@ TSplitPolePhysics::~TSplitPolePhysics() /////////////////////////////////////////////////////////////////////////// void TSplitPolePhysics::Clear() { + fPosition = -1; + fBrho = -1; + fDeltaE = -1; + fWire = -1; + fPlasticP = -1; + fPlasticG = -1; + fTime1.clear(); + fTime2.clear(); } @@ -124,6 +149,82 @@ void TSplitPolePhysics::ReadConfiguration(string Path) } + +/////////////////////////////////////////////////////////////////////////// +void TSplitPolePhysics::ReadTimeTable() +{ + ifstream file("TimeTable.txt"); + + // define variables + Int_t run_midas, run_narval; + Int_t date1, date2, time1, time2; + TTimeStamp start, stop; + pair<TTimeStamp, TTimeStamp> ptime; + + // read file + while(file >> run_narval >> run_midas >> date1 >> time1 >> date2 >> time2) { + start.Set(date1, time1, 0, 1, 0); + stop.Set(date2, time2, 0, 1, 0); + ptime.first = start; + ptime.second = stop; + // fill maps + m_TimeTable[run_midas] = ptime; + m_NarvalMidasTable[run_narval] = run_midas; + } + + // close file + file.close(); +} + + + +/////////////////////////////////////////////////////////////////////////// +void TSplitPolePhysics::ReadNMR() +{ + // current directory where npanalysis is executed + string currentpath = gSystem->Getenv("PWD"); + + // go to directory with all nmr files and get a list of them + TSystemDirectory libdir("libdir", "/scratch/gypaos/data/al27pp/oct2015/rmn"); + TList* listfile = libdir.GetListOfFiles(); + // check whether directory is empty or not + if (listfile->GetEntries() > 2) { + Int_t i = 0; + // loop on nmr files + while (listfile->At(i)) { + TString libname = listfile->At(i++)->GetName(); + Int_t pos1 = libname.First("0123456789"); + Int_t pos2 = libname.First("."); + TString sub = libname(pos1, pos2-pos1); + Int_t run = 0; + // if substring is digit only + if (sub.IsDigit()) { + run = sub.Atoi(); + // fill map + m_NMRTable[m_NarvalMidasTable[run]] = new TSplitPoleNMR(libname.Data()); + } + } + } + + // Since the libdir.GetListOfFiles() command cds to the + // libidr directory, one has to return to the initial + // directory + gSystem->cd(currentpath.c_str()); +} + + + +/////////////////////////////////////////////////////////////////////////// +Bool_t TSplitPolePhysics::IsSameRun() +{ + Bool_t isSameRun = true; + if (m_CurrentRunNumber != m_RunNumber) isSameRun = false; + + return isSameRun; +} + + + /////////////////////////////////////////////////////////////////////////// void TSplitPolePhysics::AddParameterToCalibrationManager() { @@ -137,12 +238,12 @@ void TSplitPolePhysics::InitializeRootInputRaw() TChain* inputChain = RootInput::getInstance()->GetChain(); inputChain->SetBranchStatus("SplitPole", true); inputChain->SetBranchStatus("fPosition", true); - inputChain->SetBranchStatus("fBrho", true); inputChain->SetBranchStatus("fDeltaE", true); inputChain->SetBranchStatus("fWire", true); inputChain->SetBranchStatus("fPlasticP", true); inputChain->SetBranchStatus("fPlasticG", true); inputChain->SetBranchAddress("SplitPole", &m_EventData); + inputChain->SetBranchAddress("RunNumber", &m_RunNumber); } @@ -168,6 +269,7 @@ void TSplitPolePhysics::InitializeRootOutput() { TTree* outputTree = RootOutput::getInstance()->GetTree(); outputTree->Branch("SplitPole", "TSplitPolePhysics", &m_EventPhysics); + outputTree->Branch("RunNumber", &m_RunNumber, "RunNumber/I"); } @@ -186,7 +288,39 @@ void TSplitPolePhysics::BuildSimplePhysicalEvent() // Select active channels and apply thresholds PreTreat(); + // Fill TSplitPolePhysics private members + fPosition = m_EventData->GetPosition(); + fDeltaE = m_EventData->GetDeltaE(); + fWire = m_EventData->GetWire(); + fPlasticP = m_EventData->GetPlasticP(); + fPlasticG = m_EventData->GetPlasticG(); + + for (UShort_t i = 0; i < m_EventData->GetTime1Multiplicity(); ++i) { // loop on multiplicity + fTime1.push_back(m_EventData->GetTime1(i)); + } // end loop on multiplicity + + for (UShort_t i = 0; i < m_EventData->GetTime2Multiplicity(); ++i) { // loop on multiplicity + fTime2.push_back(m_EventData->GetTime2(i)); + } // end loop on multiplicity + + + // Magnetic field correction + // store localy run number, run start and stop times and rmn data + if (!IsSameRun()) { + m_CurrentRunNumber = m_RunNumber; + m_RunStart = m_TimeTable[m_CurrentRunNumber].first; + m_RunStop = m_TimeTable[m_CurrentRunNumber].second; + m_RunLength = m_RunStop.AsDouble() - m_RunStart.AsDouble(); + m_CurrentNMR = m_NMRTable[m_CurrentRunNumber]; + cout << m_CurrentRunNumber << endl; + cout << m_CurrentNMR->GetMean() << endl; + } // Correct for magnetic field variation + if (m_MagneticFieldCorrection) { + } + else { + fBrho = (m_CalibP0 + m_CalibP1*m_EventData->GetPlasticG()) * m_CurrentNMR->GetMean(); + } } @@ -205,7 +339,8 @@ void TSplitPolePhysics::PreTreat() bool TSplitPolePhysics::IsValidChannel(string Type, int detector, int channel) { -return true; + return true; + /* vector<bool>::iterator it; if (Type == "Front") return *(m_FrontChannelStatus[detector].begin()+channel); diff --git a/NPLib/SplitPole/TSplitPolePhysics.h b/NPLib/SplitPole/TSplitPolePhysics.h index 66b86b3f36fc3da1169c0e09b5956fb65a3a55a5..70b9c0eee277c23d25834b31c662622435d93c1f 100644 --- a/NPLib/SplitPole/TSplitPolePhysics.h +++ b/NPLib/SplitPole/TSplitPolePhysics.h @@ -23,18 +23,20 @@ *****************************************************************************/ // STL #include <vector> +#include <utility> #include <map> using namespace std; // ROOT #include "TObject.h" #include "TH1.h" +#include "TTimeStamp.h" // NPL #include "TSplitPoleData.h" +#include "TSplitPoleNMR.h" #include "TSplitPoleSpectra.h" #include "NPVDetector.h" -#include "NPCalibrationManager.h" // forward declaration class TSplitPoleSpectra; @@ -58,6 +60,8 @@ class TSplitPolePhysics : public TObject, public NPL::VDetector Double_t fWire; Double_t fPlasticP; Double_t fPlasticG; + vector<Double_t> fTime1; + vector<Double_t> fTime2; public: // setters @@ -67,14 +71,20 @@ class TSplitPolePhysics : public TObject, public NPL::VDetector void SetWire(Double_t wire) {fWire = wire;} void SetPlasticP(Double_t plp) {fPlasticP = plp;} void SetPlasticG(Double_t plg) {fPlasticG = plg;} + void SetTime1(Double_t time) {fTime1.push_back(time);} + void SetTime2(Double_t time) {fTime2.push_back(time);} // getters Double_t GetPosition() const {return fPosition;} Double_t GetBrho() const {return fBrho;} Double_t GetDeltaE() const {return fDeltaE;} - Double_t GetWire() const {return fWire;} + Double_t GetWire() const {return fWire;} Double_t GetPlasticP() const {return fPlasticP;} Double_t GetPlasticG() const {return fPlasticG;} + Double_t GetTime1(Int_t i) const {return fTime1[i];} + Double_t GetTime2(Int_t i) const {return fTime2[i];} + UShort_t GetTime1Multiplicity() const {return fTime1.size();} // + UShort_t GetTime2Multiplicity() const {return fTime2.size();} // public: // inherited from VDetector @@ -108,10 +118,10 @@ class TSplitPolePhysics : public TObject, public NPL::VDetector void ClearEventPhysics() {Clear();} void ClearEventData() {m_EventData->Clear();} - // Methods related to the TW1Spectra classes - // Instantiate the TW1Spectra class and the histograms + // Methods related to the TSplitPoleSpectra classes + // Instantiate the TSplitPoleSpectra class and the histograms void InitSpectra(); - // Fill the spectra defined in TW1Spectra + // Fill the spectra defined in TSplitPoleSpectra void FillSpectra(); // Used for Online mainly, perform check on the histo and for example change their color if issues are found void CheckSpectra(); @@ -139,7 +149,7 @@ class TSplitPolePhysics : public TObject, public NPL::VDetector // Read the user configuration file; if no file found, load standard one void ReadAnalysisConfig(); - // Give an external TW1Data object to TW1Physics. Needed for online analysis for example. + // Give an external TSplitPoleData object to TSplitPolePhysics. Needed for online analysis for example. void SetRawDataPointer(TSplitPoleData* rawDataPointer) {m_EventData = rawDataPointer;} @@ -154,12 +164,34 @@ class TSplitPolePhysics : public TObject, public NPL::VDetector // map< int, vector<bool> > m_BackChannelStatus; //! + private: // parameters needed for magnetic field correction + map<Int_t, pair<TTimeStamp, TTimeStamp> > m_TimeTable; //! + map<Int_t, TSplitPoleNMR*> m_NMRTable; //! + map<Int_t, Int_t> m_NarvalMidasTable; //! + TTimeStamp m_RunStart; //! + TTimeStamp m_RunStop; //! + Double_t m_RunLength; //! // in sec + Double_t m_FrequenceClock; //! // in Hz + Double_t m_TickMin; //! + Double_t m_TickMax; //! + Int_t m_RunNumber; //! // read event by event from TTree + Int_t m_CurrentRunNumber; //! + TSplitPoleNMR* m_CurrentNMR; //! + private: // Parameters used in the analysis Bool_t m_MagneticFieldCorrection; //! Double_t m_TimeDelay; //! Double_t m_CalibP0; //! Double_t m_CalibP1; //! + // methods for magnetic field correction + public: // called once + void ReadTimeTable(); + void ReadNMR(); + + public: // called event by event + Bool_t IsSameRun(); + private: // Spectra Class TSplitPoleSpectra* m_Spectra; // ! diff --git a/NPLib/SplitPole/TSplitPoleSpectra.cxx b/NPLib/SplitPole/TSplitPoleSpectra.cxx index f87000800d7d639921f1002a260e80f11a0a8481..0a8f8168a66507e8323a24b18914eab80723734e 100644 --- a/NPLib/SplitPole/TSplitPoleSpectra.cxx +++ b/NPLib/SplitPole/TSplitPoleSpectra.cxx @@ -36,9 +36,9 @@ using namespace std; TSplitPoleSpectra::TSplitPoleSpectra() { if (NPOptionManager::getInstance()->GetVerboseLevel() > 0) - cout << "******************************************************" << endl - << "TSplitPoleSpectra : Initalising control spectra " - << "******************************************************" << endl ; + cout << "*********************************************************" << endl + << "TSplitPoleSpectra : Initializing control spectra " << endl + << "*********************************************************" << endl; SetName("SplitPole"); InitRawSpectra(); @@ -79,6 +79,22 @@ void TSplitPoleSpectra::InitRawSpectra() name = "SplitPole_PLASTICG"; AddHisto1D(name, name, 4096, 0, 4096, "SplitPole/RAW"); + // Time1 + name = "SplitPole_Time1"; + AddHisto1D(name, name, 4096, 0, 4096, "SplitPole/RAW"); + + // Time2 + name = "SplitPole_Time2"; + AddHisto1D(name, name, 4096, 0, 4096, "SplitPole/RAW"); + + // Multiplicity Time! + name = "SplitPole_Mult_Time1"; + AddHisto1D(name, name, 10, 0, 10, "SplitPole/RAW"); + + // Multiplicity Time2 + name = "SplitPole_Mult_Time2"; + AddHisto1D(name, name, 10, 0, 10, "SplitPole/RAW"); + // POSITION vs DELTAE name = "SplitPole_POSITION_DELTAE"; AddHisto2D(name, name, 512, 0, 4096, 512, 0, 4096, "SplitPole/RAW"); @@ -115,7 +131,7 @@ void TSplitPoleSpectra::InitPhysicsSpectra() static string name; // Brho name = "SplitPole_BRHO"; - AddHisto1D(name, name, 4096, 0.35, 0.56, "SplitPole/PHY"); + AddHisto1D(name, name, 4096, 0.25, 0.56, "SplitPole/PHY"); } @@ -145,6 +161,26 @@ void TSplitPoleSpectra::FillRawSpectra(TSplitPoleData* RawData) index = "SplitPole/RAW/SplitPole_PLASTICG"; GetHisto(index)->Fill(RawData->GetPlasticG()); + // Time1 + index = "SplitPole/RAW/SplitPole_Time1"; + for (UShort_t i = 0; i < RawData->GetTime1Multiplicity(); ++i) { // loop on multiplicity + GetHisto(index)->Fill(RawData->GetTime1(i)); + } // end loop on multiplicity + + // Time2 + index = "SplitPole/RAW/SplitPole_Time2"; + for (UShort_t i = 0; i < RawData->GetTime2Multiplicity(); ++i) { // loop on multiplicity + GetHisto(index)->Fill(RawData->GetTime2(i)); + } // end loop on multiplicity + + // Multiplicity Time1 + index = "SplitPole/RAW/SplitPole_Mult_Time1"; + GetHisto(index)->Fill(RawData->GetTime1Multiplicity()); + + // Multiplicity Time2 + index = "SplitPole/RAW/SplitPole_Mult_Time2"; + GetHisto(index)->Fill(RawData->GetTime2Multiplicity()); + // POSITION vs DELTAE index = "SplitPole/RAW/SplitPole_POSITION_DELTAE"; GetHisto(index)->Fill(RawData->GetDeltaE(), RawData->GetPosition()); diff --git a/NPLib/W1/TW1Physics.cxx b/NPLib/W1/TW1Physics.cxx index b89b2cd10b0542048f885fe10ad5147ca1c64a35..c0d5961963755980b9e31e9f5005056fcc1baf1e 100644 --- a/NPLib/W1/TW1Physics.cxx +++ b/NPLib/W1/TW1Physics.cxx @@ -50,6 +50,7 @@ TW1Physics::TW1Physics() m_PreTreatedData(new TW1Data), m_EventPhysics(this), m_Spectra(0), + m_nCounter(10), m_MaximumStripMultiplicityAllowed(1), // multiplidity 1 m_StripEnergyMatchingSigma(0.060), // MeV m_StripEnergyMatchingNumberOfSigma(5), // MeV @@ -62,16 +63,20 @@ TW1Physics::TW1Physics() m_NumberOfStrips(16) { m_StripPitch = m_SiliconFace / (double)m_NumberOfStrips; + + for (Int_t i = 0; i < m_nCounter; ++i) { // loop on counters + m_Counter[i] = 0; + } // end loop on counters } /////////////////////////////////////////////////////////////////////////// -TW1Physics::~TW1Physics() -{ - delete m_EventData; - delete m_PreTreatedData; -} +//TW1Physics::~TW1Physics() +//{ +// delete m_EventData; +// delete m_PreTreatedData; +//} @@ -80,10 +85,17 @@ void TW1Physics::Clear() { fEventType.clear(); fDetectorNumber.clear(); - fEnergy.clear(); - fTime.clear(); + fFrontEnergy.clear(); + fBackEnergy.clear(); + fHalfEnergy.clear(); + fFrontTime.clear(); + fBackTime.clear(); fFrontStrip.clear(); fBackStrip.clear(); + + for (Int_t i = 0; i < m_nCounter; ++i) { // loop on counters + m_Counter[i] = 0; + } // end loop on counters } @@ -528,43 +540,48 @@ void TW1Physics::BuildSimplePhysicalEvent() { // Select active channels and apply thresholds PreTreat(); + m_Counter[0] = 1; // Begin treatement - int evtType = EventType(); + Int_t evtType = EventType(); if (evtType == 1) { // case where multiplicity front = multiplicity back + m_Counter[1] = 1; vector<TVector2> couple = Match_Front_Back(); - for (unsigned int i = 0; i < couple.size(); i++) { // loop on selected events - int DetecNbr = m_PreTreatedData->GetFrontEDetectorNbr(couple[i].X()); - int StripFront = m_PreTreatedData->GetFrontEStripNbr(couple[i].X()); - int StripBack = m_PreTreatedData->GetBackEStripNbr(couple[i].Y()); - double EnergyFront = m_PreTreatedData->GetFrontEEnergy(couple[i].X()); - double EnergyBack = m_PreTreatedData->GetBackEEnergy(couple[i].Y()); - EnergyBack *= 1; + for (UShort_t i = 0; i < couple.size(); i++) { // loop on selected events + Int_t DetecNbr = m_PreTreatedData->GetFrontEDetectorNbr(couple[i].X()); + Int_t StripFront = m_PreTreatedData->GetFrontEStripNbr(couple[i].X()); + Int_t StripBack = m_PreTreatedData->GetBackEStripNbr(couple[i].Y()); + Double_t EnergyFront = m_PreTreatedData->GetFrontEEnergy(couple[i].X()); + Double_t EnergyBack = m_PreTreatedData->GetBackEEnergy(couple[i].Y()); // Search for associate time // Front - double TimeFront = -1000; - for (unsigned int t = 0; t < m_PreTreatedData->GetFrontTMult(); t++) { + Double_t TimeFront = -1000; + for (UShort_t t = 0; t < m_PreTreatedData->GetFrontTMult(); t++) { if (m_PreTreatedData->GetFrontTStripNbr(couple[i].X()) == m_PreTreatedData->GetFrontTStripNbr(t) || - m_PreTreatedData->GetFrontTDetectorNbr(couple[i].X()) == m_PreTreatedData->GetFrontTDetectorNbr(t)) + m_PreTreatedData->GetFrontTDetectorNbr(couple[i].X()) == m_PreTreatedData->GetFrontTDetectorNbr(t)) { TimeFront = m_PreTreatedData->GetFrontTTime(t); + m_Counter[4] = 1; + } } - TimeFront *= 1; // Back - double TimeBack = -1000; - for (unsigned int t = 0; t < m_PreTreatedData->GetBackTMult(); t++) { - if (m_PreTreatedData->GetBackTStripNbr(couple[i].X()) == m_PreTreatedData->GetBackTStripNbr(t) || - m_PreTreatedData->GetBackTDetectorNbr(couple[i].X()) == m_PreTreatedData->GetBackTDetectorNbr(t)) + Double_t TimeBack = -1000; + for (UShort_t t = 0; t < m_PreTreatedData->GetBackTMult(); t++) { + if (m_PreTreatedData->GetBackTStripNbr(couple[i].Y()) == m_PreTreatedData->GetBackTStripNbr(t) || + m_PreTreatedData->GetBackTDetectorNbr(couple[i].Y()) == m_PreTreatedData->GetBackTDetectorNbr(t)) TimeBack = m_PreTreatedData->GetBackTTime(t); } // Fill TW1Physics private members fEventType.push_back(evtType); fDetectorNumber.push_back(DetecNbr); - fEnergy.push_back(EnergyFront); - fTime.push_back(TimeBack); + fFrontEnergy.push_back(EnergyFront); + fBackEnergy.push_back(EnergyBack); + fHalfEnergy.push_back((EnergyFront+EnergyBack)/2); + fFrontTime.push_back(TimeFront); + fBackTime.push_back(TimeBack); fFrontStrip.push_back(StripFront); fBackStrip.push_back(StripBack); } @@ -626,7 +643,7 @@ void TW1Physics::PreTreat() -int TW1Physics::EventType() +Int_t TW1Physics::EventType() { // Same multiplicity on front and back side if (m_PreTreatedData->GetFrontEMult() == m_PreTreatedData->GetBackEMult()) { @@ -661,9 +678,11 @@ vector<TVector2> TW1Physics::Match_Front_Back() for (UShort_t j = 0; j < m_PreTreatedData->GetBackEMult(); j++) { // if same detector check energy if (m_PreTreatedData->GetFrontEDetectorNbr(i) == m_PreTreatedData->GetBackEDetectorNbr(j)) { + m_Counter[2] = 1; // Equal energy if (abs((m_PreTreatedData->GetFrontEEnergy(i)-m_PreTreatedData->GetBackEEnergy(j))/2.) < m_StripEnergyMatchingNumberOfSigma*m_StripEnergyMatchingSigma) { ArrayOfGoodCouple.push_back(TVector2(i,j)); + m_Counter[3] = 1; } // end test energy } // end test same detector } // end loop back multiplicity diff --git a/NPLib/W1/TW1Physics.h b/NPLib/W1/TW1Physics.h index 1d32c919f51f133f3a421684ddf33be722dcd63c..34121382af56e94f06f469ae8317aeaf35f0936a 100644 --- a/NPLib/W1/TW1Physics.h +++ b/NPLib/W1/TW1Physics.h @@ -48,7 +48,7 @@ class TW1Physics : public TObject, public NPL::VDetector { public: // Constructor and Destructor TW1Physics(); - ~TW1Physics(); + ~TW1Physics() {}; public: void Clear(); @@ -58,10 +58,11 @@ class TW1Physics : public TObject, public NPL::VDetector private: // data obtained after BuildPhysicalEvent() and stored in ROOT output file vector<Int_t> fEventType; vector<Int_t> fDetectorNumber; - - // First stage - vector<Double_t> fEnergy; - vector<Double_t> fTime; + vector<Double_t> fFrontEnergy; + vector<Double_t> fBackEnergy; + vector<Double_t> fHalfEnergy; + vector<Double_t> fFrontTime; + vector<Double_t> fBackTime; vector<Int_t> fFrontStrip; vector<Int_t> fBackStrip; @@ -69,20 +70,30 @@ class TW1Physics : public TObject, public NPL::VDetector // setters void SetEventType(Int_t evtType) {fEventType.push_back(evtType);} void SetDetectorNumber(Int_t moduleNbr) {fDetectorNumber.push_back(moduleNbr);} - void SetEnergy(Double_t ener) {fEnergy.push_back(ener);} - void SetTime(Double_t time) {fTime.push_back(time);} + void SetFrontEnergy(Double_t ener) {fFrontEnergy.push_back(ener);} + void SetBackEnergy(Double_t ener) {fBackEnergy.push_back(ener);} + void SethalfEnergy(Double_t ener) {fHalfEnergy.push_back(ener);} + void SetFrontTime(Double_t time) {fFrontTime.push_back(time);} + void SetBackTime(Double_t time) {fBackTime.push_back(time);} void SetFrontStrip(Int_t x) {fFrontStrip.push_back(x);} void SetBackStrip(Int_t y) {fBackStrip.push_back(y);} // getters - Int_t GetEventMultiplicity() {return fEnergy.size();} - Int_t GetEventType(Int_t i) {return fEventType.at(i);} - Int_t GetDetectorNumber(Int_t i) {return fDetectorNumber.at(i);} - Double_t GetEnergy(Int_t i) {return fEnergy.at(i);} - Double_t GetTime(Int_t i) {return fTime.at(i);} - Int_t GetFrontStrip(Int_t i) {return fFrontStrip.at(i);} - Int_t GetBackStrip(Int_t i) {return fBackStrip.at(i);} + Int_t GetEventMultiplicity() {return fFrontEnergy.size();} + Int_t GetEventType(Int_t i) {return fEventType[i];} + Int_t GetDetectorNumber(Int_t i) {return fDetectorNumber[i];} + Double_t GetFrontEnergy(Int_t i) {return fFrontEnergy[i];} + Double_t GetBackEnergy(Int_t i) {return fBackEnergy[i];} + Double_t GetHalfEnergy(Int_t i) {return fHalfEnergy[i];} + Double_t GetFrontTime(Int_t i) {return fFrontTime[i];} + Double_t GetBackTime(Int_t i) {return fBackTime[i];} + Int_t GetFrontStrip(Int_t i) {return fFrontStrip[i];} + Int_t GetBackStrip(Int_t i) {return fBackStrip[i];} + + public: + Int_t m_nCounter; //! + Bool_t m_Counter[10]; //! public: // inherited from VDetector // Read stream at ConfigFile to pick-up parameters of detector (Position,...) using Token @@ -160,7 +171,7 @@ class TW1Physics : public TObject, public NPL::VDetector public: // Methods used for event treatement - int EventType(); + Int_t EventType(); vector<TVector2> Match_Front_Back(); private: // Data not written in the tree diff --git a/NPLib/W1/TW1Spectra.cxx b/NPLib/W1/TW1Spectra.cxx index 5edc523f6feb3a13a5ff91ebd341ea17ec29c5cd..a61cf2af5d383d4867ac73aa0136a3abfe3549a9 100644 --- a/NPLib/W1/TW1Spectra.cxx +++ b/NPLib/W1/TW1Spectra.cxx @@ -36,7 +36,8 @@ using namespace std; TW1Spectra::TW1Spectra() : fNumberOfDetectors(0), fNumberOfStripsFront(16), - fNumberOfStripsBack(16) + fNumberOfStripsBack(16), + fNumberOfCounters(10) { SetName("W1"); } @@ -47,14 +48,15 @@ TW1Spectra::TW1Spectra() TW1Spectra::TW1Spectra(unsigned int NumberOfDetectors) { if (NPOptionManager::getInstance()->GetVerboseLevel() > 0) - cout << "******************************************************" << endl - << "TW1Spectra : Initalising control spectra for " - << NumberOfDetectors << " Detectors" << endl - << "******************************************************" << endl ; + cout << "*********************************************************" << endl + << "TW1Spectra : Initializing control spectra for " + << NumberOfDetectors << " detectors" << endl + << "*********************************************************" << endl ; SetName("W1"); fNumberOfDetectors = NumberOfDetectors; fNumberOfStripsFront = 16; fNumberOfStripsBack = 16; + fNumberOfCounters = 10; InitRawSpectra(); InitPreTreatedSpectra(); @@ -83,6 +85,14 @@ void TW1Spectra::InitRawSpectra() name = "W1_D"+NPL::itoa(i+1)+"_STR_BACK_E_RAW"; AddHisto2D(name, name, fNumberOfStripsBack, 0, fNumberOfStripsBack, 4096, 0, 4096, "W1/RAW/STR_BACK_E"); + // STR_FRONT_T_RAW + name = "W1_D"+NPL::itoa(i+1)+"_STR_FRONT_T_RAW"; + AddHisto2D(name, name, fNumberOfStripsFront, 0, fNumberOfStripsFront, 4096, 0, 4096, "W1/RAW/STR_FRONT_T"); + + // STR_BACK_T_RAW + name = "W1_D"+NPL::itoa(i+1)+"_STR_BACK_T_RAW"; + AddHisto2D(name, name, fNumberOfStripsBack, 0, fNumberOfStripsBack, 4096, 0, 4096, "W1/RAW/STR_BACK_T"); + // STR_FRONT_EMAX_RAW name = "W1_D"+NPL::itoa(i+1)+"_STR_FRONT_EMAX_RAW"; AddHisto2D(name, name, fNumberOfStripsFront, 0, fNumberOfStripsFront, 4096, 0, 4096, "W1/RAW/STR_FRONT_EMAX"); @@ -100,10 +110,32 @@ void TW1Spectra::InitRawSpectra() AddHisto1D(name, name, fNumberOfStripsFront, 1, fNumberOfStripsFront+1, "W1/RAW/MULT"); } // end loop on number of detectors - // One single STR_E_RAW spectrum + // One single STR_E_RAW spectrum (E vs absolute strip number) name = "W1_STR_E_RAW"; Int_t ntot = (fNumberOfStripsFront+fNumberOfStripsBack) * fNumberOfDetectors; AddHisto2D(name, name, ntot, 0, ntot, 4096, 0, 4096, "W1/RAW"); + + // One single STR_T_RAW spectrum (T vs absolute strip number) + name = "W1_STR_T_RAW"; + ntot = (fNumberOfStripsFront+fNumberOfStripsBack) * fNumberOfDetectors; + AddHisto2D(name, name, ntot, 0, ntot, 4096, 0, 4096, "W1/RAW"); + + // Energy vs time correlation plot + name = "W1_ET_COR_RAW"; + ntot = (fNumberOfStripsFront+fNumberOfStripsBack) * fNumberOfDetectors; + AddHisto2D(name, name, ntot, 0, ntot, ntot, 0, ntot, "W1/RAW"); + + // One single Energy hit pattern + name = "W1_HIT_E_RAW"; + Int_t ntotF = fNumberOfStripsFront * fNumberOfDetectors; + Int_t ntotB = fNumberOfStripsBack * fNumberOfDetectors; + AddHisto2D(name, name, ntotF, 0, ntotF, ntotB, 0, ntotB, "W1/RAW"); + + // One single Time hit pattern + name = "W1_HIT_T_RAW"; + ntotF = fNumberOfStripsFront * fNumberOfDetectors; + ntotB = fNumberOfStripsBack * fNumberOfDetectors; + AddHisto2D(name, name, ntotF, 0, ntotF, ntotB, 0, ntotB, "W1/RAW"); } @@ -138,6 +170,28 @@ void TW1Spectra::InitPreTreatedSpectra() name = "W1_STR_E_CAL"; Int_t ntot = (fNumberOfStripsFront+fNumberOfStripsBack) * fNumberOfDetectors; AddHisto2D(name, name, ntot, 0, ntot, 2000, 0, 8, "W1/CAL"); + + // One single STR_T_CAL spectrum + name = "W1_STR_T_CAL"; + ntot = (fNumberOfStripsFront+fNumberOfStripsBack) * fNumberOfDetectors; + AddHisto2D(name, name, ntot, 0, ntot, 4096, 0, 4096, "W1/CAL"); + + // Energy vs time correlation plot + name = "W1_ET_COR_CAL"; + ntot = (fNumberOfStripsFront+fNumberOfStripsBack) * fNumberOfDetectors; + AddHisto2D(name, name, ntot, 0, ntot, ntot, 0, ntot, "W1/CAL"); + + // One single Energy hit pattern + name = "W1_HIT_E_CAL"; + Int_t ntotF = fNumberOfStripsFront * fNumberOfDetectors; + Int_t ntotB = fNumberOfStripsBack * fNumberOfDetectors; + AddHisto2D(name, name, ntotF, 0, ntotF, ntotB, 0, ntotB, "W1/CAL"); + + // One single Time hit pattern + name = "W1_HIT_T_CAL"; + ntotF = fNumberOfStripsFront * fNumberOfDetectors; + ntotB = fNumberOfStripsBack * fNumberOfDetectors; + AddHisto2D(name, name, ntotF, 0, ntotF, ntotB, 0, ntotB, "W1/CAL"); } @@ -146,9 +200,23 @@ void TW1Spectra::InitPreTreatedSpectra() void TW1Spectra::InitPhysicsSpectra() { static string name; + name = "W1_CUTS"; + AddHisto1D(name, name, fNumberOfCounters, 1, fNumberOfCounters+1, "W1/PHY"); + // Kinematic Plot name = "W1_THETA_E"; AddHisto2D(name, name,360,0,180,500,0,50,"W1/PHY"); + + // Energy vs time correlation plot + name = "W1_ET_COR_PHY"; + Int_t ntot = (fNumberOfStripsFront+fNumberOfStripsBack) * fNumberOfDetectors; + AddHisto2D(name, name, ntot, 0, ntot, ntot, 0, ntot, "W1/PHY"); + + // One single Energy hit pattern + name = "W1_HIT_PHY"; + Int_t ntotF = fNumberOfStripsFront * fNumberOfDetectors; + Int_t ntotB = fNumberOfStripsBack * fNumberOfDetectors; + AddHisto2D(name, name, ntotF, 0, ntotF, ntotB, 0, ntotB, "W1/PHY"); } @@ -199,6 +267,20 @@ void TW1Spectra::FillRawSpectra(TW1Data* RawData) GetHisto(index)-> Fill(SBMAX, EBMAX); } + // STR_FRONT_T + mysize = RawData->GetFrontTMult(); + for (unsigned int i = 0; i < mysize; i++) { + index = "W1/RAW/STR_FRONT_T/W1_D"+NPL::itoa(RawData->GetFrontTDetectorNbr(i))+"_STR_FRONT_T_RAW"; + GetHisto(index)-> Fill(RawData->GetFrontTStripNbr(i), RawData->GetFrontTTime(i)); + } + + // STR_BACK_T + mysize = RawData->GetBackTMult(); + for (unsigned int i = 0; i < mysize; i++) { + index = "W1/RAW/STR_BACK_T/W1_D"+NPL::itoa(RawData->GetBackTDetectorNbr(i))+"_STR_BACK_T_RAW"; + GetHisto(index)-> Fill(RawData->GetBackTStripNbr(i), RawData->GetBackTTime(i)); + } + // STR_E_RAW index = "W1/RAW/W1_STR_E_RAW"; UShort_t multFront = RawData->GetFrontEMult(); @@ -210,6 +292,50 @@ void TW1Spectra::FillRawSpectra(TW1Data* RawData) GetHisto(index)->Fill(RawData->GetBackEStripNbr(i) + (2*(RawData->GetBackEDetectorNbr(i)-1)+1)*fNumberOfStripsBack, RawData->GetBackEEnergy(i)); } // end loop on front strips + // STR_T_RAW + index = "W1/RAW/W1_STR_T_RAW"; + multFront = RawData->GetFrontTMult(); + for (UShort_t i = 0; i < multFront; ++i) { // loop on front strips + GetHisto(index)->Fill(RawData->GetFrontTStripNbr(i) + 2*fNumberOfStripsFront*(RawData->GetFrontTDetectorNbr(i)-1), RawData->GetFrontTTime(i)); + } // end loop on front strips + multBack = RawData->GetBackTMult(); + for (UShort_t i = 0; i < multBack; ++i) { // loop on front strips + GetHisto(index)->Fill(RawData->GetBackTStripNbr(i) + (2*(RawData->GetBackTDetectorNbr(i)-1)+1)*fNumberOfStripsBack, RawData->GetBackTTime(i)); + } // end loop on front strips + + // W1_ET_COR_RAW + index = "W1/RAW/W1_ET_COR_RAW"; + UShort_t multFrontE = RawData->GetFrontEMult(); + for (UShort_t i = 0; i < multFrontE; ++i) { // loop on front strips (E) + UShort_t multFrontT = RawData->GetFrontTMult(); + for (UShort_t j = 0; j < multFrontT; ++j) { // loop on front strips (T) + GetHisto(index)->Fill(RawData->GetFrontEStripNbr(i) + 2*fNumberOfStripsFront*(RawData->GetFrontEDetectorNbr(i)-1), RawData->GetFrontTStripNbr(i) + 2*fNumberOfStripsFront*(RawData->GetFrontTDetectorNbr(i)-1)); + } // end loop on front strips (T) + } // end loop on front strips (E) + UShort_t multBackE = RawData->GetBackEMult(); + for (UShort_t i = 0; i < multBackE; ++i) { // loop on front strips (E) + UShort_t multBackT = RawData->GetBackTMult(); + for (UShort_t j = 0; j < multBackT; ++j) { // loop on front strips (T) + GetHisto(index)->Fill(RawData->GetBackEStripNbr(i) + (2*(RawData->GetBackEDetectorNbr(i)-1)+1)*fNumberOfStripsBack, RawData->GetBackTStripNbr(i) + (2*(RawData->GetBackTDetectorNbr(i)-1)+1)*fNumberOfStripsBack); + } // end loop on front strips (T) + } // end loop on front strips (E) + + // W1_HIT_E_RAW + index = "W1/RAW/W1_HIT_E_RAW"; + for (UShort_t i = 0; i < RawData->GetFrontEMult(); ++i) { // loop on front strips + for (UShort_t j = 0; j < RawData->GetBackEMult(); ++j) { // loop on back strips + GetHisto(index)->Fill(RawData->GetFrontEStripNbr(i) + fNumberOfStripsFront*(RawData->GetFrontEDetectorNbr(i)-1), RawData->GetBackEStripNbr(i) + fNumberOfStripsBack*(RawData->GetBackEDetectorNbr(i)-1)); + } + } // end loop on front strips + + // W1_HIT_T_RAW + index = "W1/RAW/W1_HIT_T_RAW"; + for (UShort_t i = 0; i < RawData->GetFrontTMult(); ++i) { // loop on front strips + for (UShort_t j = 0; j < RawData->GetBackTMult(); ++j) { // loop on back strips + GetHisto(index)->Fill(RawData->GetFrontTStripNbr(i) + fNumberOfStripsFront*(RawData->GetFrontTDetectorNbr(i)-1), RawData->GetBackTStripNbr(i) + fNumberOfStripsBack*(RawData->GetBackTDetectorNbr(i)-1)); + } + } // end loop on front strips + // STR_FRONT MULT int myMULT[fNumberOfDetectors]; for (unsigned int i = 0; i < fNumberOfDetectors; i++) myMULT[i] = 0; @@ -270,6 +396,7 @@ void TW1Spectra::FillPreTreatedSpectra(TW1Data* PreTreatedData) GetHisto(index)->Fill(PreTreatedData->GetBackEStripNbr(i), PreTreatedData->GetBackEEnergy(i)); } + // STR_E_CAL index = "W1/CAL/W1_STR_E_CAL"; UShort_t multFront = PreTreatedData->GetFrontEMult(); @@ -280,6 +407,52 @@ void TW1Spectra::FillPreTreatedSpectra(TW1Data* PreTreatedData) for (UShort_t i = 0; i < multBack; ++i) { // loop on front strips GetHisto(index)->Fill(PreTreatedData->GetBackEStripNbr(i) + (2*(PreTreatedData->GetBackEDetectorNbr(i)-1)+1)*fNumberOfStripsBack, PreTreatedData->GetBackEEnergy(i)); } // end loop on front strips + + + // STR_T_CAL + index = "W1/CAL/W1_STR_T_CAL"; + multFront = PreTreatedData->GetFrontTMult(); + for (UShort_t i = 0; i < multFront; ++i) { // loop on front strips + GetHisto(index)->Fill(PreTreatedData->GetFrontTStripNbr(i) + 2*fNumberOfStripsFront*(PreTreatedData->GetFrontTDetectorNbr(i)-1), PreTreatedData->GetFrontTTime(i)); + } // end loop on front strips + multBack = PreTreatedData->GetBackTMult(); + for (UShort_t i = 0; i < multBack; ++i) { // loop on front strips + GetHisto(index)->Fill(PreTreatedData->GetBackTStripNbr(i) + (2*(PreTreatedData->GetBackTDetectorNbr(i)-1)+1)*fNumberOfStripsBack, PreTreatedData->GetBackTTime(i)); + } // end loop on front strips + + // W1_ET_COR_CAL + index = "W1/CAL/W1_ET_COR_CAL"; + UShort_t multFrontE = PreTreatedData->GetFrontEMult(); + for (UShort_t i = 0; i < multFrontE; ++i) { // loop on front strips (E) + UShort_t multFrontT = PreTreatedData->GetFrontTMult(); + for (UShort_t j = 0; j < multFrontT; ++j) { // loop on front strips (T) + GetHisto(index)->Fill(PreTreatedData->GetFrontEStripNbr(i) + 2*fNumberOfStripsFront*(PreTreatedData->GetFrontEDetectorNbr(i)-1), PreTreatedData->GetFrontTStripNbr(i) + 2*fNumberOfStripsFront*(PreTreatedData->GetFrontTDetectorNbr(i)-1)); + } // end loop on front strips (T) + } // end loop on front strips (E) + UShort_t multBackE = PreTreatedData->GetBackEMult(); + for (UShort_t i = 0; i < multBackE; ++i) { // loop on front strips (E) + UShort_t multBackT = PreTreatedData->GetBackTMult(); + for (UShort_t j = 0; j < multBackT; ++j) { // loop on front strips (T) + GetHisto(index)->Fill(PreTreatedData->GetBackEStripNbr(i) + (2*(PreTreatedData->GetBackEDetectorNbr(i)-1)+1)*fNumberOfStripsBack, PreTreatedData->GetBackTStripNbr(i) + (2*(PreTreatedData->GetBackTDetectorNbr(i)-1)+1)*fNumberOfStripsBack); + } // end loop on front strips (T) + } // end loop on front strips (E) + + + // W1_HIT_E_CAL + index = "W1/CAL/W1_HIT_E_CAL"; + for (UShort_t i = 0; i < PreTreatedData->GetFrontEMult(); ++i) { // loop on front strips + for (UShort_t j = 0; j < PreTreatedData->GetBackEMult(); ++j) { // loop on back strips + GetHisto(index)->Fill(PreTreatedData->GetFrontEStripNbr(i) + fNumberOfStripsFront*(PreTreatedData->GetFrontEDetectorNbr(i)-1), PreTreatedData->GetBackEStripNbr(i) + fNumberOfStripsBack*(PreTreatedData->GetBackEDetectorNbr(i)-1)); + } + } // end loop on front strips + + // W1_HIT_T_CAL + index = "W1/CAL/W1_HIT_T_CAL"; + for (UShort_t i = 0; i < PreTreatedData->GetFrontTMult(); ++i) { // loop on front strips + for (UShort_t j = 0; j < PreTreatedData->GetBackTMult(); ++j) { // loop on back strips + GetHisto(index)->Fill(PreTreatedData->GetFrontTStripNbr(i) + fNumberOfStripsFront*(PreTreatedData->GetFrontTDetectorNbr(i)-1), PreTreatedData->GetBackTStripNbr(i) + fNumberOfStripsBack*(PreTreatedData->GetBackTDetectorNbr(i)-1)); + } + } // end loop on front strips // STR_FRONT MULT @@ -315,6 +488,32 @@ void TW1Spectra::FillPreTreatedSpectra(TW1Data* PreTreatedData) //////////////////////////////////////////////////////////////////////////////// void TW1Spectra::FillPhysicsSpectra(TW1Physics* Physics) { + static string index; + + // counters + index = "W1/PHY/W1_CUTS"; + for (Int_t i = 0; i < fNumberOfCounters; ++i) { // loop on counters + GetHisto(index)->Fill(i+1, Physics->m_Counter[i]); + } // end loop on counters + + + // W1_ET_COR_PHY + index = "W1/PHY/W1_ET_COR_PHY"; + for (UShort_t i = 0; i < Physics->GetEventMultiplicity(); ++i) { // loop on multiplicity + Int_t stripF = Physics->GetFrontStrip(i) + 2*fNumberOfStripsFront*(Physics->GetDetectorNumber(i)-1); + if (Physics->GetFrontEnergy(i) > 0 && Physics->GetFrontTime(i) > 0) GetHisto(index)->Fill(stripF, stripF); + Int_t stripB = Physics->GetBackStrip(i) + (2*(Physics->GetDetectorNumber(i)-1)+1)*fNumberOfStripsBack; + if (Physics->GetBackEnergy(i) > 0 && Physics->GetBackTime(i) > 0) GetHisto(index)->Fill(stripB, stripB); + } // end loop on multiplicity + + + // W1_HIT_PHY + index = "W1/PHY/W1_HIT_PHY"; + for (UShort_t i = 0; i < Physics->GetEventMultiplicity(); ++i) { // loop on multiplicity + GetHisto(index)->Fill(Physics->GetFrontStrip(i) + fNumberOfStripsFront*(Physics->GetDetectorNumber(i)-1), Physics->GetBackStrip(i) + fNumberOfStripsBack*(Physics->GetDetectorNumber(i)-1)); + } // end loop on multiplicity + + /* static string index; // Kine plot diff --git a/NPLib/W1/TW1Spectra.h b/NPLib/W1/TW1Spectra.h index 78e7c8606739a09e0b0bcc77a620bba495ac418d..aba1cec07f66e1837ef8689a1adfafd79185406a 100644 --- a/NPLib/W1/TW1Spectra.h +++ b/NPLib/W1/TW1Spectra.h @@ -53,6 +53,7 @@ class TW1Spectra:public VSpectra { unsigned int fNumberOfDetectors; unsigned int fNumberOfStripsFront; unsigned int fNumberOfStripsBack; + Int_t fNumberOfCounters; }; #endif diff --git a/NPLib/scripts/RootLogon.sh b/NPLib/scripts/RootLogon.sh index cf24507af3483c86a3b76ab4baee66ad77958625..7604d53d97a7d40c2bd15fb115d0e0f501f262df 100755 --- a/NPLib/scripts/RootLogon.sh +++ b/NPLib/scripts/RootLogon.sh @@ -42,7 +42,7 @@ then else echo 'File .rootlogon.C was created' - cp scripts/rootlogon_basic.C ~/.rootlogon.C + cp rootlogon_basic.C ~/.rootlogon.C fi diff --git a/NPSimulation/Core/PhysicsList.cc b/NPSimulation/Core/PhysicsList.cc index 2286e7828fe222018c3f0821b219259cd8c0921f..37d45597d2adf399b79717ac3e6be1bc4b78bbc7 100644 --- a/NPSimulation/Core/PhysicsList.cc +++ b/NPSimulation/Core/PhysicsList.cc @@ -84,14 +84,16 @@ PhysicsList::PhysicsList() : G4VModularPhysicsList(){ m_PhysList["HadronPhysicsQGSP_BIC_HP"] = new G4HadronPhysicsQGSP_BIC_HP(); // Optical Photon for scintillator simulation - if(m_OpticalPhysics) - m_PhysList["OpticalPhysics"] = new G4OpticalPhysics(); + if(m_OpticalPhysics) + m_PhysList["OpticalPhysics"] = new G4OpticalPhysics(); + // Decay physics // Add Radioactive decay - // Gamma decay of know states + // Gamma decay of known states if(m_Decay){ + std::cout << "Decay is activated: m_Decay=" << m_Decay << std::endl; decay_List = new G4DecayPhysics(); radioactiveDecay_List = new G4RadioactiveDecayPhysics() ; m_PhysList["decay_list"]= decay_List; @@ -198,21 +200,21 @@ void PhysicsList::ConstructParticle(){ ///////////////////////////////////////////////////////////////////////////// void PhysicsList::ConstructProcess(){ - // Transportation - AddTransportation(); - - // Electromagnetic physics - emPhysicsList -> ConstructProcess(); - em_config.AddModels(); - - // Hadronic physics - std::map<std::string,G4VPhysicsConstructor*>::iterator it; - for(it = m_PhysList.begin(); it!= m_PhysList.end(); it++){ - it->second -> ConstructProcess(); - } + // Transportation + AddTransportation(); + + // Electromagnetic physics + emPhysicsList -> ConstructProcess(); + em_config.AddModels(); + + // Hadronic physics + std::map<std::string,G4VPhysicsConstructor*>::iterator it; + for(it = m_PhysList.begin(); it!= m_PhysList.end(); it++){ + it->second -> ConstructProcess(); + } BiasCrossSectionByFactor(m_IonBinaryCascadePhysics); - - return; + SetCuts(); + return; } ///////////////////////////////////////////////////////////////////////////// void PhysicsList::AddStepMax(){ diff --git a/NPSimulation/CsI/CsI.cc b/NPSimulation/CsI/CsI.cc index 7603419ab116440f5edae264db5dd514d327b3ca..7017ec07cc2d564a51e67437c4e4d4f70be23bce 100644 --- a/NPSimulation/CsI/CsI.cc +++ b/NPSimulation/CsI/CsI.cc @@ -46,8 +46,10 @@ #include "ObsoleteGeneralScorers.hh" #include "RootOutput.h" #include "MaterialManager.hh" +#include "SiliconScorers.hh" +#include "CalorimeterScorers.hh" #include "NPSDetectorFactory.hh" -using namespace OBSOLETEGENERALSCORERS ; +//using namespace OBSOLETEGENERALSCORERS ; // CLHEP header #include "CLHEP/Random/RandGauss.h" @@ -57,10 +59,9 @@ using namespace CLHEP; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... namespace CSI{ - // Energy and time Resolution - const G4double ResoTime = 4.2 ;// = 10ns of Resolution // Unit is MeV/2.35 - //const G4double ResoEnergy = 0.180/2.35 ;// Resolution in keV (sigma) - const G4double ResoEnergy = 0.50 ;// Resolution in % + // Energy and time Resolution + //const G4double ResoTime = 4.2 ;// = 10ns of Resolution // Unit is MeV/2.35 + const G4double ResoCsI = 2.4;//% } using namespace CSI ; @@ -396,32 +397,52 @@ void CsI::VolumeMaker(G4ThreeVector Det_pos, int DetNumber, G4LogicalVolume* wor // Cylindrical Case if(m_CsIRadius[i]!=-1){ - if(m_CsIThickness[i]>0 && m_CsIRadius[i]>0){ - G4Tubs* solidCsI = new G4Tubs( Name , - 0 , - m_CsIRadius[i] , - m_CsIThickness[i]/2 , - 0*deg , - 360*deg); - - G4LogicalVolume* logicCsI = new G4LogicalVolume(solidCsI, CsIMaterial, Name+ "_Scintillator", 0, 0, 0); - logicCsI->SetSensitiveDetector(m_CsIScorer); - - G4VisAttributes* CsIVisAtt = new G4VisAttributes(G4Colour(1.0, 0.5, 0.0)) ; - logicCsI->SetVisAttributes(CsIVisAtt) ; - - - - new G4PVPlacement(0 , - Det_pos , - logicCsI , - Name + "_Scintillator" , - world , - false , - 0 ); + if(m_CsIThickness[i]>0 && m_CsIRadius[i]>0){ + + // CsI crystal + G4Tubs* solidCsI = new G4Tubs( Name , + 0 , + m_CsIRadius[i] , + m_CsIThickness[i]/2 , + 0*deg , + 360*deg); + + G4LogicalVolume* logicCsI = new G4LogicalVolume(solidCsI, CsIMaterial, Name+ "_Scintillator", 0, 0, 0); + logicCsI->SetSensitiveDetector(m_CsIScorer); + + G4VisAttributes* CsIVisAtt = new G4VisAttributes(G4Colour(1.0, 0.5, 0.0)) ; + logicCsI->SetVisAttributes(CsIVisAtt) ; + + new G4PVPlacement(0 , + Det_pos , + logicCsI , + Name + "_Scintillator" , + world , + false , + 0 ); + + // Photodiode + G4String NamePD = Name+"PhotoDiode"; + + G4Material* PDMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary("Si"); + + G4Box* solidPhotoDiode = new G4Box(NamePD,0.5*PhotoDiodeFace,0.5*PhotoDiodeFace,0.5*PhotoDiodeThickness); + + G4LogicalVolume* logicPD = new G4LogicalVolume(solidPhotoDiode, PDMaterial, NamePD,0,0,0); + logicPD->SetSensitiveDetector(m_PDScorer); + + G4VisAttributes* PDVisAtt = new G4VisAttributes(G4Colour(0.1, 0.2, 0.3)) ; + logicPD->SetVisAttributes(PDVisAtt); + + new G4PVPlacement(0 , + Det_pos+(m_CsIThickness[i]/2+PhotoDiodeThickness/2)*Det_pos.unit() , + logicPD , + NamePD , + world , + false , + 0 ); } - if(m_LeadThickness[i]>0&& m_CsIRadius[i]>0){ G4Tubs* solidLead = new G4Tubs(Name+"_Lead", 0, @@ -499,9 +520,48 @@ void CsI::InitializeRootOutput(){ // Read sensitive part and fill the Root tree. // Called at in the EventAction::EndOfEventAvtion void CsI::ReadSensitive(const G4Event* event){ - G4String DetectorNumber; - m_Event->Clear(); + //G4String DetectorNumber; + m_Event->Clear(); + + // CsI // + G4THitsMap<G4double*>* CsIHitMap; + std::map<G4int, G4double**>::iterator CsI_itr; + G4int CsICollectionID = G4SDManager::GetSDMpointer()->GetCollectionID("CsIScorer/CsI"); + CsIHitMap = (G4THitsMap<G4double*>*)(event->GetHCofThisEvent()->GetHC(CsICollectionID)); + + // Loop on the CsI map + for (CsI_itr = CsIHitMap->GetMap()->begin() ; CsI_itr != CsIHitMap->GetMap()->end() ; CsI_itr++){ + G4double* Info = *(CsI_itr->second); + double E_CsI = RandGauss::shoot(Info[0],Info[0]*ResoCsI/100); + //cout << "Energy CsI " << endl; + //cout << E_CsI << endl; + m_Event->SetCsIEEnergy(E_CsI); + m_Event->SetENumber(Info[2]); + } + // Clear Map for next event + CsIHitMap->clear(); + + // PhotoDiode // + G4THitsMap<G4double*>* PhotoDiodeHitMap; + std::map<G4int, G4double**>::iterator PhotoDiode_itr; + + G4int PhotoDiodeCollectionID = G4SDManager::GetSDMpointer()->GetCollectionID("PDScorer/PhotoDiode"); + PhotoDiodeHitMap = (G4THitsMap<G4double*>*)(event->GetHCofThisEvent()->GetHC(PhotoDiodeCollectionID)); + + // Loop on the PhotoDiode map + for (PhotoDiode_itr = PhotoDiodeHitMap->GetMap()->begin() ; PhotoDiode_itr != PhotoDiodeHitMap->GetMap()->end() ; PhotoDiode_itr++){ + G4double* Info = *(PhotoDiode_itr->second); + double E_PhotoDiode = RandGauss::shoot(Info[0],Info[0]*ResoCsI/100); + + m_Event->SetPhotoDiodeEnergy(E_PhotoDiode); + m_Event->SetPhotoDiodeEDetectorNbr(Info[7]); + + m_Event->SetPhotoDiodeTime(Info[1]); + m_Event->SetPhotoDiodeTDetectorNbr(Info[7]); + } + PhotoDiodeHitMap->clear(); + /* ////////////////////////////////////////////////////////////////////////////////////// //////////////////////// Used to Read Event Map of detector ////////////////////////// ////////////////////////////////////////////////////////////////////////////////////// @@ -559,7 +619,7 @@ void CsI::ReadSensitive(const G4Event* event){ G4int ETrackID = Energy_itr->first - N ; G4double E = *(Energy_itr->second) ; if (ETrackID == NTrackID) { - m_Event->SetEEnergy(RandGauss::shoot(E, E*ResoEnergy/100./2.35)) ; + m_Event->SetEEnergy(RandGauss::shoot(E, E*ResoEnergy/100./2.35)) ; //m_Event->SetEEnergy(RandGauss::shoot(E, ResoEnergy)) ; } Energy_itr++; @@ -596,28 +656,48 @@ void CsI::ReadSensitive(const G4Event* event){ TimeHitMap ->clear() ; DetectorNumberHitMap ->clear() ; EnergyHitMap ->clear() ; - PosZHitMap ->clear() ; + PosZHitMap ->clear() ; + */ } //////////////////////////////////////////////////////////////// void CsI::InitializeScorers() { - bool already_exist = false; - m_CsIScorer = CheckScorer("CsIScorer",already_exist) ; + bool already_exist = false; + vector<G4int> NestingLevel; + NestingLevel.push_back(0); + NestingLevel.push_back(1); + m_CsIScorer = CheckScorer("CsIScorer",already_exist) ; + m_PDScorer = CheckScorer("PDScorer",already_exist) ; - if(already_exist) return ; - - G4VPrimitiveScorer* DetNbr = new PSDetectorNumber("CsINumber","CsI", 0) ; - G4VPrimitiveScorer* Energy = new PSEnergy("Energy","CsI", 0) ; - G4VPrimitiveScorer* Time = new PSTOF("Time","CsI", 0) ; - G4VPrimitiveScorer* InteractionCoordinatesZ = new OBSOLETEGENERALSCORERS::PSInteractionCoordinatesZ("InterCoordZ","CsI", 0); - //and register it to the multifunctionnal detector - m_CsIScorer->RegisterPrimitive(DetNbr) ; - m_CsIScorer->RegisterPrimitive(Energy) ; - m_CsIScorer->RegisterPrimitive(Time) ; - m_CsIScorer->RegisterPrimitive(InteractionCoordinatesZ); - G4SDManager::GetSDMpointer()->AddNewDetector(m_CsIScorer) ; + if(already_exist) return ; + + G4VPrimitiveScorer* CsIScorer= new CALORIMETERSCORERS::PS_Calorimeter("CsI",NestingLevel); + m_CsIScorer->RegisterPrimitive(CsIScorer); + + G4VPrimitiveScorer* PDScorer = new SILICONSCORERS::PS_Silicon_Rectangle("PhotoDiode",0, + PhotoDiodeFace, + PhotoDiodeFace, + 1, + 1); + m_PDScorer->RegisterPrimitive(PDScorer); + + G4SDManager::GetSDMpointer()->AddNewDetector(m_PDScorer) ; + G4SDManager::GetSDMpointer()->AddNewDetector(m_CsIScorer) ; + + + /*G4VPrimitiveScorer* DetNbr = new PSDetectorNumber("CsINumber","CsI", 0) ; + G4VPrimitiveScorer* Energy = new PSEnergy("Energy","CsI", 0) ; + G4VPrimitiveScorer* Time = new PSTOF("Time","CsI", 0) ; + G4VPrimitiveScorer* InteractionCoordinatesZ = new OBSOLETEGENERALSCORERS::PSInteractionCoordinatesZ("InterCoordZ","CsI", 0); + //and register it to the multifunctionnal detector + m_CsIScorer->RegisterPrimitive(DetNbr) ; + m_CsIScorer->RegisterPrimitive(Energy) ; + m_CsIScorer->RegisterPrimitive(Time) ; + m_CsIScorer->RegisterPrimitive(InteractionCoordinatesZ); + G4SDManager::GetSDMpointer()->AddNewDetector(m_CsIScorer) ; + G4SDManager::GetSDMpointer()->AddNewDetector(m_PDScorer) ;*/ } //////////////////////////////////////////////////////////////// diff --git a/NPSimulation/CsI/CsI.hh b/NPSimulation/CsI/CsI.hh index dbeeb9c132ea9ee9d4d729385c9174815ef7ec50..0072df73cdd670e5623b08a30bae67403f2a3113 100644 --- a/NPSimulation/CsI/CsI.hh +++ b/NPSimulation/CsI/CsI.hh @@ -57,6 +57,10 @@ public: //////// Specific Function of this Class /////////// //////////////////////////////////////////////////// public: + + G4double PhotoDiodeFace = 18.;//mm + G4double PhotoDiodeThickness = 3.;//mm + // Cylindric CsI void AddCsI( G4double R , G4double Theta , @@ -101,8 +105,9 @@ public: // Scorer // Initialize all Scorer used by the MUST2Array void InitializeScorers() ; - // Silicon Associate Scorer - G4MultiFunctionalDetector* m_CsIScorer ; + // Silicon Associate Scorer + G4MultiFunctionalDetector* m_CsIScorer ; + G4MultiFunctionalDetector* m_PDScorer; //////////////////////////////////////////////////// ///////////Event class to store Data//////////////// //////////////////////////////////////////////////// diff --git a/NPSimulation/PhysicsListOption.txt b/NPSimulation/PhysicsListOption.txt index 45f0b70322e3e35a35363202a40eed73d1567b09..768664c8715dce1bac4d080ea8d8e886d8452db8 100644 --- a/NPSimulation/PhysicsListOption.txt +++ b/NPSimulation/PhysicsListOption.txt @@ -2,6 +2,6 @@ IonBinaryCascadePhysics 0 EmExtraPhysics 0 HadronElasticPhysics 0 StoppingPhysics 0 -OpticalPhysics 0 +OpticalPhysics 1 HadronPhysicsQGSP_BIC_HP 0 -Decay 0 +Decay 1 diff --git a/NPSimulation/SSSD/SSSD.hh b/NPSimulation/SSSD/SSSD.hh index 3e3021ddf40ace8d5e98c9fc485a834c4efc5c7a..97bd7d838482c69d6d3a7eafe880a6422c57067b 100644 --- a/NPSimulation/SSSD/SSSD.hh +++ b/NPSimulation/SSSD/SSSD.hh @@ -44,7 +44,7 @@ using namespace CLHEP; namespace SSSD_LOCAL{ // Energy and time Resolution const G4double ResoTime = 0 ; - const G4double ResoEnergy = 0.064 ;// = 150keV of Resolution // Unit is MeV/2.35 + const G4double ResoEnergy = 0.050 ;// = 150keV of Resolution // Unit is MeV/2.35 const G4double EnergyThreshold = 100*keV; // Geometry const G4double DetectorSize = 68*mm ;