diff --git a/src/ZddDetector.cxx b/src/ZddDetector.cxx index 118a2f6ef50b113170c1642c332f434f1e2a8764..4326ba01a882aa1c545771b67797fd0e90184845 100644 --- a/src/ZddDetector.cxx +++ b/src/ZddDetector.cxx @@ -381,6 +381,7 @@ void ZddDetector::InitializeDataInputRaw( void ZddDetector::InitializeDataInputPhysics( std::shared_ptr<nptool::VDataInput> input) { input->Attach("zdd", "zdd::ZddPhysics", &m_PhysicsData); + input->Attach("zdd", "zdd::ZddData", &m_RawData); } //////////////////////////////////////////////////////////////////////////////// void ZddDetector::InitializeDataOutputRaw( @@ -390,6 +391,7 @@ void ZddDetector::InitializeDataOutputRaw( //////////////////////////////////////////////////////////////////////////////// void ZddDetector::InitializeDataOutputPhysics( std::shared_ptr<nptool::VDataOutput> output) { + output->Attach("zdd", "zdd::ZddData", &m_RawData); output->Attach("zdd", "zdd::ZddPhysics", &m_PhysicsData); } diff --git a/src/ZddSpectra.cxx b/src/ZddSpectra.cxx index 30d7facc2c8e451f8010c89b2bec71e2dda7212a..4077c2f5b6227c23b696b49fc8957e1647629fd5 100644 --- a/src/ZddSpectra.cxx +++ b/src/ZddSpectra.cxx @@ -99,7 +99,7 @@ ZddSpectra::ZddSpectra() { hist_name = "ZDD_IC_E_PL_E_phy"; m_phy_hist[hist_name] = new TH2F(hist_name.c_str(), hist_name.c_str(), - 4000, 0, 20000,2000,0,10000); + 4000, 0, 60000, 2000,0,10000); unsigned int PlSize = 5; for(unsigned int i = 0 ; i < PlSize ; i++){ @@ -153,19 +153,24 @@ void ZddSpectra::FillPhy() { } } 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){ - std::string hist_name = "ZDD_IC_E_PL_E_phy"; - m_phy_hist[hist_name]->Fill(m_PhysicsData->PL_E[i],m_PhysicsData->ICSum); + 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){ - std::string hist_name = "IC_phy_Sum"; - m_phy_hist[hist_name]->Fill(m_PhysicsData->ICSum); + 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); + } } }