diff --git a/NPLib/Exogam/TExogamPhysics.cxx b/NPLib/Exogam/TExogamPhysics.cxx index 3e38d68434a47626f15ac57b20ee59cafa6893da..890c16acee1cb3fc70a0bffb0637940e39ba9001 100644 --- a/NPLib/Exogam/TExogamPhysics.cxx +++ b/NPLib/Exogam/TExogamPhysics.cxx @@ -400,7 +400,7 @@ double TExogamPhysics::DopplerCorrection(double E, double Theta) double E_corr = 0; //double beta = 0.197; // baptiste value - double beta = 0.23; + double beta = 0.17; //beta for 18O@15MeV/u double gamma = 1./ sqrt(1-beta*beta); E_corr = gamma * E * ( 1. - beta * cos(Theta*Pi/180.)); diff --git a/NPLib/Exogam/TExogamPhysics.h b/NPLib/Exogam/TExogamPhysics.h index 3df040d943c774ea90de9f4445b79e9284960185..e722350cecfc235877521ab034584269392a64c2 100644 --- a/NPLib/Exogam/TExogamPhysics.h +++ b/NPLib/Exogam/TExogamPhysics.h @@ -126,6 +126,12 @@ class TExogamPhysics : public TObject, public NPA::VDetector double DopplerCorrection(double Energy, double Theta); + // Give and external TMustData object to TMust2Physics. Needed for online analysis for example. + void SetRawDataPointer(TExogamData* rawDataPointer) {EventData = rawDataPointer;} + // Retrieve raw and pre-treated data + TExogamData* GetRawData() const {return EventData;} + TExogamData* GetPreTreatedData() const {return PreTreatedData;} + // Those two method all to clear the Event Physics or Data void ClearEventPhysics() {Clear();} void ClearEventData() {EventData->Clear();} diff --git a/NPLib/Exogam/TExogamSpectra.cxx b/NPLib/Exogam/TExogamSpectra.cxx index fc39848937dd9b26f8819f427a45f12162602905..87dcf577a4e18b17e9bdae41a3f473dc05cada85 100644 --- a/NPLib/Exogam/TExogamSpectra.cxx +++ b/NPLib/Exogam/TExogamSpectra.cxx @@ -38,7 +38,6 @@ using namespace NPUNITS; //////////////////////////////////////////////////////////////////////////////// TExogamSpectra::TExogamSpectra(){ - fNumberOfClover = 0; fnbinsRaw=16384; fbinRawMin=0; fbinRawMax=16384; @@ -55,13 +54,19 @@ TExogamSpectra::TExogamSpectra(unsigned int NumberOfClover){ << "TExogamSpectra : Initalising control spectra for " << NumberOfClover << " Clover" << endl << "************************************************" << endl ; - fNumberOfClover = NumberOfClover; - fNumberOfSegments=16; + fNumberOfSegments=4; fNumberOfCores=4; InitRawSpectra(); InitPreTreatedSpectra(); InitPhysicsSpectra(); + fnbinsRaw=4096; + fbinRawMin=0; + fbinRawMax=16384; + fnbinsCal=5000; + fbinCalMin=0; + fbinCalMax=5000; + } //////////////////////////////////////////////////////////////////////////////// @@ -75,15 +80,13 @@ void TExogamSpectra::InitRawSpectra(){ for (unsigned int j = 0; j < fNumberOfCores; j++) { // loop on number of cores name = Form("ExogamEnergyRaw_Clover%d_ECC%d", i+1, j+1); - AddHisto1D(name, name, fnbinsRaw, fbinRawMin, fbinRawMax, "Exogam/RAW"); + AddHisto1D(name, name, 16384, 0, 16384, "Exogam/ERAW/ECC"); name = Form("ExogamTimeRaw_Clover%d_ECC%d", i+1, j+1); - AddHisto1D(name, name, fnbinsRaw, fbinRawMin, fbinRawMax, "Exogam/RAW"); + AddHisto1D(name, name, 16384, 0, 16384, "Exogam/TRAW/ECC"); for (unsigned int k = 0; k < fNumberOfSegments; k++) { // loop on number of segments name = Form("ExogamEnergyRaw_Clover%d_ECC%d_GOCCE%d", i+1, j+1, k+1); - AddHisto1D(name, name, fnbinsRaw, fbinRawMin, fbinRawMax, "Exogam/RAW"); - name = Form("ExogamEnergyDC_Clover%d_ECC%d_GOCCE%d", i+1, j+1, k+1); - AddHisto1D(name, name, fnbinsRaw, fbinRawMin, fbinRawMax, "Exogam/RAW"); + AddHisto1D(name, name, 16384, 0, 16384, "Exogam/ERAW/GOCCE"); } } } // end loop on number of detectors @@ -97,15 +100,14 @@ void TExogamSpectra::InitPreTreatedSpectra() for (unsigned int i = 0; i < fNumberOfClover; i++) { // loop on number of detectors for (unsigned int j = 0; j < fNumberOfCores; j++) { // loop on number of cores name = Form("ExogamEnergyCal_Clover%d_ECC%d", i+1, j+1); - AddHisto1D(name, name, fnbinsRaw, fbinRawMin, fbinRawMax, "Exogam/Cal"); + AddHisto1D(name, name, 5000, 0, 5000, "Exogam/ECal/ECC"); name = Form("ExogamTimeCal_Clover%d_ECC%d", i+1, j+1); - AddHisto1D(name, name, fnbinsRaw, fbinRawMin, fbinRawMax, "Exogam/Cal"); + AddHisto1D(name, name, 5000, 0, 5000, "Exogam/TCal/ECC"); for (unsigned int k = 0; k < fNumberOfSegments; k++) { // loop on number of segments name = Form("ExogamEnergyCal_Clover%d_ECC%d_GOCCE%d", i+1, j+1, k+1); - AddHisto1D(name, name, fnbinsRaw, fbinRawMin, fbinRawMax, "Exogam/Cal"); - name = Form("ExogamTimeCal_Clover%d_ECC%d_GOCCE%d", i+1, j+1, k+1); - AddHisto1D(name, name, fnbinsRaw, fbinRawMin, fbinRawMax, "Exogam/Cal"); + AddHisto1D(name, name, 5000, 0, 5000, "Exogam/ECal/GOCCE"); + } } } // end loop on number of detectors @@ -115,7 +117,7 @@ void TExogamSpectra::InitPreTreatedSpectra() void TExogamSpectra::InitPhysicsSpectra(){ TString name; name = "ExogamEnergyAddBack"; - AddHisto1D(name, name, fnbinsRaw, fbinRawMin, fbinRawMax, "Exogam/DC"); + AddHisto1D(name, name, 5000, 0, 5000, "Exogam/DC"); } @@ -125,28 +127,30 @@ void TExogamSpectra::InitPhysicsSpectra(){ void TExogamSpectra::FillRawSpectra(TExogamData* RawData){ TString name; TString family; - // Energy and Time RAw for (unsigned int i = 0; i < RawData->GetECCEMult(); i++) { - name = Form("ExogamEnergyRaw_Clover%d_ECC%d", RawData->GetECCEClover(i)+1,RawData->GetECCECristal(i)+1); - family = "Exogam/RAW"; + name = Form("ExogamEnergyRaw_Clover%d_ECC%d", RawData->GetECCEClover(i)+1,RawData->GetECCECristal(i)+1); + family = "Exogam/ERAW/ECC"; GetHisto(family,name) -> Fill(RawData->GetECCEEnergy(i)); + } - name = Form("ExogamTimeRaw_Clover%d_ECC%d", RawData->GetECCTClover(i)+1,RawData->GetECCTCristal(i)+1); - family = "Exogam/RAW"; - - GetHisto(family,name) - -> Fill(RawData->GetECCTTime(i)); - - name = Form("ExogamEnergyRaw_Clover%d_ECC%d_GOCCE%d", RawData->GetECCEClover(i)+1,RawData->GetECCECristal(i)+1,RawData->GetGOCCEESegment(i)+1); - family = "Exogam/RAW"; + for (unsigned int i = 0; i < RawData->GetGOCCEEMult(); i++) { + name = Form("ExogamEnergyRaw_Clover%d_ECC%d_GOCCE%d", RawData->GetGOCCEEClover(i)+1,RawData->GetGOCCEECristal(i)+1,RawData->GetGOCCEESegment(i)+1); + family = "Exogam/ERAW/GOCCE"; GetHisto(family,name) -> Fill(RawData->GetGOCCEEEnergy(i)); } + for (unsigned int i = 0; i < RawData->GetECCTMult(); i++) { + name = Form("ExogamTimeRaw_Clover%d_ECC%d", RawData->GetECCTClover(i)+1,RawData->GetECCTCristal(i)+1); + family = "Exogam/TRAW/ECC"; + + GetHisto(family,name) + -> Fill(RawData->GetECCTTime(i)); + } } @@ -154,26 +158,32 @@ void TExogamSpectra::FillRawSpectra(TExogamData* RawData){ void TExogamSpectra::FillPreTreatedSpectra(TExogamData* PreTreatedData){ TString name ; TString family; - // Energy and Time RAw + // Energy and Time Cal for (unsigned int i = 0; i < PreTreatedData->GetECCEMult(); i++) { name = Form("ExogamEnergyCal_Clover%d_ECC%d", PreTreatedData->GetECCEClover(i)+1,PreTreatedData->GetECCECristal(i)+1); - family = "Exogam/Cal"; + family = "Exogam/ECal/ECC"; GetHisto(family,name) -> Fill(PreTreatedData->GetECCEEnergy(i)); + } + + for (unsigned int i = 0; i < PreTreatedData->GetGOCCEEMult(); i++) { + name = Form("ExogamEnergyCal_Clover%d_ECC%d_GOCCE%d", PreTreatedData->GetGOCCEEClover(i)+1,PreTreatedData->GetGOCCEECristal(i)+1,PreTreatedData->GetGOCCEESegment(i)+1); + family = "Exogam/ECal/GOCCE"; + + GetHisto(family,name) + -> Fill(PreTreatedData->GetGOCCEEEnergy(i)); + } + for (unsigned int i = 0; i < PreTreatedData->GetECCTMult(); i++) { name = Form("ExogamTimeCal_Clover%d_ECC%d", PreTreatedData->GetECCTClover(i)+1,PreTreatedData->GetECCTCristal(i)+1); - family = "Exogam/Cal"; + family = "Exogam/TCal/ECC"; GetHisto(family,name) -> Fill(PreTreatedData->GetECCTTime(i)); - - name = Form("ExogamEnergyCal_Clover%d_ECC%d_GOCCE%d", PreTreatedData->GetECCEClover(i)+1,PreTreatedData->GetECCECristal(i)+1,PreTreatedData->GetGOCCEESegment(i)+1); - family = "Exogam/Cal"; - GetHisto(family,name) - -> Fill(PreTreatedData->GetGOCCEEEnergy(i)); - } + } + } ////////////////////////////////////////////////////////////////////////////////