Skip to content
Snippets Groups Projects
Commit d31258c3 authored by GIRARD ALCINDOR Valérian's avatar GIRARD ALCINDOR Valérian
Browse files

Update after e870

parent a8712e5a
No related branches found
No related tags found
No related merge requests found
......@@ -10,9 +10,11 @@ using namespace ROOT::Math;
////////////////////////////////////////////////////////////////////////////////
ZddDetector::ZddDetector() {
std::cout << "////////////////////////////////////////////// test INIT ////////////////////////////////////////////////" << std::endl;
m_RawData = new zdd::ZddData();
m_CalData = new zdd::ZddData();
m_PhysicsData = new zdd::ZddPhysics();
std::cout << "Adresse phy " << m_PhysicsData << std::endl;
m_Cal.InitCalibration();
}
......@@ -116,8 +118,8 @@ void ZddDetector::BuildPhysicalEvent() {
// match energy and time together
Match_IC1();
if (m_PhysicsData->IC_Nbr.size() > 0)
Match_PL();
// if (m_PhysicsData->IC_Nbr.size() > 0)
Match_PL();
Treat_Exo();
// Treat_DC();
......@@ -130,7 +132,6 @@ void ZddDetector::Treat_Exo() {
unsigned int size = m_CalData->GetZDD_EXOMult();
for(unsigned int i = 0 ; i < size ; i++){
// std::cout << "test treat" << std::endl;
m_PhysicsData->Exo_Nbr.push_back(m_CalData->GetZDD_EXON(i));
m_PhysicsData->Exo_E.push_back(m_CalData->GetZDD_EXOE(i));
m_PhysicsData->Exo_TS.push_back(m_CalData->GetZDD_EXOTS(i));
......@@ -380,8 +381,8 @@ void ZddDetector::InitializeDataInputRaw(
////////////////////////////////////////////////////////////////////////////////
void ZddDetector::InitializeDataInputPhysics(
std::shared_ptr<nptool::VDataInput> input) {
// input->Attach("zdd", "zdd::ZddData", &m_RawData);
input->Attach("zdd", "zdd::ZddPhysics", &m_PhysicsData);
input->Attach("zdd", "zdd::ZddData", &m_RawData);
}
////////////////////////////////////////////////////////////////////////////////
void ZddDetector::InitializeDataOutputRaw(
......@@ -391,7 +392,7 @@ void ZddDetector::InitializeDataOutputRaw(
////////////////////////////////////////////////////////////////////////////////
void ZddDetector::InitializeDataOutputPhysics(
std::shared_ptr<nptool::VDataOutput> output) {
output->Attach("zdd", "zdd::ZddData", &m_RawData);
// output->Attach("zdd", "zdd::ZddData", &m_RawData);
output->Attach("zdd", "zdd::ZddPhysics", &m_PhysicsData);
}
......@@ -401,15 +402,19 @@ void ZddDetector::InitSpectra() {
};
////////////////////////////////////////////////////////////////////////////////
void ZddDetector::FillSpectra() {
m_Spectra->FillRaw();
m_Spectra->FillPhy();
auto app = nptool::Application::GetApplication();
if(app->HasFlag("--input-raw"))
m_Spectra->FillRaw();
if(app->HasFlag("--input-phy"))
m_Spectra->FillPhy();
};
////////////////////////////////////////////////////////////////////////////////
void ZddDetector::WriteSpectra() {};
////////////////////////////////////////////////////////////////////////////////
void ZddDetector::CheckSpectra() {};
////////////////////////////////////////////////////////////////////////////////
void ZddDetector::ClearSpectra() { m_Spectra->Clear(); };
void ZddDetector::ClearSpectra() { /*m_Spectra->Clear(); */};
////////////////////////////////////////////////////////////////////////////////
......
......@@ -6,6 +6,7 @@
#include <vector>
#include "Math/Vector3D.h"
#include "NPApplication.h"
#include "NPCalibrationManager.h"
#include "NPVDetector.h"
#include "ZddData.h"
......
......@@ -5,9 +5,10 @@ using namespace zdd;
////////////////////////////////////////////////////////////////////////////////
ZddSpectra::ZddSpectra() {
auto app = nptool::Application::GetApplication();
// Set Pointers:
m_detector = std::dynamic_pointer_cast<ZddDetector>(
nptool::Application::GetApplication()->GetDetector("zdd"));
app->GetDetector("zdd"));
m_RawData = m_detector->m_RawData;
m_RawData->Clear();
......@@ -16,14 +17,22 @@ ZddSpectra::ZddSpectra() {
m_PhysicsData->Clear();
// Declare Raw Spectra
for (auto map: m_detector->m_NumexoMap) {
std::string hist_name = "ZDD_" + map.second + "_Board_" + nptool::itoa(map.first/1000) + "_Channel_" + nptool::itoa(map.first%1000);
std::cout << "Hist name " << hist_name << std::endl;
m_raw_hist[map.second][map.first%1000] = new TH1F(hist_name.c_str(), hist_name.c_str(),
65536/4, 0, 65536);
if(app->HasFlag("--input-raw"))
{
for (auto map: m_detector->m_NumexoMap) {
std::string hist_name = "ZDD_" + map.second;
m_raw_channels[hist_name].push_back(map.first%1000);
}
for (auto map: m_raw_channels) {
std::string hist_name = map.first;
std::cout << "Hist name " << hist_name << std::endl;
unsigned int channel_min = *std::min_element(map.second.begin(),map.second.end());
unsigned int channel_max = *std::max_element(map.second.begin(),map.second.end());
m_raw_hist[map.first] = new TH2F(hist_name.c_str(), hist_name.c_str(),
channel_max - channel_min +1, channel_min, channel_max+1, 65536/4, 0, 65536);
}
}
/*
// Build Raw Canvases
std::vector<TCanvas*> canvases;
......@@ -73,49 +82,51 @@ ZddSpectra::ZddSpectra() {
std::cout << "Initialized something that is not a ZDD : " << det.first << std::endl;
}
}
*/
////////////////////////////////////////////////////////////////////////////////
// phy histo
unsigned int ExoSize = 4;
for(unsigned int i = 0 ; i < ExoSize ; i++){
std::string hist_name = "ZDD_EXO_phy_" + nptool::itoa(i);
m_phy_hist[hist_name] = new TH1F(hist_name.c_str(), hist_name.c_str(),
5000, 0, 10000);
}
if(app->HasFlag("--input-phy"))
{
unsigned int ExoSize = 4;
std::string hist_name = "ZDD_EXO_Cal";
m_phy_hist[hist_name] = new TH2F(hist_name.c_str(), hist_name.c_str(),
ExoSize, 0, ExoSize, 5000, 0, 10000);
// for(auto hist: m_raw_hist["EXO"]){
// std::string hist_name = "ZDD_EXO_phy_Channel_" + nptool::itoa(hist.first);
// std::cout << "Hist name " << hist_name << std::endl;
// m_phy_hist[hist_name] = new TH1F(hist_name.c_str(), hist_name.c_str(),
// 5000, 0, 10000);
// }
std::string hist_name = "ZDD_EXO_All_phy";
hist_name = "ZDD_EXO_All";
m_phy_hist[hist_name] = new TH1F(hist_name.c_str(), hist_name.c_str(),
5000, 0, 10000);
hist_name = "ZDD_IC_E_PL_E_phy";
hist_name = "ZDD_ICSum_PLc";
m_phy_hist[hist_name] = new TH2F(hist_name.c_str(), hist_name.c_str(),
4000, 0, 60000, 2000,0,10000);
unsigned int PlSize = 5;
for(unsigned int i = 0 ; i < PlSize ; i++){
std::string hist_name = "ZDD_PL_phy_" + nptool::itoa(i);
m_phy_hist[hist_name] = new TH1F(hist_name.c_str(), hist_name.c_str(),
5000, 0, 20000);
}
hist_name = "IC_phy_Sum";
hist_name = "ZDD_PL_Phy";
m_phy_hist[hist_name] = new TH2F(hist_name.c_str(), hist_name.c_str(),
PlSize, 0, PlSize, 5000, 0, 20000);
hist_name = "IC_dE_dE";
m_phy_hist[hist_name] = new TH2F(hist_name.c_str(), hist_name.c_str(),
2000,0,2000,2000, 0, 2000);
hist_name = "IC_PL_TSdiff";
m_phy_hist[hist_name] = new TH1F(hist_name.c_str(), hist_name.c_str(),
3000, 0, 30000);
2400,-1200,1200);
/*
c_EXO = 1;
auto cEXO_phy = new TCanvas("ZDD phy EXO");
cEXO_phy->Divide(2,2);
c_PL = 1;
c_PL = 1;
auto cPL_phy = new TCanvas("ZDD phy PL");
cPL_phy->Divide(3,2);
......@@ -139,6 +150,8 @@ ZddSpectra::ZddSpectra() {
auto cZDD_ID_phy = new TCanvas("ZDD ID IC_E PL_E");
hist_name = "ZDD_IC_E_PL_E_phy";
m_phy_hist[hist_name]->Draw("colz");
*/
}
}
////////////////////////////////////////////////////////////////////////////////
......@@ -146,32 +159,43 @@ void ZddSpectra::FillPhy() {
auto size_EXO = m_PhysicsData->Exo_E.size();
for(unsigned int i = 0 ; i < size_EXO ; i++){
if(m_PhysicsData->Exo_E[i]>0){
std::string hist_name = "ZDD_EXO_phy_" + nptool::itoa(m_PhysicsData->Exo_Nbr[i]);
m_phy_hist[hist_name]->Fill(m_PhysicsData->Exo_E[i]);
hist_name = "ZDD_EXO_All_phy";
std::string hist_name = "ZDD_EXO_Cal";
m_phy_hist[hist_name]->Fill(m_PhysicsData->Exo_Nbr[i], m_PhysicsData->Exo_E[i]);
hist_name = "ZDD_EXO_All";
m_phy_hist[hist_name]->Fill(m_PhysicsData->Exo_E[i]);
}
}
unsigned int size_PL = m_PhysicsData->PL_E.size();
std::set<int> tmp_IC_Nbr(m_PhysicsData->IC_Nbr.begin(), m_PhysicsData->IC_Nbr.end());
for(unsigned int i = 0 ;i< size_PL ; i++){
if(m_PhysicsData->PL_E[i]>0){
std::string hist_name = "ZDD_PL_phy_" + nptool::itoa(m_PhysicsData->PL_Nbr[i]);
m_phy_hist[hist_name]->Fill(m_PhysicsData->PL_E[i]);
std::string hist_name = "ZDD_PL_Phy";
m_phy_hist[hist_name]->Fill(m_PhysicsData->PL_Nbr[i],m_PhysicsData->PL_E[i]);
if(m_PhysicsData->ICSum>0&&m_PhysicsData->PL_Nbr[i] == 2){
if(std::all_of(m_PhysicsData->IC_E.cbegin(), m_PhysicsData->IC_E.cend(), [](auto i){ return i > 0; }) && tmp_IC_Nbr.size() == 5){
std::string hist_name = "ZDD_IC_E_PL_E_phy";
hist_name ="ZDD_ICSum_PLc";
m_phy_hist[hist_name]->Fill(m_PhysicsData->PL_E[i],m_PhysicsData->ICSum);
}
}
}
}
if(m_PhysicsData->ICSum>0){
if(std::all_of(m_PhysicsData->IC_E.cbegin(), m_PhysicsData->IC_E.cend(), [](auto i){ return i > 0 ;}) && tmp_IC_Nbr.size() == 5){
std::string hist_name = "IC_phy_Sum";
m_phy_hist[hist_name]->Fill(m_PhysicsData->ICSum);
}
}
// unsigned int size_PL = m_PhysicsData->PL_E.size();
// std::set<int> tmp_IC_Nbr(m_PhysicsData->IC_Nbr.begin(), m_PhysicsData->IC_Nbr.end());
// for(unsigned int i = 0 ;i< size_PL ; i++){
// if(m_PhysicsData->PL_E[i]>0){
// std::string hist_name = "ZDD_PL_phy_" + nptool::itoa(m_PhysicsData->PL_Nbr[i]);
// m_phy_hist[hist_name]->Fill(m_PhysicsData->PL_E[i]);
// if(m_PhysicsData->ICSum>0&&m_PhysicsData->PL_Nbr[i] == 2){
// if(std::all_of(m_PhysicsData->IC_E.cbegin(), m_PhysicsData->IC_E.cend(), [](auto i){ return i > 0; }) && tmp_IC_Nbr.size() == 5){
// std::string hist_name = "ZDD_IC_E_PL_E_phy";
// m_phy_hist[hist_name]->Fill(m_PhysicsData->PL_E[i],m_PhysicsData->ICSum);
// }
// }
// }
// }
// if(m_PhysicsData->ICSum>0){
// if(std::all_of(m_PhysicsData->IC_E.cbegin(), m_PhysicsData->IC_E.cend(), [](auto i){ return i > 0 ;}) && tmp_IC_Nbr.size() == 5){
// std::string hist_name = "IC_phy_Sum";
// m_phy_hist[hist_name]->Fill(m_PhysicsData->ICSum);
// }
// }
}
////////////////////////////////////////////////////////////////////////////////
......@@ -179,31 +203,29 @@ void ZddSpectra::FillRaw() {
auto size_IC = m_RawData->GetZDD_ICMult();
for (unsigned int i = 0; i < size_IC; i++) {
if(m_RawData->GetZDD_ICE(i)>0)
m_raw_hist["IC"][m_RawData->GetZDD_ICN(i)]->Fill(m_RawData->GetZDD_ICE(i));
m_raw_hist["ZDD_IC"]->Fill(m_RawData->GetZDD_ICN(i), m_RawData->GetZDD_ICE(i));
}
auto size_PL = m_RawData->GetZDD_PLMult();
for (unsigned int i = 0; i < size_PL; i++) {
if(m_RawData->GetZDD_PLE(i)>0)
m_raw_hist["PL"][m_RawData->GetZDD_PLN(i)]->Fill(m_RawData->GetZDD_PLE(i));
m_raw_hist["ZDD_PL"]->Fill(m_RawData->GetZDD_PLN(i), m_RawData->GetZDD_PLE(i));
}
auto size_DC = m_RawData->GetZDD_DCMult();
for (unsigned int i = 0; i < size_DC; i++) {
if(m_RawData->GetZDD_DCE(i)>0)
m_raw_hist["DC"][m_RawData->GetZDD_DCN(i)]->Fill(m_RawData->GetZDD_DCE(i));
m_raw_hist["ZDD_DC"]->Fill(m_RawData->GetZDD_DCN(i), m_RawData->GetZDD_DCE(i));
}
auto size_EXO = m_RawData->GetZDD_EXOMult();
for (unsigned int i = 0; i < size_EXO; i++) {
if(m_RawData->GetZDD_EXOE(i)>0)
m_raw_hist["EXO"][m_RawData->GetZDD_EXON(i)]->Fill(m_RawData->GetZDD_EXOE(i));
m_raw_hist["ZDD_EXO"]->Fill(m_RawData->GetZDD_EXON(i), m_RawData->GetZDD_EXOE(i));
}
}
////////////////////////////////////////////////////////////////////////////////
void ZddSpectra::Clear() {
for (auto det : m_raw_hist)
for (auto hist : det.second)
hist.second->Reset();
det.second->Reset();
for (auto hist : m_phy_hist)
hist.second->Reset();
}
......
......@@ -21,7 +21,8 @@ namespace zdd {
std::shared_ptr<zdd::ZddDetector> m_detector;
zdd::ZddData* m_RawData;
zdd::ZddPhysics* m_PhysicsData;
std::map<std::string,std::map<unsigned int, TH1*>> m_raw_hist;
std::map<std::string,TH2*> m_raw_hist;
std::map<std::string,std::vector<unsigned int>> m_raw_channels;
// std::map<std::string,std::map<unsigned int, TH1*>> m_phy_hist;
std::map<std::string, TH1*> m_phy_hist;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment