diff --git a/NPLib/Detectors/PISTA/TFPMWPhysics.cxx b/NPLib/Detectors/PISTA/TFPMWPhysics.cxx index dfd33c0f420d04c7a4981d25c303500b69a030a4..9c1c1bbcbe8c56dff1cbd9e18b3c902e439c8cff 100644 --- a/NPLib/Detectors/PISTA/TFPMWPhysics.cxx +++ b/NPLib/Detectors/PISTA/TFPMWPhysics.cxx @@ -650,7 +650,7 @@ void TFPMWPhysics::ReadAnalysisConfig() { string FileNameLinea = DataBuffer; ifstream LineaFile (FileName.c_str()); if (LineaFile){ - cout << endl <<"/////////// Yaml Linearisation File opened ///////////" << endl; + cout << endl <<"/////////// txt Linearisation File opened ///////////" << endl; LoadLineaFromFile(EdgeBinDet, NewEdgeBinDet, FileNameLinea); LoadLinea = true ; } diff --git a/NPLib/Detectors/PISTA/TICPhysics.cxx b/NPLib/Detectors/PISTA/TICPhysics.cxx index fa6d76b07ca71f72c76358f93a312875fd3dc003..360d4e96ff85d39d61c743043c489d11dcea08cd 100644 --- a/NPLib/Detectors/PISTA/TICPhysics.cxx +++ b/NPLib/Detectors/PISTA/TICPhysics.cxx @@ -89,10 +89,36 @@ void TICPhysics::BuildPhysicalEvent() { for(int i=0; i<size; i++){ int segment = m_PreTreatedData->GetIC_Section(i); double gain = Cal->GetValue("IC/SEC"+NPL::itoa(m_FPMW_Section)+"_SEG"+NPL::itoa(segment)+"_ALIGN",0); + double GainInit = Cal->GetValue("IC/INIT_SEG"+NPL::itoa(segment)+"_ALIGN",0); fIC_raw[i] = m_PreTreatedData->GetIC_Charge(i); fIC[i] = gain*m_PreTreatedData->GetIC_Charge(i); - //fIC[i] = m_PreTreatedData->GetIC_Charge(i); + fIC_Init[i] = GainInit * m_PreTreatedData->GetIC_Charge(i); + + } + + + if (fIC_Init[1]>0 && fIC_Init[5]>0) { + EtotInit = 0 ; + int DataYear = Cal->GetValue("IC/DATA_YEAR",0); + double ScalorInit = Cal->GetValue("IC/INIT_ETOT_SCALING",0); + + for (int Seg = 0; Seg<10; Seg++){ + + if (Seg == 0 && DataYear == 2024 ){ + EtotInit += 0.75 * Cal->GetValue("IC/INIT_SEG"+NPL::itoa(Seg)+"_ALIGN",0); + } + + else { + EtotInit += fIC_Init[Seg]; + } + EtotInit = EtotInit * ScalorInit ; + } + + } //Condition for Init Etot + + else { + EtotInit = -100 ; } if(fIC[1]>0 && fIC[5]>0){ @@ -106,7 +132,8 @@ void TICPhysics::BuildPhysicalEvent() { } Etot = scalor*Etot; - //Etot = 0.02411*(0.8686*fIC_raw[0]+0.7199*fIC_raw[1]+0.6233*fIC_raw[2]+0.4697*fIC_raw[3]+0.9787*fIC_raw[4]+0.9892*fIC_raw[5]+2.1038*fIC_raw[6]+1.9429*fIC_raw[7]+1.754*fIC_raw[8]+2.5*fIC_raw[9]); + //Etot = 0.02411*(0.8686*fIC_raw[0]+0.7199*fIC_raw[1]+0.6233*fIC_raw[2]+0.4697*fIC_raw[3]+0.9787*fIC_raw[4]+0.9892*fIC_raw[5]+2.1038*fIC_raw[6]+1.9429*fIC_raw[7]+1.754*fIC_raw[8]+2.5*fIC_raw[9]); + if(m_Z_SPLINE_CORRECTION && Eres>3000 && Eres<15000){ Chio_Z = DE*m_Zspline->Eval(8000)/m_Zspline->Eval(Eres); @@ -232,6 +259,7 @@ void TICPhysics::Clear() { DE = 0; Eres = 0; Etot = 0; + EtotInit = 0; Chio_Z = 0; for(int i=0; i<11; i++){ fIC[i] = 0; @@ -280,6 +308,14 @@ void TICPhysics::ReadConfiguration(NPL::InputParser parser) { void TICPhysics::AddParameterToCalibrationManager() { CalibrationManager* Cal = CalibrationManager::getInstance(); + //Calibration from online analysis + Cal->AddParameter("IC","INIT_ETOT_SCALING","IC_INIT_ETOT_SCALING"); + Cal->AddParameter("IC","DATA_YEAR","IC_DATA_YEAR"); + for (int segment=0; segment<11;segment++){ + Cal->AddParameter("IC","INIT_SEG"+NPL::itoa(segment+1)+"_ALIGN","IC_INIT_SEG"+NPL::itoa(segment+1)+"_ALIGN"); + } + + for(int section = 0; section<20; section++){ Cal->AddParameter("IC","ETOT_SCALING_SEC"+NPL::itoa(section),"IC_ETOT_SCALING_SEC"+NPL::itoa(section)); for(int segment = 0; segment<11; segment++){ diff --git a/NPLib/Detectors/PISTA/TICPhysics.h b/NPLib/Detectors/PISTA/TICPhysics.h index a99d89050ad35a577053b30b1e5ad382b48205f8..ef2135b07cf00aff31c0022d3bfa70f8145d3ce5 100644 --- a/NPLib/Detectors/PISTA/TICPhysics.h +++ b/NPLib/Detectors/PISTA/TICPhysics.h @@ -64,9 +64,11 @@ class TICPhysics : public TObject, public NPL::VDetector { double DE; double Eres; double Etot; + double EtotInit; double Chio_Z; double fIC[11]; double fIC_raw[11];//! + double fIC_Init[11];//! private: /// A usefull method to bundle all operation to add a detector